.app{min-height:100vh;padding:calc(env(safe-area-inset-top) + 20px) 20px calc(env(safe-area-inset-bottom) + 24px);flex-direction:column;flex:1;justify-content:space-between;align-items:center;gap:16px;display:flex}.about-trigger{top:calc(env(safe-area-inset-top) + 14px);border:1px solid color-mix(in srgb, var(--parchment-faint) 40%, transparent);width:30px;height:30px;color:var(--parchment-faint);font:inherit;cursor:pointer;z-index:10;background:0 0;border-radius:50%;font-size:.95rem;line-height:1;position:fixed;right:16px}.about-trigger:hover{color:var(--ember-bright);border-color:var(--ember-bright)}.name,.name-input{font-family:var(--font-display);color:var(--parchment);text-align:center;background:0 0;border:none;padding:0;font-size:clamp(2.4rem,10vw,3.2rem)}.name{cursor:pointer}.name:hover{color:var(--ember-bright)}.name-input{border-bottom:1px solid var(--ember-bright);outline:none;min-width:160px}.stage-slot{flex:1;justify-content:center;align-items:center;display:flex}.palette-row{flex-wrap:wrap;justify-content:center;gap:10px;max-width:100%;display:flex}.appearance-row{flex-wrap:wrap;justify-content:center;gap:8px;max-width:100%;display:flex}.appearance-option{border:1px solid color-mix(in srgb, var(--parchment-faint) 28%, transparent);min-width:56px;min-height:30px;color:var(--parchment-faint);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:5px 12px;font-size:.875rem}.appearance-option.is-selected{color:var(--ink);background:var(--ember-bright)}.swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:34px;height:34px;padding:0}.swatch.is-selected{border-color:var(--ember-bright)}.stat{color:var(--parchment-faint);font-variant-numeric:tabular-nums;margin:0;font-size:1.05rem}.about-backdrop{background:color-mix(in srgb, var(--ink) 78%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out about-fade-in;display:flex;position:fixed;inset:0}.about-card{border:1px solid color-mix(in srgb, var(--ember-bright) 30%, transparent);background:var(--ink-2);text-align:center;border-radius:20px;width:100%;max-width:340px;padding:28px 24px 24px;animation:.25s ease-out about-rise-in}.about-title{font-family:var(--font-display);color:var(--ember-bright);margin:0 0 12px;font-size:1.8rem}.about-body{color:var(--parchment);margin:0 0 22px;font-size:1rem;line-height:1.6}.about-close{background:var(--ember-bright);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border:none;border-radius:999px;padding:10px 28px;font-size:.95rem;font-weight:600}@keyframes about-fade-in{0%{opacity:0}}@keyframes about-rise-in{0%{opacity:0;transform:translateY(12px)scale(.97)}}.dragon-stage-wrap{flex-direction:column;align-items:center;display:flex}.dragon-stage{aspect-ratio:1;touch-action:none;width:min(96vw,460px);position:relative}.pet-zone{cursor:pointer;height:48%;position:absolute;top:26%;left:20%;right:20%}.dragon-caption{font-family:var(--font-display);color:var(--parchment-dim);text-align:center;min-height:1.4em;margin:10px 0 0;font-size:clamp(1.35rem,5.5vw,1.65rem);font-style:italic;transition:opacity .2s,color .3s}.dragon-caption.is-petted{color:var(--ember-bright)}.dragon-caption.is-fading{opacity:0}.dragon-svg{width:100%;height:100%;display:block;overflow:visible}.eye-open{opacity:1;transition:opacity .35s}.eye-closed{opacity:0;transition:opacity .35s}.is-petted .eye-open{opacity:0}.is-petted .eye-closed{opacity:1}.cheek{opacity:0;transition:opacity .4s}.is-petted .cheek{opacity:1}.stage-glow{opacity:.28;transform-origin:300px 380px;transition:opacity .5s,transform .5s}.is-petted .stage-glow{opacity:.75;transform:scale(1.08)}@media (prefers-reduced-motion:no-preference){.dragon-breathe{transform-origin:300px 460px;animation:5.5s ease-in-out infinite breathe}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.018)}}.tail-pivot{transform-origin:430px 460px;animation:7s ease-in-out infinite tailSway}@keyframes tailSway{0%,to{transform:rotate(0)}50%{transform:rotate(-2.2deg)}}.wing-left{transform-origin:254px 348px;animation:6.4s ease-in-out infinite wingLeft}.wing-right{transform-origin:346px 348px;animation:6.4s ease-in-out infinite wingRight}@keyframes wingLeft{0%,to{transform:rotate(0)}50%{transform:rotate(1.4deg)}}@keyframes wingRight{0%,to{transform:rotate(0)}50%{transform:rotate(-1.4deg)}}.eye{animation:6.5s ease-in-out infinite blink}.eye-left{transform-origin:282px 286px}.eye-right{transform-origin:318px 286px;animation-delay:50ms}.forest-dragon-svg .eye-left{transform-origin:250px 289px}.forest-dragon-svg .eye-right{transform-origin:350px 289px}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.15)}}.is-petted .eye{animation:none}.puff{animation:1.7s ease-out infinite puffRise}.puff-2{animation-delay:.55s}.puff-3{animation-delay:1.1s}@keyframes puffRise{0%{opacity:.7;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-26px)scale(2.4)}}.night-dragon-svg .star{animation:3.2s ease-in-out infinite twinkle}.night-dragon-svg .wing-right .star{animation-delay:.9s}@keyframes twinkle{0%,to{opacity:.35}50%{opacity:1}}}@media (prefers-reduced-motion:reduce){.puff{opacity:0}}.ember-spark{background:radial-gradient(circle, var(--ember-bright), transparent 70%);pointer-events:none;z-index:4;border-radius:50%;width:8px;height:8px;margin-top:-4px;margin-left:-4px;position:absolute}@media (prefers-reduced-motion:no-preference){.ember-spark{animation:.8s ease-out forwards sparkRise}@keyframes sparkRise{0%{opacity:.9;transform:translateY(0)scale(1)}to{opacity:0;transform:translate(var(--drift), -44px) scale(.3)}}}@media (prefers-reduced-motion:reduce){.ember-spark{display:none}}@font-face{font-family:Frank Ruhl Libre;src:url(/fonts/FrankRuhlLibre_400Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Frank Ruhl Libre;src:url(/fonts/FrankRuhlLibre_500Medium.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Frank Ruhl Libre;src:url(/fonts/FrankRuhlLibre_700Bold.ttf)format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Assistant;src:url(/fonts/Assistant_400Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Assistant;src:url(/fonts/Assistant_600SemiBold.ttf)format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Assistant;src:url(/fonts/Assistant_700Bold.ttf)format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Stars;src:url(/fonts/Stars-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Stars;src:url(/fonts/Stars-Bold.ttf)format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Varela Round;src:url(/fonts/VarelaRound-Regular.ttf)format("truetype");font-weight:400;font-display:swap}:root{--ink:#14110d;--ink-2:#1d1811;--ink-3:#262019;--ember:#d97a3f;--ember-bright:#f2a65a;--gold:#c9a227;--parchment:#ede3d3;--parchment-dim:#b7ac98;--parchment-faint:#7c7364;--font-display:"Stars", "Varela Round", "Frank Ruhl Libre", "David Libre", Georgia, serif;--font-body:"Stars", "Varela Round", "Assistant", "Segoe UI", Arial, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--ink);color:var(--parchment);font-family:var(--font-body);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;margin:0}#root{flex-direction:column;display:flex}
