@layer theme{:root,:host{--font-sans:"Avenir Next", "SF Pro Display", ui-sans-serif, system-ui, sans-serif;--font-mono:"SFMono-Regular", "Menlo", "Monaco", ui-monospace, monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Avenir Next", "SF Pro Display", ui-sans-serif, system-ui, sans-serif;--default-mono-font-family:"SFMono-Regular", "Menlo", "Monaco", ui-monospace, monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!visible{visibility:visible!important}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.hidden{display:none}.resize{resize:both}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--background:#07150f;--foreground:#edf8f0;--panel:#071311ad;--panel-strong:#050d0fe6;--line:#99eec72b;--line-strong:#ffd87a8a;--gold:#f4c65a;--gold-soft:#fff0b0;--leaf:#69e4ac;--cyan:#8bd4ff;--rose:#ff7f9c;--violet:#b79cff;--muted:#abc7ba;--danger:#ff9f8e;--shadow:#0000006b;--radius-panel:32px;--radius-control:14px}*{box-sizing:border-box;-webkit-tap-highlight-color:#fff0b029}html,body{min-height:100%}html{background:var(--background);color:var(--foreground);overflow:hidden}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans), "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;overscroll-behavior:none;touch-action:manipulation;-webkit-font-smoothing:antialiased;min-height:100svh;margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #8bd4ffe6}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}::selection{background:#f4c65a5c}.app-shell{--quest-progress:0;background:radial-gradient(circle at 18% 3%, #8bd4ff1c, transparent 30%), radial-gradient(circle at 82% 12%, #b79cff21, transparent 32%), radial-gradient(ellipse at 50% 108%, #f4c65a0f, transparent 42%), linear-gradient(180deg, #04120fbd, #080812f2), var(--background);isolation:isolate;height:100svh;position:relative;overflow:hidden}.capture-mode{zoom:.5;width:1280px;height:720px;min-height:720px}.capture-mode>.lock-screen,.capture-mode>.quest-shell{height:100%}.capture-mode .starfield,.capture-mode .dream-veil,.capture-mode .confetti{position:absolute;width:100%!important;height:100%!important}.capture-mode *,.capture-mode :before,.capture-mode :after{transition:none!important;animation:none!important}.capture-mode .starfield,.capture-mode .confetti{display:none}.capture-mode .lock-panel,.capture-mode .scene-panel,.capture-mode .progress-panel{-webkit-backdrop-filter:none;backdrop-filter:none}.error-screen{background:radial-gradient(circle at 70% 18%,#b79cff33,#0000 34%),linear-gradient(145deg,#07150f,#0d0b1a);align-items:center;min-height:100svh;padding:24px;display:grid}.error-card{border-radius:var(--radius-panel);background:#071211e0;border:1px solid #fff0b047;gap:20px;max-width:620px;margin:auto;padding:clamp(30px,6vw,62px);display:grid;box-shadow:0 28px 90px #00000070}.error-card h1,.error-card p{margin:0}.error-card h1{color:var(--gold-soft);font-size:clamp(2rem,5vw,3.6rem);line-height:1.06}.error-card>p:not(.eyebrow){color:var(--muted);line-height:1.7}.starfield,.dream-veil,.confetti{pointer-events:none;z-index:-2;position:fixed;inset:0}.dream-veil{mix-blend-mode:screen;z-index:-1;overflow:hidden}.dream-veil span,.dream-motes{position:absolute}.dream-aurora{filter:blur(36px);opacity:.34;background:linear-gradient(90deg,#0000,#69e4ac29,#b79cff2b,#0000),linear-gradient(90deg,#0000,#8bd4ff1a,#f4c65a0f,#0000);width:132vw;height:36vh;left:-16vw;transform:rotate(-9deg)}.dream-aurora-one{animation:16s ease-in-out infinite aurora-swim;top:7vh}.dream-aurora-two{opacity:.2;animation:21s ease-in-out infinite reverse aurora-swim;top:48vh;transform:rotate(7deg)}.dream-moon{aspect-ratio:1;opacity:.78;background:radial-gradient(circle at 42% 38%,#fff7d0fa,#fff0b0b8 30%,#8bd4ff14 55%,#0000 68%);border-radius:50%;height:clamp(110px,16vw,190px);top:clamp(32px,8vh,92px);right:clamp(28px,9vw,150px);box-shadow:0 0 28px #fff0b073,0 0 88px #8bd4ff38,0 0 160px #69e4ac29}.dream-gate{aspect-ratio:1;opacity:.26;border:1px solid #fff0b047;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 34px #fff0b01a,0 0 54px #69e4ac1f}.dream-gate-one{width:min(76vw,820px);animation:13s ease-in-out infinite gate-breathe}.dream-gate-two{border-style:dashed;width:min(58vw,620px);animation:18s ease-in-out infinite reverse gate-breathe}.dream-path{filter:blur(.5px)drop-shadow(0 0 16px #fff0b06b);opacity:.42;background:linear-gradient(90deg,#0000,#fff0b080,#69e4ac47,#0000);height:2px;bottom:18vh;left:12vw;right:12vw}.dream-comet{filter:drop-shadow(0 0 12px #fff0b07a);opacity:0;background:linear-gradient(90deg,#0000,#8bd4ff5c,#fff0b0f0);border-radius:999px;width:140px;height:2px;transform:rotate(18deg)}.dream-comet-one{animation:8s ease-in-out 1.2s infinite comet-fall;top:22vh;left:4vw}.dream-comet-two{width:180px;animation:11s ease-in-out 5s infinite comet-fall;top:10vh;left:28vw}.dream-comet-three{width:110px;animation:10s ease-in-out 7.4s infinite comet-fall;top:34vh;left:64vw}.dream-motes{inset:0}.dream-motes span{background:var(--gold-soft);opacity:.38;border-radius:999px;width:3px;height:3px;animation:9s ease-in-out infinite mote-rise;box-shadow:0 0 12px #fff0b0c2}.dream-motes span:first-child{animation-delay:-1s;top:70%;left:8%}.dream-motes span:nth-child(2){background:var(--cyan);animation-delay:-5s;top:38%;left:14%}.dream-motes span:nth-child(3){animation-delay:-2.8s;top:82%;left:22%}.dream-motes span:nth-child(4){background:var(--leaf);animation-delay:-6.4s;top:24%;left:31%}.dream-motes span:nth-child(5){animation-delay:-.8s;top:63%;left:39%}.dream-motes span:nth-child(6){background:var(--rose);animation-delay:-3.6s;top:46%;left:47%}.dream-motes span:nth-child(7){animation-delay:-7s;top:78%;left:54%}.dream-motes span:nth-child(8){background:var(--violet);animation-delay:-1.9s;top:19%;left:61%}.dream-motes span:nth-child(9){animation-delay:-4.3s;top:56%;left:67%}.dream-motes span:nth-child(10){background:var(--cyan);animation-delay:-6.8s;top:33%;left:73%}.dream-motes span:nth-child(11){animation-delay:-2.2s;top:84%;left:79%}.dream-motes span:nth-child(12){background:var(--leaf);animation-delay:-5.6s;top:48%;left:86%}.dream-view-lock .dream-gate,.dream-view-story .dream-gate{opacity:.22}.dream-view-lock .dream-comet,.dream-view-story .dream-comet,.dream-view-trial .dream-comet,.dream-view-praise .dream-comet{opacity:0;animation:none}.dream-view-ceremony .dream-comet,.dream-view-finale .dream-comet{animation-duration:6.4s}.dream-view-ceremony .dream-gate,.dream-view-finale .dream-gate{opacity:.42;border-color:#fff0b04d}.dream-view-ceremony .dream-aurora,.dream-view-finale .dream-aurora{opacity:.48}.dream-view-finale .dream-moon{filter:saturate(1.15);opacity:.94}@keyframes aurora-swim{0%,to{transform:translate(-1.5%)rotate(-9deg)scaleY(.94)}50%{transform:translate(2.5%,18px)rotate(-5deg)scaleY(1.08)}}@keyframes gate-breathe{0%,to{transform:translate(-50%,-50%)rotate(0)scale(.94)}50%{transform:translate(-50%,-50%)rotate(18deg)scale(1.04)}}@keyframes comet-fall{0%,62%{opacity:0;transform:translate(-12vw,-8vh)rotate(18deg)}68%{opacity:.86}82%,to{opacity:0;transform:translate(36vw,14vh)rotate(18deg)}}@keyframes mote-rise{0%,to{opacity:.16;transform:translateY(0)scale(.82)}45%{opacity:.58;transform:translateY(-34px)scale(1.18)}}@keyframes panel-starlight{0%,to{opacity:.12;transform:translate(0)}50%{opacity:.24;transform:translate(8px,-6px)}}@keyframes gate-ripple{0%,to{opacity:.18;transform:scale(.92)}50%{opacity:.64;transform:scale(1.08)}}@keyframes action-glint{0%,48%{transform:translate(0)skew(-18deg)}74%,to{transform:translate(360%)skew(-18deg)}}@keyframes seal-orbit{to{transform:rotate(360deg)}}@keyframes naming-light{0%,to{opacity:.44;transform:rotate(14deg)translate(-3%)}50%{opacity:.86;transform:rotate(10deg)translate(4%)}}.confetti{z-index:8}.lock-screen,.quest-shell{height:100svh;padding:calc(env(safe-area-inset-top) + 18px) calc(env(safe-area-inset-right) + 20px) calc(env(safe-area-inset-bottom) + 18px) calc(env(safe-area-inset-left) + 20px);z-index:2;position:relative}.milestone-shell{gap:0}.milestone-hud{pointer-events:none;max-width:1180px;left:50%;top:calc(env(safe-area-inset-top) + 18px);z-index:12;position:absolute;transform:translate(-50%)}.milestone-hud .brand-lockup,.milestone-hud .hud-actions{pointer-events:auto}.milestone-hud .brand-lockup{opacity:.72}.lock-screen{justify-content:center;align-items:center;display:flex}.lock-panel,.scene-panel,.progress-panel{-webkit-backdrop-filter:blur(14px)saturate(122%);backdrop-filter:blur(14px)saturate(122%);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:0 26px 80px var(--shadow), inset 0 1px 0 #ffffff0d}.lock-panel{flex-direction:column;align-items:center;gap:18px;width:min(430px,100vw - 40px);max-height:calc(100svh - 40px);padding:28px;display:flex;position:relative;overflow-y:auto}.lock-panel>:not(.lock-cat){z-index:1;position:relative}.lock-emblem{aspect-ratio:1;background:linear-gradient(135deg,#f4c65a2e,#69e4ac1f),#0000002e;border:1px solid #ffd87a5c;border-radius:8px;justify-content:center;align-items:center;height:88px;display:grid}.lock-emblem span{color:var(--gold-soft);filter:drop-shadow(0 0 20px #f4c65a8a);font-size:3.2rem}.lock-copy{text-align:center;width:100%;min-width:0}.eyebrow{color:var(--leaf);font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.16em;text-transform:uppercase;margin:0 0 10px;font-size:.76rem;font-weight:700}.lock-copy h1,.scene-panel h1{color:var(--gold-soft);letter-spacing:0;text-wrap:balance;max-width:100%;margin:0;font-size:2.25rem;font-weight:780;line-height:1.05}.lock-copy p{color:var(--muted);max-width:32rem;margin:10px auto 0;line-height:1.6}.lock-copy .hint{color:var(--gold-soft);font-style:italic}.language-toggle{border:1px solid var(--line);border-radius:var(--radius-control);background:#00000042;grid-template-columns:1fr 1fr;padding:3px;display:grid}.language-toggle button{color:var(--muted);background:0 0;border:0;border-radius:11px;min-width:56px;min-height:44px;padding:0 12px;font-size:.86rem;font-weight:700}.language-toggle button.active{background:var(--leaf);color:#05120c}.pin-dots{grid-template-columns:repeat(8,12px);gap:10px;display:grid}.pin-dots span{border:2px solid #69e4acad;border-radius:999px;width:12px;height:12px;transition:background .16s,box-shadow .16s,transform .16s}.pin-dots span.filled{background:var(--gold);border-color:var(--gold);transform:scale(1.08);box-shadow:0 0 14px #f4c65ab8}.pin-error{color:var(--danger);opacity:0;text-align:center;min-height:1.2em;margin:-8px 0 -4px;font-size:.86rem;line-height:1.3}.pin-error.active{opacity:1}.shake{animation:.42s shake}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-9px)}40%,80%{transform:translate(9px)}}.keypad{grid-template-columns:repeat(3,72px);gap:12px;display:grid}.key{color:var(--foreground);background:#04120ec7;border:1px solid #99eec73d;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:1.45rem;font-weight:780;transition:background .14s,border-color .14s,transform .14s;display:flex}.key:active{background:#69e4ac2e;border-color:#f4c65a99;transform:scale(.94)}.key-fn{color:var(--gold-soft);font-size:1.12rem}.key svg,.icon-button svg,.primary-action svg{display:block}.quest-shell{flex-direction:column;gap:18px;display:flex;overflow:hidden}.hud{justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:1180px;margin:0 auto;display:flex}.brand-lockup,.hud-actions{align-items:center;gap:10px;display:flex}.brand-lockup{color:var(--gold-soft);text-transform:uppercase;font-size:.98rem;font-weight:790}.brand-mark{color:var(--gold);background:#f4c65a1f;border:1px solid #f4c65a57;border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;display:grid}.icon-button{border:1px solid var(--line);border-radius:var(--radius-control);color:var(--gold-soft);background:#00000042;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.08rem;display:grid}.quest-grid{flex:1;grid-template-columns:188px minmax(0,1fr);gap:18px;width:100%;max-width:1180px;min-height:0;margin:0 auto;display:grid}.quest-grid.story-mode{grid-template-columns:1fr;max-width:1040px;overflow:hidden}.quest-grid.milestone-mode{grid-template-columns:1fr;max-width:1180px;overflow:hidden}.milestone-mode .scene-panel{height:100%;min-height:0}.story-mode .progress-panel{display:none}.story-mode .story-panel{height:100%;min-height:0}.progress-panel{background:radial-gradient(circle at 50% 42%, #b79cff1c, transparent 34%), var(--panel);flex-direction:column;justify-content:space-between;align-self:stretch;min-height:560px;padding:22px 18px;display:flex}.progress-panel strong{color:var(--gold-soft);font-size:2.35rem;line-height:1;display:block}.progress-copy>p:last-child{color:var(--muted);margin:12px 0 0;font-size:.9rem;line-height:1.5}.progress-orbit{aspect-ratio:1;background:radial-gradient(circle, #fff0b021, transparent 58%), conic-gradient(from -90deg, #f4c65ae0 var(--quest-progress-angle), #99eec71f 0);border:1px solid #fff0b033;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:132px;margin:8px auto;display:none;position:relative;box-shadow:0 0 48px #b79cff21}.progress-orbit:after{content:"";background:#071211eb;border:1px solid #99eec729;border-radius:50%;position:absolute;inset:7px}.progress-orbit span,.progress-orbit small{text-align:center;z-index:1;position:relative}.progress-orbit span{color:var(--gold-soft);font-size:2.7rem;font-weight:820;line-height:1}.progress-orbit small{color:var(--leaf);letter-spacing:.08em;text-transform:uppercase;margin-top:5px;padding:0 12px;font-size:.67rem}.constellation-track{grid-template-columns:repeat(2,36px);justify-content:space-between;gap:12px;display:grid}.node{color:#edf8f08a;font-family:var(--font-mono), ui-monospace, monospace;background:#ffffff0a;border:1px solid #99eec733;border-radius:50%;justify-content:center;align-items:center;height:36px;font-size:.74rem;font-weight:800;display:grid}.node.active{border-color:var(--gold);color:var(--gold-soft);box-shadow:0 0 24px #f4c65a47}.node.done{color:var(--leaf);background:#69e4ac29;border-color:#69e4ac94;box-shadow:0 0 16px #69e4ac2e}.scene-panel{box-shadow:0 26px 80px var(--shadow), 0 0 0 1px #fff0b008, 0 0 62px #69e4ac12, inset 0 1px 0 #ffffff0d;isolation:isolate;border-color:#b7e7d21c;align-content:center;min-height:560px;padding:42px;display:grid;position:relative;overflow:hidden}.scene-panel:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(132deg,#fff0b017,#0000 34%),linear-gradient(320deg,#8bd4ff0b,#0000 48%);position:absolute;inset:0}.scene-panel:after{content:"";opacity:.1;pointer-events:none;z-index:0;background-image:radial-gradient(circle,#fff0b07a 0 1px,#0000 1.8px),radial-gradient(circle,#8bd4ff57 0 1px,#0000 1.7px);background-position:18px 22px,82px 64px;background-size:132px 118px,166px 142px;animation:7s ease-in-out infinite panel-starlight;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 74%);mask-image:radial-gradient(circle,#000,#0000 74%)}.scene-panel>*{z-index:1;position:relative}.intro-panel{gap:18px}.story-panel{-webkit-backdrop-filter:none;backdrop-filter:none;background:#040e0df0;grid-template-columns:minmax(340px,.95fr) minmax(0,1.05fr);align-content:stretch;gap:clamp(26px,4vw,54px)}.story-visual{background:linear-gradient(90deg,#0000 56%,#040e0d4d 82%,#040e0de6 100%),linear-gradient(#050d1214,#0000 58%,#030a0a9e),url(/cats/tabby-moonlit-path-empty.webp) 50% 58%/cover no-repeat;grid-area:1/1/3;align-items:center;min-height:0;margin:-42px 0 -42px -42px;display:grid;position:relative;overflow:hidden}.moon-gate{aspect-ratio:1;filter:blur(.2px)drop-shadow(0 0 34px #f4c65a33);background:radial-gradient(circle,#fff0b033,#69e4ac14 42%,#0000 66%),conic-gradient(from 110deg,#f4c65a00,#f4c65a9e,#69e4ac52,#f4c65a00);border:1px solid #fff0b03d;border-radius:50%;display:none;position:absolute;inset:10% 12% auto}.moon-gate:before,.moon-gate:after{content:"";border:1px solid #fff0b03d;border-radius:50%;position:absolute;inset:12%}.moon-gate:before{animation:5.8s ease-in-out infinite gate-ripple}.moon-gate:after{animation:7.4s ease-in-out infinite reverse gate-ripple;inset:24%}.trail-line{background:linear-gradient(90deg,#0000,#fff0b0b3,#69e4ac59,#0000);height:2px;display:none;position:absolute;bottom:22%;left:4%;right:4%}.story-star{background:#fff0b033;border-radius:999px;width:10px;height:10px;display:none;position:absolute;box-shadow:0 0 18px #f4c65a29}.story-star:first-of-type{top:22%;left:22%}.story-star:nth-of-type(2){top:36%;right:28%}.story-star:nth-of-type(3){bottom:30%;left:44%}.story-star.lit{background:var(--gold-soft);box-shadow:0 0 22px #f4c65ab3}.story-copy{grid-area:1/2;align-self:center;gap:18px;display:grid}.story-footer{z-index:3;grid-area:2/1/auto/-1;justify-content:space-between;align-items:center;gap:18px;display:flex}.story-steps{gap:8px;display:flex}.story-steps span{background:#99eec74d;border-radius:999px;width:24px;height:8px;transition:width .22s,background .22s}.story-steps span.active{background:var(--gold);width:52px}.subtitle{color:var(--cyan);margin:0;font-size:1.15rem;font-weight:700}.lead{color:var(--foreground);max-width:66ch;margin:0;font-size:1.05rem;line-height:1.75}.signature{color:var(--muted);margin:0;font-size:.88rem}.primary-action,.secondary-action{border-radius:var(--radius-control);justify-content:center;align-items:center;gap:12px;width:fit-content;min-height:50px;padding:0 18px;font-weight:800;transition:filter .14s,transform .14s;display:inline-flex;position:relative;overflow:hidden}.primary-action{background:linear-gradient(180deg, var(--gold-soft), var(--gold));color:#1a1405;border:1px solid #fff0b0b3;box-shadow:0 16px 46px #f4c65a33,0 0 22px #69e4ac1f}.primary-action:after{content:"";opacity:.56;background:linear-gradient(90deg,#0000,#ffffffa3,#0000);width:42%;animation:3.6s ease-in-out infinite action-glint;position:absolute;inset:2px auto 2px -45%;transform:skew(-18deg)}.primary-action>*,.secondary-action>*{z-index:1;position:relative}.primary-action.compact{white-space:nowrap;min-width:132px}.secondary-action{border:1px solid var(--line);color:var(--muted);background:#ffffff0d}.primary-action:active,.secondary-action:active,.icon-button:active,.language-toggle button:active{transform:scale(.98)}.primary-action:hover,.secondary-action:hover,.icon-button:hover{filter:brightness(1.08)}.trial-panel{gap:24px;padding-right:clamp(250px,31vw,390px)}.trial-meta{justify-content:space-between;align-items:center;gap:14px;display:flex}.trial-meta .eyebrow{margin:0}.trial-meta span,.clue-strip span,.gift-reveal span{color:#c7b8ff;font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:800}.trial-panel h1{max-width:17ch}.clue-strip{border-radius:var(--radius-control);background:#0003;border:1px dashed #ffd87a6b;justify-content:space-between;align-items:center;gap:14px;max-width:620px;padding:14px 16px;display:flex}.clue-strip.hidden-clue{color:var(--muted);border-color:#99eec733}.clue-strip.revealed{background:#f4c65a13;box-shadow:0 0 24px #f4c65a1a,inset 0 0 24px #fff0b009}.clue-strip strong{color:var(--gold-soft);text-align:right;font-size:.96rem}.hold-hint{color:var(--muted);touch-action:none;background:#ffffff0b;border:1px solid #99eec72e;border-radius:12px;align-items:center;gap:9px;min-height:44px;padding:0 12px;display:inline-flex;position:relative;overflow:hidden}.hold-hint .hold-fill{transform-origin:0;background:linear-gradient(90deg,#69e4ac2e,#f4c65a52);width:100%;position:absolute;inset:0 auto 0 0;transform:scaleX(0)}.hold-hint.holding .hold-fill{animation:2s linear forwards hint-hold}.hold-hint svg,.hold-hint strong{position:relative}.hold-hint strong{color:var(--muted);text-align:left;font-size:.86rem}@keyframes hint-hold{to{transform:scaleX(1)}}.code-entry{max-width:660px}.code-entry label{color:var(--muted);margin-bottom:8px;font-size:.9rem;font-weight:700;display:block}.code-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.code-row input{border:1px solid var(--line);border-radius:var(--radius-control);color:var(--gold-soft);font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.22em;text-transform:uppercase;-webkit-user-select:text;user-select:text;background:#0000004d;outline:none;width:100%;min-height:54px;padding:0 16px;font-size:1.5rem;font-weight:800}.code-row input:focus{border-color:var(--leaf);box-shadow:0 0 0 3px #69e4ac29}.form-error{color:var(--danger);opacity:0;min-height:22px;margin:10px 0 0;font-size:.92rem}.form-error.active{opacity:1}.praise-panel{justify-items:start;gap:20px;padding-right:clamp(250px,31vw,390px)}.seal{color:var(--gold-soft);filter:drop-shadow(0 0 22px #f4c65a5c);background:radial-gradient(circle at 50% 45%,#fff0b029,#0000 54%),#00000024;border:1px solid #f4c65a73;border-radius:8px;justify-content:center;align-items:center;width:104px;height:104px;font-size:3.8rem;display:grid;position:relative;overflow:visible}.seal svg{z-index:2;position:relative}.seal-ring{border:1px solid #fff0b061;border-radius:50%;position:absolute;inset:-14px}.seal-ring:before,.seal-ring:after{background:var(--gold-soft);content:"";border-radius:999px;width:5px;height:5px;position:absolute;box-shadow:0 0 12px #fff0b0d1}.seal-ring:before{top:18%;left:12%}.seal-ring:after{bottom:12%;right:18%}.seal-ring-outer{animation:6s linear infinite seal-orbit}.seal-ring-inner{border-color:#69e4ac5c;animation:4.4s linear infinite reverse seal-orbit;inset:8px}.praise-text{color:var(--foreground);max-width:62ch;min-height:146px;margin:0;font-size:1.32rem;line-height:1.72}.cursor{color:var(--gold);opacity:.7}.ceremony-panel,.finale-panel{background:radial-gradient(circle at 76% 44%,#b79cff29,#0000 30%),radial-gradient(circle at 14% 18%,#fff0b01c,#0000 28%),linear-gradient(145deg,#071211f0,#0b0c19e8);border-color:#fff0b024;grid-template-columns:minmax(0,1.12fr) minmax(280px,.72fr);align-content:center;column-gap:clamp(30px,5vw,74px);padding:clamp(38px,5vw,68px)}.ceremony-panel{align-items:center}.ceremony-copy,.finale-copy{gap:18px;display:grid}.ceremony-panel h1{color:var(--gold-soft);filter:drop-shadow(0 0 30px #f4c65a3d);font-size:clamp(4rem,7vw,6.8rem);line-height:.94}.ceremony-declaration{color:var(--foreground);max-width:52ch;margin:0;font-size:clamp(1.15rem,1.8vw,1.42rem);line-height:1.68}.naming-light{filter:blur(12px);opacity:.48;z-index:0;background:linear-gradient(90deg,#0000,#fff0b02e,#8bd4ff14,#0000),radial-gradient(#fff0b047,#0000 62%);width:26%;animation:6s ease-in-out infinite naming-light;position:absolute;top:-18%;bottom:-18%;left:42%;transform:rotate(14deg)}.naming{color:var(--muted);margin:0;font-size:1rem;line-height:1.6}.naming span{color:var(--leaf);font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;font-weight:800;display:block}.blessing{color:var(--cyan);max-width:58ch;margin:0;font-size:1.05rem;line-height:1.7}.ceremony-visual,.finale-visual{isolation:isolate;place-items:center;min-height:390px;display:grid;position:relative}.ceremony-visual{overflow:hidden}.ceremony-orbit,.age-orbit{aspect-ratio:1;background:radial-gradient(circle at 50% 45%,#fff0b033,#b79cff1c 38%,#0000 66%),conic-gradient(from 120deg,#f4c65a1f,#69e4ac7a,#b79cff85,#f4c65a1f);border:1px solid #fff0b059;border-radius:50%;justify-content:center;align-items:center;width:min(30vw,340px);display:grid;position:absolute;box-shadow:0 0 50px #b79cff2e,inset 0 0 46px #fff0b014}.ceremony-orbit{color:var(--gold-soft);animation:none;display:none}.ceremony-cat{z-index:2;width:min(21vw,224px);position:absolute;bottom:26px;left:50%;translate:-50%}.finale-panel{grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"copy visual""gift gift";row-gap:22px}.finale-copy{grid-area:copy;align-self:center}.double-digits-title{filter:drop-shadow(0 0 32px #f4c65a2e);gap:2px;margin:0;display:grid;font-size:clamp(2.65rem,4.6vw,4.8rem)!important;line-height:1.02!important}.double-digits-title>span:first-child{color:var(--gold-soft)}.double-digits-title>span:last-child{color:#d8c9ff;letter-spacing:.02em;font-size:.78em}.double-digits-separator{display:none}.decade-body,.forever-star{max-width:58ch;margin:0;line-height:1.65}.decade-body{color:var(--foreground);font-size:clamp(1.04rem,1.55vw,1.28rem)}.forever-star{color:var(--cyan);font-size:1rem}.warrior-signature{color:var(--leaf);font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.11em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:9px;font-size:.86rem;font-weight:800;display:flex}.finale-visual{grid-area:visual}.age-orbit{opacity:.88;border-color:#fff0b02e;align-content:center;justify-items:center;width:min(28vw,312px);animation:none;transform:translate(-6px,28px);box-shadow:0 0 64px #b79cff1c,inset 0 0 48px #fff0b00d}.age-number,.age-label{z-index:1;position:relative}.age-number{color:#fff0b0f0;filter:drop-shadow(0 0 32px #f4c65a61);letter-spacing:-.08em;padding-right:.08em;font-size:clamp(7rem,13vw,10.5rem);font-weight:860;line-height:.78}.age-label{color:var(--leaf);font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.18em;margin-top:20px;font-size:.72rem;font-weight:800}.finale-cat{z-index:2;width:188px;position:absolute;bottom:-4px;right:-6px}.gift-reveal{background:linear-gradient(90deg,#f4c65a0e,#b79cff09,#0000);border:0;border-top:1px solid #f4c65a47;border-radius:0;grid-area:gift;grid-template-columns:minmax(150px,.28fr) minmax(0,1fr);align-items:center;gap:20px;max-width:none;padding:18px 4px 0;display:grid}.gift-reveal p{color:var(--gold-soft);margin:0;font-size:1.06rem;line-height:1.7}.cat-stage{isolation:isolate;pointer-events:none;transform-origin:50% 88%;display:grid;overflow:visible}.cat-stage:before{content:"";filter:blur(4px);opacity:.52;z-index:-1;background:radial-gradient(#00000075,#0003 48%,#0000 74%);border-radius:50%;width:58%;height:7%;position:absolute;bottom:-.5%;left:50%;transform:translate(-50%)}.cat-stage:after{content:"";filter:blur(18px);opacity:.72;z-index:-1;background:radial-gradient(circle at 50% 48%,#ffe7a71f,#b79cff0a 48%,#0000 72%);border-radius:50%;position:absolute;inset:8% 4% 4%}.cat-sprite-viewport{aspect-ratio:12/13;background-image:var(--pet-atlas);background-position:var(--pet-position);contain:layout paint;filter:drop-shadow(0 10px 9px #0000004d);image-rendering:auto;opacity:0;will-change:background-position;background-repeat:no-repeat;background-size:800% 1100%;grid-area:1/1;width:100%;transition:opacity .18s;overflow:hidden;transform:translateZ(0)}.cat-sprite-viewport.is-ready{opacity:1}.lock-cat{z-index:1;width:178px;position:absolute;bottom:clamp(84px,15vh,190px);left:clamp(24px,50% - 420px,220px)}.scene-cat{z-index:0;width:clamp(174px,19vw,224px);position:absolute;top:18%;right:18px}.story-cat{z-index:2;width:min(20vw,218px);position:absolute;bottom:5%;left:52%;translate:-50%}.trial-cat{top:18%;right:18px}.praise-cat{top:20%}@media (max-width:860px){.lock-screen,.quest-shell{padding:calc(env(safe-area-inset-top) + 12px) calc(env(safe-area-inset-right) + 12px) calc(env(safe-area-inset-bottom) + 12px) calc(env(safe-area-inset-left) + 12px)}.lock-panel{width:min(430px,100vw - 24px)}.quest-grid{grid-template-columns:1fr;padding-bottom:8px;overflow-y:auto}.quest-grid.milestone-mode{overflow-y:auto}.milestone-hud{top:calc(env(safe-area-inset-top) + 12px);padding:0 12px}.progress-panel{min-height:auto}.progress-orbit{display:none}.constellation-track{grid-template-columns:repeat(10,36px)}.node{height:36px}.scene-panel{min-height:auto;padding:28px}.trial-panel,.praise-panel{padding-right:28px}.story-panel{grid-template-columns:1fr}.story-visual,.story-copy,.story-footer{grid-area:auto}.story-visual{min-height:360px;margin:-28px -28px 0}.ceremony-panel,.finale-panel{grid-template-columns:1fr;min-height:100%;height:auto!important}.ceremony-panel{grid-template-rows:auto minmax(300px,auto)}.finale-panel{grid-template-rows:auto minmax(300px,auto) auto;grid-template-areas:"copy""visual""gift"}.ceremony-visual,.finale-visual{min-height:330px}.finale-copy{z-index:3}.finale-visual{margin-top:42px}.ceremony-orbit,.age-orbit{width:min(62vw,360px)}.gift-reveal{grid-template-columns:1fr;gap:10px}.story-footer{flex-direction:column;align-items:stretch}.scene-cat{width:190px;top:auto;bottom:-12px;right:-12px}.trial-cat{top:auto;bottom:-20px;right:-10px}.story-cat{width:198px;bottom:3%}.ceremony-cat{width:220px;bottom:18px}.trial-panel h1{max-width:none}}@media (max-width:560px){.hud{flex-direction:column;align-items:flex-start}.hud-actions{width:100%}.hud-actions .language-toggle{flex:1}.lock-panel{width:100%;max-width:calc(100vw - 24px);padding:22px}.lock-copy h1,.scene-panel h1{overflow-wrap:break-word;font-size:clamp(1.45rem,7vw,1.8rem)}.double-digits-title{font-size:clamp(2.1rem,10vw,3.4rem)!important}.keypad{grid-template-columns:repeat(3,64px);gap:10px}.key{width:64px;height:64px}.constellation-track{grid-template-columns:repeat(5,minmax(36px,1fr));gap:6px}.code-row{grid-template-columns:1fr}.primary-action,.secondary-action{width:100%}.gift-reveal{grid-template-columns:1fr;gap:10px}.trial-meta,.clue-strip{flex-direction:column;align-items:flex-start}.clue-strip strong{text-align:left}.story-visual{min-height:250px}.story-cat{width:148px}.scene-cat{width:136px}.lock-cat{display:none}}@media (max-height:840px){.lock-panel{gap:8px;padding:12px}.lock-emblem{height:54px}.lock-emblem span{font-size:2.1rem}.lock-copy h1{font-size:1.55rem}.lock-copy p{margin-top:5px;font-size:.9rem;line-height:1.3}.eyebrow{margin-bottom:4px}.keypad{grid-template-columns:repeat(3,52px);gap:6px}.key{width:52px;height:52px;font-size:1.25rem}.pin-dots{grid-template-columns:repeat(8,10px);gap:8px}.pin-dots span{width:10px;height:10px}.lock-cat{display:none}.ceremony-panel,.finale-panel{padding:36px 42px}.ceremony-visual,.finale-visual{min-height:320px}.ceremony-cat{width:192px;bottom:14px}.gift-reveal{padding:14px 18px}.gift-reveal p{font-size:.98rem;line-height:1.55}}@media (min-width:861px) and (min-height:700px){.lock-cat{display:grid}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation:none!important}}
