@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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;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}.static{position:static}.hidden{display:none}.border{border-style:var(--tw-border-style);border-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}:root{color:#ececec;font-synthesis:none;text-rendering:optimizeLegibility;background:#0a0a0f;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#0a0a0f;min-width:320px;min-height:100%}body{background:radial-gradient(circle at 50% -20%,#c81e2838,#0000 42rem),#0a0a0f;min-width:320px;min-height:100vh;margin:0;font-size:16px;overflow-x:hidden}button,input,a{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:active,.link-button:active,.text-link:active{transform:scale(.97)}.app-shell{z-index:1;width:min(100% - 2rem,52rem);min-height:100svh;padding:max(1.5rem,env(safe-area-inset-top))0 max(2rem,env(safe-area-inset-bottom));margin-inline:auto;position:relative}.fx-layer{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.fx-circuit{opacity:.16;background-image:linear-gradient(90deg,#0000 94%,#c81e28,#0000 96%),linear-gradient(#0000 4%,#d4a94a,#0000 6%);background-size:72px 72px;position:absolute;inset:0}.fx-grain{opacity:.08;background-image:repeating-radial-gradient(circle at 20% 30%,#fff 0 .6px,#0000 .8px 4px);position:absolute;inset:-30%;transform:rotate(7deg)}.fx-vignette{position:absolute;inset:0;box-shadow:inset 0 0 9rem 2rem #000}.gentle .fx-circuit,.gentle .fx-grain{opacity:.025}.gentle .fx-vignette{box-shadow:inset 0 0 5rem 1rem #00000073}.gentle .scene-arrival,.gentle .character-figure,.gentle .scene-map,.gentle .scene-map i,.gentle .badge-light,.gentle .mercy-effect>span,.gentle .answer-seal *,.gentle .text-reveal i,.gentle .scan-transition *{animation:none!important}.gentle .text-reveal i{opacity:1;clip-path:none;transform:none}.gentle .seal-core{opacity:1}.gentle .seal-shutters i,.gentle .seal-route:before{transform:none}.gentle .seal-route i{opacity:1;transform:none}.gentle .scan-transition{display:none}.app-shell.gentle{background:radial-gradient(circle at top,#d4a94a1a,#0000 28rem)}.page-header{align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;display:flex}.back-link{color:#ececec;place-items:center;width:44px;height:44px;font-size:1.7rem;text-decoration:none;display:grid}.eyebrow{color:#d4a94a;letter-spacing:.1em;margin:0 0 .4rem;font-size:.8rem;font-weight:800}h1{margin:0;font-size:clamp(1.9rem,8vw,3.6rem);line-height:1.08}h2{line-height:1.4}p{line-height:1.65}img{max-width:100%}.furigana-on p,.furigana-on button,.furigana-on label{letter-spacing:.025em;line-height:1.85}rt{color:#f1cf7a;letter-spacing:.04em;font-size:.52em;font-weight:800}.quick-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:-.5rem 0 1rem;display:grid}.quick-controls .toggle-switch{min-height:52px}.toggle-switch{color:#d9d9dd;text-align:left;cursor:pointer;background:#15171ceb;border:1px solid #464750;border-radius:.75rem;grid-template-columns:minmax(0,1fr) auto 3.2ch;align-items:center;gap:.75rem;width:100%;min-height:58px;padding:.65rem .8rem;font-weight:850;display:grid}.toggle-switch strong{color:#a9a9b0;letter-spacing:.05em;text-align:right;font-size:.78rem}.toggle-track{background:#303138;border:2px solid #777881;border-radius:999px;width:48px;height:28px;transition:border-color .16s,background .16s;display:block;position:relative}.toggle-track i{background:#b9bac0;border-radius:50%;width:18px;height:18px;transition:translate .18s cubic-bezier(.2,.8,.2,1),background .16s;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #00000073}.toggle-switch[aria-checked=true]{color:#fff;background:#292416;border-color:#d4a94a}.toggle-switch[aria-checked=true] strong{color:#f1cf7a}.toggle-switch[aria-checked=true] .toggle-track{background:#9d741d;border-color:#d4a94a}.toggle-switch[aria-checked=true] .toggle-track i{background:#fff5d8;translate:20px}.toggle-switch.compact{grid-template-columns:minmax(0,1fr) 40px 3.2ch;gap:.45rem;min-height:52px;padding:.45rem .55rem;font-size:.72rem}.toggle-switch.compact .toggle-track{width:40px;height:24px}.toggle-switch.compact .toggle-track i{width:14px;height:14px;top:3px}.toggle-switch.compact[aria-checked=true] .toggle-track i{translate:18px}.stack{gap:1rem;display:grid}.hero-panel,.summary-panel,.result-intro,.sealed-answer,.settings-panel{background:#15171ce0;border:1px solid #393941;border-radius:1rem;margin:1rem 0;padding:1.25rem}.gentle-preview{background:radial-gradient(circle at top,#d4a94a21,#0000 30rem);border-radius:1rem;padding:.75rem}.furigana-preview{color:#f1cf7a;margin:-.4rem 0 0}.asset-progress{color:#b9b9c0;text-align:center;margin:0;font-size:.88rem}.villain-line{color:#fff;font-size:1.18rem;font-weight:900}.dice-row{flex-wrap:wrap;gap:.5rem;display:flex}.die-mark{border:2px solid #c81e28;border-radius:.55rem;place-items:center;width:44px;height:44px;font-weight:900;display:grid}.sound-toggle{color:#ececec;background:#15171c;border:1px solid #555;border-radius:2rem;min-height:44px;margin-left:auto;padding:.6rem .8rem}.primary-button,.secondary-button,.choice-button,.answer-button,.link-button{text-align:center;cursor:pointer;border-radius:.8rem;justify-content:center;align-items:center;width:100%;min-height:56px;margin-top:.75rem;padding:.85rem 1rem;font-weight:900;text-decoration:none;transition:color .12s,background .12s,border-color .12s,transform .12s;display:flex}.primary-button{color:#fff;background:#a7141e;border:2px solid #ef3944}.primary-button.complete{color:#0a0a0f;background:#d4a94a;border-color:#d4a94a}.secondary-button{color:#ececec;background:#23252c;border:1px solid #65656f}button:disabled{cursor:not-allowed;color:#777!important;background:#27272c!important;border-color:#45454c!important;transform:none!important}.button-help{color:#b8b8c0;text-align:center;margin:.9rem 0 1rem;font-size:.9rem}.text-link{color:#f1cf7a;justify-content:center;align-items:center;min-height:44px;margin:.5rem 0;display:flex}.notice{background:#3be08a14;border:1px solid #3be08a73;border-radius:.75rem;margin:.8rem 0;padding:.8rem 1rem}.notice.warning{background:#c4453c1f;border-color:#c4453ca6}.field-label,legend{font-weight:900}.text-input{color:#fff;background:#15171c;border:2px solid #555;border-radius:.7rem;width:100%;min-height:52px;padding:.7rem .85rem;font-size:16px}.text-input:focus{border-color:#d4a94a;outline:3px solid #d4a94a2e}.live-preview{color:#d4a94a;margin:-.4rem 0 0}fieldset{border:0;margin:0;padding:0}legend{margin-bottom:.7rem;line-height:1.5}.choice-grid{grid-template-columns:repeat(2,1fr);gap:.65rem;display:grid}.choice-button{color:#ececec;background:#191b21;border:2px solid #42424a;min-height:64px;margin:0}.choice-button.selected,.answer-button.selected{color:#fff;background:#4a161b;border-color:#ef3944;box-shadow:0 0 0 3px #c81e282e}.toggle-row{background:#15171c;border:1px solid #393941;border-radius:.7rem;align-items:center;gap:.75rem;min-height:52px;padding:.65rem;display:flex}.toggle-row input{accent-color:#c81e28;width:24px;height:24px}.progress{color:#d4a94a;text-align:center;margin:.6rem 0 1.2rem;font-size:2rem}.progress strong{font-size:3.4rem}.character-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.character-card{color:#85858b;background:#121318;border:1px solid #33343a;border-radius:.8rem;min-height:150px;padding:.9rem}.character-card.found{border-color:var(--character-color);color:#ececec;box-shadow:inset 0 0 2rem var(--character-color)}@supports (color:color-mix(in lab,red,red)){.character-card.found{box-shadow:inset 0 0 2rem color-mix(in srgb,var(--character-color)18%,transparent)}}.character-card h2,.character-card p{margin:.35rem 0 0}.character-silhouette{width:58px;height:70px;color:inherit;background:#050506;border:2px solid;border-radius:50% 50% 35% 35%;place-items:center;font-size:1.7rem;font-weight:950;display:grid}.character-silhouette.small{color:#ececec;flex:none;width:52px;height:60px}.badge-light{border:2px solid var(--badge-color);color:#fff;background:var(--badge-color);border-radius:.7rem;place-items:center;width:58px;height:58px;display:grid}@supports (color:color-mix(in lab,red,red)){.badge-light{background:color-mix(in srgb,var(--badge-color)36%,#08080a)}}.badge-light{box-shadow:0 0 1.2rem var(--badge-color),inset 0 0 .8rem var(--badge-color)}@supports (color:color-mix(in lab,red,red)){.badge-light{box-shadow:0 0 1.2rem color-mix(in srgb,var(--badge-color)58%,transparent),inset 0 0 .8rem color-mix(in srgb,var(--badge-color)38%,transparent)}}.badge-light{font-size:1.6rem;font-weight:950;animation:2.2s ease-in-out infinite badge-breathe}.settings-panel summary{cursor:pointer;min-height:44px;padding:.6rem 0;font-weight:900}.code-display{color:#d4a94a;letter-spacing:.18em;text-align:center;margin:1.5rem 0;font-size:clamp(2.5rem,14vw,5rem);font-weight:950;display:block}.keypad{grid-template-columns:repeat(3,1fr);gap:.65rem;margin:1.25rem 0 0;display:grid}.keypad button{color:#ececec;background:#1b1d23;border:1px solid #4a4a52;border-radius:.8rem;min-height:64px;font-size:1.25rem;font-weight:900}.dialogue{background:#15171c;border:2px solid;border-radius:1rem;align-items:center;gap:1rem;margin:1rem 0;padding:1rem;display:flex}.dialogue p{margin:0;font-weight:750}.dice-reveal{border:2px solid var(--character-color);background:radial-gradient(circle at 50% 42%,var(--character-color),#08080b 64%);border-radius:1.2rem;place-items:center;width:min(100%,25rem);min-height:12rem;margin:.5rem auto 1rem;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.dice-reveal{background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--character-color)32%,transparent),#08080b 64%)}}.dice-reveal{box-shadow:0 0 2rem var(--character-color)}@supports (color:color-mix(in lab,red,red)){.dice-reveal{box-shadow:0 0 2rem color-mix(in srgb,var(--character-color)28%,transparent)}}.dice-reveal{animation:.62s cubic-bezier(.17,.82,.2,1) reveal-in}.dice-reveal.compact{min-height:8rem}.dice-reveal img{object-fit:contain;object-position:center bottom;width:100%;max-height:20rem}.dice-reveal strong{color:#fff;text-shadow:0 2px 5px #000;font-size:1.2rem;position:absolute;bottom:.55rem;right:.8rem}.dice-placeholder{border:3px solid var(--character-color);color:#fff;width:7.5rem;height:9.5rem;box-shadow:inset 0 0 2rem var(--character-color);background:#050506;border-radius:50% 50% 34% 34%;place-items:center;font-size:4rem;font-weight:950;display:grid}@supports (color:color-mix(in lab,red,red)){.dice-placeholder{box-shadow:inset 0 0 2rem color-mix(in srgb,var(--character-color)30%,transparent)}}.dice-eye{z-index:2;width:1.2rem;height:.48rem;box-shadow:0 0 .8rem .35rem var(--character-color);background:#fff;border-radius:50%;animation:1.5s ease-in-out infinite eye-glow;position:absolute;top:28%}.glitch{animation:.62s steps(2,end) glitch-in}.trial-label{color:#d4a94a;font-weight:900}.question-text{background:#17191e;border:1px solid #5a5a62;border-radius:.8rem;margin:.75rem 0 1.25rem;padding:1rem;font-size:clamp(1.25rem,5vw,1.7rem)}.answer-list{gap:.7rem;margin-top:1rem;display:grid}.answer-button{color:#ececec;text-align:left;background:#191b20;border:2px solid #414149;justify-content:flex-start;margin:0}.mercy-effect{border-radius:.8rem;position:relative;overflow:hidden}.mercy-effect>span{z-index:2;pointer-events:none;opacity:0;position:absolute;inset:0}.mercy-n1>span{opacity:.45;background:radial-gradient(circle,#fff 0 4%,#0000 5%);animation:.65s ease-out mercy-smash}.mercy-n2>span{opacity:.8;background:#8ec5ff;height:2px;animation:.8s ease-out mercy-line;top:50%}.mercy-n3>span{opacity:.45;background:linear-gradient(110deg,#0000 35%,#fff 48%,#0000 62%);animation:.7s ease-out mercy-swipe}.mercy-n4>span{opacity:.8;background:radial-gradient(circle at 30%,#ffdf6a 0 3px,#0000 4px),radial-gradient(circle at 70% 45%,#ff77b7 0 4px,#0000 5px);animation:1s ease-out mercy-flower}.mercy-n5>span{opacity:.55;background:linear-gradient(90deg,#111 0 35%,#0000 48% 52%,#111 65%);animation:.85s ease-out mercy-cover}.mercy-n6>span{opacity:.9;background:#bd5dff;height:4px;animation:.65s ease-out mercy-beam;top:50%;box-shadow:0 0 1rem #bd5dff}.sealed-answer{text-align:center}.spinning-die{border:3px solid #d4a94a;border-radius:1rem;place-items:center;width:90px;height:90px;margin:auto;font-size:3rem;font-weight:950;animation:.9s cubic-bezier(.2,.7,.2,1) die-roll;display:grid}.badge-circle{color:#d4a94a;word-spacing:.5rem;border:3px dashed #d4a94a;border-radius:50%;place-items:center;width:180px;height:180px;margin:1rem auto;font-size:1.4rem;display:grid}.result-card{background:#15171c;border:2px solid;border-radius:1rem;padding:1.2rem}.result-card.correct{border-color:#3be08a}.result-card.incorrect{border-color:#c4453c}.result-mark{font-size:1.6rem;font-weight:950}.correct .result-mark{color:#3be08a}.incorrect .result-mark{color:#ef6c62}.explanation{background:#202127;border-left:4px solid #d4a94a;padding:.9rem}.mercy-note{color:#c7c7cc;font-size:.92rem}.summary-panel{text-align:center}.score-number{color:#d4a94a;font-size:clamp(5rem,30vw,10rem);font-weight:950;line-height:1}.redemption-code{color:#d4a94a;letter-spacing:.15em;text-align:center;background:#15171c;border:2px solid #d4a94a;border-radius:1rem;margin:1.5rem 0;padding:1rem;font-size:clamp(2.6rem,14vw,5rem);font-weight:950;display:block}.result-image-preview{border:2px solid #d4a94a;border-radius:.8rem;width:100%;margin:1rem auto;display:block}.error-screen{align-content:center;display:grid}.loading-status,.scanner-instruction{color:#d4a94a;text-align:center;font-weight:900}.scanner-stage{background:#050506;border:2px solid #3f4048;border-radius:1rem;min-height:min(65vh,32rem);position:relative;overflow:hidden}.scanner-stage.invalid{animation:.35s red-flash}.scanner-video{object-fit:cover;width:100%;min-height:min(65vh,32rem);display:block}.scanner-frame{border:3px solid #c81e28;border-radius:1rem;position:absolute;inset:14% 9%;box-shadow:0 0 0 100vmax #00000047}.scanner-frame span{background:#ef3944;height:3px;animation:2s ease-in-out infinite alternate scan;position:absolute;left:0;right:0;box-shadow:0 0 .8rem #ef3944}.camera-error{margin-top:1rem}.scan-success{animation:.76s cubic-bezier(.16,.8,.18,1) both content-unmask;position:relative}@keyframes scan{0%{top:8%}to{top:90%}}@keyframes red-flash{50%{border-color:#ff3341;box-shadow:0 0 2rem #ff3341b3}}.fx-route{opacity:.1;background-color:#0000;background-image:radial-gradient(circle at 12% 68%,#d4a94a 0 2px,#0000 3px),radial-gradient(circle at 36% 43%,#c81e28 0 3px,#0000 4px),radial-gradient(circle at 72% 22%,#d4a94a 0 2px,#0000 3px),linear-gradient(152deg,#0000 34%,#d4a94a 34.15% 34.35%,#0000 34.5% 57%,#c81e28 57.15% 57.35%,#0000 57.5%);background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:100% 100%;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;animation:18s linear infinite alternate map-drift;position:absolute;inset:0}.scene-arrival{animation:.72s cubic-bezier(.12,.78,.16,1) both content-unmask;position:relative}.dice-scene{border:1px solid var(--character-color);width:100%;height:clamp(17rem,50vw,25rem);margin:.5rem 0 1.35rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.dice-scene{border:1px solid color-mix(in srgb,var(--character-color)72%,#fff)}}.dice-scene{isolation:isolate;background:linear-gradient(118deg,#07070a 0 36%,var(--character-color)65%,#050506 100%);border-radius:1.2rem}@supports (color:color-mix(in lab,red,red)){.dice-scene{background:linear-gradient(118deg,#07070a 0 36%,color-mix(in srgb,var(--character-color)17%,#08080b)65%,#050506)}}.dice-scene{box-shadow:0 1.5rem 4rem #0000006b,inset 0 0 5rem var(--character-color)}@supports (color:color-mix(in lab,red,red)){.dice-scene{box-shadow:0 1.5rem 4rem #0000006b,inset 0 0 5rem color-mix(in srgb,var(--character-color)12%,transparent)}}.dice-scene:before,.dice-scene:after{content:"";z-index:1;pointer-events:none;position:absolute}.dice-scene:before{opacity:.28;background:repeating-linear-gradient(115deg,transparent 0 25px,var(--character-color)26px,transparent 27px 55px);inset:0}@supports (color:color-mix(in lab,red,red)){.dice-scene:before{background:repeating-linear-gradient(115deg,transparent 0 25px,color-mix(in srgb,var(--character-color)45%,transparent)26px,transparent 27px 55px)}}.dice-scene:before{animation:8s linear infinite scene-lines;transform:translate(-18%)}.dice-scene:after{aspect-ratio:1;border:1px solid var(--character-color);width:70%;bottom:-45%;right:-15%}@supports (color:color-mix(in lab,red,red)){.dice-scene:after{border:1px solid color-mix(in srgb,var(--character-color)60%,transparent)}}.dice-scene:after{box-shadow:0 0 0 2rem #ffffff05,0 0 0 5rem var(--character-color);border-radius:50%}@supports (color:color-mix(in lab,red,red)){.dice-scene:after{box-shadow:0 0 0 2rem #ffffff05,0 0 0 5rem color-mix(in srgb,var(--character-color)5%,transparent)}}.dice-scene.compact{height:12rem}.scene-map{z-index:2;animation:8s ease-in-out infinite alternate map-pan;position:absolute;inset:7% 5%}.scene-map:before{content:"";border-top:1px solid var(--character-color);position:absolute;inset:10% 20% 20% 5%}@supports (color:color-mix(in lab,red,red)){.scene-map:before{border-top:1px solid color-mix(in srgb,var(--character-color)75%,transparent)}}.scene-map:before{clip-path:polygon(0 60%,22% 23%,46% 70%,72% 12%,100% 42%,100% 46%,72% 17%,46% 75%,22% 28%,0 65%);background:var(--character-color);border-bottom:1px solid #ffffff1f}@supports (color:color-mix(in lab,red,red)){.scene-map:before{background:color-mix(in srgb,var(--character-color)22%,transparent)}}.scene-map i{background:var(--character-color);width:.55rem;height:.55rem;box-shadow:0 0 1rem var(--character-color);border:1px solid #fff;border-radius:50%;animation:2.4s ease-in-out infinite node-pulse;position:absolute}.scene-map i:first-child{top:58%;left:4%}.scene-map i:nth-child(2){animation-delay:-.4s;top:28%;left:23%}.scene-map i:nth-child(3){animation-delay:-.8s;top:67%;left:43%}.scene-map i:nth-child(4){animation-delay:-1.2s;top:18%;left:62%}.scene-map i:nth-child(5){animation-delay:-1.6s;top:39%;left:80%}.scene-map i:nth-child(6){animation-delay:-2s;top:72%;left:92%}.scene-copy{z-index:3;color:#fff;text-transform:uppercase;width:45%;display:grid;position:absolute;top:12%;left:6%}.scene-copy span{color:var(--character-color);letter-spacing:.22em;font-size:.7rem;font-weight:950}.scene-copy b{letter-spacing:-.09em;opacity:.2;margin-left:-.06em;font-size:clamp(4rem,17vw,9rem);line-height:.92}.scene-copy em{border-top:1px solid var(--character-color);letter-spacing:.08em;width:max-content;max-width:100%;margin-top:.5rem;padding-top:.45rem;font-size:.72rem;font-style:normal;font-weight:900}.character-figure{z-index:5;transform-origin:70% 100%;filter:drop-shadow(-1.4rem 1rem 1.2rem #000000b3);width:56%;height:102%;animation:.9s cubic-bezier(.12,.84,.18,1) both character-enter,5.2s ease-in-out 1s infinite character-idle;position:absolute;bottom:-3%;right:-1%}.character-figure img{object-fit:contain;object-position:right bottom;width:100%;height:100%}.figure-placeholder{width:70%;height:88%;position:absolute;bottom:0;right:4%}.figure-head{z-index:3;aspect-ratio:.82;border:3px solid var(--character-color);width:46%;box-shadow:inset 0 0 1.8rem var(--character-color),0 0 1.5rem var(--character-color);background:radial-gradient(circle at 50% 30%,#32343a,#060608 70%);border-radius:46% 46% 38% 38%;position:absolute;top:0;left:27%}@supports (color:color-mix(in lab,red,red)){.figure-head{box-shadow:inset 0 0 1.8rem color-mix(in srgb,var(--character-color)32%,transparent),0 0 1.5rem color-mix(in srgb,var(--character-color)28%,transparent)}}.figure-head i{width:56%;height:8%;box-shadow:0 0 1.2rem .35rem var(--character-color);background:#fff;border-radius:50%;position:absolute;top:38%;left:22%}.figure-body{z-index:2;clip-path:polygon(22% 0,78% 0,100% 30%,84% 100%,16% 100%,0 30%);background:linear-gradient(90deg,#08090b,#33353a 48%,#090a0c);border-top:2px solid #777;width:76%;height:68%;position:absolute;top:24%;left:12%}.figure-body:after{content:"";background:var(--character-color);width:3px;height:100%;position:absolute;top:0;left:48%}@supports (color:color-mix(in lab,red,red)){.figure-body:after{background:color-mix(in srgb,var(--character-color)45%,#222)}}.figure-arm{z-index:1;transform-origin:top;background:linear-gradient(90deg,#07080a,#24262b);border-radius:45% 45% 20% 20%;width:24%;height:57%;position:absolute;top:28%}.figure-arm.left{left:0;transform:rotate(8deg)}.figure-arm.right{right:-3%;transform:rotate(-31deg)}.scene-name{z-index:7;text-shadow:0 3px 9px #000;justify-items:end;display:grid;position:absolute;bottom:5%;right:4%}.scene-name small{color:var(--character-color);letter-spacing:.14em;font-size:.72rem;font-weight:900}.scene-name strong{font-size:1.25rem}.text-reveal,.text-reveal>span{display:inline}.text-reveal i{opacity:0;clip-path:inset(0 0 100%);animation:.42s cubic-bezier(.16,.8,.2,1) forwards glyph-rise;animation-delay:calc(var(--reveal-index)*18ms + .12s);font-style:normal;display:inline-block;transform:translateY(1em)}.text-reveal i:empty{width:.3em}.answer-seal{background:#08090c;border:1px solid #575861;border-radius:1rem;height:12rem;position:relative;overflow:hidden}.seal-shutters{grid-template-columns:repeat(3,1fr);display:grid;position:absolute;inset:0}.seal-shutters i{background:linear-gradient(135deg,#1c1e24,#08090b);border-right:1px solid #34353c;animation:.76s cubic-bezier(.55,0,.22,1) both shutter-close}.seal-shutters i:nth-child(2){animation-delay:80ms}.seal-shutters i:nth-child(3){animation-delay:.16s}.seal-route{z-index:2;position:absolute;inset:0}.seal-route:before{content:"";transform-origin:0;background:linear-gradient(90deg,#0000,#d4a94a,#c81e28,#0000);width:84%;height:1px;animation:.82s cubic-bezier(.2,.8,.2,1) .12s both route-draw;position:absolute;top:50%;left:8%}.seal-route i{top:calc(50% - 4px);left:calc(10% + var(--node,0)*16%);opacity:0;background:#c81e28;border:1px solid #fff;border-radius:50%;width:8px;height:8px;animation:.28s forwards seal-node;position:absolute}.seal-route i:first-child{--node:0;animation-delay:.18s}.seal-route i:nth-child(2){--node:1;animation-delay:.27s}.seal-route i:nth-child(3){--node:2;animation-delay:.36s}.seal-route i:nth-child(4){--node:3;animation-delay:.45s}.seal-route i:nth-child(5){--node:4;animation-delay:.54s}.seal-route i:nth-child(6){--node:5;animation-delay:.63s}.seal-core{z-index:4;opacity:0;align-content:center;justify-items:center;animation:.42s ease-out .56s forwards seal-title;display:grid;position:absolute;inset:0}.seal-core span{color:#d4a94a;letter-spacing:.32em;font-size:.68rem;font-weight:950}.seal-core strong{margin-top:.25rem;font-size:1.4rem}.answer-seal.settled{border-color:#d4a94a;box-shadow:inset 0 0 2.5rem #d4a94a1a}.scan-transition{z-index:30;pointer-events:none;background:#050506;animation:.8s cubic-bezier(.7,0,.2,1) both scan-curtain;position:fixed;inset:0;overflow:hidden}.scan-transition:before{content:"";background:#fff;width:130vmax;height:2px;animation:.6s ease-out both acquisition-line;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scaleX(0);box-shadow:0 0 2rem .65rem #ef3944}.scan-transition:after{content:"";z-index:5;background:#fff;animation:.1s steps(2,end) both scan-whiteout;position:absolute;inset:0}.scan-transition i{aspect-ratio:1;border:1px solid #ef3944;border-radius:50%;width:38vmin;animation:.65s ease-out both acquisition-ring;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.scan-transition i:nth-child(2){width:58vmin;animation-delay:70ms}.scan-transition i:nth-child(3){width:82vmin;animation-delay:.14s}.scan-transition span{color:#fff;letter-spacing:.28em;white-space:nowrap;font-size:.7rem;font-weight:950;animation:.32s .18s both seal-title;position:absolute;top:calc(50% + 2rem);left:50%;transform:translate(-50%)}@keyframes map-drift{to{transform:translate(1.5rem,-1rem)scale(1.04)}}@keyframes scene-lines{to{transform:translate(18%)}}@keyframes map-pan{to{transform:translate(-1.5%,2%)}}@keyframes node-pulse{50%{opacity:.35;transform:scale(1.7)}}@keyframes content-unmask{0%{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}@keyframes character-enter{0%{opacity:0;clip-path:inset(0 0 0 100%);transform:translate(40%,8%)}to{opacity:1;clip-path:inset(0);transform:translate(0)}}@keyframes character-idle{0%,to{translate:0}50%{translate:-.35rem -.2rem}}@keyframes glyph-rise{to{opacity:1;clip-path:inset(0);transform:translateY(0)}}@keyframes shutter-close{0%{transform:translateY(var(--from,-105%))}to{transform:translateY(0)}}@keyframes route-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes seal-node{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1);box-shadow:0 0 1rem #c81e28}}@keyframes seal-title{0%{opacity:0;letter-spacing:.6em}to{opacity:1}}@keyframes scan-curtain{0%,7%{opacity:1;clip-path:inset(0);background:#fff}9%,26%{background:#050506}32%,72%{opacity:1;background:0 0}to{opacity:0;clip-path:inset(0 0 100%);background:0 0}}@keyframes scan-whiteout{0%,48%{opacity:1;filter:drop-shadow(7px 0 #f33)drop-shadow(-7px 0 #4bf);transform:translate(0)}50%,74%{opacity:.7;clip-path:inset(22% 0 51%);transform:translate(5px)}75%,to{opacity:0;clip-path:inset(64% 0 15%);transform:translate(-6px)}}@keyframes acquisition-line{0%{transform:translate(-50%,-50%)scaleX(0)}40%{transform:translate(-50%,-50%)scaleX(1)}to{opacity:0;transform:translate(-50%,-50%)scaleX(1)}}@keyframes acquisition-ring{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}28%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(1)}}.pulse{animation:1.8s ease-in-out infinite pulse}.shake{animation:.24s ease-in-out 2 shake}@keyframes pulse{50%{opacity:.5}}@keyframes shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes reveal-in{0%{opacity:0;transform:scale(.72)translateY(1rem)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes glitch-in{0%,25%{filter:drop-shadow(5px 0 #c81e28)drop-shadow(-5px 0 #1f5f9e);transform:translate(-5px)}12%,38%{transform:translate(5px)}50%,to{filter:none;transform:none}}@keyframes eye-glow{50%{opacity:.55;transform:scaleX(1.25)}}@keyframes badge-breathe{50%{box-shadow:0 0 1.8rem var(--badge-color)}}@keyframes die-roll{0%{transform:rotate(0)scale(.72)}70%{transform:rotate(620deg)scale(1.08)}to{transform:rotate(720deg)scale(1)}}@keyframes scan-flash{0%{opacity:1}14%{opacity:.8}to{opacity:0}}@keyframes mercy-smash{0%{transform:scale(0)}to{opacity:0;transform:scale(5)}}@keyframes mercy-line{0%{transform:scaleX(0)}to{opacity:0;transform:scaleX(1)}}@keyframes mercy-swipe{0%{transform:translate(-100%)}to{opacity:0;transform:translate(100%)}}@keyframes mercy-flower{0%{transform:scale(0)rotate(0)}to{opacity:0;transform:scale(3)rotate(160deg)}}@keyframes mercy-cover{0%{transform:translateY(100%)}to{opacity:0;transform:translateY(0)}}@keyframes mercy-beam{0%{transform:scaleX(0)}to{opacity:0;transform:scaleX(1)}}@media(min-width:44rem){.character-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:24rem){.choice-grid{grid-template-columns:1fr}}@media(max-width:30rem){.quick-controls{grid-template-columns:1fr}.toggle-switch.compact{grid-template-columns:minmax(0,1fr) 44px 3.2ch;padding-inline:.75rem;font-size:.78rem}}@media(max-width:375px){.app-shell{width:calc(100% - 1rem);padding-top:max(.75rem,env(safe-area-inset-top))}.page-header{gap:.35rem;margin-bottom:.9rem}.back-link{width:40px;height:44px}h1{overflow-wrap:anywhere;font-size:clamp(1.55rem,8.5vw,2.1rem)}.eyebrow{font-size:.7rem}.quick-controls{gap:.4rem}.hero-panel,.summary-panel,.result-intro,.sealed-answer,.settings-panel{padding:.85rem}.character-card{min-height:126px;padding:.65rem}.character-card h2{font-size:1rem}.character-card p{font-size:.78rem}.dice-scene{height:13.5rem;margin-bottom:1rem}.dice-scene.compact{height:10rem}.scene-copy{width:51%;top:9%;left:5%}.scene-copy b{font-size:4.6rem}.scene-copy em{max-width:10rem;font-size:.62rem}.character-figure{width:64%;right:-7%}.scene-name{bottom:3%;right:3%}.scene-name strong{font-size:1rem}.dialogue{gap:.6rem;padding:.75rem}.dialogue p{font-size:.92rem}.question-text{margin-bottom:1rem;padding:.8rem;font-size:1.08rem}.answer-list{margin-top:.85rem}.answer-button{min-height:54px;padding:.75rem}.keypad{gap:.5rem;margin-top:1rem}.keypad button{min-height:56px}.button-help{margin-block:.8rem 1.15rem}.code-display,.redemption-code{letter-spacing:.08em;font-size:clamp(2rem,13vw,3.2rem)}.result-card{overflow-wrap:anywhere;padding:.85rem}}@media(max-height:600px){.scanner-stage,.scanner-video{min-height:48vh}.dice-scene{height:11rem}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.text-reveal i{opacity:1;clip-path:none;transform:none}.seal-core{opacity:1}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
