/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-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;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia: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;--spacing:.25rem;--font-weight-normal:400;--font-weight-medium:500;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-2xl:1rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--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;-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{.\@container{container-type:inline-size}.collapse{visibility:collapse}.invisible{visibility:hidden}.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}.static{position:static}.start{inset-inline-start:var(--spacing)}.-end{inset-inline-end:calc(var(--spacing) * -1)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.italic{font-style:italic}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.grayscale{--tw-grayscale:grayscale(100%);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,)}.sepia{--tw-sepia:sepia(100%);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,)}.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,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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{--ink:#111522;--muted:#6b6e78;--paper:#f2efe7;--card:#fbfaf6;--line:#d7d2c6;--cyan:#49d7e8;--yellow:#ffd65a;--red:#ec685f}.app-shell .board-wrap:after,.app-shell.is-mobile-session .board-wrap:after{clip-path:polygon(0 0, calc(50% - 9px) 0, calc(50% - 9px) var(--game-safe-top,14px), calc(50% + 9px) var(--game-safe-top,14px), calc(50% + 9px) 0, 100% 0, 100% 100%, 0 100%)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{background:linear-gradient(#11152209 1px, transparent 1px), linear-gradient(90deg, #11152209 1px, transparent 1px), var(--paper);min-width:0;color:var(--ink);font-family:var(--font-geist-sans), "Pretendard", "Noto Sans KR", Arial, sans-serif;-webkit-font-smoothing:antialiased;background-size:28px 28px;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,canvas:focus-visible,input:focus-visible+span{outline-offset:3px;outline:3px solid #0d8ea1}button:disabled{cursor:not-allowed}.app-shell{min-height:100vh;overflow:hidden}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;width:min(1460px,100% - 64px);min-height:86px;margin:0 auto;display:flex}.brand{color:inherit;align-items:center;gap:13px;text-decoration:none;display:inline-flex}.brand-mark{border:2px solid var(--ink);background:var(--yellow);width:41px;height:41px;box-shadow:4px 4px 0 var(--ink);font-family:var(--font-geist-mono), monospace;place-items:center;font-size:13px;font-weight:900;display:grid}.brand>span:last-child{gap:2px;display:grid}.brand b{letter-spacing:-.035em;font-size:15px}.brand small{color:var(--muted);font-size:11px;font-weight:650}.header-actions{align-items:center;gap:8px;display:flex}.quiet-button,.sound-button{border:1px solid var(--line);min-height:42px;color:var(--ink);cursor:pointer;background:#ffffff80;border-radius:999px;padding:0 16px;font-size:12px;font-weight:750}.sound-button{align-items:center;gap:7px;display:flex}.sound-button span{font-family:var(--font-geist-mono), monospace;color:#147f91}.quiet-button:hover,.sound-button:hover{border-color:var(--ink);background:#fff}.hero-copy{grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);align-items:end;gap:64px;width:min(1460px,100% - 64px);margin:58px auto 42px;display:grid}.eyebrow{color:#527078;font-family:var(--font-geist-mono), monospace;letter-spacing:.17em;margin:0 0 12px;font-size:11px;font-weight:850}.hero-copy h1{letter-spacing:-.07em;max-width:850px;margin:0;font-size:clamp(45px,6.2vw,92px);font-weight:850;line-height:.95}.hero-copy>p{color:#595c64;word-break:keep-all;max-width:560px;margin:0 0 8px;font-size:clamp(15px,1.3vw,18px);font-weight:540;line-height:1.75}.mobile-title,.mobile-stage-section,.mobile-control-note,.mobile-ready-hint,.drag-status,.direction-toggle{display:none}.direction-assist{display:contents}.game-layout{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:24px;width:min(1460px,100% - 64px);margin:0 auto;display:grid}.game-column{min-width:0}.game-card{background:var(--card);border:1px solid #c8c2b6;border-radius:22px;overflow:hidden;box-shadow:0 25px 65px #1f242f1a}.hud{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:97px;padding:18px 22px 16px;display:flex}.stage-heading{align-items:center;gap:13px;min-width:250px;display:flex}.stage-heading>div{gap:3px;display:grid}.stage-heading small,.hud-stats span,.score-row span,.control-copy>span{color:#777982;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;font-size:9px;font-weight:800}.stage-heading strong{letter-spacing:-.04em;font-size:18px;font-weight:810}.rarity{border:1px solid var(--ink);min-width:68px;font-family:var(--font-geist-mono), monospace;text-align:center;box-shadow:3px 3px 0 var(--ink);background:#fff;padding:7px 8px 6px;font-size:9px;font-weight:900}.hud-stats{flex:1;grid-template-columns:repeat(4,minmax(76px,1fr));align-items:center;max-width:590px;display:grid}.hud-stats>div{border-left:1px solid var(--line);align-content:center;gap:4px;min-height:48px;padding:0 14px;display:grid}.hud-stats b{font-family:var(--font-geist-mono), monospace;font-size:18px;line-height:1}.hud-stats b small{color:var(--muted);margin-left:2px;font-size:10px}.hud-stats b i{color:#b7b7b8;font-style:normal}.hud-stats>div:last-child b{color:#e45153;letter-spacing:.05em;font-size:13px}.progress-track{background:#dbd7ce;height:7px;position:relative;overflow:visible}.progress-track span{width:0;height:100%;transition:width .42s cubic-bezier(.2,.8,.2,1);display:block}.progress-track i{background:var(--ink);width:2px;height:13px;position:absolute;top:-3px}.board-wrap{aspect-ratio:1;isolation:isolate;background:#101625;position:relative;overflow:hidden}.reward-layer,.game-canvas,.board-curtain{width:100%;height:100%;position:absolute;inset:0}.reward-layer{z-index:0;background-color:#101625;background-position:bottom,50%;background-repeat:no-repeat;background-size:contain,cover}.reward-layer:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff1f}.game-canvas{z-index:1;touch-action:pan-y pinch-zoom;display:block}.game-canvas:focus-visible{outline:4px solid var(--stage-accent,var(--cyan));outline-offset:-6px}.board-curtain{z-index:6;color:#fff;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;background:#101625;place-items:center;font-size:12px;display:grid}.game-modal{z-index:5;color:#fff;text-align:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0d111cf2;border:1px solid #ffffff47;border-radius:19px;width:min(570px,100% - 52px);max-height:calc(100% - 46px);padding:32px;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 25px 80px #0000007a}.game-modal h2{letter-spacing:-.055em;margin:5px 0 20px;font-size:clamp(28px,4.1vw,46px)}.modal-kicker{color:#78e8f4;font-family:var(--font-geist-mono), monospace;letter-spacing:.18em;font-size:10px;font-weight:850}.mission-grid{border:1px solid #3c4352;border-radius:11px;grid-template-columns:repeat(3,1fr);display:grid}.mission-grid span{gap:5px;min-width:0;padding:13px 8px;display:grid}.mission-grid span+span{border-left:1px solid #3c4352}.mission-grid small{color:#8e98a9;font-size:10px}.mission-grid b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.mini-tutorial{text-align:left;gap:7px;margin:18px 0;padding:0;list-style:none;display:grid}.mini-tutorial li{color:#d7dbe3;background:#ffffff0f;border-radius:9px;align-items:center;gap:11px;min-height:43px;padding:8px 12px 8px 9px;font-size:12px;display:flex}.mini-tutorial li i{color:#78e8f4;width:27px;height:27px;font-family:var(--font-geist-mono), monospace;border:1px solid #566173;border-radius:50%;flex:0 0 27px;place-items:center;font-size:10px;font-style:normal;display:grid}.mini-tutorial li b{color:#fff;margin-right:4px}.stage-tip{color:#aeb5c1;margin:0 0 18px;font-size:11px;line-height:1.55}.primary-button,.secondary-button{cursor:pointer;border-radius:9px;min-height:49px;padding:0 20px;font-size:13px;font-weight:820}.primary-button{color:#07121a;background:#69dfec;border:1px solid #80edf4;box-shadow:0 7px 20px #43d5e433}.primary-button:hover{background:#94f2f8}.secondary-button{color:#fff;background:0 0;border:1px solid #5a6373}.ready-modal>.primary-button{width:100%}.compact-modal{width:min(440px,100% - 46px)}.compact-modal h2{margin-bottom:10px}.compact-modal p{color:#c4cad4;max-width:340px;margin:0 auto 10px;font-size:13px;line-height:1.65}.compact-modal>small{color:#9ba4b3;margin:0 0 18px;display:block}.modal-symbol{color:#7ce9f3;width:50px;height:50px;font-family:var(--font-geist-mono), monospace;border:2px solid #7ce9f3;border-radius:50%;place-items:center;margin:0 auto;font-weight:900;display:grid}.danger-modal .modal-symbol{color:#ff8b80;border-color:#ff8b80}.result-strip{text-align:left;border:1px solid #464f5e;border-radius:9px;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:8px;margin:17px 0;padding:12px 14px;display:grid}.result-strip span{color:#909aaa;font-size:10px}.result-strip b{font-family:var(--font-geist-mono), monospace;text-align:right;font-size:14px}.stars{color:#667080;letter-spacing:.12em;margin:-8px 0 9px;font-size:30px}.assist-note{color:#b9c2d0;margin:-4px 0 15px;font-size:10px;display:block}.modal-actions{grid-template-columns:.65fr 1fr;gap:9px;display:grid}.score-row{border-top:1px solid var(--line);align-items:center;gap:12px;min-height:63px;padding:10px 18px;display:flex}.score-row>div:first-child{gap:2px;min-width:130px;display:grid}.score-row>div:first-child b{font-family:var(--font-geist-mono), monospace;font-size:18px}.cut-state,.shield-state{color:#60636c;background:#ebe8df;border-radius:999px;align-items:center;gap:6px;min-height:32px;padding:0 11px;font-size:11px;font-weight:720;display:flex}.cut-state span{color:#9f7622}.cut-state.is-armed span{color:#0e9daf}.shield-state{color:#60529d;background:#e9e4ff}.pause-button{color:#575a62;cursor:pointer;background:0 0;border:1px solid #c7c2b8;border-radius:7px;min-height:35px;margin-left:auto;padding:0 12px;font-size:11px;font-weight:750}.pause-button:disabled{opacity:.4}.controls{background:#fbfaf6e0;border:1px solid #cbc6bb;border-radius:15px;align-items:center;gap:18px;min-height:92px;margin-top:12px;padding:14px 16px 14px 19px;display:flex}.control-copy{flex:1;min-width:0}.control-copy p{color:#6e7078;margin:5px 0 0;font-size:11px;line-height:1.45}.mobile-pad{touch-action:none;flex:0 0 132px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:3px;width:132px;height:78px;display:grid}.mobile-pad button{color:#242935;cursor:pointer;touch-action:none;background:#fff;border:1px solid #bdb8ae;border-radius:5px;min-width:0;font-size:14px;font-weight:800}.mobile-pad button:active{background:#d9f6f8;transform:translateY(1px)}.pad-up{grid-area:1/2}.pad-left{grid-area:2/1}.pad-center{grid-area:2/2}.pad-right{grid-area:2/3}.pad-down{grid-area:3/2}.cut-button{border:2px solid var(--ink);background:var(--yellow);width:78px;height:65px;color:var(--ink);box-shadow:4px 4px 0 var(--ink);cursor:pointer;touch-action:none;border-radius:9px;flex:0 0 78px;align-content:center;place-items:center;display:grid}.cut-button span{font-family:var(--font-geist-mono), monospace;font-size:18px;font-weight:950;line-height:1}.cut-button small{letter-spacing:.15em;margin-top:4px;font-size:8px;font-weight:900}.cut-button.is-armed{background:#64e8f1}.cut-button:disabled{filter:grayscale(.8);opacity:.45;box-shadow:2px 2px 0 var(--ink)}.stage-panel{background:var(--card);border:1px solid #c8c2b6;border-radius:22px;position:sticky;top:18px;overflow:hidden;box-shadow:0 25px 65px #1f242f14}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:91px;padding:19px 20px;display:flex}.panel-heading .eyebrow{margin-bottom:4px}.panel-heading h2{letter-spacing:-.05em;margin:0;font-size:22px}.panel-heading>span{color:#6d7079;font-family:var(--font-geist-mono), monospace;border:1px solid #c8c3b9;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800}.stage-item{width:100%;min-height:68px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e0ddd5;grid-template-columns:45px 1fr auto;align-items:center;gap:11px;padding:8px 10px;display:grid;position:relative}.stage-item:before{content:"";background:0 0;width:3px;position:absolute;top:10px;bottom:10px;left:-10px}.stage-item.is-selected{background:#eeece5}.stage-item:hover:not(:disabled){background:#f1efe9}.stage-number{width:38px;height:38px;font-family:var(--font-geist-mono), monospace;background:#fff;border:1px solid #c7c3ba;border-radius:9px;place-items:center;font-size:11px;font-weight:850;display:grid}.stage-info{gap:4px;min-width:0;display:grid}.stage-info small{color:#868891;font-size:9px;font-weight:700}.stage-info b{letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.stage-status{color:#878991;font-family:var(--font-geist-mono), monospace;font-size:9px;font-weight:800}.stage-item.is-locked{color:#a0a1a3}.stage-item.is-locked .stage-number{background:#ece9e2}.assist-card{background:#eeece6;border:1px solid #c8c3b9;border-radius:13px;margin:9px 12px 12px;padding:15px}.assist-card>div{align-items:center;gap:10px;display:flex}.assist-icon{border:1px solid var(--ink);width:34px;height:34px;font-family:var(--font-geist-mono), monospace;background:#dbf6f8;border-radius:50%;flex:0 0 34px;place-items:center;font-size:11px;font-weight:900;display:grid}.assist-card>div>div{gap:3px;display:grid}.assist-card b{font-size:12px}.assist-card small{color:#73767f;font-size:9px}.assist-card p{color:#777a83;margin:11px 0 0;font-size:9px;line-height:1.5}.switch{cursor:pointer;align-items:center;gap:6px;margin-left:auto;display:flex}.switch input{opacity:0;pointer-events:none;position:absolute}.switch>span{background:#cecbc4;border:1px solid #a9a69f;border-radius:999px;width:38px;height:22px;transition:background .16s;position:relative}.switch>span:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0003}.switch input:checked+span:after{transform:translate(16px)}.switch input:disabled+span{opacity:.45}.switch em{color:#696c73;min-width:24px;font-size:9px;font-style:normal;font-weight:760}.legend-card{border-top:1px solid var(--line);margin:0 12px 14px;padding:14px 15px}.legend-card h3{margin:0 0 12px;font-size:11px}.legend-row{color:#797b83;align-items:center;gap:10px;min-height:29px;font-size:9px;display:flex}.legend-row b{color:#282c35;margin-right:3px}.legend-enemy-image{object-fit:contain;filter:drop-shadow(0 3px 3px #26395d38);flex:0 0 30px;width:30px;height:30px}.legend-row i{border:2px solid #111522;flex:0 0 17px;width:17px;height:17px;display:block}.legend-wanderer{background:#ff765d;border-radius:50%}.legend-hunter{background:#ff7bd3;transform:rotate(45deg)scale(.76)}.legend-mine{clip-path:polygon(50% 0,100% 100%,0 100%);background:#ffbe4e}.legend-pulse{background:#a178ff;border-radius:50%;box-shadow:0 0 0 3px #ebe3ff}.gallery-section{border-top:1px solid var(--line);width:min(1460px,100% - 64px);margin:100px auto 95px;padding-top:37px}.gallery-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:25px;display:flex}.gallery-heading .eyebrow{margin-bottom:4px}.gallery-heading h2{letter-spacing:-.06em;margin:0;font-size:clamp(30px,4vw,54px)}.gallery-heading>p{color:#75777e;margin:0 0 5px;font-size:12px}.gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.reward-card{min-width:0}.reward-thumb{aspect-ratio:1;background-position:bottom,50%;background-repeat:no-repeat;background-size:contain,cover;border:1px solid #c2beb5;border-radius:12px;position:relative;overflow:hidden}.reward-card.is-locked .reward-thumb{background-color:#191f2c;background-image:linear-gradient(135deg,#ffffff0d 25%,#0000 25%),linear-gradient(315deg,#ffffff0d 25%,#0000 25%);background-position:0 0;background-size:18px 18px;place-items:center;display:grid}.reward-card.is-locked .reward-thumb>span{color:#6d7481;font-family:var(--font-geist-mono), monospace;font-size:clamp(18px,2vw,30px);font-weight:900}.thumb-stars{color:#ffd95f;letter-spacing:.08em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#070b13c2;border:1px solid #ffffff7a;border-radius:999px;padding:5px 7px;font-size:8px;position:absolute;bottom:8px;left:8px}.reward-card>div:last-child{gap:3px;min-width:0;margin-top:9px;display:grid}.reward-card>div:last-child span{color:#888990;font-family:var(--font-geist-mono), monospace;font-size:8px;font-weight:850}.reward-card>div:last-child b{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.reward-card.is-locked>div:last-child b{color:#9b9b9d}footer{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:40px;width:min(1460px,100% - 64px);min-height:110px;margin:0 auto;display:grid}footer b,footer span{font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;font-size:10px}footer p{color:#83848a;text-align:center;margin:0;font-size:9px}footer span{color:#898b90;font-size:8px}.sr-live{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page-dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0d15c2;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.page-dialog{background:#fbfaf6;border-radius:20px;width:min(560px,100%);max-height:calc(100vh - 48px);padding:35px;position:relative;overflow-y:auto;box-shadow:0 40px 100px #00000059}.dialog-close{color:#474b54;cursor:pointer;background:0 0;border:1px solid #cbc6bc;border-radius:50%;width:36px;height:36px;font-size:22px;position:absolute;top:17px;right:18px}.page-dialog h2{letter-spacing:-.06em;margin:0 0 23px;font-size:36px}.how-list{margin:0;padding:0;list-style:none}.how-list li{border-top:1px solid #ddd8ce;grid-template-columns:45px 1fr;gap:12px;padding:15px 0;display:grid}.how-list li>span{color:#4699a4;font-family:var(--font-geist-mono), monospace;font-size:11px;font-weight:850}.how-list b{font-size:13px}.how-list p{color:#777981;margin:5px 0 0;font-size:11px}.danger-note{background:#fff0ec;border:1px solid #e2b3aa;border-radius:10px;grid-template-columns:auto 1fr;gap:10px;margin:16px 0 22px;padding:14px;display:grid}.danger-note b{color:#b24d46;font-size:11px}.danger-note p{color:#7d5b58;margin:0;font-size:10px;line-height:1.55}.page-dialog>.primary-button{width:100%}@media (width<=1180px){.game-layout{grid-template-columns:minmax(0,1fr) 330px}.hud{flex-direction:column;align-items:stretch;gap:12px}.hud-stats{width:100%;max-width:none}.hud-stats>div:first-child{border-left:0}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px}}@media (width<=920px){.topbar,.hero-copy,.game-layout,.gallery-section,footer{width:min(100% - 32px,720px)}.hero-copy{grid-template-columns:1fr;gap:22px}.hero-copy>p{max-width:650px}.game-layout{grid-template-columns:1fr}.stage-panel{position:static}.stage-list{grid-template-columns:1fr 1fr;gap:0 8px;display:grid}.legend-card{grid-template-columns:repeat(2,1fr);gap:4px 12px;display:grid}.legend-card h3{grid-column:1/-1}}@media (width<=620px){.topbar{min-height:74px}.brand-mark{width:37px;height:37px}.brand b{font-size:13px}.brand small,.sound-button{display:none}.quiet-button{min-height:38px;padding:0 13px}.hero-copy{margin-top:39px;margin-bottom:28px}.hero-copy h1{font-size:clamp(43px,14vw,62px)}.hero-copy>p{font-size:14px;line-height:1.65}.game-card,.stage-panel{border-radius:16px}.hud{min-height:auto;padding:14px}.stage-heading{min-width:0}.stage-heading strong{font-size:16px}.rarity{min-width:60px;padding:6px}.hud-stats{grid-template-columns:repeat(4,1fr)}.hud-stats>div{min-height:42px;padding:0 7px}.hud-stats b{font-size:14px}.hud-stats>div:last-child b{font-size:10px}.game-modal{border-radius:14px;width:calc(100% - 28px);max-height:calc(100% - 28px);padding:19px}.game-modal h2{margin:4px 0 12px;font-size:26px}.mission-grid span{padding:9px 4px}.mission-grid b{font-size:10px}.mini-tutorial{gap:4px;margin:11px 0}.mini-tutorial li{min-height:34px;padding:5px 8px;font-size:10px}.mini-tutorial li i{flex-basis:22px;width:22px;height:22px}.stage-tip{margin-bottom:10px;font-size:9px}.primary-button,.secondary-button{min-height:44px}.score-row{min-height:56px;padding:8px 10px}.score-row>div:first-child{min-width:95px}.score-row>div:first-child b{font-size:15px}.cut-state,.shield-state{min-height:28px;padding:0 8px;font-size:9px}.shield-state{display:none}.controls{align-items:center;gap:10px;min-height:139px;padding:12px}.control-copy{display:none}.mobile-pad{flex-basis:184px;gap:5px;width:184px;height:114px}.mobile-pad button{min-width:56px;min-height:34px;font-size:18px}.cut-button{flex-basis:86px;width:86px;height:76px}.stage-list{grid-template-columns:1fr}.stage-item{min-height:61px}.legend-card{grid-template-columns:1fr}.gallery-section{margin-top:70px;margin-bottom:65px}.gallery-heading{flex-direction:column;align-items:start;gap:8px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}footer{grid-template-columns:1fr auto;gap:10px;min-height:125px}footer p{text-align:left;grid-area:2/1/auto/-1}.page-dialog{padding:27px 20px 20px}}@media (width<=390px){.topbar,.hero-copy,.game-layout,.gallery-section,footer{width:calc(100% - 20px)}.hero-copy h1{font-size:42px}.hud-stats>div{padding:0 5px}.hud-stats span{font-size:8px}.controls{justify-content:center}.mobile-pad{flex-basis:168px;width:168px}.mobile-pad button{min-width:50px}.cut-button{flex-basis:78px;width:78px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:more){.game-canvas{filter:contrast(1.15)}.quiet-button,.sound-button,.game-card,.stage-panel,.controls{border-color:var(--ink)}}@media (width<=920px){.mobile-stage-section{width:min(100% - 32px,720px);margin:0 auto 14px;display:block}.mobile-stage-toolbar{justify-content:space-between;align-items:center;gap:16px;min-height:54px;display:flex}.mobile-stage-toolbar .eyebrow{margin-bottom:2px}.mobile-stage-toolbar h2{letter-spacing:-.045em;margin:0;font-size:18px}.mobile-assist-toggle{color:#565a63;min-height:38px;font-family:var(--font-geist-mono), monospace;cursor:pointer;background:#ffffffad;border:1px solid #c8c2b6;border-radius:999px;align-items:center;gap:6px;padding:0 11px 0 7px;font-size:9px;font-weight:850;display:flex}.mobile-assist-toggle input{opacity:0;width:1px;height:1px;position:absolute}.mobile-assist-toggle>span{color:#727780;background:#eceae4;border:1px solid #727780;border-radius:50%;place-items:center;width:24px;height:24px;transition:all .16s;display:grid}.mobile-assist-toggle input:checked+span{color:#0a3d45;background:#52dbe7;border-color:#147d8a}.mobile-assist-toggle input:focus-visible+span{outline-offset:2px;outline:3px solid #0d8ea1}.mobile-stage-strip{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none;gap:8px;margin:0 -16px;padding:3px 16px 10px;display:flex;overflow-x:auto}.mobile-stage-strip::-webkit-scrollbar{display:none}.mobile-stage-chip{scroll-snap-align:center;width:143px;min-height:68px;color:var(--ink);text-align:left;background:#fbfaf6d6;border:1px solid #c8c2b6;border-radius:12px;flex:0 0 143px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;column-gap:8px;padding:9px 10px;display:grid}.mobile-stage-chip>span{width:32px;height:32px;font-family:var(--font-geist-mono), monospace;background:#fff;border:1px solid #c4c0b8;border-radius:8px;grid-row:1/3;align-self:center;place-items:center;font-size:9px;font-weight:900;display:grid}.mobile-stage-chip b{text-overflow:ellipsis;white-space:nowrap;align-self:end;font-size:11px;overflow:hidden}.mobile-stage-chip small{color:#7c7e86;align-self:start;font-size:8px}.mobile-stage-chip.is-selected{background:#e1f8fa;border-color:#111522;box-shadow:3px 3px #111522}.mobile-stage-chip:disabled{opacity:.55}.stage-panel{display:none}}@media (width<=620px){body{background-size:22px 22px}.topbar{width:calc(100% - 24px);min-height:calc(64px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}.hero-copy{gap:9px;width:calc(100% - 28px);margin:25px auto 18px}.hero-copy .eyebrow{margin-bottom:7px;font-size:9px}.desktop-title{display:none}.mobile-title{display:block}.hero-copy h1{font-size:clamp(35px,11.5vw,49px);line-height:.98}.hero-copy>p{display:none}.mobile-stage-section{width:100%;margin-bottom:7px;padding:0 14px}.mobile-stage-toolbar{min-height:49px}.mobile-stage-strip{margin:0 -14px;padding-inline:14px}.game-layout{width:100%;margin:0;display:block}.game-card{box-shadow:none;border-left:0;border-right:0;border-radius:0}.hud{background:#fbfaf6f7;flex-direction:row;align-items:center;gap:6px;min-height:56px;padding:7px 9px}.stage-heading{flex:0 0 104px;gap:0;width:104px;min-width:0;min-height:38px}.stage-heading strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.stage-heading small{font-size:8px}.rarity{display:none}.hud-stats{flex:1;gap:0;min-width:0}.hud-stats>div{min-height:38px;padding:0 4px}.hud-stats b{font-size:15px}.progress-track{height:6px}.game-modal{border-radius:15px;width:auto;max-height:calc(100% - 18px);padding:18px;inset:auto 9px 9px;transform:none}.game-modal h2{margin:3px 0 11px;font-size:25px}.ready-modal .mission-grid{margin-bottom:8px}.ready-modal .mini-tutorial{display:none}.mobile-ready-hint{color:#cbd3df;margin:8px 0 5px;font-size:9px;font-weight:700;display:block}.ready-modal .stage-tip{text-overflow:ellipsis;white-space:nowrap;margin:7px 0 10px;overflow:hidden}.compact-modal{width:auto}.modal-symbol{width:42px;height:42px}.score-row{background:#fbfaf6;min-height:46px;padding:4px 9px}.pause-button{min-width:48px;min-height:44px;padding:0 10px}.app-shell:not(.is-mobile-session) .controls,.is-mobile-session .topbar,.is-mobile-session .hero-copy,.is-mobile-session .mobile-stage-section{display:none}.is-mobile-session .game-layout{padding-top:env(safe-area-inset-top)}.is-mobile-session .game-column{min-height:100svh}.is-mobile-session .game-card{width:min(100%,max(280px,100svh - 188px));margin-inline:auto}.is-mobile-session .game-canvas{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:contain}.is-mobile-session .gallery-section,.is-mobile-session footer{display:none}.is-mobile-session .hud{z-index:12;top:env(safe-area-inset-top);position:sticky}.controls{z-index:20;bottom:max(7px, env(safe-area-inset-bottom));min-height:82px;margin:6px 8px max(7px, env(safe-area-inset-bottom));padding:7px max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0d121ef7;border-color:#334052;border-radius:20px;flex-wrap:nowrap;justify-content:space-between;gap:8px;display:flex;position:sticky;box-shadow:0 14px 45px #0509105c}.control-copy{text-align:left;flex:auto;min-width:0;display:block}.control-copy>span,.control-copy>p{display:none}.mobile-control-note{color:#aeb9c8;font-size:10px;font-weight:650;line-height:1.4;display:block}.direction-assist{flex:0 0 48px;display:block;position:relative}.direction-toggle{color:#f7f8fa;cursor:pointer;background:#242e3e;border:1px solid #59667a;border-radius:12px;align-content:center;place-items:center;width:48px;height:48px;display:grid}.direction-toggle span{font-size:20px;line-height:1}.direction-toggle small{color:#b8c2d1;margin-top:2px;font-size:7px;font-weight:800}.direction-assist .mobile-pad{z-index:25;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#0d121efa;border:1px solid #57647a;border-radius:17px;grid-template-rows:repeat(3,44px);grid-template-columns:repeat(3,44px);gap:2px;width:146px;height:146px;padding:5px;display:none;position:absolute;bottom:calc(100% + 10px);right:0;box-shadow:0 18px 45px #0000005c}.direction-assist.is-open .mobile-pad{display:grid}.mobile-pad button{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#f7f8fa;border-color:#566277;border-radius:11px;width:44px;min-width:44px;height:44px;min-height:44px;font-size:20px}.pad-center{color:#6b7481!important;background:#242d3c!important}.cut-button{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-color:#fff;border-radius:50%;flex:0 0 68px;align-self:center;width:68px;height:68px;box-shadow:5px 5px #050911}.cut-button span{font-size:16px}.cut-button small{font-size:7px}.is-mobile-session .drag-status{z-index:4;color:#fff;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#070c15d6;border:1px solid #ffffff4d;border-radius:11px;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:7px 10px;display:flex;position:absolute;bottom:10px;left:10px;right:10px}.drag-status span{color:#69e8f1;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;font-size:7px;font-weight:900}.drag-status b{font-size:9px}.is-dragging .drag-status{background:#05252ce6;border-color:#69e8f1}.cut-button.is-drawing,.cut-button.is-drawing:disabled{filter:none;opacity:1;background:#5ce4ef}.gallery-section,footer{width:calc(100% - 28px)}footer{padding-bottom:max(18px, env(safe-area-inset-bottom))}}@media (width<=350px){.controls{gap:6px;padding-inline:8px}.mobile-control-note{font-size:9px}.direction-assist .mobile-pad{grid-template-rows:repeat(3,42px);grid-template-columns:repeat(3,42px);width:138px;height:138px}.mobile-pad button{width:42px;min-width:42px;height:42px;min-height:42px}.cut-button{flex-basis:62px;width:62px;height:62px}}html,body{overscroll-behavior:none;width:100%;height:100%;overflow:hidden}.app-shell{grid-template-rows:calc(60px + env(safe-area-inset-top)) minmax(0, 1fr);width:100%;height:100dvh;min-height:100dvh;padding-bottom:calc(66px + env(safe-area-inset-bottom));background:radial-gradient(circle at 8% 8%,#ffdc5666 0 8%,#0000 8.5%),radial-gradient(circle at 92% 18%,#9376f533 0 10%,#0000 10.5%),linear-gradient(145deg,#dff5ff,#f8fcff 55%,#fff4d2);display:grid;position:relative;overflow:hidden}.app-shell .hero-copy,.app-shell .mobile-stage-section,.app-shell .gallery-section,.app-shell footer{display:none!important}.app-shell .topbar,.app-shell.is-mobile-session .topbar{z-index:30;width:100%;min-height:0;height:calc(60px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(14px, env(safe-area-inset-right)) 0 max(14px, env(safe-area-inset-left));background:#fffdf8f0;border:0;border-bottom:2px solid #ffffffeb;border-radius:0;align-items:center;margin:0;position:relative;box-shadow:0 4px 18px #283d601f;display:flex!important}.app-shell .brand-logo{width:118px}.app-shell .quiet-button,.app-shell .sound-button{background:#fff;border-width:2px;border-radius:13px;min-height:40px;box-shadow:0 3px #c3d8e8}.app-shell .game-layout,.app-shell.is-mobile-session .game-layout{grid-template-columns:minmax(0,1fr) minmax(270px,330px);align-items:stretch;gap:10px;width:min(100%,1280px);height:100%;min-height:0;margin:0 auto;padding:8px 12px;overflow:hidden;display:grid!important}.app-shell .game-column,.app-shell.is-mobile-session .game-column{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;height:100%;min-height:0;display:grid!important}.app-shell .game-card,.app-shell.is-mobile-session .game-card{border-radius:22px;grid-template-rows:auto auto minmax(0,1fr) auto;width:100%;min-width:0;height:100%;min-height:0;margin:0;display:grid;overflow:hidden}.app-shell .hud,.app-shell.is-mobile-session .hud{min-height:0;color:var(--ink);background:linear-gradient(135deg,#fffdf8,#edf8ff);grid-template-columns:minmax(150px,.7fr) minmax(300px,1.3fr);align-items:center;gap:10px;padding:8px 12px;display:grid;position:relative!important;inset:auto!important}.app-shell .hud-stats{height:auto}.app-shell .progress-track,.app-shell.is-mobile-session .progress-track{width:auto;margin:0 12px 5px;position:relative!important;inset:auto!important}.app-shell .board-wrap,.app-shell.is-mobile-session .board-wrap{aspect-ratio:1;border-radius:20px;place-self:center;width:min(100%,100dvh - 370px);min-width:0;max-width:100%;max-height:100%;margin:auto}.app-shell .score-row,.app-shell.is-mobile-session .score-row{min-height:48px;color:var(--ink);background:#fffdf8;margin:5px 0 0;padding:6px 12px;position:relative!important;inset:auto!important}.app-shell .controls,.app-shell.is-mobile-session .controls{min-height:78px;color:var(--ink);background:#fffdf8f5;border-radius:20px;align-content:center;align-items:center;gap:10px;margin:0;padding:8px 12px;display:flex!important;position:relative!important;inset:auto!important}.app-shell .stage-panel{overscroll-behavior:contain;height:100%;min-height:0;position:relative;top:auto;overflow-y:auto}.mobile-bottom-nav{z-index:90;height:calc(66px + env(safe-area-inset-bottom));padding:6px max(10px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf8f7;border-top:2px solid #fffffff5;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 26px #283d6029}.mobile-bottom-nav button{color:#71819c;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:15px;grid-template-rows:auto auto;grid-template-columns:auto auto;place-content:center;align-items:center;gap:0 6px;min-width:0;min-height:50px;padding:4px 8px;display:grid;position:relative}.mobile-bottom-nav button>span{color:#586da0;grid-row:1/3;font-size:18px}.mobile-bottom-nav button b{font-size:11px;line-height:1.1}.mobile-bottom-nav button small{color:#8b98ad;font-size:7px;line-height:1}.mobile-bottom-nav button.is-active{color:#26395d;background:linear-gradient(135deg,#ffdf66,#ffb66b);box-shadow:0 3px #26395d}.mobile-bottom-nav button.is-active>span,.mobile-bottom-nav button.is-active small{color:#26395d}.stage-picker-dialog,.library-dialog,.library-detail-dialog{z-index:120;width:100%;height:100dvh;padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#1c2a46b8;place-items:center;display:grid;position:fixed;inset:0}.library-detail-dialog{z-index:140;background:#18233dd6}.app-drawer,.library-panel,.library-detail-card{background:linear-gradient(145deg,#fffdf8,#eef8ff);border:3px solid #fff;border-radius:28px;width:min(100%,920px);height:min(100%,820px);min-height:0;overflow:hidden;box-shadow:0 24px 80px #0b183061}.app-drawer,.library-panel{flex-direction:column;display:flex}.app-drawer-heading,.library-heading{border-bottom:1px solid #d4e4ef;flex:none;justify-content:space-between;align-items:center;gap:16px;min-height:82px;padding:16px 18px;display:flex}.app-drawer-heading h2,.library-heading h2{color:#26395d;margin:0;font-size:clamp(22px,4vw,34px);line-height:1}.app-drawer-heading .eyebrow,.library-heading .eyebrow{margin-bottom:6px}.library-heading p:not(.eyebrow){color:#6c7d98;margin:7px 0 0;font-size:11px}.app-drawer-close{color:#30476e;cursor:pointer;background:#fff;border:2px solid #c5d9e8;border-radius:50%;width:46px;min-width:46px;height:46px;font-size:24px;font-weight:900;box-shadow:0 3px #b9cfdf}.stage-picker-list,.library-grid{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto}.stage-picker-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px 16px;display:grid}.stage-picker-card{border:2px solid #d3e2ed;border-left:7px solid var(--stage-accent);color:#34496e;text-align:left;cursor:pointer;background:#fff;border-radius:17px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:72px;padding:9px 10px;display:grid}.stage-picker-card>span{background:#f3f9ff;border:2px solid #c8dce9;border-radius:12px;place-items:center;width:40px;height:40px;font-weight:950;display:grid}.stage-picker-card div{gap:3px;min-width:0;display:grid}.stage-picker-card small{color:#8491a6;font-size:7px}.stage-picker-card b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.stage-picker-card em{color:#5369c9;font-size:8px;font-style:normal;font-weight:900}.stage-picker-card.is-selected{border-color:var(--stage-accent);background:var(--stage-accent)}@supports (color:color-mix(in lab, red, red)){.stage-picker-card.is-selected{background:color-mix(in srgb, var(--stage-accent) 14%, white)}}.stage-picker-card.is-selected{box-shadow:0 4px 0 var(--stage-accent)}@supports (color:color-mix(in lab, red, red)){.stage-picker-card.is-selected{box-shadow:0 4px 0 color-mix(in srgb, var(--stage-accent) 42%, #9eb2c5)}}.stage-picker-card:disabled{opacity:.58;cursor:not-allowed}.drawer-assist-toggle{background:#edf7ff;border:2px solid #caddea;border-radius:17px;flex:none;align-items:center;gap:11px;margin:0 16px 15px;padding:11px 14px;display:flex}.drawer-assist-toggle>span{color:#fff;background:#26395d;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:950;display:grid}.drawer-assist-toggle div{gap:2px;display:grid}.drawer-assist-toggle small{color:#7586a0;font-size:9px}.library-heading-actions{align-items:center;gap:12px;display:flex}.library-heading-actions strong{color:#5266d8;font-size:26px;font-weight:950}.library-heading-actions strong small{color:#8291a8;font-size:12px}.library-grid{flex:auto;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:11px;padding:14px 16px;display:grid}.library-card{color:#30476e;text-align:left;cursor:pointer;background:#fff;border:2px solid #d2e2ed;border-radius:19px;gap:5px;min-width:0;padding:7px;display:grid;box-shadow:0 4px #506e9024}.library-card-art,.library-locked-art{aspect-ratio:.78;border-radius:13px;width:100%;position:relative;overflow:hidden}.library-card-art img{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 7px 8px #18284833);width:100%;height:100%}.library-card-art>span{color:#ffdd63;background:#26395de0;border-radius:999px;padding:4px 7px;font-size:9px;position:absolute;bottom:6px;left:6px}.library-locked-art{background:radial-gradient(circle at 32% 26%,#fffc 0 8%,#0000 8.5%),linear-gradient(145deg,#dcebf6,#eee9ff);border:2px dashed #b9ccdc;place-items:center;display:grid}.library-locked-art span{color:#5165896b;border:3px solid #5b6e914d;border-radius:50%;place-items:center;width:54px;height:54px;font-size:28px;font-weight:950;display:grid}.library-card>small{color:#8795aa;font-size:7px}.library-card>b{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.library-card.is-locked{opacity:.74;cursor:not-allowed}.library-footnote{color:#72839d;text-align:center;flex:none;margin:0;padding:9px 16px 12px;font-size:9px}.library-detail-card{grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);align-items:stretch;gap:18px;padding:16px;display:grid;position:relative}.library-back-button{z-index:2;color:#fff;cursor:pointer;background:#26395de0;border:2px solid #fff;border-radius:999px;min-height:44px;padding:0 14px;font-weight:900;position:absolute;top:24px;left:24px}.library-detail-visual{grid-template-rows:minmax(0,1fr) auto;gap:6px;min-width:0;min-height:0;display:grid;overflow:hidden}.library-detail-art{border-radius:22px;place-items:end center;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.library-detail-dialog .library-media-viewport{z-index:1;cursor:zoom-in;touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.library-detail-dialog .library-media-viewport.is-zoomed{cursor:grab}.library-detail-dialog .library-media-viewport.is-zoomed:active{cursor:grabbing}.library-detail-dialog .library-shared-media-frame{transform:translate3d(var(--library-media-x), var(--library-media-y), 0) scale(var(--library-media-scale));transform-origin:50% 100%;will-change:transform;position:absolute;inset:0;overflow:hidden}.library-detail-dialog .library-shared-media-frame>.library-shared-media-image,.library-detail-dialog .library-shared-media-frame>.library-shared-media-video{object-fit:cover;object-position:center top;pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;display:block;position:absolute;inset:0}.library-detail-dialog .library-shared-media-frame>.library-shared-media-image{z-index:1;filter:drop-shadow(0 14px 18px #12203d3d)}.library-detail-dialog .library-shared-media-frame>.library-shared-media-video{z-index:2;visibility:hidden;opacity:0;background:0 0}.library-detail-dialog .library-shared-media-frame>.library-shared-media-video.is-ready{visibility:visible;opacity:1}.library-detail-dialog .library-media-transform-controls{z-index:7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#030f22e6;border:1px solid #7edae661;border-radius:12px;grid-template-columns:34px 52px 34px 34px;gap:4px;min-height:42px;padding:4px;display:grid;position:absolute;top:8px;right:8px;box-shadow:0 6px 18px #00000057}.library-detail-dialog .library-media-transform-controls button{color:#f5ffff;cursor:pointer;touch-action:manipulation;background:#112f4bb8;border:1px solid #7edae63d;border-radius:8px;min-width:0;min-height:32px;padding:4px;font-size:12px;font-weight:950}.library-detail-dialog .library-media-transform-controls button:disabled{cursor:default;opacity:.38}.library-detail-dialog .library-media-transform-controls button:focus-visible{outline-offset:1px;outline:2px solid #f7d78f}.library-detail-art img{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 14px 18px #12203d3d);width:100%;height:100%}.library-detail-copy{flex-direction:column;justify-content:center;min-width:0;padding:clamp(18px,4vw,42px) clamp(10px,3vw,30px);display:flex}.library-detail-copy h2{color:#26395d;letter-spacing:-.07em;margin:0;font-size:clamp(30px,5vw,54px);line-height:.98}.library-detail-copy>span{color:#6d7e99;margin-top:10px;font-size:13px;font-weight:750}.library-record-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:24px 0;display:grid}.library-record-grid div{background:#f3f9ff;border:1px solid #d3e2ed;border-radius:14px;align-content:center;gap:4px;min-height:64px;padding:10px;display:grid}.library-record-grid small{color:#8291a8;font-size:7px}.library-record-grid b{color:#3a5077;font-size:13px}@media (width<=920px){.app-shell{grid-template-rows:calc(56px + env(safe-area-inset-top)) minmax(0, 1fr);padding-bottom:calc(64px + env(safe-area-inset-bottom))}.app-shell .topbar,.app-shell.is-mobile-session .topbar{height:calc(56px + env(safe-area-inset-top));padding-inline:max(9px, env(safe-area-inset-left))}.app-shell .brand-logo{width:102px}.app-shell .header-actions{gap:5px}.app-shell .quiet-button,.app-shell .sound-button{min-height:38px;padding:0 9px;font-size:9px}.app-shell .game-layout,.app-shell.is-mobile-session .game-layout{grid-template-columns:minmax(0,1fr);width:100%;padding:5px 6px}.app-shell .stage-panel{display:none}.app-shell .game-column,.app-shell.is-mobile-session .game-column{grid-template-rows:minmax(0,1fr) auto;gap:5px}.app-shell .game-card,.app-shell.is-mobile-session .game-card{border-radius:18px}.app-shell .hud,.app-shell.is-mobile-session .hud{grid-template-columns:minmax(105px,.62fr) minmax(0,1.38fr);gap:5px;min-height:54px;padding:5px 7px}.app-shell .stage-heading{gap:6px;min-width:0}.app-shell .stage-heading strong{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:10px;overflow:hidden}.app-shell .stage-heading small{font-size:6px}.app-shell .rarity{padding:4px 5px;font-size:6px;box-shadow:0 2px #253657}.app-shell .hud-stats{gap:3px}.app-shell .hud-stats>div{border-radius:9px;min-height:38px;padding:2px}.app-shell .hud-stats span{font-size:6px}.app-shell .hud-stats b{font-size:11px}.app-shell .progress-track,.app-shell.is-mobile-session .progress-track{height:8px;margin:0 7px 4px}.app-shell .board-wrap,.app-shell.is-mobile-session .board-wrap{border-width:3px;border-radius:16px;width:min(100%,100dvh - 318px);box-shadow:0 4px #b7cfe3}.app-shell .score-row,.app-shell.is-mobile-session .score-row{min-height:43px;padding:4px 7px}.app-shell .controls,.app-shell.is-mobile-session .controls{justify-content:space-between;min-height:72px;padding:6px 8px}.app-shell .control-copy{display:block}.app-shell .control-copy>span,.app-shell .control-copy>p{display:none}.app-shell .mobile-control-note{color:#60738f;font-size:9px;line-height:1.3;display:block}.app-shell .direction-assist{flex:0 0 46px;display:block;position:relative}.app-shell .direction-toggle{width:46px;height:46px;display:grid}.app-shell .direction-assist .mobile-pad{bottom:calc(100% + 9px);right:0}.app-shell .cut-button{flex-basis:62px;width:62px;height:62px}.app-shell .game-modal{max-height:calc(100% - 14px);overflow-y:auto}.stage-picker-dialog,.library-dialog,.library-detail-dialog{padding:0}.app-drawer,.library-panel,.library-detail-card{border:0;border-radius:0;width:100%;height:100dvh}.stage-picker-list{grid-template-columns:1fr}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-detail-card{padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));grid-template-rows:minmax(0,1.2fr) minmax(260px,.8fr);grid-template-columns:1fr;gap:8px}.library-detail-copy{padding:8px 12px}.library-detail-copy h2{font-size:clamp(28px,9vw,42px)}.library-record-grid{margin:14px 0}}@media (orientation:landscape) and (height<=560px) and (pointer:coarse){.app-shell{grid-template-columns:minmax(0, 1fr) calc(64px + env(safe-area-inset-right));grid-template-rows:calc(48px + env(safe-area-inset-top)) minmax(0, 1fr);padding:0}.app-shell .topbar,.app-shell.is-mobile-session .topbar{width:100%;height:calc(48px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);grid-area:1/1}.app-shell .brand-logo{width:90px}.app-shell .quiet-button,.app-shell .sound-button{min-height:34px}.app-shell .game-layout,.app-shell.is-mobile-session .game-layout{grid-area:2/1;padding:4px}.app-shell .game-column,.app-shell.is-mobile-session .game-column{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(132px,31vw);gap:5px}.app-shell .game-card,.app-shell.is-mobile-session .game-card{grid-area:1/1;width:100%;height:100%}.app-shell .hud,.app-shell.is-mobile-session .hud{grid-template-columns:minmax(0,1fr)}.app-shell .stage-heading{display:none}.app-shell .board-wrap,.app-shell.is-mobile-session .board-wrap{width:min(100%,100dvh - 136px)}.app-shell .controls,.app-shell.is-mobile-session .controls{flex-direction:column;grid-area:1/2;justify-content:center;width:100%;height:100%;min-height:0;padding:6px}.app-shell .control-copy{display:none}.mobile-bottom-nav{width:calc(64px + env(safe-area-inset-right));height:100dvh;padding:max(6px, env(safe-area-inset-top)) max(5px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) 5px;border-top:0;border-left:2px solid #fffffff5;grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:1fr;gap:5px;inset:0 0 0 auto}.mobile-bottom-nav button{grid-template-rows:auto auto auto;grid-template-columns:1fr;gap:2px;min-height:0;padding:3px}.mobile-bottom-nav button>span{grid-row:auto;font-size:15px}.mobile-bottom-nav button b{font-size:8px}.stage-picker-list,.library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.library-detail-card{grid-template-rows:1fr;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr)}}.app-shell .game-layout{margin:0;padding:0;position:absolute;inset:0}body{background:#08101d}.app-shell{isolation:isolate;background:radial-gradient(circle at 20% 18%,#31cfe51a,#0000 34%),radial-gradient(circle at 82% 76%,#8453ec1f,#0000 38%),#08101d;width:100vw;height:100dvh;min-height:0;padding:0;display:block;position:fixed;inset:0;overflow:hidden}:is(.app-shell:fullscreen,.app-shell:fullscreen){background:#08101d;width:100vw;height:100dvh;position:fixed;inset:0}.app-shell::backdrop{background:#08101d}.app-shell .topbar,.app-shell .hero-copy,.app-shell .mobile-stage-section,.app-shell .gallery-section,.app-shell footer{display:none!important}.app-shell .game-layout,.app-shell.is-mobile-session .game-layout{background:0 0;width:100%;height:100%;min-height:0;margin:0;padding:0;overflow:hidden;display:block!important;position:absolute!important;inset:0!important}.app-shell .game-column,.app-shell.is-mobile-session .game-column{width:100%;height:100%;min-height:0;position:absolute;inset:0;display:block!important}.app-shell .stage-panel{display:none!important}.app-shell .game-card,.app-shell.is-mobile-session .game-card{width:100%;height:100%;min-height:0;box-shadow:none;background:linear-gradient(#ffffff05 1px,#0000 1px) 0 0/22px 22px,linear-gradient(90deg,#ffffff05 1px,#0000 1px) 0 0/22px 22px,radial-gradient(circle at 50% 48%,#172744 0%,#0d1728 58%,#070c15 100%);border:0;border-radius:0;display:block;position:absolute;inset:0;overflow:hidden}.app-shell .hud,.app-shell.is-mobile-session .hud{z-index:40;color:#f8fbff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#060d18c7;border:1px solid #7ddef047;border-radius:14px;grid-template-columns:minmax(100px,.58fr) minmax(0,1.42fr);align-items:center;gap:6px;width:auto;min-height:54px;padding:6px 8px;display:grid;box-shadow:0 8px 24px #00000047;top:max(7px, env(safe-area-inset-top))!important;bottom:auto!important;right:68px!important;left:max(7px, env(safe-area-inset-left))!important;position:absolute!important}.app-shell .stage-heading{min-width:0;display:flex}.app-shell .stage-heading strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;max-width:145px;font-size:10px;overflow:hidden}.app-shell .stage-heading small{color:#8fa7c7;font-size:6px}.app-shell .rarity{box-shadow:none;background:#ffdc61;border:1px solid #ffffff6b;border-radius:9px;padding:4px 6px;font-size:6px}.app-shell .hud-stats{gap:3px;height:auto}.app-shell .hud-stats>div,.app-shell.is-mobile-session .hud-stats>div{background:#14233ac7;border:1px solid #7ea0c733;border-radius:9px;min-height:38px;padding:2px 3px}.app-shell .hud-stats span{color:#8fa7c7;font-size:6px}.app-shell .hud-stats b{color:#fff;font-size:11px}.app-shell .progress-track,.app-shell.is-mobile-session .progress-track{z-index:41;background:#070d17d1;border:1px solid #ffffff7a;width:auto;height:7px;margin:0;top:calc(max(7px, env(safe-area-inset-top)) + 58px)!important;position:absolute!important;bottom:auto!important;left:11px!important;right:72px!important}.app-shell .board-wrap,.app-shell.is-mobile-session .board-wrap{z-index:2;aspect-ratio:1;background:#0b1424;border:0;border-radius:0;width:min(100vw,100dvh - 174px,768px);min-width:0;max-width:none;max-height:none;margin:0;position:absolute;top:50%;left:50%;translate:-50% -50%;box-shadow:0 0 0 1px #65e6f34d,0 0 42px #26d3e61a}.app-shell .score-row,.app-shell.is-mobile-session .score-row{z-index:42;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#060d18c2;border:1px solid #7b9fc938;border-radius:13px;width:auto;min-height:42px;margin:0;padding:4px 7px;box-shadow:0 7px 22px #00000040;right:max(8px, env(safe-area-inset-right))!important;bottom:calc(88px + env(safe-area-inset-bottom))!important;left:max(8px, env(safe-area-inset-left))!important;position:absolute!important}.app-shell .score-row span{color:#8fa7c7}.app-shell .score-row>div:first-child b,.app-shell .cut-state,.app-shell .shield-state{color:#fff}.app-shell .pause-button{color:#fff;border-color:#ffffff6b;min-height:34px}.app-shell .controls,.app-shell.is-mobile-session .controls{z-index:45;color:#fff;width:min(100% - 18px,460px);height:72px;min-height:72px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;gap:12px;margin:0;padding:5px 8px;translate:50%;right:50%!important;bottom:max(8px, env(safe-area-inset-bottom))!important;display:flex!important;position:absolute!important;left:auto!important}.app-shell .control-copy{display:none!important}.app-shell .direction-assist{flex:0 0 56px;display:block;position:relative}.app-shell .direction-toggle{color:#fff;background:#11273fe0;border:2px solid #86dce8;border-radius:50%;width:56px;height:56px;display:grid;box-shadow:0 0 18px #49d9ea38}.app-shell .direction-assist .mobile-pad{background:#070f1bf5;border-color:#74deeb6b;bottom:calc(100% + 10px);left:50%;right:auto;translate:-50%}.app-shell .cut-button{background:linear-gradient(145deg,#ffd95f,#ff9c62);border:3px solid #fff;border-radius:50%;flex-basis:68px;width:68px;height:68px;box-shadow:0 5px #050910,0 0 22px #ffba5747}.game-menu-trigger{z-index:96;top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#060d18e0;border:1px solid #82e3ef6b;border-radius:50%;align-content:center;place-items:center;gap:0;width:52px;height:52px;padding:4px;display:grid;position:fixed;box-shadow:0 7px 24px #00000052}.game-menu-trigger span{font-size:20px;font-weight:900;line-height:1}.game-menu-trigger small{color:#8bdce8;letter-spacing:.08em;margin-top:3px;font-size:6px;font-weight:950}.game-action-dock{z-index:95;right:max(8px, env(safe-area-inset-right));bottom:calc(92px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#050c16eb;border:1px solid #7ddef057;border-radius:22px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:174px;padding:8px;display:grid;position:fixed;box-shadow:0 16px 42px #0000006b}.game-action-dock button{color:#eef9ff;cursor:pointer;background:#14243be0;border:1px solid #7da0c93d;border-radius:15px;align-content:center;place-items:center;gap:4px;min-width:0;min-height:64px;padding:6px 3px;display:grid;position:relative}.game-action-dock button:active{background:#2d5270f0;scale:.96}.game-action-dock button>span{color:#81e1ec;font-size:22px;line-height:1}.game-action-dock button small{color:#15233a;background:#ffda63;border-radius:999px;min-width:22px;padding:2px 4px;font-size:6px;font-weight:950;position:absolute;top:5px;right:6px}.stage-picker-dialog,.library-dialog,.library-detail-dialog{background:#02070fe6}.app-drawer,.library-panel,.library-detail-card{color:#f5faff;background:radial-gradient(circle at 10% 0,#43c6dc1a,#0000 34%),linear-gradient(145deg,#111d31,#09111e);border-color:#81e0ec52;box-shadow:0 24px 80px #0000009e}.app-drawer-heading,.library-heading{border-bottom-color:#7ea0c733}.app-drawer-heading h2,.library-heading h2,.library-detail-copy h2{color:#fff}.library-heading p:not(.eyebrow),.library-detail-copy>span,.library-footnote{color:#91a5c2}.app-drawer-close{color:#fff;box-shadow:none;background:#172640;border-color:#82e3ef5c}.stage-picker-card,.library-card{color:#f4f9ff;box-shadow:none;background:#14223a;border-color:#7092ba47}.stage-picker-card>span{background:#0c1728;border-color:#70b4cc4d}.drawer-assist-toggle,.library-record-grid div{color:#f4f9ff;background:#12213a;border-color:#7092ba47}.drawer-assist-toggle small,.stage-picker-card small,.library-card>small,.library-record-grid small{color:#8fa4c1}.library-record-grid b{color:#fff}@media (width<=430px){.app-shell .hud,.app-shell.is-mobile-session .hud{grid-template-columns:minmax(0,1fr);right:64px!important}.app-shell .stage-heading{display:none}.app-shell .progress-track,.app-shell.is-mobile-session .progress-track{right:68px!important}.app-shell .score-row,.app-shell.is-mobile-session .score-row{bottom:calc(82px + env(safe-area-inset-bottom))!important}.game-menu-trigger{width:48px;height:48px}.game-action-dock{bottom:calc(84px + env(safe-area-inset-bottom))}}@media (orientation:landscape) and (height<=560px) and (pointer:coarse){.app-shell .board-wrap,.app-shell.is-mobile-session .board-wrap{width:min(100dvh,100vw - 176px,768px);top:50%;left:42%;translate:-50% -50%}.app-shell .hud,.app-shell.is-mobile-session .hud{right:calc(166px + env(safe-area-inset-right))!important}.app-shell .progress-track,.app-shell.is-mobile-session .progress-track{right:calc(170px + env(safe-area-inset-right))!important}.app-shell .controls,.app-shell.is-mobile-session .controls{flex-direction:column;width:142px;height:190px;min-height:0;translate:0 -50%;top:50%!important;right:calc(12px + env(safe-area-inset-right))!important;bottom:auto!important;left:auto!important}.app-shell .score-row,.app-shell.is-mobile-session .score-row{right:calc(160px + env(safe-area-inset-right))!important;bottom:max(5px, env(safe-area-inset-bottom))!important}.game-menu-trigger{top:max(5px, env(safe-area-inset-top));right:max(5px, env(safe-area-inset-right))}.game-action-dock{right:max(5px, env(safe-area-inset-right));bottom:max(5px, env(safe-area-inset-bottom))}.is-mobile-session .game-layout{padding:max(6px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left))}.is-mobile-session .game-column{grid-template-columns:minmax(280px,calc(100svh - 12px)) minmax(176px,1fr);align-items:start;gap:8px;display:grid}.is-mobile-session .game-card{border:1px solid #31394a;border-radius:14px;width:min(100%,100svh - 12px);position:relative}.is-mobile-session .hud{z-index:8;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#090e18e0;min-height:52px;padding:6px 9px;display:block;position:absolute;top:0;left:0;right:0}.is-mobile-session .stage-heading{display:none}.is-mobile-session .hud-stats{height:39px;display:grid}.is-mobile-session .hud-stats>div{border-left-color:#465165;min-height:36px}.is-mobile-session .hud-stats span{color:#aeb8c8}.is-mobile-session .progress-track{z-index:9;position:absolute;top:52px;left:0;right:0}.is-mobile-session .score-row{z-index:8;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#090e18e0;border-top-color:#465165;min-height:46px;padding:5px 8px;position:absolute;bottom:0;left:0;right:0}.is-mobile-session .score-row span{color:#aeb8c8}.is-mobile-session .pause-button{color:#fff;border-color:#6a7587;min-height:38px}.is-mobile-session .controls{top:max(6px, env(safe-area-inset-top));border-radius:14px;align-content:center;gap:6px;min-height:calc(100svh - 12px);margin:0;padding:8px;position:sticky;bottom:auto}.is-mobile-session .control-copy{flex-basis:100%}.is-mobile-session .mobile-pad{flex-basis:min(144px,38svh);width:min(144px,38svh);height:min(144px,38svh)}.is-mobile-session .mobile-pad button{min-width:40px;min-height:40px}.is-mobile-session .cut-button{flex-basis:min(78px,21svh);width:min(78px,21svh);height:min(78px,21svh)}}:root{--ink:#20304f;--muted:#6f7c96;--paper:#eaf7ff;--card:#fffdf8;--line:#bfd6ea;--cyan:#51d7e8;--yellow:#ffd85a;--red:#ff7485;--violet:#9078f5;--green:#45c98b;--surface-blue:#f1f8ff;--shadow-card:0 5px 0 #46679124, 0 18px 42px #20304f1f}html{background:var(--paper)}body{background-color:#0000;background-image:radial-gradient(circle at 7% 7%,#ffd85a80 0 7%,#0000 7.2%),radial-gradient(circle at 95% 16%,#9078f538 0 9%,#0000 9.2%),radial-gradient(circle at 12% 78%,#51d7e83d 0 12%,#0000 12.2%),linear-gradient(145deg,#dff5ff 0%,#f4fbff 48%,#fff5d8 100%);background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box}button:focus-visible,a:focus-visible,canvas:focus-visible,input:focus-visible+span{outline-color:#3157d4}.topbar{width:min(1460px,100% - 32px);min-height:92px;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf8e0;border:2px solid #fffffff5;border-radius:26px;margin-top:14px;padding:0 18px}.brand{min-width:0}.brand-logo,.hero-logo{flex:none;display:block;position:relative;overflow:hidden}.brand-logo:before,.hero-logo:before{content:"";aspect-ratio:1;background:url(/brand/territory-logo.webp) 50%/contain no-repeat;width:100%;position:absolute;top:-21.5%;left:0}.brand-logo{aspect-ratio:1.72;width:138px}.quiet-button,.sound-button{min-height:44px;color:var(--ink);background:#fff;border:2px solid #c8dcef;font-weight:850;box-shadow:0 3px #b8cee3}.quiet-button:hover,.sound-button:hover{background:#f4f2ff;border-color:#7384e9;transform:translateY(-1px)}.sound-button span{color:#5166d8}.hero-copy{width:min(1460px,100% - 32px);box-shadow:var(--shadow-card);background:radial-gradient(circle at 92% 18%,#ffd85a73 0 8%,#0000 8.2%),linear-gradient(125deg,#fffdf8fa,#eff9fff5);border:2px solid #fffffff5;border-radius:32px;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);align-items:center;gap:clamp(24px,4vw,56px);margin:28px auto 24px;padding:clamp(20px,3vw,36px)}.hero-title-block{grid-template-columns:clamp(190px,21vw,310px) minmax(0,1fr);align-items:center;gap:clamp(16px,2.4vw,34px);min-width:0;display:grid}.hero-logo{aspect-ratio:1.72;filter:drop-shadow(0 7px #19346117);width:100%}.eyebrow{color:#5368cd;font-weight:950}.hero-copy h1{max-width:660px;color:var(--ink);letter-spacing:-.075em;text-wrap:balance;font-size:clamp(38px,4.1vw,66px);font-weight:950;line-height:.98}.hero-copy>p{color:#596b89;margin:0;font-weight:650;line-height:1.72}.hero-title-block{grid-row:1/span 2}.hero-copy>p,.hero-feature-row{grid-column:2}.hero-feature-row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px 14px;min-width:0;display:grid}.title-enemies{align-items:center;max-width:min(100%,286px);display:flex}.title-enemies img{aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 7px 5px #2a395b3d);width:clamp(46px,4.2vw,64px)}.title-enemies img+img{margin-left:-12px}.hero-badges{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.hero-badges span{color:#5166c8;font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;background:#ffffffd6;border:2px solid #c7daeb;border-radius:999px;padding:6px 8px;font-size:8px;font-weight:900}.hero-start-link{color:#26395d;background:linear-gradient(135deg,#ffdd62,#ffb56a);border:2px solid #26395d;border-radius:15px;grid-column:1/-1;justify-content:center;align-items:center;min-height:46px;font-size:13px;font-weight:950;text-decoration:none;display:inline-flex;box-shadow:0 5px #26395d}.hero-start-link:active{translate:0 3px;box-shadow:0 2px #26395d}.game-layout{width:min(1460px,100% - 32px)}.game-card,.stage-panel{box-shadow:var(--shadow-card);background:#fffdf8f5;border:2px solid #fffffffa;border-radius:28px}.hud{background:linear-gradient(135deg,#fffdf8,#edf8ff);border-bottom:0;padding:16px 18px}.stage-heading strong{color:var(--ink);font-weight:900}.rarity{color:#253657;background:#fff3b6;border:2px solid #253657;border-radius:12px;box-shadow:0 4px #253657}.rarity-rare{background:#d9f5ff}.rarity-epic{background:#eee4ff}.hud-stats{gap:7px}.hud-stats>div{background:#ffffffd6;border:1px solid #d7e7f4;border-radius:14px;min-height:54px}.hud-stats b{color:#344d79;font-weight:900}.progress-track{background:#dcebf5;border:2px solid #fff;border-radius:999px;height:10px;margin:0 18px 10px;overflow:hidden;box-shadow:inset 0 1px 3px #20304f1a}.progress-track i{background:#26395d;border-radius:999px;width:4px;height:16px;top:-4px}.board-wrap{background:#263351;border:4px solid #ddecfa;border-radius:24px;width:auto;margin:0 12px;overflow:hidden;box-shadow:0 7px #b7cfe3}.reward-layer{background-color:#263351}.reward-layer:after{border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 2px #ffffff2e,inset 0 0 35px #20304f2e}.game-canvas{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.game-modal{color:var(--ink);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf8f5;border:3px solid #fff;border-radius:28px;box-shadow:0 7px #283d602e,0 28px 75px #0c1c3861}.game-modal h2{color:var(--ink);font-weight:950}.modal-kicker{color:#5266d8}.mission-grid{background:#f2f9ff;border:1px solid #c9deef;border-radius:16px}.mission-grid span+span{border-left-color:#c9deef}.mission-grid small,.result-strip span{color:#71819d}.mini-tutorial li{color:#5e6d87;background:#fff;border:1px solid #dceaf5;border-radius:14px}.mini-tutorial li i{color:#297b8a;background:#e1fbff;border-color:#a7dce7}.mini-tutorial li b,.result-strip b{color:var(--ink)}.stage-tip,.compact-modal p,.compact-modal>small,.assist-note{color:#6e7c95}.primary-button,.secondary-button{border-radius:16px;min-height:52px;font-weight:900}.primary-button{background:var(--yellow);color:#26395d;border:2px solid #26395d;box-shadow:0 5px #26395d}.primary-button:hover{background:#ffe77f;transform:translateY(-1px)}.secondary-button{color:#405271;background:#fff;border:2px solid #b9cde0;box-shadow:0 4px #c2d4e4}.modal-symbol{color:#258394;background:#e1fbff;border-color:#4bcbdc}.danger-modal{background:#fff7f5f7}.danger-modal .modal-symbol{border-color:var(--red);color:#d84662;background:#fff0f2}.result-strip{background:#f5faff;border-color:#cfdfec;border-radius:14px}.clear-modal{background:#fffceaf7}.stars{color:#cbd6e3}.stars .earned{color:#ffc83d;text-shadow:0 3px #ef8b22,0 0 22px #ffc83d80}.score-row{background:#fffdf8;border-top:1px solid #d7e7f4;margin-top:9px}.cut-state,.shield-state{color:#5b6c87;background:#edf4fb;font-weight:800}.cut-state.is-armed{color:#157d8d;background:#dffbff}.pause-button{color:#50617c;background:#fff;border:2px solid #c8d9e8;border-radius:12px;min-height:40px;box-shadow:0 3px #c1d2e0}.controls{box-shadow:var(--shadow-card);background:#fffdf8f0;border:2px solid #fff;border-radius:22px}.control-copy p{color:#687893}.control-copy b{color:#34496e}.mobile-pad button{color:#34496e;border:2px solid #b9cde0;border-radius:11px;box-shadow:0 3px #b9cde0}.cut-button{background:var(--yellow);color:#26395d;border:3px solid #26395d;border-radius:18px;box-shadow:0 6px #26395d}.cut-button.is-armed,.cut-button.is-drawing,.cut-button.is-drawing:disabled{background:#6eeaf2}.stage-panel{overflow:hidden}.panel-heading{background:linear-gradient(135deg,#fffdf8,#f0f8ff);border-bottom-color:#d7e7f4}.panel-heading>span{color:#52627e;background:#fff;border:2px solid #c4d8e8}.stage-list{padding:10px}.stage-item{background:#fff;border:1px solid #d8e7f3;border-radius:16px;min-height:72px;margin-bottom:7px}.stage-item:before{border-radius:999px;width:5px;top:15px;bottom:15px;left:5px}.stage-item.is-selected,.stage-item:hover:not(:disabled){background:var(--stage-accent)}@supports (color:color-mix(in lab, red, red)){.stage-item.is-selected,.stage-item:hover:not(:disabled){background:color-mix(in srgb, var(--stage-accent) 16%, white)}}.stage-item.is-selected{border-color:var(--stage-accent);box-shadow:0 4px 0 var(--stage-accent)}@supports (color:color-mix(in lab, red, red)){.stage-item.is-selected{box-shadow:0 4px 0 color-mix(in srgb, var(--stage-accent) 44%, #91a6bd)}}.stage-item.is-selected:before{background:var(--stage-accent)}.stage-number{background:#f7fbff;border:2px solid #c4d8e8;border-radius:12px}.assist-card{background:#f2f8ff;border-color:#cbddeb;border-radius:18px}.assist-icon{color:#2e486e;background:#dffbff;border:2px solid #3a4f75}.switch input:checked+span{background:var(--cyan)}.gallery-section{width:min(1460px,100% - 32px);box-shadow:var(--shadow-card);background:#fffdf8d1;border:2px solid #fff;border-radius:30px;margin-top:74px;padding:clamp(20px,3vw,34px)}.gallery-heading h2{color:var(--ink);font-weight:950}.reward-card{background:#fff;border:1px solid #d5e5f1;border-radius:20px;padding:8px;box-shadow:0 5px #526e8e1f}.reward-thumb{border:3px solid #fff;border-radius:16px;box-shadow:0 0 0 1px #c7dbea}.reward-card.is-locked .reward-thumb{background-color:#dceeff;background-image:radial-gradient(circle at 30% 32%,#ffffffd9 0 9%,#0000 9.5%),linear-gradient(145deg,#dceeff,#eee9ff)}.reward-card.is-locked .reward-thumb>span{color:#7d8fac}.thumb-stars{background:#263351d6;border:2px solid #fff}footer{border-top-color:#5e7e9d38;width:min(1460px,100% - 32px)}.audio-credits{flex-wrap:wrap;grid-column:1/-1;justify-content:center;gap:6px 14px;margin:-26px 0 18px;display:flex}.audio-credits a,.audio-credits span{color:#667b9d;font-family:var(--font-geist-mono), monospace;font-size:8px}.audio-credits a{text-underline-offset:3px;text-decoration-thickness:1px}.page-dialog-backdrop{background:#1e304fa3}.page-dialog{background:#fffdf8;border:3px solid #fff;border-radius:28px}.dialog-close{background:#fff;border:2px solid #c8d9e8;width:44px;height:44px}.how-list li,.legend-card{border-color:#d6e5f0}.how-list li>span{color:#5166d8}.danger-note{background:#fff0f2;border-color:#ffb9c3;border-radius:16px}@media (width<=920px){.topbar,.hero-copy,.game-layout,.gallery-section,footer{width:min(100% - 24px,720px)}.hero-copy{grid-template-columns:1fr;gap:14px}.hero-title-block,.hero-copy>p,.hero-feature-row{grid-area:auto}.hero-title-block{grid-template-columns:minmax(150px,.62fr) minmax(0,1fr)}.mobile-stage-section{background:#fffdf8d1;border:2px solid #fff;border-radius:22px;width:min(100% - 24px,720px);margin-bottom:12px;padding:12px;box-shadow:0 5px #4667911f}.mobile-assist-toggle{color:#52627e;background:#fff;border:2px solid #c7d9e9;box-shadow:0 3px #c4d7e7}.mobile-stage-strip{margin:0 -12px;padding:5px 12px 9px}.mobile-stage-chip{background:#fff;border:2px solid #d1e1ed;border-radius:17px;flex-basis:152px;width:152px;min-height:76px;box-shadow:0 4px #c9dce9}.mobile-stage-chip>span{background:#f4f9ff;border:2px solid #c5d9e8;border-radius:11px}.mobile-stage-chip.is-selected{border-color:var(--stage-accent);background:var(--stage-accent)}@supports (color:color-mix(in lab, red, red)){.mobile-stage-chip.is-selected{background:color-mix(in srgb, var(--stage-accent) 16%, white)}}.mobile-stage-chip.is-selected{box-shadow:0 5px 0 var(--stage-accent)}@supports (color:color-mix(in lab, red, red)){.mobile-stage-chip.is-selected{box-shadow:0 5px 0 color-mix(in srgb, var(--stage-accent) 46%, #91a6bd)}}}@media (width<=620px){body{background:radial-gradient(circle at 8% 8%,#ffd85a6b 0 8%,#0000 8.5%),linear-gradient(155deg,#e0f6ff,#f7fbff 56%,#fff6da)}.topbar{width:calc(100% - 20px);min-height:calc(68px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0;border-radius:20px;margin-top:8px}.brand-logo{width:112px}.quiet-button{min-height:44px;padding:0 12px}.hero-copy{border-radius:22px;width:calc(100% - 20px);margin:12px auto;padding:14px}.hero-title-block{display:block}.hero-logo{width:132px;margin-bottom:2px}.hero-copy .eyebrow{letter-spacing:.11em;margin-bottom:5px;font-size:7px}.hero-copy h1{font-size:clamp(25px,8vw,32px);line-height:1.01}.hero-feature-row{grid-template-columns:auto minmax(0,1fr);gap:7px 9px}.title-enemies img{width:46px}.hero-badges span{padding:5px 6px;font-size:7px}.hero-start-link{min-height:44px}.mobile-title{white-space:nowrap}.mobile-stage-section{border-radius:19px;width:calc(100% - 20px);margin:0 auto 9px;padding:9px}.mobile-stage-toolbar{min-height:42px}.mobile-stage-toolbar h2{font-size:16px}.mobile-stage-strip{margin:0 -9px;padding-inline:9px}.mobile-stage-chip{flex-basis:142px;width:142px;min-height:68px}.game-card{box-shadow:none;background:#f8fcff;border:0;border-radius:0}.hud{background:linear-gradient(135deg,#fffdf8,#edf8ff);min-height:60px;padding:8px 10px}.hud-stats{gap:3px}.hud-stats>div{border-radius:10px;min-height:40px;padding-inline:3px}.progress-track{height:9px;margin:0 9px 6px}.board-wrap{border-width:3px;border-radius:19px;margin:0 6px;box-shadow:0 5px #b7cfe3}.game-modal{border-radius:22px;max-height:calc(100% - 20px);inset:auto 10px 10px}.mobile-ready-hint{color:#58708e}.score-row{background:#fffdf8;min-height:50px;margin-top:8px}.controls{background:#fffdf8f7;border-color:#fff;min-height:84px;box-shadow:0 5px #283d6033,0 16px 38px #20304f2e}.mobile-control-note{color:#5c6e8a;font-weight:800}.direction-toggle{color:#4458bc;background:#eef2ff;border:2px solid #b9cde0;border-radius:14px;box-shadow:0 4px #b9cde0}.direction-toggle small{color:#5d6f95}.direction-assist .mobile-pad{background:#f5fafffa;border:2px solid #fff;box-shadow:0 5px #283d602e,0 18px 45px #20304f40}.pad-center{color:#687995!important;background:#e8eff7!important}.cut-button{border-color:#26395d;box-shadow:0 6px #26395d}.is-mobile-session .drag-status{color:#26395d;background:#fffce5e6;border:2px solid #ffffffe6;border-radius:14px;box-shadow:0 4px #20304f2e}.drag-status span{color:#347ac5}.is-dragging .drag-status{background:#e0fcfff0;border-color:#6eeaf2}.gallery-section{border-radius:23px;width:calc(100% - 20px);margin-top:48px;padding:14px}footer{text-align:center;grid-template-columns:1fr;gap:8px;padding:22px 0}.audio-credits{margin:4px 0 0}}@media (pointer:coarse){.is-mobile-session .game-canvas{touch-action:none}.is-mobile-session .game-canvas,.is-mobile-session .mobile-pad button,.is-mobile-session .cut-button{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}}@media (width<=350px){.hero-copy h1{font-size:25px}.direction-assist .mobile-pad{grid-template-rows:repeat(3,44px);grid-template-columns:repeat(3,44px);width:146px;height:146px}.mobile-pad button{width:44px;min-width:44px;height:44px;min-height:44px}}.title-screen{z-index:110;color:#fff;isolation:isolate;background-color:#07152c;background-position:50%;background-size:cover;width:100%;height:100dvh;position:fixed;inset:0;overflow:hidden}.title-screen-vignette{z-index:1;pointer-events:none;background:linear-gradient(#02081814 0%,#02081805 42%,#020818d1 86%,#020818f5 100%),radial-gradient(circle at 50% 36%,#0000 0 32%,#0207142e 72%);position:absolute;inset:0}.title-hero{z-index:2;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 24px #01061494)saturate(1.05);pointer-events:none;width:min(76vw,520px);height:68dvh;position:absolute;bottom:11dvh}.title-enemy-pair{z-index:4;pointer-events:none;align-items:center;display:flex;position:absolute;bottom:27dvh;right:8vw}.title-enemy-pair img{aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 8px 9px #0207148c);width:clamp(54px,15vw,92px)}.title-enemy-pair img+img{margin-left:-20px}.title-logo-lockup{z-index:6;top:max(4dvh, calc(env(safe-area-inset-top) + 18px));text-align:center;width:min(78vw,100% - 28px,430px);position:absolute;left:50%;translate:-50%}.title-game-logo{aspect-ratio:1.72;filter:drop-shadow(0 7px #02091e75)drop-shadow(0 0 24px #5bdeef42);width:100%;display:block;position:relative;overflow:hidden}.title-game-logo:before{content:"";aspect-ratio:1;background:url(/brand/territory-logo.webp) 50%/contain no-repeat;width:100%;position:absolute;top:-35.5%;left:0}.title-logo-lockup h1{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.title-logo-lockup p{color:#c7f8ff;font-family:var(--font-geist-mono), monospace;letter-spacing:.22em;text-shadow:0 2px 8px #000000b8;margin:-2px 0 0;font-size:clamp(8px,2.4vw,12px);font-weight:950}.title-screen-actions{z-index:8;right:max(22px, env(safe-area-inset-right));bottom:max(4dvh, calc(env(safe-area-inset-bottom) + 14px));left:max(22px, env(safe-area-inset-left));gap:10px;width:min(100% - 44px,430px);margin:0 auto;display:grid;position:absolute}.title-screen-actions>span{color:#c6eff8;font-family:var(--font-geist-mono), monospace;letter-spacing:.18em;text-align:center;text-shadow:0 2px 7px #000c;font-size:8px;font-weight:900}.title-start-button{color:#12233f;clip-path:polygon(5% 0,95% 0,100% 22%,100% 78%,95% 100%,5% 100%,0 78%,0 22%);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(90deg,#ffffff61,#0000 28%),linear-gradient(135deg,#ffe170,#ffad57 58%,#f07959);border:0;border-radius:0;align-content:center;gap:2px;min-height:72px;padding:10px 58px 10px 22px;display:grid;position:relative;box-shadow:0 0 0 2px #f8e9a0,0 0 0 5px #192e4deb,0 9px 28px #00000070,0 0 30px #ffc24e47}.title-start-button small{font-family:var(--font-geist-mono), monospace;letter-spacing:.18em;font-size:7px;font-weight:950}.title-start-button b{letter-spacing:-.06em;font-size:clamp(19px,6vw,27px);font-weight:950}.title-start-button i{border:2px solid #13233e9e;border-radius:50%;place-items:center;width:38px;height:38px;font-size:15px;font-style:normal;display:grid;position:absolute;top:50%;right:22px;translate:0 -50%}.title-start-button:active{filter:brightness(1.08);scale:.98}.title-sub-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.title-sub-actions button{color:#f2fbff;clip-path:polygon(8% 0,92% 0,100% 24%,100% 76%,92% 100%,8% 100%,0 76%,0 24%);cursor:pointer;background:linear-gradient(145deg,#112641f0,#050e1df0);border:1px solid #82e0ef80;border-radius:0;min-height:48px;font-size:10px;font-weight:900;box-shadow:0 6px 16px #00000052}.title-sub-actions button span{color:#7ce8f2;margin-right:4px}.title-ui-frame{z-index:12;pointer-events:none;background:url(/ui/game-frame-v2.webp) 50%/100% 100% no-repeat;position:absolute;inset:0}.app-shell .game-layout:after{content:"";z-index:5;pointer-events:none;background:url(/ui/game-frame-v2.webp) 50%/100% 100% no-repeat;position:absolute;inset:0}.app-shell .board-wrap,.app-shell.is-mobile-session .board-wrap{width:100%;min-width:0;max-width:none;height:100%;max-height:none;box-shadow:none;aspect-ratio:auto;border:0;border-radius:0;margin:0;position:absolute;inset:0;translate:none}.app-shell .game-canvas{width:100%;height:100%}.app-shell .hud,.app-shell.is-mobile-session .hud{clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));background:linear-gradient(90deg,#050f1ef0,#0d233ac7);border:1px solid #67e0f08c;border-radius:0;min-height:50px;padding:5px 8px;box-shadow:inset 0 0 14px #36d1e514,0 7px 18px #00000057;top:max(8px, env(safe-area-inset-top))!important;right:66px!important;left:max(8px, env(safe-area-inset-left))!important}.app-shell .progress-track,.app-shell.is-mobile-session .progress-track{border:0;border-radius:0;height:5px;box-shadow:0 0 10px #5ce5f275;top:calc(max(8px, env(safe-area-inset-top)) + 54px)!important;left:13px!important;right:71px!important}.app-shell .score-row,.app-shell.is-mobile-session .score-row{clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);background:linear-gradient(90deg,#050f1ee0,#0d233ab3);border:1px solid #67e0f06b;border-radius:0;min-height:38px;padding:3px 8px;box-shadow:0 6px 18px #0000004d;right:max(8px, env(safe-area-inset-right))!important;bottom:calc(82px + env(safe-area-inset-bottom))!important;left:max(8px, env(safe-area-inset-left))!important}.app-shell .controls,.app-shell.is-mobile-session .controls{width:min(100% - 20px,360px);height:72px;min-height:72px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:2px 8px;bottom:max(6px, env(safe-area-inset-bottom))!important}.app-shell .ready-modal{z-index:72;width:100%;max-width:none;height:100%;max-height:none;padding:max(88px, calc(env(safe-area-inset-top) + 76px)) max(24px, env(safe-area-inset-right)) max(112px, calc(env(safe-area-inset-bottom) + 94px)) max(24px, env(safe-area-inset-left));box-shadow:none;color:#fff;text-align:left;-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(#0207111f 0%,#02071147 44%,#020711eb 77%,#020711fa 100%);border:0;border-radius:0;flex-direction:column;justify-content:flex-end;align-items:stretch;margin:0;display:flex;position:absolute;inset:0;overflow-y:auto;transform:none}.app-shell .ready-modal .modal-kicker{color:#83eaf4;font-family:var(--font-geist-mono), monospace;letter-spacing:.18em;text-shadow:0 2px 8px #000000c7;font-size:9px}.app-shell .ready-modal h2{color:#fff;letter-spacing:-.08em;text-shadow:0 4px 14px #000000d1;margin:5px 0 13px;font-size:clamp(32px,10vw,54px);font-weight:950;line-height:.96}.app-shell .ready-modal .mission-grid{background:0 0;border:0;border-radius:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0 0 9px;display:grid;overflow:visible}.app-shell .ready-modal .mission-grid span{clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);background:#08182bd1;border:1px solid #6fdcec66;border-radius:0;min-height:52px;padding:7px 5px}.app-shell .ready-modal .mission-grid span+span{border-left:1px solid #6fdcec66}.app-shell .ready-modal .mission-grid small{color:#89a8c7}.app-shell .ready-modal .mission-grid b{color:#fff}.app-shell .ready-modal .mini-tutorial{display:none}.app-shell .ready-modal .mobile-ready-hint{color:#bfeff6;margin:3px 0 7px;font-size:9px;font-weight:800}.app-shell .ready-modal .stage-tip{color:#b4c6db;text-overflow:ellipsis;white-space:nowrap;margin:0 0 12px;font-size:9px;overflow:hidden}.app-shell .ready-modal .primary-button{color:#13233e;clip-path:polygon(5% 0,95% 0,100% 24%,100% 76%,95% 100%,5% 100%,0 76%,0 24%);background:linear-gradient(135deg,#ffe16e,#ffad56 62%,#ee7d5a);border:0;border-radius:0;width:100%;min-height:62px;font-size:17px;font-weight:950;box-shadow:0 0 0 2px #f8e9a1,0 0 0 5px #12243eeb,0 9px 24px #0006,0 0 24px #ffc04d42}.stage-picker-dialog{background:linear-gradient(#020814b8,#020814e6),url(/ui/title-screen-v2.webp) 50%/cover}.stage-picker-dialog .app-drawer{background:linear-gradient(#040e1e94,#040c19f5);border:0;border-radius:0;width:100%;max-width:none;height:100dvh;max-height:none}.stage-picker-dialog .app-drawer-heading{padding-top:max(15px, env(safe-area-inset-top));background:#030c1a8a;border-bottom:1px solid #68dceb4d}.stage-picker-dialog .stage-picker-list{padding-bottom:max(18px, env(safe-area-inset-bottom))}.stage-picker-dialog .stage-picker-card{clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);background:linear-gradient(90deg,#0e243cf0,#061224f0);border-radius:0}.library-dialog .library-panel,.library-detail-dialog .library-detail-card{border-radius:0}@media (orientation:landscape) and (pointer:coarse){.title-hero{width:43vw;height:80dvh;bottom:2dvh}.title-hero-left{left:-8vw}.title-hero-right{right:-8vw}.title-logo-lockup{top:max(2dvh, calc(env(safe-area-inset-top) + 4px));width:min(38vw,330px)}.title-screen-actions{right:max(20vw, env(safe-area-inset-right));bottom:max(3dvh, env(safe-area-inset-bottom));left:max(20vw, env(safe-area-inset-left));width:min(46vw,410px)}.title-enemy-pair{bottom:12dvh;right:15vw}.app-shell .ready-modal{padding:max(60px, calc(env(safe-area-inset-top) + 45px)) max(150px, calc(env(safe-area-inset-right) + 130px)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left))}}html,body{background:#020713;overflow:hidden}.app-shell{isolation:isolate;background:#020713;place-items:center;width:100vw;height:100dvh;min-height:0;padding:0;position:fixed;inset:0;overflow:hidden;display:grid!important}.app-shell:fullscreen{isolation:isolate;background:#020713;place-items:center;width:100vw;height:100dvh;min-height:0;padding:0;position:fixed;inset:0;overflow:hidden;display:grid!important}.app-shell:before{content:"";z-index:0;filter:blur(24px)brightness(.42)saturate(.75);pointer-events:none;background:linear-gradient(#02071380,#020713e6),url(/ui/title-screen-v2.webp) 50%/cover no-repeat;position:absolute;inset:-34px;transform:scale(1.08)}.game-design-surface{z-index:1;aspect-ratio:6/13;isolation:isolate;contain:layout paint;background:#061126;width:min(100vw,46.1538dvh);min-width:0;height:min(100dvh,216.667vw);min-height:0;position:relative;overflow:hidden;box-shadow:0 0 0 1px #7edae633,0 26px 80px #00000094}.game-design-surface>.title-screen,.game-design-surface>.game-layout,.game-design-surface>.stage-picker-dialog,.game-design-surface>.library-dialog,.game-design-surface>.library-detail-dialog,.game-design-surface>.page-dialog-backdrop{width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;margin:0!important;position:absolute!important;inset:0!important;translate:none!important}.game-design-surface>.game-layout,.game-design-surface>.title-screen{border:0}.game-design-surface>.game-menu-trigger{top:max(11px, env(safe-area-inset-top));right:max(11px, env(safe-area-inset-right));position:absolute}.game-design-surface>.game-action-dock{top:calc(max(11px, env(safe-area-inset-top)) + 54px);right:max(11px, env(safe-area-inset-right));position:absolute;bottom:auto}.game-design-surface .stage-picker-dialog .app-drawer,.game-design-surface .library-dialog .library-panel,.game-design-surface .library-detail-dialog .library-detail-card,.game-design-surface .page-dialog{width:100%;max-width:none;max-height:none;height:100%!important}.orientation-lock{display:none}@media (orientation:landscape) and (height<=600px) and (pointer:coarse) and (hover:none){.game-design-surface{visibility:hidden;pointer-events:none}.orientation-lock{z-index:999;color:#f4f7f2;text-align:center;background:linear-gradient(#020816ad,#020816f0),url(/ui/title-screen-v2.webp) 50%/cover no-repeat;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:28px;display:flex;position:fixed;inset:0}.orientation-lock span{color:#ead27d;background:#081a31d1;border:1px solid #7edae680;border-radius:50%;place-items:center;width:62px;height:62px;margin-bottom:8px;font-size:30px;display:grid;box-shadow:0 12px 32px #0000005c}.orientation-lock b{letter-spacing:-.05em;font-size:clamp(21px,5vw,30px)}.orientation-lock small{color:#abc3cf;font-size:10px}}.app-shell{--casual-night:#061126;--casual-panel:#08172de6;--casual-panel-soft:#0b1f38c2;--casual-line:#7edae657;--casual-cyan:#80dce6;--casual-gold:#ead27d;--casual-gold-deep:#b98b44;--casual-text:#f4f7f2;--casual-muted:#a8b9ca;color:var(--casual-text);background:radial-gradient(circle at 50% 12%,#4789bf2e,#0000 36%),#061126}.app-shell button{-webkit-tap-highlight-color:transparent}.app-shell .topbar,.app-shell.is-mobile-session .topbar,.app-shell .hero-copy,.app-shell .mobile-stage-section,.app-shell .gallery-section,.app-shell footer{display:none!important}.app-shell .game-layout,.app-shell.is-mobile-session .game-layout{background:radial-gradient(circle at 50% 18%,#488ebe24,#0000 42%),#061126}.app-shell .game-card,.app-shell.is-mobile-session .game-card{box-shadow:none;background:#061126;border:0;border-radius:0}.app-shell .game-layout:after{content:none!important}.app-shell .board-wrap:after{content:"";z-index:4;opacity:.88;pointer-events:none;background:url(/ui/game-frame-v2.webp) 50%/100% 100% no-repeat;position:absolute;inset:0}.app-shell .reward-layer:after{border-radius:0;box-shadow:inset 0 0 0 1px #80dce624,inset 0 0 78px #02081442}.app-shell.phase-ready .reward-layer{filter:brightness(.66)saturate(.82);transform:scale(1.015)}.app-shell.phase-ready .game-canvas{opacity:0}.app-shell .board-curtain{z-index:7;color:var(--casual-text);letter-spacing:.08em;background:linear-gradient(#040e20d1,#040c1bf0),url(/ui/title-screen-v2.webp) 50%/cover;flex-direction:column;justify-content:center;align-items:center;gap:15px;font-size:11px;font-weight:850;display:flex}.app-shell .board-curtain:before{content:"";border:2px solid #80dce642;border-top-color:var(--casual-gold);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite casual-board-spin}@keyframes casual-board-spin{to{transform:rotate(1turn)}}.app-shell:not(.phase-playing) .hud,.app-shell:not(.phase-playing) .progress-track,.app-shell:not(.phase-playing) .score-row,.app-shell:not(.phase-playing) .controls,.app-shell:not(.phase-playing) .drag-status,.app-shell:not(.phase-playing) .game-menu-trigger,.app-shell:not(.phase-playing) .game-action-dock{visibility:hidden!important;opacity:0!important;pointer-events:none!important}.app-shell .hud,.app-shell.is-mobile-session .hud{z-index:50;min-height:44px;box-shadow:none;clip-path:none;background:0 0;border:0;border-radius:0;padding:0;top:max(11px, env(safe-area-inset-top))!important;right:64px!important;left:max(12px, env(safe-area-inset-left))!important}.app-shell .stage-heading{display:none}.app-shell .hud-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:100%;min-width:0;height:44px}.app-shell .hud-stats>div,.app-shell.is-mobile-session .hud-stats>div{background:linear-gradient(#0d243ee6,#051123e0);border:1px solid #7edae63d;border-radius:0;min-width:0;min-height:44px;padding:4px 2px;overflow:hidden;box-shadow:0 8px 18px #0000002e}.app-shell .hud-stats span{color:#8eb6c7;letter-spacing:.08em;font-size:6px}.app-shell .hud-stats b{max-width:100%;color:var(--casual-text);text-overflow:clip;white-space:nowrap;font-size:11px;overflow:hidden}.app-shell .progress-track,.app-shell.is-mobile-session .progress-track{z-index:51;height:3px;box-shadow:none;background:#7edae629;border:0;top:calc(max(11px, env(safe-area-inset-top)) + 49px)!important;left:16px!important;right:68px!important}.app-shell .progress-track i{background:var(--casual-gold);height:7px;top:-2px}.app-shell .drag-status{display:none!important}.app-shell .score-row,.app-shell.is-mobile-session .score-row{z-index:52;clip-path:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(90deg,#051123f0,#0d233bdb);border:1px solid #7edae642;border-radius:0;gap:7px;min-height:38px;padding:4px 7px 4px 10px;box-shadow:0 8px 20px #0000003d;right:max(12px, env(safe-area-inset-right))!important;bottom:calc(72px + env(safe-area-inset-bottom))!important;left:max(12px, env(safe-area-inset-left))!important}.app-shell .score-row>div:first-child{flex:auto;gap:0;min-width:0}.app-shell .score-row>div:first-child span{letter-spacing:.12em;font-size:6px}.app-shell .score-row>div:first-child b{color:var(--casual-text);font-size:12px}.app-shell .score-row .cut-state{display:none}.app-shell .shield-state{color:#d6eef4;background:#4f72a73d;border:1px solid #7edae647;border-radius:0;min-height:26px;padding:0 7px;font-size:8px}.app-shell .pause-button{color:#e9dcad;min-height:28px;box-shadow:none;background:#07162bc7;border:1px solid #ead27d6b;border-radius:0;flex:none;margin-left:0;padding:0 9px;font-size:8px}.app-shell .controls,.app-shell.is-mobile-session .controls{z-index:53;justify-content:flex-end;gap:8px;width:116px;height:52px;min-height:52px;padding:0;translate:none;right:max(12px, env(safe-area-inset-right))!important;bottom:max(11px, env(safe-area-inset-bottom))!important;left:auto!important}.app-shell .direction-toggle{color:#d8f2f5;background:linear-gradient(145deg,#12324ff5,#061427f5);border:1px solid #7edae67a;border-radius:50%;width:48px;height:48px;box-shadow:0 6px 16px #00000047}.app-shell .direction-toggle span{font-size:17px}.app-shell .direction-toggle small{color:#9ac9d1;font-size:6px}.app-shell .cut-button{color:#10233e;background:linear-gradient(145deg,#ead785,#b98b44);border:1px solid #efda8bcc;border-radius:50%;flex:0 0 52px;width:52px;height:52px;box-shadow:0 6px 16px #0000004d}.app-shell .cut-button span{font-size:12px}.app-shell .cut-button small{color:#30405b;font-size:6px}.app-shell .direction-assist .mobile-pad{background:#051123f7;border:1px solid #7edae65c;border-radius:0;width:146px;height:146px;padding:7px;bottom:calc(100% + 58px);left:auto;right:0;translate:none;box-shadow:0 18px 42px #00000061;display:none!important}.app-shell .direction-assist.is-open .mobile-pad{display:grid!important}.app-shell .mobile-pad button{color:#eaf7f7;box-shadow:none;background:#112d48e0;border:1px solid #7edae647;border-radius:0}.app-shell .pad-center{color:var(--casual-gold)!important;background:#ead27d24!important}.game-menu-trigger{z-index:96;top:max(11px, env(safe-area-inset-top));right:max(11px, env(safe-area-inset-right));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(145deg,#112e4af5,#051123f5);border:1px solid #7edae66b;width:46px;height:46px;box-shadow:0 7px 18px #0000004d}.game-menu-trigger small{color:#9ed4db}.game-menu-trigger.is-open{color:var(--casual-gold);border-color:#ead27db8}.game-action-dock{z-index:95;top:calc(max(11px, env(safe-area-inset-top)) + 54px);right:max(11px, env(safe-area-inset-right));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#051123f5;border:1px solid #7edae64d;border-radius:0;grid-template-columns:1fr;gap:4px;width:158px;padding:6px;bottom:auto;box-shadow:0 16px 36px #00000061}.game-action-dock button{min-height:42px;color:var(--casual-text);box-shadow:none;text-align:left;background:#0e2640d1;border:1px solid #7edae62e;border-radius:0;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;padding:5px 8px;display:grid}.game-action-dock button span{color:var(--casual-gold);font-size:15px}.game-action-dock button b{font-size:9px}.game-action-dock button small{color:#8fb3c1;font-size:7px}.app-shell .game-modal:not(.ready-modal){z-index:8;width:100%;max-width:none;height:100%;max-height:none;padding:max(92px, calc(env(safe-area-inset-top) + 76px)) max(24px, env(safe-area-inset-right)) max(34px, calc(env(safe-area-inset-bottom) + 24px)) max(24px, env(safe-area-inset-left));box-shadow:none;color:var(--casual-text);text-align:left;-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(#030c1d7a,#030c1df0 70%);border:0;border-radius:0;flex-direction:column;justify-content:flex-end;align-items:stretch;display:flex;inset:0;overflow-y:auto;transform:none}.app-shell .game-modal:not(.ready-modal) h2{color:var(--casual-text);text-shadow:0 4px 16px #0000008f;margin:4px 0 12px;font-size:clamp(30px,9vw,46px);line-height:1}.app-shell .game-modal:not(.ready-modal) p,.app-shell .game-modal:not(.ready-modal) small{color:var(--casual-muted)}.app-shell .modal-symbol{width:42px;height:42px;color:var(--casual-cyan);box-shadow:none;background:#0f2a43db;border:1px solid #7edae67a;border-radius:50%}.app-shell .danger-modal,.app-shell .clear-modal{background:linear-gradient(#030c1d6b,#030c1df5 70%)}.app-shell .danger-modal .modal-symbol{color:#f0b6bc;background:#5c25339e;border-color:#da858f8a}.app-shell .result-strip{color:var(--casual-text);background:#0d233bc7;border:1px solid #7edae63d;border-radius:0}.app-shell .result-strip span{color:#8fb3c1}.app-shell .result-strip b{color:var(--casual-text)}.app-shell .stars{color:#7edae638}.app-shell .stars .earned{color:var(--casual-gold);text-shadow:0 0 18px #ead27d4d}.app-shell .ready-modal{z-index:8;padding:max(70px, calc(env(safe-area-inset-top) + 52px)) max(22px, env(safe-area-inset-right)) max(30px, calc(env(safe-area-inset-bottom) + 22px)) max(22px, env(safe-area-inset-left));background:linear-gradient(#030c1d14 0%,#030c1d4d 46%,#030c1df2 78%,#030c1d 100%)}.app-shell .ready-modal .modal-kicker{color:var(--casual-cyan);font-size:8px}.app-shell .ready-modal h2{color:var(--casual-text);text-shadow:0 4px 15px #00000094;margin:4px 0 12px;font-size:clamp(34px,10vw,48px)}.app-shell .ready-modal .mission-grid{gap:4px;margin-bottom:8px}.app-shell .ready-modal .mission-grid span{clip-path:none;background:#0a1d34c2;border:1px solid #7edae63d;min-height:48px;padding:6px 5px}.app-shell .ready-modal .mission-grid small{color:#86a9ba;font-size:6px}.app-shell .ready-modal .mission-grid b{color:var(--casual-text);font-size:9px}.app-shell .ready-modal .mobile-ready-hint{color:#b7d8de}.app-shell .ready-modal .stage-tip{color:#9db0c1}.app-shell .ready-actions,.app-shell .modal-actions{grid-template-columns:minmax(104px,.44fr) minmax(0,1fr);gap:8px;display:grid}.app-shell .primary-button,.app-shell .secondary-button,.library-detail-card .primary-button,.page-dialog .primary-button{min-height:56px;box-shadow:none;border-radius:0;font-weight:900}.app-shell .primary-button,.library-detail-card .primary-button,.page-dialog .primary-button{color:#10233e;clip-path:polygon(5% 0,95% 0,100% 24%,100% 76%,95% 100%,5% 100%,0 76%,0 24%);background:linear-gradient(135deg,#f0df9e,#c89c50);border:1px solid #f0df9e}.app-shell .secondary-button{color:#d8eef1;background:#0a1d34db;border:1px solid #7edae657}.app-shell .ready-modal .primary-button{width:100%;min-height:58px;box-shadow:none;background:linear-gradient(135deg,#f0df9e,#c89c50);font-size:15px}.stage-picker-dialog,.library-dialog,.library-detail-dialog,.page-dialog-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(#030c1db8,#030c1df0),url(/ui/title-screen-v2.webp) 50%/cover}.stage-picker-dialog,.library-dialog,.library-detail-dialog{padding:0}.stage-picker-dialog:after,.library-dialog:after,.library-detail-dialog:after{content:"";z-index:3;opacity:.78;pointer-events:none;background:url(/ui/game-frame-v2.webp) 50%/100% 100% no-repeat;position:absolute;inset:0}.stage-picker-dialog .app-drawer,.library-dialog .library-panel,.library-detail-dialog .library-detail-card{z-index:2;width:100%;max-width:none;height:100dvh;max-height:none;box-shadow:none;color:var(--casual-text);background:linear-gradient(#040f209e,#040d1deb);border:0;border-radius:0;position:relative}.stage-picker-dialog .app-drawer-heading,.library-dialog .library-heading{min-height:78px;padding:max(50px, calc(env(safe-area-inset-top) + 42px)) max(38px, env(safe-area-inset-right)) 13px max(38px, env(safe-area-inset-left));background:#040e1f7a;border-bottom:1px solid #7edae633}.stage-picker-dialog .app-drawer-heading h2,.library-dialog .library-heading h2{color:var(--casual-text);font-size:clamp(24px,7vw,34px)}.stage-picker-dialog .app-drawer-heading .eyebrow,.library-dialog .library-heading .eyebrow{color:var(--casual-cyan)}.library-dialog .library-heading p:not(.eyebrow){color:var(--casual-muted)}.app-drawer-close{color:#d9f2f4;width:42px;min-width:42px;height:42px;box-shadow:none;background:#08192fd6;border:1px solid #7edae675;border-radius:50%}.stage-picker-heading-actions{align-items:center;gap:8px;display:flex}.stage-picker-library-button{color:#d9f2f4;cursor:pointer;background:#08192fd6;border:1px solid #7edae675;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:7px 12px;font-size:12px;font-weight:900;display:inline-flex}.stage-picker-library-button .ui-atlas-icon{width:20px;height:20px}@media (width<=420px){.stage-picker-library-button{border-radius:50%;width:42px;min-width:42px;padding:0}.stage-picker-library-button span{display:none}}.stage-picker-dialog .stage-picker-list{padding:10px max(18px, env(safe-area-inset-right)) 8px max(18px, env(safe-area-inset-left));scrollbar-width:none;flex:auto;grid-template-columns:1fr;gap:7px}.stage-picker-dialog .stage-picker-list::-webkit-scrollbar{display:none}.library-dialog .library-grid::-webkit-scrollbar{display:none}.stage-picker-dialog .stage-picker-card{min-height:66px;color:var(--casual-text);box-shadow:none;clip-path:none;background:linear-gradient(90deg,#0d243ee6,#061327e0);border:1px solid #7edae633;border-left:3px solid #7edae657;border-radius:0;padding:8px 10px;position:relative}.stage-picker-dialog .stage-picker-card>span{color:#d9eef1;background:#08192fbd;border:1px solid #7edae647;border-radius:0;width:38px;height:38px}.stage-picker-dialog .stage-picker-card small{color:#87a9b9}.stage-picker-dialog .stage-picker-card b{color:var(--casual-text)}.stage-picker-dialog .stage-picker-card em{color:#9dcbd1}.stage-picker-dialog .stage-picker-card.is-selected{border-color:#ead27db8;border-left-color:var(--casual-gold);background:linear-gradient(90deg,#443a25c7,#0a1d34e6);box-shadow:inset 0 0 24px #ead27d12}.stage-picker-dialog .stage-picker-card.is-selected>span,.stage-picker-dialog .stage-picker-card.is-selected em{color:var(--casual-gold);border-color:#ead27d94}.stage-picker-dialog .stage-picker-card:disabled{opacity:.42}.stage-picker-dialog .drawer-assist-toggle{margin:7px max(18px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));color:var(--casual-text);background:#0a1d34db;border:1px solid #7edae63d;border-radius:0;flex:none;padding:9px 12px}.stage-picker-dialog .drawer-assist-toggle>span{width:36px;height:36px;color:var(--casual-cyan);background:#7edae629}.stage-picker-dialog .drawer-assist-toggle small{color:var(--casual-muted)}.library-heading-actions strong{color:var(--casual-gold)}.library-heading-actions strong small{color:#809eae}.library-dialog .library-grid{padding:12px max(28px, env(safe-area-inset-right)) 14px max(28px, env(safe-area-inset-left));scrollbar-width:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.library-dialog .library-card{color:var(--casual-text);box-shadow:none;background:#091b32d6;border:1px solid #7edae633;border-radius:0;padding:6px}.library-dialog .library-card-art,.library-dialog .library-locked-art{background-color:#051123b8;border-radius:0}.library-dialog .library-card-art>span{color:var(--casual-gold);background:#051123d6;border-radius:0}.library-dialog .library-locked-art{background:radial-gradient(circle at 50% 32%,#7edae614,#0000 42%),#061427d1;border:1px solid #7edae629}.library-dialog .library-locked-art span{color:#7edae666;border:1px solid #7edae63d}.library-dialog .library-card>small,.library-dialog .library-footnote{color:#809eae}.library-dialog .library-footnote{min-height:max(110px, calc(env(safe-area-inset-bottom) + 100px));padding:10px 30px max(90px, calc(env(safe-area-inset-bottom) + 80px))}.library-dialog .library-card>b{color:var(--casual-text)}.library-detail-dialog .library-detail-card{padding:max(68px, calc(env(safe-area-inset-top) + 56px)) 14px max(16px, env(safe-area-inset-bottom));grid-template-rows:minmax(0,1.15fr) minmax(250px,.85fr);grid-template-columns:1fr;gap:8px}.library-detail-dialog .library-back-button{top:max(14px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left));color:#d9eef1;background:#07162be0;border:1px solid #7edae661;border-radius:0;min-height:38px}.library-detail-dialog .library-detail-art{background:#0511236b;border:1px solid #7edae62e;border-radius:0}.library-detail-dialog .library-detail-copy{justify-content:flex-start;padding:12px 5px 0;overflow-y:auto}.library-detail-dialog .library-detail-copy h2{color:var(--casual-text);font-size:clamp(28px,8vw,42px)}.library-detail-dialog .library-detail-copy>span{color:var(--casual-muted);margin-top:6px}.library-detail-dialog .library-record-grid{gap:6px;margin:12px 0}.library-detail-dialog .library-record-grid div{background:#0a1d34c2;border:1px solid #7edae633;border-radius:0;min-height:52px;padding:7px}.library-detail-dialog .library-record-grid small{color:#809eae}.library-detail-dialog .library-record-grid b{color:var(--casual-text)}.page-dialog-backdrop{padding:0}.page-dialog{width:100%;max-width:none;height:100dvh;max-height:none;padding:max(76px, calc(env(safe-area-inset-top) + 60px)) max(22px, env(safe-area-inset-right)) max(22px, env(safe-area-inset-bottom)) max(22px, env(safe-area-inset-left));color:var(--casual-text);box-shadow:none;background:#040e1fe6;border:0;border-radius:0}.page-dialog h2{color:var(--casual-text)}.dialog-close{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));color:#d9eef1;box-shadow:none;background:#08192fe6;border-color:#7edae66b}.how-list li,.danger-note{color:var(--casual-text);background:#0a1d34b8;border-color:#7edae633;border-radius:0}@media (width<=430px){.app-shell .hud-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.app-shell .hud-stats>div,.app-shell.is-mobile-session .hud-stats>div{min-width:0;padding-inline:1px}.library-dialog .library-heading p:not(.eyebrow){text-overflow:ellipsis;white-space:nowrap;max-width:210px;overflow:hidden}}@media (height<=720px) and (orientation:portrait){.app-shell .ready-modal{padding-bottom:max(18px, env(safe-area-inset-bottom))}.app-shell .ready-modal h2{font-size:30px}.app-shell .ready-modal .stage-tip{display:none}.app-shell .ready-modal .mobile-ready-hint{margin:2px 0 5px;font-size:8px;line-height:1.25;display:block}.app-shell .ready-modal .mission-grid span{min-height:42px}.stage-picker-dialog .stage-picker-card{min-height:58px}}@media (orientation:landscape) and (pointer:coarse){.app-shell .ready-modal,.app-shell .game-modal:not(.ready-modal){padding:max(62px, calc(env(safe-area-inset-top) + 48px)) max(130px, calc(env(safe-area-inset-right) + 112px)) max(20px, env(safe-area-inset-bottom)) max(22px, env(safe-area-inset-left))}.stage-picker-dialog .stage-picker-list{grid-template-columns:repeat(2,minmax(0,1fr))}.library-dialog .library-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.app-shell{background:#020713;place-items:center;grid-template:100%/100%!important;display:grid!important}.app-shell,.game-design-surface{overflow:clip!important}.app-shell .controls,.app-shell.is-mobile-session .controls{pointer-events:none;justify-content:space-between;align-items:center;gap:8px;width:auto;height:52px;left:max(12px, env(safe-area-inset-left))!important;right:max(12px, env(safe-area-inset-right))!important}.app-shell .gesture-guide{color:#e7f6f4;pointer-events:none;background:linear-gradient(145deg,#0b223cf0,#051326f0);border:1px solid #7edae66b;border-radius:24px;flex:auto;align-items:center;gap:7px;min-width:0;height:48px;padding:6px 9px;display:flex;overflow:hidden;box-shadow:0 6px 16px #00000047}.app-shell .gesture-guide>span{color:#ead27d;border:1px solid #ead27d6b;border-radius:50%;flex:0 0 27px;place-items:center;width:27px;height:27px;font-size:13px;display:grid}.app-shell .gesture-guide>div{min-width:0}.app-shell .gesture-guide b,.app-shell .gesture-guide small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.app-shell .gesture-guide b{font-size:10px;line-height:1.15}.app-shell .gesture-guide small{color:#9ec9d2;margin-top:2px;font-size:7px;line-height:1.1}.app-shell .gesture-guide.is-drawing{background:linear-gradient(145deg,#493f1ff0,#192b33f0);border-color:#ead27db8}.app-shell .direction-assist{pointer-events:auto}.app-shell{--game-safe-top:max(14px, calc(env(safe-area-inset-top) + 6px));--game-safe-bottom:max(24px, env(safe-area-inset-bottom));--control-lane-height:52px;--control-lane-gap:8px}.game-design-surface{container:game-surface/size}.app-shell .game-layout:after{z-index:5}.app-shell .hud,.app-shell.is-mobile-session .hud{min-height:48px;top:var(--game-safe-top)!important;right:64px!important;left:max(12px, env(safe-area-inset-left))!important}.app-shell .hud-stats{gap:4px;height:48px;grid-template-columns:minmax(0,1.22fr) minmax(52px,.92fr) minmax(38px,.66fr)!important}.app-shell .hud-stats>div,.app-shell.is-mobile-session .hud-stats>div{min-height:48px;padding:4px 3px;overflow:visible}.app-shell .hud-stats span{text-overflow:clip;white-space:nowrap;font-size:6px;line-height:1;overflow:visible}.app-shell .hud-stats b{text-overflow:clip;white-space:nowrap;font-variant-numeric:tabular-nums;width:100%;height:auto;font-size:12px;line-height:1.15;overflow:visible}.app-shell .hud-progress-stat b i{color:#8fb6c6;font-size:8px;font-style:normal;font-weight:800}.app-shell .hud-time{background:radial-gradient(circle at 50% 10%,#ead27d33,#0000 60%),linear-gradient(#3e351ff5,#0a1d34f0)!important;border-color:#ead27d9e!important;box-shadow:inset 0 0 0 1px #ead27d14,0 7px 18px #0003!important}.app-shell .hud-time span{color:#d8c478;letter-spacing:.16em}.app-shell .hud-time b{color:#fff0a9;letter-spacing:.02em;font-size:15px}.app-shell .hud-time.is-unlimited b{font-size:18px}.app-shell .hud-time.is-warning{animation:.9s ease-in-out infinite alternate timer-warning-pulse;border-color:#ffb75dd1!important}.app-shell .hud-time.is-critical{animation:.45s ease-in-out infinite alternate timer-warning-pulse;background:linear-gradient(#5b2527f5,#1f1423f5)!important;border-color:#ff6865e6!important}@keyframes timer-warning-pulse{to{filter:brightness(1.18)}}.app-shell .hud-lives b{color:#ff8c9e;justify-content:center;align-items:center;gap:3px;display:flex}.app-shell .hud-lives b i{color:#ff7189;font-size:9px;font-style:normal}.app-shell .hud-lives b small{color:#ffd6db;font-size:10px}.app-shell .progress-track,.app-shell.is-mobile-session .progress-track{top:calc(var(--game-safe-top) + 53px)!important}.game-design-surface>.game-menu-trigger{top:var(--game-safe-top);position:absolute}.app-shell .score-row,.app-shell.is-mobile-session .score-row{grid-template-columns:minmax(0,1fr) auto;display:grid;overflow:visible;bottom:calc(var(--game-safe-bottom) + var(--control-lane-height) + var(--control-lane-gap))!important}.app-shell .score-row>div:first-child b{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;max-width:100%;display:block;overflow:hidden}.app-shell .shield-state{color:#e5fbff;pointer-events:none;white-space:nowrap;background:linear-gradient(145deg,#15425af5,#081c35f5);border:1px solid #7edae6ad;border-radius:17px;justify-content:center;align-items:center;gap:5px;min-width:54px;min-height:30px;padding:3px 8px;display:flex;position:absolute;bottom:calc(100% + 6px);left:50%;translate:-50%;box-shadow:0 7px 20px #0000004d,inset 0 0 14px #7edae61a}.app-shell .shield-state>span{color:var(--casual-gold);font-size:11px}.app-shell .shield-state b{color:#efffff;font-variant-numeric:tabular-nums;font-size:12px}.app-shell .shield-state b small{color:#9fdbe2;margin-left:1px;font-size:7px}.app-shell .controls,.app-shell.is-mobile-session .controls{bottom:var(--game-safe-bottom)!important}.app-shell .gesture-guide b,.app-shell .gesture-guide small{text-overflow:clip;white-space:nowrap;overflow:visible}.app-shell .ready-modal{padding-bottom:calc(var(--game-safe-bottom) + 8px)}.app-shell .ready-modal h2{text-wrap:balance;overflow-wrap:anywhere;line-height:1.04}.app-shell .ready-modal .mission-grid{grid-template-columns:.9fr 1.05fr 1.25fr;align-items:stretch}.app-shell .ready-modal .mission-grid span{min-width:0;min-height:52px;overflow:visible}.app-shell .ready-modal .mission-grid b{color:var(--casual-text);text-overflow:clip;white-space:normal;overflow-wrap:anywhere;font-size:10px;line-height:1.2;overflow:visible}.app-shell .ready-modal .mission-time{text-align:center;background:radial-gradient(circle at 50% 0,#ead27d33,#0000 66%),#282724d6;border-color:#ead27d9e}.app-shell .ready-modal .mission-time small{color:#d7c77f;letter-spacing:.08em}.app-shell .ready-modal .mission-time b{color:#fff0a9;font-variant-numeric:tabular-nums;font-size:16px}.app-shell .ready-modal .mission-time em{color:#a9c8ce;white-space:normal;margin-top:1px;font-size:7px;font-style:normal;line-height:1;display:block}.app-shell .ready-modal .mobile-ready-hint,.app-shell .ready-modal .stage-tip{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;max-width:100%;overflow:visible}.app-shell .ready-modal .stage-tip{-webkit-box-orient:initial;-webkit-line-clamp:unset;line-height:1.28;display:block}@container game-surface (width<=300px){.app-shell .ready-modal{padding-right:max(18px, env(safe-area-inset-right));padding-left:max(18px, env(safe-area-inset-left))}.app-shell .ready-modal .modal-kicker{font-size:7px}.app-shell .ready-modal h2{margin:3px 0 7px;font-size:26px}.app-shell .ready-modal .mission-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-bottom:5px}.app-shell .ready-modal .mission-grid span{min-height:44px;padding:4px 6px}.app-shell .ready-modal .mission-grid .mission-risk{grid-column:1/-1;min-height:34px}.app-shell .ready-modal .mission-grid .mission-time b{font-size:14px}.app-shell .ready-modal .mobile-ready-hint{margin:2px 0 4px;font-size:8px;line-height:1.2}.app-shell .ready-modal .stage-tip{margin:0 0 6px;font-size:8px;line-height:1.2}.app-shell .ready-actions{grid-template-columns:minmax(92px,.44fr) minmax(0,1fr);gap:7px}.app-shell .ready-actions button,.app-shell .ready-modal .primary-button{white-space:nowrap;min-height:52px;padding-inline:8px}.app-shell .ready-actions .secondary-button{font-size:12px}.app-shell .hud-stats>div,.app-shell.is-mobile-session .hud-stats>div{padding-inline:2px}.app-shell .hud-progress-stat b{font-size:11px}.app-shell .hud-time b{font-size:13px}.app-shell .hud-lives b{gap:2px}.app-shell .gesture-guide{gap:6px;padding-inline:7px}.app-shell .gesture-guide>span{flex-basis:24px;width:24px;height:24px}.app-shell .gesture-guide b{font-size:9px}.app-shell .gesture-guide small{font-size:7px}}.app-shell:before{content:none!important;filter:none!important;display:none!important;transform:none!important}.game-design-surface{box-shadow:none;background:#061126;aspect-ratio:auto!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important}.app-shell .hud,.app-shell.is-mobile-session .hud{-webkit-backdrop-filter:none!important}.title-ui-frame,.app-shell .board-wrap:after,.app-shell.is-mobile-session .board-wrap:after,.stage-picker-dialog:after,.library-dialog:after,.library-detail-dialog:after{opacity:.94;box-shadow:inset 0 0 0 1px #071730e6,inset 0 0 24px #52dceb14;clip-path:none!important;background:linear-gradient(90deg,#efd675 0 8%,#69dfec 24% 76%,#efd675 92% 100%) top/100% 3px no-repeat,linear-gradient(90deg,#efd675 0 8%,#69dfec 24% 76%,#efd675 92% 100%) bottom/100% 3px no-repeat,linear-gradient(#efd675 0 8%,#69dfec 24% 76%,#efd675 92% 100%) 0/3px 100% no-repeat,linear-gradient(#efd675 0 8%,#69dfec 24% 76%,#efd675 92% 100%) 100%/3px 100% no-repeat!important}.title-screen-actions{grid-template-rows:auto 64px auto}.title-bundle-offer{color:#fff8dc;letter-spacing:-.02em;cursor:pointer;touch-action:manipulation;background:linear-gradient(135deg,#4a2963f5,#163f68f5);border:1px solid #ffe287d1;border-radius:14px;grid-area:3/1/auto/-1;min-height:42px;padding:8px 14px;font-size:clamp(10px,3.2cqw,13px);font-weight:950;box-shadow:0 7px 18px #00000057,inset 0 1px #ffffff2e}.title-bundle-offer .ui-atlas-icon{vertical-align:middle;width:18px;height:18px;margin-right:6px}.title-bundle-offer:disabled{color:#d9ffeb;cursor:default;background:linear-gradient(135deg,#1a574deb,#143857eb);border-color:#8eeebeb3}.mobile-stage-chip.is-locked,.stage-item.is-locked,.stage-picker-card.is-locked{filter:grayscale(.8);opacity:.52}.scene-purchase-dialog{z-index:180;width:100%;height:100dvh;padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#111a32cc;place-items:center;display:grid;position:fixed;inset:0}.scene-purchase-dialog .scene-purchase-card{width:min(100%,440px);height:auto;max-height:min(720px,100dvh - 24px);padding-bottom:max(18px, env(safe-area-inset-bottom));color:#f7fbff;background:linear-gradient(160deg,#0f274bfc,#271843fc);border:1px solid #ffdd8570;border-radius:24px;margin:auto;overflow-y:auto}.scene-purchase-price{background:#04132ba3;border:1px solid #ffe08d75;border-radius:16px;gap:4px;margin:12px 18px 0;padding:16px;display:grid}.scene-purchase-price small{color:#b9cada;font-size:10px;font-weight:850}.scene-purchase-price strong{color:#ffe58f;font-size:clamp(28px,8cqw,38px);line-height:1}.scene-purchase-description,.scene-purchase-notice{margin:12px 18px 0;font-size:12px;line-height:1.6}.scene-purchase-notice{color:#c8d8e8;background:#071731bd;border-radius:12px;padding:11px 12px}.scene-purchase-notice.is-verified{color:#d8ffea;background:#1a5b48b3}.scene-purchase-notice.is-failed,.scene-purchase-notice.is-unavailable{color:#ffe0e5;background:#692a379e}.scene-purchase-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 18px 0;display:grid}.scene-purchase-actions>:only-child{grid-column:1/-1}.scene-unlock-card,.scene-permanent-lock{color:#eaf8ff;background:linear-gradient(135deg,#0a3052c7,#28214ac2);border:1px solid #7edae647;border-radius:13px;gap:6px;margin-top:12px;padding:12px;display:grid}.scene-unlock-card small,.scene-permanent-lock small{color:#92eaf0;letter-spacing:.14em;font-size:9px;font-weight:950}.scene-unlock-card span,.scene-permanent-lock span{color:#b9c9d8;font-size:10px;line-height:1.5}.scene-unlock-actions{grid-template-columns:minmax(0,1fr);gap:7px;display:grid}.hot-spring-challenge-note{color:#fff0bd;text-align:center;background:#562310b8;border:1px solid #ffc85c80;border-radius:9px;margin:0;padding:7px 9px;font-size:10px;font-weight:850;line-height:1.35}.scene-permanent-lock{background:#1d1e30ad;border-color:#aba2be40}.memory-story-dialog{z-index:175}@container game-surface (width<=300px){.title-screen-actions{grid-template-rows:auto 58px auto}.title-bundle-offer{min-height:38px;padding:7px 10px;font-size:9px}}.affection-touch-host{isolation:isolate}.affection-touch-layer{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.affection-touch-media-frame{z-index:1;pointer-events:none;position:absolute;overflow:visible}.affection-touch-warp-canvas{z-index:0;opacity:0;will-change:contents, opacity;pointer-events:none;background:0 0;border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.affection-touch-layer.is-allowed.is-active .affection-touch-warp-canvas,.affection-touch-layer.is-allowed.is-rebounding .affection-touch-warp-canvas,.affection-touch-layer.is-caution.is-active .affection-touch-warp-canvas,.affection-touch-layer.context-portrait.is-breathing .affection-touch-warp-canvas{opacity:1}.affection-touch-zone{z-index:3;top:var(--affection-touch-y);left:var(--affection-touch-x);width:var(--affection-touch-width);height:var(--affection-touch-height);min-width:40px;min-height:40px;translate:-50% -50%;rotate:var(--affection-touch-zone-rotation,0deg);clip-path:ellipse(50% 50%);box-shadow:none;cursor:grab;pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;outline:0;padding:0;position:absolute}.affection-mask-editor-overlay{z-index:8;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:absolute;inset:0}.affection-mask-editor-guide{z-index:0;pointer-events:none;background:#29ff6f0e;border:3px solid #37f175;display:block;position:absolute;box-shadow:0 0 18px #21ff7333}.affection-mask-editor-shape{z-index:1;clip-path:ellipse(50% 50%);color:#fff;min-width:38px;min-height:38px;font:900 11px/1 var(--font-geist-mono), monospace;text-shadow:0 1px 4px #000;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:3px solid;border-radius:50%;outline:0;place-items:center;padding:0;display:grid;position:absolute}.affection-touch-layer.is-mask-editor-edit{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.affection-mask-editor-shape.is-left{background:#1cadff57;border-color:#24bfff}.affection-mask-editor-shape.is-right{background:#ff31b257;border-color:#ff4fbd}.affection-mask-editor-shape.is-selected{border-width:4px;box-shadow:0 0 0 3px #ffffffb8,0 0 24px}.affection-mask-editor-shape:focus-visible{outline-offset:4px;outline:3px solid #fff}.library-detail-copy:has(.affection-mask-control-panel){justify-content:flex-start;overflow-y:auto}.affection-mask-control-panel{color:#c9ffe3;font-family:var(--font-geist-mono), monospace;background:linear-gradient(155deg,#03211ff7,#03101cfa);border:1px solid #53ecad8c;gap:9px;margin-top:14px;padding:12px;display:grid;box-shadow:inset 0 0 30px #37f2a60b,0 14px 34px #0000003d}.affection-mask-control-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.affection-mask-control-header>div{gap:2px;display:grid}.affection-mask-control-header small{color:#52dca2;letter-spacing:.12em;font-size:8px;font-weight:900}.affection-mask-control-header b{color:#e2fff0;font-size:16px}.affection-mask-control-header>span{color:#88efba;border:1px solid #61ffb961;padding:4px 7px;font-size:8px;font-weight:900}.affection-mask-control-header>span.is-dirty{color:#ffd39b;border-color:#ffbc5fad}.affection-mask-source{color:#64c99f;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.affection-mask-help,.affection-mask-tool-hint,.affection-mask-status{color:#8dc5ae;margin:0;font-size:9px;line-height:1.45}.affection-mask-preview-tabs,.affection-mask-target-tabs,.affection-mask-tool-tabs,.affection-mask-actions{gap:5px;display:grid}.affection-mask-preview-tabs,.affection-mask-target-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.affection-mask-tool-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.affection-mask-control-panel button{color:#bdfadd;min-height:36px;font:850 9px/1.2 var(--font-geist-mono), monospace;cursor:pointer;background:#08372fc7;border:1px solid #57e8aa5c;border-radius:2px}.affection-mask-control-panel button:hover,.affection-mask-control-panel button:focus-visible,.affection-mask-control-panel button.is-active{color:#fff;background:#14634d;border-color:#baffda;outline:2px solid #5dffb638}.affection-mask-target-tabs .is-left.is-active{background:#155991c7;border-color:#5cf}.affection-mask-target-tabs .is-right.is-active{background:#8d1863c2;border-color:#ff72c7}.affection-mask-tool-tabs button{place-items:center;gap:2px;min-height:50px;display:grid}.affection-mask-tool-tabs span{font-size:19px;line-height:1}.affection-mask-tool-tabs b{justify-content:center;align-items:center;gap:4px;display:flex}.affection-mask-tool-tabs kbd{min-width:17px;font:900 8px/1 var(--font-geist-mono), monospace;background:#0000003d;border:1px solid;border-radius:2px;padding:2px 3px}.affection-mask-strength-control{background:linear-gradient(135deg,#48300c8c,#1b251cb8);border:1px solid #ffc75c80;border-radius:2px;grid-template-rows:auto auto auto;grid-template-columns:34px minmax(0,1fr) 50px;align-items:center;gap:4px 8px;min-height:74px;padding:8px 10px;display:grid}.affection-mask-strength-control:focus-within{outline-offset:1px;border-color:#ffe2a4;outline:2px solid #ffd2784d}.affection-mask-strength-icon{color:#ffd27d;text-align:center;grid-area:1/1/3;font-size:24px;font-weight:900;line-height:1}.affection-mask-strength-control label{color:#fff0c8;grid-area:1/2;font-size:10px;font-weight:900}.affection-mask-strength-control output{color:#ffd27d;grid-area:1/3;justify-self:end;font-size:12px;font-weight:950}.affection-mask-strength-control input[type=range]{accent-color:#ffc85d;touch-action:pan-y;grid-area:2/2/auto/4;width:100%;min-width:0;min-height:30px;margin:0}.affection-mask-strength-control small{color:#cfbd98;grid-area:3/1/auto/-1;font-size:8px;line-height:1.4}.affection-mask-fields{gap:6px;display:grid}.affection-mask-field{color:#a6dbc5;grid-template-columns:66px minmax(0,1fr) 62px;align-items:center;gap:7px;font-size:8px;font-weight:800;display:grid}.affection-mask-field input[type=range]{accent-color:#51e7aa;width:100%;min-width:0}.affection-mask-field input[type=number]{color:#e1fff0;width:62px;height:30px;font:800 10px/1 var(--font-geist-mono), monospace;background:#000c11d1;border:1px solid #5beeae61;border-radius:2px;padding:4px 5px}.affection-mask-test-note{background:#47300b73;border:1px solid #ffc45b85;align-content:center;gap:5px;min-height:92px;padding:12px;display:grid}.affection-mask-test-note b{color:#ffd278;font-size:12px}.affection-mask-test-note span{color:#ead8af;font-size:9px;line-height:1.45}.affection-mask-status{color:#8ff0bd;font-weight:800}.affection-mask-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.affection-mask-actions .is-save{background:#167050;border-color:#5effb5b8}.affection-mask-actions button:disabled{cursor:default;opacity:.38}@container game-surface (width<=560px){.affection-mask-control-panel{margin-top:10px;padding:10px}.affection-mask-field{grid-template-columns:58px minmax(0,1fr) 58px;gap:5px}.affection-mask-field input[type=number]{width:58px;min-height:34px}.affection-mask-tool-tabs button{min-height:46px}.affection-mask-strength-control{grid-template-columns:32px minmax(0,1fr) 48px;min-height:82px;padding:8px}.affection-mask-strength-control input[type=range]{min-height:38px}}.affection-touch-zone:focus-visible{outline:3px solid var(--novel-accent,#ff9cbd)}@supports (color:color-mix(in lab, red, red)){.affection-touch-zone:focus-visible{outline:3px solid color-mix(in srgb, var(--novel-accent,#ff9cbd) 70%, #fff)}}.affection-touch-zone:focus-visible{outline-offset:4px;background:#ffffff0e}.affection-touch-layer.is-active .affection-touch-zone{cursor:grabbing}.affection-touch-hold{opacity:0;pointer-events:none;border:3px solid #ff7a8bf0;border-radius:50%;width:58px;height:58px;position:absolute;top:50%;left:50%;translate:-50% -50%;box-shadow:0 0 #ff5c736b,inset 0 0 18px #64071e6b}.affection-touch-layer.is-caution.is-active.is-touch-left .affection-touch-zone.is-left .affection-touch-hold,.affection-touch-layer.is-caution.is-active.is-touch-right .affection-touch-zone.is-right .affection-touch-hold{opacity:1;animation:1s linear forwards affection-touch-hold-warning}.affection-touch-hint{z-index:4;top:var(--affection-touch-hint-y);left:var(--affection-touch-hint-x);width:42px;height:42px;translate:calc(-50% + var(--affection-touch-hint-dx)) var(--affection-touch-hint-dy);box-shadow:none;filter:none;opacity:.78;-webkit-backdrop-filter:none;pointer-events:none;background:0 0;border:0;border-radius:0;place-items:center;padding:0;transition:opacity .12s,translate .12s;display:grid;position:absolute}.affection-touch-hand{filter:none;text-shadow:none;font-family:sans-serif;font-size:30px;line-height:1;display:block}.affection-touch-layer.is-allowed.is-active .affection-touch-hint,.affection-touch-layer.is-allowed.is-rebounding .affection-touch-hint,.affection-touch-layer.is-caution.is-active .affection-touch-hint{opacity:1}.library-detail-dialog .library-record-grid .is-touch-open b{color:#ffb7d1}.library-detail-dialog .library-record-grid .is-touch-locked b{color:#ff8f9b}@keyframes affection-touch-hold-warning{0%{opacity:.3;scale:.72;box-shadow:0 0 #ff5c7380,inset 0 0 12px #64071e47}72%{opacity:.96}to{opacity:1;scale:1.26;box-shadow:0 0 0 18px #ff5c7300,inset 0 0 24px #64071e9e}}.game-design-surface>.touch-rejection-dialog{z-index:260}.touch-rejection-dialog{background:#02040a}.touch-rejection-card{background:#050713;overflow:hidden}.touch-rejection-topbar{z-index:9;opacity:0;animation:.18s ease-out .42s forwards touch-rejection-copy-in}.touch-rejection-art{z-index:1;background-position:50%;background-size:cover;position:absolute;inset:0;overflow:hidden}.touch-rejection-art:before{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#03050d7a,#0000 34% 68%,#03050d2e),linear-gradient(#03050d14 35%,#03050dd1 82%,#02030a 100%);position:absolute;inset:0}.touch-rejection-art>img{object-fit:cover;object-position:50% 29%;filter:grayscale(.32)saturate(.62)contrast(1.18)brightness(.82);transform-origin:50% 32%;width:116%;height:110%;animation:.44s cubic-bezier(.12,.9,.22,1.08) both touch-rejection-cut-in;display:block;position:absolute;inset:-8% -8% -2%}.touch-rejection-eye-shadow{z-index:3;filter:blur(5px);mix-blend-mode:multiply;opacity:0;pointer-events:none;background:linear-gradient(#150713ad,#35091c24 58%,#0000);border-radius:50%;width:min(58%,410px);height:clamp(34px,8%,74px);animation:.28s ease-out .17s forwards touch-rejection-shadow-in;position:absolute;top:27%;left:50%;translate:-50% -50%}.touch-rejection-eye-shadow:before,.touch-rejection-eye-shadow:after{content:"";background:#230614c7;border-radius:999px;width:29%;height:5px;position:absolute;top:34%;box-shadow:0 5px 10px #45041c61}.touch-rejection-eye-shadow:before{left:13%;rotate:9deg}.touch-rejection-eye-shadow:after{right:13%;rotate:-9deg}.touch-rejection-flash{z-index:8;opacity:0;pointer-events:none;background:#fff;animation:.42s ease-out both touch-rejection-flash;position:absolute;inset:0}.touch-rejection-interface{z-index:8;opacity:0;animation:.22s ease-out .46s forwards touch-rejection-copy-in}.touch-reflection-note{color:#ffd5a3;margin:-4px 0 0;font-size:clamp(12px,2.9cqw,15px);font-weight:850;line-height:1.45}.touch-affection-loss{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#701127f0,#360b23f0);border:1px solid #ff677bb8;border-radius:999px;align-items:center;gap:6px;min-height:36px;margin:0;padding:6px 9px;display:inline-flex}.touch-affection-loss .ui-atlas-icon{filter:grayscale(.45);width:19px;height:19px}.touch-affection-loss b{font-size:13px}.touch-affection-loss span{color:#ff9baa;font-size:11px;font-weight:1000}.novel-line.is-rejection{color:#ffe6e9;font-weight:850}.touch-rejection-interface .novel-next{background:linear-gradient(135deg,#5b182df5,#1a1836f5);border-color:#ff7d8e99}@keyframes touch-rejection-flash{0%{opacity:.96}18%{opacity:.16}34%{opacity:.72;background:#ff5b71}to{opacity:0}}@keyframes touch-rejection-cut-in{0%{opacity:0;transform:scale(1.42)translate(5%,-3%)}56%{opacity:1;transform:scale(1.18)translate(-1.4%)}72%{transform:scale(1.2)translate(.8%)}to{opacity:1;transform:scale(1.18)translate(0)}}@keyframes touch-rejection-shadow-in{0%{opacity:0;scale:.82}to{opacity:.72;scale:1}}@keyframes touch-rejection-copy-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes touch-rejection-copy-out{to{opacity:0;transform:translateY(12px)}}@keyframes touch-rejection-leave{0%{opacity:1;transform:scale(1.18)translate(0)}28%{transform:scale(1.16)translate(-3%)}to{opacity:0;filter:grayscale(.65)saturate(.35)brightness(.5);transform:scale(1.04)translate(48%,3%)}}@keyframes touch-rejection-leave-shadow{to{opacity:0;translate:34% -50%}}@container game-surface (aspect-ratio>=4/3){.touch-rejection-art>img{object-fit:contain;object-position:right bottom;width:72%;left:36%}.touch-rejection-eye-shadow{width:min(31%,360px);left:86%}}@media (prefers-reduced-motion:reduce){.affection-touch-layer.is-caution.is-active .affection-touch-hold{animation:none}.touch-rejection-topbar,.touch-rejection-art>img,.touch-rejection-eye-shadow,.touch-rejection-flash,.touch-rejection-interface{animation-duration:1ms}}.stage-loading-screen{z-index:120;box-sizing:border-box;padding:max(22px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(22px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));color:#fff;isolation:isolate;background:radial-gradient(circle at 50% 38%,#3da2ff4d,#0000 35%),radial-gradient(circle at 17% 15%,#ffde5b24,#0000 28%),linear-gradient(145deg,#071b3b 0%,#092b5d 46%,#06132f 100%);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.stage-loading-screen:before,.stage-loading-screen:after{z-index:-1;aspect-ratio:1;content:"";border:1px solid #71d5ff33;border-radius:50%;width:min(48vw,760px);position:absolute}.stage-loading-screen:before{top:-28%;left:-12%;box-shadow:0 0 0 44px #3daeff09,0 0 0 112px #3daeff06}.stage-loading-screen:after{bottom:-34%;right:-16%;box-shadow:0 0 0 54px #ffd14806,0 0 0 136px #ffd14805}.stage-loading-card{box-sizing:border-box;text-align:center;background:linear-gradient(150deg,#0f3766f0,#04183af7);border:clamp(1px,.1vmin,2px) solid #b8e7ff7a;border-radius:clamp(24px,2.1vmin,46px);justify-items:center;gap:clamp(9px,1.1vmin,22px);width:min(88vw,clamp(360px,32vw,920px));padding:clamp(26px,3.2vmin,68px) clamp(24px,3.6vmin,78px);display:grid;box-shadow:0 clamp(18px,2.4vmin,48px) clamp(50px,6vmin,120px) #0005167a,inset 0 1px #ffffff29}.stage-loading-mark{aspect-ratio:1;border:clamp(5px,.55vmin,11px) solid #ffe968;border-color:#ffe968 #55d9ff #ffffff26 #ffffff26;border-radius:50%;place-items:center;width:clamp(72px,7.2vmin,148px);margin-bottom:clamp(2px,.6vmin,12px);animation:1.15s linear infinite stage-loading-turn;display:grid;position:relative}.stage-loading-mark span{aspect-ratio:1;border:clamp(4px,.4vmin,8px) solid #fff4bc;border-radius:50%;width:44%;box-shadow:0 0 clamp(18px,2vmin,38px) #ffdd467a}.stage-loading-mark i{aspect-ratio:1;background:#ffe12f;border-radius:8px;width:28%;position:absolute;bottom:10%;right:-3%;box-shadow:inset 0 -4px #f59a20,0 0 0 4px #082557}.stage-loading-card>p{color:#84ddff;letter-spacing:.16em;margin:0;font-size:clamp(11px,.78vmin,18px);font-weight:900}.stage-loading-card h2{color:#fff;text-shadow:0 3px #00163bb8;margin:0;font-size:clamp(25px,2.25vmin,48px);line-height:1.12}.stage-loading-copy{color:#dbeeff;word-break:keep-all;min-height:2.8em;font-size:clamp(13px,1.04vmin,23px);line-height:1.5}.stage-loading-progress{box-sizing:border-box;background:#020e26d1;border:1px solid #afe5ff80;border-radius:999px;width:100%;height:clamp(14px,1.25vmin,27px);padding:clamp(3px,.24vmin,5px);overflow:hidden;box-shadow:inset 0 2px 8px #0006}.stage-loading-progress i{border-radius:inherit;background:linear-gradient(90deg,#36cfff,#6ce5ff 52%,#ffe253);min-width:0;height:100%;transition:width .18s ease-out;display:block;box-shadow:0 0 clamp(12px,1.5vmin,30px) #55daffb3}.stage-loading-meta{color:#a8cbe7;font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;width:100%;font-size:clamp(12px,.9vmin,20px);display:flex}.stage-loading-meta b{color:#fff5ae;font-size:1.16em}.stage-loading-retry{width:min(100%,clamp(220px,17vw,420px));min-height:clamp(52px,4.6vmin,92px);margin-top:clamp(7px,.8vmin,18px);font-size:clamp(17px,1.35vmin,29px)!important}.stage-loading-screen.is-error .stage-loading-mark{border-color:#ffffff2e;animation:none;transform:rotate(45deg)}.stage-loading-screen.is-error .stage-loading-mark span{border-color:#ff8f93;box-shadow:0 0 clamp(18px,2vmin,38px) #ff5d675c}@keyframes stage-loading-turn{to{transform:rotate(360deg)}}@media (width<=600px){.stage-loading-card{border-radius:26px;width:min(92vw,460px);padding:28px 22px}}@media (prefers-reduced-motion:reduce){.stage-loading-mark{animation-duration:2.6s}.stage-loading-progress i{transition:none}}.library-detail-dialog .library-art-tabs{z-index:8;box-sizing:border-box;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#030f22e0;border:1px solid #7edae657;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:100%;min-height:42px;padding:4px;display:grid;position:relative;top:auto;left:auto;right:auto;translate:none;box-shadow:0 6px 18px #00000057}.library-detail-dialog .library-art-tab{color:#9eb9c7;text-overflow:ellipsis;white-space:nowrap;touch-action:manipulation;background:0 0;border:1px solid #0000;min-width:0;min-height:34px;padding:5px 7px;font-size:12px;font-weight:900;line-height:1.15;overflow:hidden}.library-detail-dialog .library-art-tab.is-active{color:#fff;background:linear-gradient(135deg,#812d5bf0,#2a3169f0);border-color:#ffcadc94}.library-detail-dialog .library-art-tab:disabled{cursor:not-allowed;opacity:.48}.library-detail-dialog .library-video-toggle{z-index:7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#030f22e6;border:1px solid #7edae661;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:min(154px,100% - 16px);min-height:42px;padding:4px;display:grid;position:absolute;top:8px;left:8px;box-shadow:0 6px 18px #00000057}.library-detail-dialog .library-video-toggle button{color:#91abba;letter-spacing:0;text-overflow:clip;white-space:nowrap;cursor:pointer;touch-action:manipulation;background:0 0;border:1px solid #0000;border-radius:8px;min-width:0;min-height:32px;padding:4px 3px;font-size:12px;font-weight:950;line-height:1.1;overflow:hidden}.library-detail-dialog .library-video-toggle button.is-active{color:#f5ffff;background:linear-gradient(135deg,#167679f5,#274280f5);border-color:#74e8df9e;box-shadow:0 0 14px #54e2d62e}.library-detail-dialog .library-video-toggle button.is-locked:not(.is-active){color:#ffe7a0;border-color:#ffd6686b}.library-detail-dialog .library-video-toggle button:focus-visible{outline-offset:1px;outline:2px solid #f7d78f}.rewarded-video-ad{z-index:300;box-sizing:border-box;padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:radial-gradient(circle at 50% 18%,#48cdff3d,#0000 34%),#010818f5;place-items:center;display:grid;position:fixed;inset:0}.rewarded-video-ad-card{color:#fff;background:linear-gradient(145deg,#092555,#160d39 64%,#351346);border:2px solid #89e0ffc2;border-radius:clamp(22px,3vw,38px);grid-template-columns:minmax(0,1.15fr) minmax(250px,.85fr);width:min(94vw,760px);max-height:94vh;display:grid;overflow-y:auto;box-shadow:0 28px 90px #000000ad,0 0 42px #43ccff33}.rewarded-video-ad-card>header{border-bottom:1px solid #9ddfff47;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:10px 12px 10px 18px;display:flex}.rewarded-video-ad-card>header div{overflow-wrap:anywhere;gap:2px;min-width:0;display:grid}.rewarded-video-ad-card>header small{color:#77e7ff;letter-spacing:.12em;font-size:12px;font-weight:950}.rewarded-video-ad-card>header b{font-size:clamp(16px,2.5vw,23px)}.rewarded-video-ad-card>header button{color:#fff;cursor:pointer;background:#020b20b8;border:1px solid #ffffff85;border-radius:50%;flex:0 0 42px;place-items:center;width:42px;min-width:42px;height:42px;padding:0;font-size:28px;line-height:1;display:grid;overflow:hidden}.rewarded-video-ad-card>header button:disabled{cursor:not-allowed;opacity:.42}.rewarded-video-ad-creative{text-align:center;background:radial-gradient(circle at 50% 42%,#ffeb5f7a,#0000 16%),radial-gradient(circle at 24% 22%,#38d6ff7a,#0000 30%),linear-gradient(145deg,#1561a6,#6c3cb4 56%,#ff6d75);place-content:center;justify-items:center;gap:15px;min-height:360px;padding:32px;display:grid;position:relative;overflow:hidden}.rewarded-video-ad-creative:after{content:"";pointer-events:none;background-image:repeating-linear-gradient(135deg,#0000 0 22px,#ffffff0f 23px 25px);position:absolute;inset:0}.rewarded-video-ad-creative>*{z-index:1;position:relative}.rewarded-video-ad-creative span,.rewarded-video-ad-creative i{letter-spacing:.15em;font-size:12px;font-style:normal;font-weight:900}.rewarded-video-ad-creative .ui-atlas-icon{filter:drop-shadow(0 0 22px #ffec5ab8);width:72px;height:72px}.rewarded-video-ad-creative strong{text-shadow:0 5px #201c55b8,0 0 22px #ffffff52;font-size:clamp(32px,6vw,58px);line-height:.94}.rewarded-video-ad-copy{flex-direction:column;justify-content:center;gap:14px;min-width:0;padding:clamp(24px,4vw,42px);display:flex}.rewarded-video-ad-copy>.primary-button{text-align:center;white-space:normal;overflow-wrap:anywhere;word-break:keep-all;justify-content:center;align-items:center;width:100%;min-width:0;max-width:100%;height:auto;min-height:52px;padding:10px 14px;font-size:clamp(11px,3.4vw,13px);line-height:1.25;display:flex;overflow:hidden}.rewarded-video-ad-copy>small{color:#7fe9ff;font-size:12px;font-weight:900}.rewarded-video-ad-copy h2,.rewarded-video-ad-copy p{margin:0}.rewarded-video-ad-copy h2{font-size:clamp(24px,4vw,38px);line-height:1.05}.rewarded-video-ad-copy p{color:#cbdaf0;font-size:14px;line-height:1.55}.rewarded-video-ad-progress{background:#000718c2;border:1px solid #8ee2ff9e;border-radius:999px;height:15px;padding:3px;overflow:hidden}.rewarded-video-ad-progress i{border-radius:inherit;background:linear-gradient(90deg,#43d8ff,#7effca 58%,#ffe46a);height:100%;transition:width .25s linear;display:block;box-shadow:0 0 16px #4edfffa3}.rewarded-video-ad-status{color:#ffe88a;font-variant-numeric:tabular-nums;letter-spacing:.05em;font-size:14px}.rewarded-video-ad-card.is-complete{border-color:#79ffbfe6;box-shadow:0 28px 90px #000000ad,0 0 52px #46ffae47}.rewarded-video-ad-card.is-penalty:not(.is-complete){border-color:#ff997eeb;box-shadow:0 28px 90px #000000b8,0 0 52px #ff64573d}@media (width<=640px),(aspect-ratio<=3/4){.rewarded-video-ad-card{grid-template-columns:1fr}.rewarded-video-ad-creative{min-height:min(42vh,340px)}.rewarded-video-ad-copy{padding:22px}}.library-detail-dialog .library-date-lock{z-index:3;padding-top:68px}@container game-surface (aspect-ratio>=4/3){.library-detail-dialog .library-detail-card{padding:max(58px, calc(env(safe-area-inset-top) + 50px)) max(14px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);gap:10px}.library-detail-dialog .library-detail-visual,.library-detail-dialog .library-detail-art,.library-detail-dialog .library-detail-copy{min-width:0;min-height:0}.library-detail-dialog .library-detail-copy{padding:8px 4px 0;overflow-y:auto}}@container game-surface (aspect-ratio>=4/3) and (height<=560px){.library-detail-dialog .library-detail-card{padding-top:max(50px, calc(env(safe-area-inset-top) + 44px));grid-template-columns:minmax(0,1.25fr) minmax(210px,.75fr);gap:8px}.library-detail-dialog .library-back-button{top:max(7px, env(safe-area-inset-top));min-height:36px}.library-detail-dialog .library-detail-copy h2{font-size:clamp(22px,5.5cqh,30px)}.library-detail-dialog .library-detail-copy>span,.library-detail-dialog .library-record-grid small{font-size:9px}.library-detail-dialog .library-record-grid{gap:5px;margin:7px 0}.library-detail-dialog .library-detail-actions{gap:5px}.library-detail-dialog .library-detail-actions button{min-height:40px}}@container game-surface (width<=390px){.library-detail-dialog .library-video-toggle{top:8px;left:8px}.library-detail-dialog .library-media-transform-controls{top:58px;right:8px}.library-detail-dialog .library-art-tabs{grid-template-columns:repeat(4,minmax(0,1fr));top:auto}.library-detail-dialog .library-art-tab:nth-child(4){grid-column:auto}.library-detail-dialog .library-media-zoom-trigger{inset:108px 0 0}.library-detail-dialog .library-date-lock{padding-top:118px}.library-detail-dialog .service-cut-label{top:108px}.library-detail-dialog .service-cut-empty{padding-top:126px}.library-dialog .library-heading{min-height:72px;padding:max(46px, calc(env(safe-area-inset-top) + 40px)) max(14px, env(safe-area-inset-right)) 10px max(14px, env(safe-area-inset-left));align-items:flex-end;gap:6px}.library-dialog .library-heading>div:first-child{min-width:0}.library-dialog .library-heading h2{white-space:nowrap;font-size:clamp(19px,6.2cqw,22px)}.library-dialog .library-heading p:not(.eyebrow){display:none}.library-dialog .library-heading-actions{gap:5px}.library-dialog .library-heading-actions strong{white-space:nowrap;align-items:baseline;font-size:13px;display:inline-flex}.library-dialog .library-cg-count{letter-spacing:.03em;min-height:22px;padding-inline:5px;font-size:8px}.library-dialog .app-drawer-close{width:42px;min-width:42px;height:42px;min-height:42px}}.library-cg-count{color:#ffc4d6;letter-spacing:.08em;white-space:nowrap;background:#53193fb3;border:1px solid #ffabc56b;justify-content:center;align-items:center;min-height:24px;padding:4px 8px;font-size:9px;font-weight:900;display:inline-flex}.library-dialog .library-card-art{position:relative}.library-dialog .library-card.is-romance-unlocked{border-color:#ffaaca8c;box-shadow:inset 0 0 22px #ff6fa51a}.library-dialog .library-card.is-next-cg .library-card-art img{filter:brightness(.58)saturate(.78)}.library-dialog .library-cg-badge{color:#91a8bb;letter-spacing:.08em;background:#040f21db;border:1px solid #a0bbcf52;padding:4px 6px;font-size:8px;font-style:normal;font-weight:900;position:absolute;bottom:5px;right:5px}.library-dialog .library-cg-badge.is-unlocked{color:#ffe2ec;background:linear-gradient(135deg,#772753eb,#481c53eb);border-color:#ffb2cda8}.library-detail-dialog .library-detail-art{position:relative}.library-detail-dialog .library-detail-art.is-date-locked img{filter:brightness(.64)saturate(.84)blur(1px);transform:scale(1.01)}.library-detail-dialog .library-date-lock{text-align:center;color:#fff1f6;background:radial-gradient(circle at 50% 48%,#17133008,#030a1994);flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:24px;display:flex;position:absolute;inset:0}.library-detail-dialog .library-date-lock .ui-atlas-icon{filter:drop-shadow(0 5px 12px #ff6ba461);width:48px;height:48px}.library-detail-dialog .library-date-lock b{letter-spacing:.13em;font-size:15px}.library-detail-dialog .library-date-lock span:last-child{color:#d7c6d2;max-width:260px;font-size:11px;line-height:1.5}.library-detail-dialog .service-cut-gallery,.library-detail-dialog .service-cut-empty{width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.library-detail-dialog .service-cut-gallery{isolation:isolate;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 50% 36%, var(--service-accent), transparent 54%), linear-gradient(180deg, #07162e40, #030a19c2);place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.library-detail-dialog .service-cut-gallery{background:radial-gradient(circle at 50% 36%, color-mix(in srgb, var(--service-accent) 34%, transparent), transparent 54%), linear-gradient(180deg, #07162e40, #030a19c2)}}.library-detail-dialog .service-cut-gallery.is-dragging{cursor:grabbing}.library-detail-dialog .service-cut-gallery>:is(.service-cut-image,.service-cut-video,.steam-veil,.affection-touch-layer){transform:translate3d(var(--service-media-x,0), var(--service-media-y,0), 0) scale(var(--service-media-scale,1));transform-origin:50%;will-change:transform}.library-detail-dialog .service-cut-backdrop{background-image:none!important;display:none!important}.library-detail-dialog .service-cut-image{z-index:1;object-fit:cover;object-position:center top;width:100%;height:100%;position:relative}.library-detail-dialog .service-cut-video{z-index:1;object-fit:cover;object-position:center top;visibility:hidden;opacity:0;pointer-events:none;background:0 0;width:100%;height:100%;display:block;position:absolute;inset:0}.library-detail-dialog .service-cut-video.is-ready{visibility:visible;opacity:1}.library-detail-dialog .library-detail-art.is-character-art>.service-cut-video,.library-detail-dialog .library-detail-art.is-date-cg>.service-cut-video{object-fit:contain;object-position:center bottom;width:100%;height:100%;inset:0}.library-detail-dialog .motion-play-button{z-index:5;color:#162853;letter-spacing:-.02em;touch-action:manipulation;background:linear-gradient(135deg,#ffbf43f5,#ff6f43f5);border:2px solid #fff8d3e6;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:10px 17px;font-size:13px;font-weight:1000;display:inline-flex;position:absolute;top:50%;left:50%;translate:-50% -50%;box-shadow:0 8px 26px #110c256b,inset 0 1px #ffffff8c}.library-detail-dialog .motion-play-button span{font-size:16px;line-height:1}.library-detail-dialog .service-cut-video::-webkit-media-controls{display:none!important}.library-detail-dialog .steam-veil{z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.library-detail-dialog .steam-veil:before{content:"";z-index:0;opacity:0;filter:blur(18px);pointer-events:none;background:radial-gradient(82% 4% at 16% 25%,#f0f9fc0e,#0000 72%),radial-gradient(68% 3% at 84% 38%,#dceff60a,#0000 68%),radial-gradient(92% 4% at 36% 49%,#edf8fb0d,#0000 76%),radial-gradient(76% 3% at 73% 61%,#d8edf409,#0000 71%),radial-gradient(88% 5% at 28% 73%,#ebf7fa0b,#0000 74%),radial-gradient(64% 3% at 82% 82%,#d8ecf407,#0000 69%),radial-gradient(66% 30% at 26% 72%,#f2fafd1a,#0000 72%),radial-gradient(74% 34% at 76% 38%,#e2f2f814,#0000 74%),linear-gradient(#deeff605,#edf8fb09);position:absolute;inset:-16%;transform:scale(1.12)translate(-2%,1%);-webkit-mask-image:radial-gradient(#000 56%,#0000 100%);mask-image:radial-gradient(#000 56%,#0000 100%)}.library-detail-dialog .steam-veil>canvas{z-index:2;opacity:1;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.library-detail-dialog .steam-veil-core{z-index:1;opacity:0;background:radial-gradient(#f3fafd 0 36%,#e8f5fab8 48%,#d7ecf452 64%,#cde5ef1a 82%,#0000 100%);border-radius:50%;display:block;position:absolute}.library-detail-dialog .steam-veil-core:before,.library-detail-dialog .steam-veil-core:after{content:"";pointer-events:none;position:absolute}.library-detail-dialog .steam-veil-core:before{z-index:-1;filter:blur(13px);background:radial-gradient(at 48% 54%,#ebf7fb2e 0,#dff0f617 34%,#d2e9f106 58%,#0000 79%);border-radius:48%;inset:-82%;transform:rotate(-3deg)}.library-detail-dialog .steam-veil-core:after{z-index:-1;filter:blur(9px);transform-origin:50% 100%;background:radial-gradient(at 56% 88%,#eff9fc17 0 5%,#0000 27%),radial-gradient(at 38% 57%,#e1f2f80d 0 4%,#0000 23%),radial-gradient(at 61% 25%,#d7ecf406 0 3%,#0000 20%);width:48%;height:300%;bottom:45%;left:26%;transform:rotate(-4deg)}.library-detail-dialog .steam-veil[data-renderer=fallback] .steam-veil-core{opacity:1}.library-detail-dialog .steam-veil[data-renderer=fallback] .steam-veil-core:after{animation:5.5s ease-in-out infinite alternate steam-fallback-wisp}.library-detail-dialog .steam-veil[data-renderer=fallback]:before{opacity:1;animation:8s ease-in-out infinite alternate steam-fallback-drift}.library-detail-dialog .steam-veil[data-renderer=fallback]>canvas{opacity:0}.library-detail-dialog .steam-veil-core-chest{top:var(--steam-chest-y);left:var(--steam-chest-x);width:var(--steam-chest-width);height:var(--steam-chest-height);transform:translate(-50%, -50%) rotate(var(--steam-chest-rotation));background:radial-gradient(16% 50% at 25%,#f3fafd 0 36%,#e8f5faad 48%,#d7ecf447 64%,#cde5ef14 82%,#0000 100%),radial-gradient(16% 50% at 75%,#f3fafd 0 36%,#e8f5faad 48%,#d7ecf447 64%,#cde5ef14 82%,#0000 100%);border-radius:0}.library-detail-dialog .steam-veil-core-chest:before{filter:blur(13px);background:radial-gradient(22% 48% at 28% 54%,#ebf7fb26 0,#dff0f612 40%,#d2e9f105 62%,#0000 78%),radial-gradient(22% 48% at 72% 54%,#ebf7fb26 0,#dff0f612 40%,#d2e9f105 62%,#0000 78%);border-radius:0;inset:-76% -18%}.library-detail-dialog .steam-veil-core-chest:after{filter:blur(9px);background:radial-gradient(at 27% 90%,#eff9fc14 0 3%,#0000 16%),radial-gradient(at 23% 61%,#e1f2f80b 0 2%,#0000 13%),radial-gradient(at 31% 27%,#d7ecf406 0 1%,#0000 11%),radial-gradient(at 73% 90%,#eff9fc14 0 3%,#0000 16%),radial-gradient(at 77% 61%,#e1f2f80b 0 2%,#0000 13%),radial-gradient(at 69% 27%,#d7ecf406 0 1%,#0000 11%);width:100%;height:410%;bottom:43%;left:0}.library-detail-dialog .steam-veil-core-pelvis{top:var(--steam-pelvis-y);left:var(--steam-pelvis-x);width:var(--steam-pelvis-width);height:var(--steam-pelvis-height);transform:translate(-50%, -50%) rotate(var(--steam-pelvis-rotation))}@keyframes steam-fallback-drift{to{transform:scale(1.18)translate(3%,-6%)}}@keyframes steam-fallback-wisp{to{transform:translate(7%,-7%)rotate(5deg)scaleX(.86)}}@media (prefers-reduced-motion:reduce){.library-detail-dialog .steam-veil[data-renderer=fallback]:before,.library-detail-dialog .steam-veil[data-renderer=fallback] .steam-veil-core:after{animation:none}}.library-detail-dialog .service-cut-label{z-index:3;border:1px solid var(--service-accent);min-height:24px;padding:5px 8px;position:absolute;top:58px;right:10px}@supports (color:color-mix(in lab, red, red)){.library-detail-dialog .service-cut-label{border:1px solid color-mix(in srgb, var(--service-accent) 55%, #e6fbff)}}.library-detail-dialog .service-cut-label{color:#effdff;letter-spacing:.08em;pointer-events:none;background:#041024d1;font-size:9px;font-weight:900;line-height:1.2}.library-detail-dialog .service-cut-controls{z-index:3;pointer-events:none;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px;display:grid;position:absolute;bottom:10px;left:10px;right:10px}.library-detail-dialog .service-cut-controls>button,.library-detail-dialog .service-cut-dots button{pointer-events:auto;touch-action:manipulation}.library-detail-dialog .service-cut-controls>button{color:#fff;background:#041228db;border:1px solid #9ce6ef6b;width:42px;height:42px;font-size:28px;font-weight:900;line-height:1}.library-detail-dialog .service-cut-dots{background:#041228c2;border:1px solid #9ce6ef38;justify-content:center;align-items:center;gap:8px;min-height:34px;padding-inline:10px;display:flex}.library-detail-dialog .service-cut-dots button{background:#92b2c285;border:1px solid #ffffff94;border-radius:50%;width:10px;height:10px;padding:0}.library-detail-dialog .service-cut-dots button.is-active{background:var(--service-accent);box-shadow:0 0 10px var(--service-accent);border-color:#fff}@supports (color:color-mix(in lab, red, red)){.library-detail-dialog .service-cut-dots button.is-active{box-shadow:0 0 10px color-mix(in srgb, var(--service-accent) 68%, transparent)}}.library-detail-dialog .service-cut-empty{color:#eefcff;text-align:center;background:radial-gradient(circle at 50% 46%,#66dbe829,#0000 38%),repeating-linear-gradient(135deg,#ffffff06 0 8px,#0000 8px 16px),#041024bd;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:76px 24px 24px;display:flex}.library-detail-dialog .service-cut-empty .ui-atlas-icon{filter:drop-shadow(0 5px 14px #62deeb66);width:50px;height:50px}.library-detail-dialog .service-cut-empty b{letter-spacing:.08em;font-size:15px}.library-detail-dialog .service-cut-empty span{color:#aac4d0;max-width:280px;font-size:11px;line-height:1.5}.library-detail-actions{grid-template-columns:1fr;gap:7px;width:100%;display:grid}.library-detail-actions button{width:100%;min-height:48px}.library-detail-actions .primary-button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.library-detail-actions .primary-button .ui-atlas-icon,.romance-start-button .ui-atlas-icon{flex:0 0 23px;width:23px;height:23px}.library-detail-dialog .library-media-zoom-trigger{z-index:2;color:#fff;cursor:zoom-in;touch-action:manipulation;background:0 0;border:0;border-radius:0;padding:0;position:absolute;inset:58px 0 0}.library-detail-dialog .library-media-zoom-trigger>span{color:#f4fdff;letter-spacing:.04em;opacity:.82;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#051126b8;border:1px solid #eafaff80;border-radius:999px;min-height:28px;padding:6px 10px;font-size:9px;font-weight:950;line-height:1.4;position:absolute;top:8px;left:10px;box-shadow:0 8px 22px #00000038}.library-detail-dialog .library-media-zoom-trigger:hover>span,.library-detail-dialog .library-media-zoom-trigger:focus-visible>span{border-color:var(--service-accent,#7edce8)}@supports (color:color-mix(in lab, red, red)){.library-detail-dialog .library-media-zoom-trigger:hover>span,.library-detail-dialog .library-media-zoom-trigger:focus-visible>span{border-color:color-mix(in srgb, var(--service-accent,#7edce8) 66%, #fff)}}.library-detail-dialog .library-media-zoom-trigger:hover>span,.library-detail-dialog .library-media-zoom-trigger:focus-visible>span{opacity:1;background:#071934eb}.library-detail-dialog .library-media-zoom-trigger:focus-visible{outline:3px solid var(--service-accent,#7edce8)}@supports (color:color-mix(in lab, red, red)){.library-detail-dialog .library-media-zoom-trigger:focus-visible{outline:3px solid color-mix(in srgb, var(--service-accent,#7edce8) 72%, #fff)}}.library-detail-dialog .library-media-zoom-trigger:focus-visible{outline-offset:-5px}.library-detail-dialog .service-cut-gallery>.library-media-zoom-trigger{z-index:9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#051126bd;border:1px solid #eafaff7a;border-radius:14px;width:48px;height:48px;inset:10px 10px auto auto}.library-detail-dialog .service-cut-gallery>.library-media-zoom-trigger>span{width:100%;height:100%;box-shadow:none;background:0 0;border:0;place-items:center;padding:0;font-size:0;display:grid;position:static;overflow:hidden}.library-detail-dialog .service-cut-gallery>.library-media-zoom-trigger>span:before{content:"↗";font-size:18px}@container game-surface (width<=390px){.library-detail-dialog .library-media-zoom-trigger{inset:108px 0 0}.library-detail-dialog .service-cut-label{top:108px}.library-detail-dialog .service-cut-empty{padding-top:126px}}.library-zoom-dialog{--library-zoom-accent:#7edce8;--library-zoom-backdrop:radial-gradient(circle at 50% 32%, #8de5ed, #263460 72%);z-index:220;isolation:isolate;background:var(--library-zoom-accent);position:absolute;inset:0;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.library-zoom-dialog{background:color-mix(in srgb, var(--library-zoom-accent) 9%, #08101f)}}.library-zoom-dialog{color:#f7fcff}.library-zoom-dialog:before,.library-zoom-dialog:after{content:"";pointer-events:none;position:absolute}.library-zoom-dialog:before{z-index:0;background:var(--library-zoom-backdrop);filter:blur(56px)saturate(1.3);opacity:.58;inset:-14%;transform:scale(1.14)}.library-zoom-dialog:after{z-index:1;background:radial-gradient(circle at 50% 40%, var(--library-zoom-accent) 0%, transparent 54%), radial-gradient(ellipse at center, #060d1e05 34%, #050917c7 100%), linear-gradient(180deg, #040c1c42, #050916a3);inset:0}@supports (color:color-mix(in lab, red, red)){.library-zoom-dialog:after{background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--library-zoom-accent) 28%, transparent) 0%, transparent 54%), radial-gradient(ellipse at center, #060d1e05 34%, #050917c7 100%), linear-gradient(180deg, #040c1c42, #050916a3)}}.library-zoom-backdrop{z-index:2;cursor:zoom-out;position:absolute;inset:0}.library-zoom-toolbar{z-index:6;top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));left:max(10px, env(safe-area-inset-left));pointer-events:none;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:48px;display:grid;position:absolute}.library-zoom-toolbar>div:first-child{text-shadow:0 2px 10px #000000b8;gap:2px;min-width:0;display:grid}.library-zoom-toolbar small{color:var(--library-zoom-accent)}@supports (color:color-mix(in lab, red, red)){.library-zoom-toolbar small{color:color-mix(in srgb, var(--library-zoom-accent) 64%, #fff)}}.library-zoom-toolbar small{letter-spacing:.13em;font-size:8px;font-weight:950}.library-zoom-toolbar b{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(15px,3.8cqw,22px);line-height:1.1;overflow:hidden}.library-zoom-reset,.library-zoom-close{pointer-events:auto;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);touch-action:manipulation;background:#051126c7;border:1px solid #ebfbff7a;border-radius:999px;place-items:center;min-width:48px;height:48px;padding:0 10px;font-weight:950;display:inline-grid;box-shadow:0 8px 22px #00000047}.library-zoom-reset{font-variant-numeric:tabular-nums;font-size:11px}.library-zoom-close{width:48px;font-size:28px;line-height:1}.library-zoom-reset:focus-visible,.library-zoom-close:focus-visible{outline:3px solid var(--library-zoom-accent)}@supports (color:color-mix(in lab, red, red)){.library-zoom-reset:focus-visible,.library-zoom-close:focus-visible{outline:3px solid color-mix(in srgb, var(--library-zoom-accent) 70%, #fff)}}.library-zoom-reset:focus-visible,.library-zoom-close:focus-visible{outline-offset:2px}.library-zoom-viewport{z-index:4;top:max(66px, calc(env(safe-area-inset-top) + 58px));bottom:max(38px, calc(env(safe-area-inset-bottom) + 32px));border:1px solid var(--library-zoom-accent);width:min(100% - 24px,760px);position:absolute;left:50%;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.library-zoom-viewport{border:1px solid color-mix(in srgb, var(--library-zoom-accent) 38%, transparent)}}.library-zoom-viewport{background:radial-gradient(circle at 50% 38%, var(--library-zoom-accent), transparent 64%), #050d1d2e}@supports (color:color-mix(in lab, red, red)){.library-zoom-viewport{background:radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--library-zoom-accent) 20%, transparent), transparent 64%), #050d1d2e}}.library-zoom-viewport{cursor:grab;touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;translate:-50%;box-shadow:0 20px 70px #00000070,inset 0 0 70px #040a1838}.library-zoom-viewport.is-zoomed:active{cursor:grabbing}.library-zoom-transform{width:100%;height:100%;transform:translate3d(var(--library-zoom-x), var(--library-zoom-y), 0) scale(var(--library-zoom-scale));transform-origin:50% 100%;will-change:transform;place-items:center;display:grid;position:relative;overflow:hidden}.library-zoom-image,.library-zoom-video{object-fit:cover;object-position:center top;pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;display:block;position:absolute;inset:0}.library-zoom-image{z-index:1}.library-zoom-video{z-index:2;visibility:hidden;opacity:0;background:0 0}.library-zoom-video.is-ready{visibility:visible;opacity:1}.library-zoom-play-button{z-index:8;color:#14234b;touch-action:manipulation;background:linear-gradient(135deg,#ffc54bf5,#ff6f4df5);border:2px solid #fffadae6;border-radius:999px;min-height:48px;padding:10px 16px;font-size:12px;font-weight:950;position:absolute;top:50%;left:50%;translate:-50% -50%}.library-zoom-dialog .service-cut-gallery{width:100%;height:100%}.library-detail-dialog .library-zoom-dialog>.library-video-toggle{z-index:8;top:max(72px, calc(env(safe-area-inset-top) + 62px));left:max(18px, calc(env(safe-area-inset-left) + 18px))}.library-zoom-help{z-index:6;right:max(10px, env(safe-area-inset-right));bottom:max(8px, env(safe-area-inset-bottom));left:max(10px, env(safe-area-inset-left));color:#e7f7fac2;text-align:center;text-overflow:ellipsis;text-shadow:0 2px 8px #000000b8;white-space:nowrap;pointer-events:none;margin:0;font-size:9px;font-weight:800;line-height:1.35;position:absolute;overflow:hidden}@media (width<=520px){.library-detail-dialog .library-media-zoom-trigger>span{min-height:26px;padding:5px 8px;font-size:8px}.library-zoom-toolbar b{font-size:15px}.library-zoom-reset,.library-zoom-close{min-width:46px;height:46px}.library-zoom-viewport{width:calc(100% - 14px)}}@media (prefers-reduced-motion:reduce){.library-zoom-transform{will-change:auto}}.app-shell .clear-modal .modal-actions .romance-start-button{min-height:54px}.game-design-surface>.novel-dialog{z-index:180;width:100%;height:100%;position:absolute;inset:0}.novel-dialog{color:#f8f8ff;background:#061126;overflow:hidden}.novel-scene-card{isolation:isolate;background:radial-gradient(circle at 50% 20%, var(--novel-accent), transparent 54%), #08142c;width:100%;height:100%;min-height:0;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.novel-scene-card{background:radial-gradient(circle at 50% 20%, color-mix(in srgb, var(--novel-accent) 38%, transparent), transparent 54%), #08142c}}.novel-scene-card.scene-preClear{background:radial-gradient(circle at 50% 18%, var(--novel-accent), transparent 52%), #071a34}@supports (color:color-mix(in lab, red, red)){.novel-scene-card.scene-preClear{background:radial-gradient(circle at 50% 18%, color-mix(in srgb, var(--novel-accent) 30%, transparent), transparent 52%), #071a34}}.novel-scene-card.scene-preClear .novel-topbar small,.novel-scene-card.scene-preClear .novel-progress{color:#b9f3ff}.novel-scene-card.scene-preClear .novel-interface{background:linear-gradient(135deg,#0a284cf7,#16234af7)}.novel-topbar{z-index:8;min-height:67px;padding:max(13px, env(safe-area-inset-top)) max(62px, calc(env(safe-area-inset-right) + 54px)) 8px max(16px, env(safe-area-inset-left));text-shadow:0 2px 5px #000000e6;background:linear-gradient(#020918e6,#02091800);align-items:center;gap:10px;display:flex;position:absolute;top:0;left:0;right:0}.novel-topbar>div{gap:2px;min-width:0;display:grid}.novel-topbar small{color:#ffc2d7;letter-spacing:.1em;font-size:12px;font-weight:900}.novel-topbar b{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(14px,4.5cqw,19px);overflow:hidden}.novel-progress{color:#ffd7e3;flex:none;margin-left:auto;font-size:12px;font-weight:900}.novel-close{top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));color:#fff;touch-action:manipulation;background:#061229d1;border:1px solid #ffcbdd75;border-radius:50%;width:44px;min-width:44px;height:44px;min-height:44px;font-size:24px;line-height:1;position:absolute}.novel-art{z-index:1;background-color:#08142c;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0;overflow:hidden}.novel-art>img{object-fit:contain;object-position:center top;filter:saturate(1.04)contrast(1.02);width:100%;height:100%;display:block}.novel-basic-unlock-motion{z-index:1;animation:.62s cubic-bezier(.18,.82,.24,1) both basic-unlock-reveal;position:absolute;inset:0;overflow:hidden}.novel-basic-unlock-image{object-fit:contain;object-position:center top;filter:saturate(1.05)contrast(1.02);pointer-events:none;background:radial-gradient(circle at 50% 26%,#fff4c657,#08142c3d 58%,#08142c 100%);width:100%;height:100%;display:block}.novel-basic-unlock-stamp{pointer-events:none;animation:.42s cubic-bezier(.12,.9,.22,1.08) .26s both basic-unlock-stamp-in}@keyframes basic-unlock-reveal{0%{opacity:0;filter:brightness(1.8);transform:scale(1.035)}to{opacity:1;filter:brightness();transform:scale(1)}}@keyframes basic-unlock-stamp-in{0%{opacity:0;translate:-50% -12px}to{opacity:1;translate:-50%}}.novel-portrait-motion>.novel-portrait-image{object-fit:cover;object-position:center top;filter:saturate(1.04)contrast(1.02);pointer-events:none;background:0 0;width:100%;height:100%;display:block;-webkit-mask-image:none;mask-image:none}.novel-portrait-motion{z-index:1;transform-origin:50% 100%;will-change:transform;pointer-events:none;animation:4.6s cubic-bezier(.45,0,.55,1) infinite novel-portrait-breathe;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:none;mask-image:none}.novel-portrait-motion.novel-character-gesture,.novel-basic-unlock-motion.novel-character-gesture{translate:var(--novel-character-drag-x,0) var(--novel-character-drag-y,0);cursor:grab;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;will-change:transform, translate}.novel-character-gesture.is-character-dragging{cursor:grabbing;animation-play-state:paused}.novel-character-gesture.is-character-rebounding{transition:translate .42s cubic-bezier(.16,.84,.32,1.18);animation-play-state:paused}.novel-character-gesture.is-character-gesture-disabled{cursor:default;touch-action:auto}:is(.novel-portrait-motion:has(.affection-touch-layer.is-active),.novel-portrait-motion:has(.affection-touch-layer.is-rebounding),.novel-portrait-motion:has(.affection-touch-layer.is-mask-editor-edit),.novel-portrait-motion:has(.affection-touch-layer.is-mask-editor-test)){animation:none;transform:none}@keyframes novel-portrait-breathe{0%,to{transform:scale(.998)}50%{transform:scale(1.004)}}@media (prefers-reduced-motion:reduce){.novel-portrait-motion{will-change:auto;animation:none;transform:none}.affection-touch-layer.context-portrait.is-breathing .affection-touch-warp-canvas{opacity:0}.novel-character-gesture.is-character-rebounding{transition-duration:1ms}}.novel-portrait-video{object-fit:cover;object-position:center top;filter:saturate(1.04)contrast(1.02);pointer-events:none;background:0 0;width:100%;height:100%;display:block;-webkit-mask-image:none;mask-image:none}.novel-motion-play-button{z-index:4;color:#fff;pointer-events:auto;touch-action:manipulation;background:#051126c7;border:1px solid #ffffff9e;border-radius:999px;min-width:118px;min-height:44px;padding:9px 14px;font-size:12px;font-weight:900;position:absolute;top:45%;left:66%;translate:-50% -50%}.novel-vignette{z-index:2;pointer-events:none;background:linear-gradient(#0207130a 34%,#02071338 51%,#020713d1 74%,#020713 100%),linear-gradient(90deg,#02071324,#0000 28% 78%,#0207131f);position:absolute;inset:0}.novel-unlock-stamp{z-index:3;color:#fff8d7;text-align:center;background:linear-gradient(135deg,#521a43d6,#131f49d6);border:1px solid #ffdf99c2;place-items:center;width:min(72%,290px);min-height:92px;padding:10px 20px;display:grid;position:absolute;top:clamp(76px,12%,104px);left:50%;translate:-50%;box-shadow:0 12px 40px #0407168f}.novel-unlock-stamp .ui-atlas-icon{width:32px;height:32px}.novel-unlock-stamp small{color:#ffc6d9;letter-spacing:.14em;font-size:12px;font-weight:900}.novel-unlock-stamp b{letter-spacing:.08em;font-size:clamp(18px,6cqw,26px)}.novel-interface{z-index:6;right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));border:1px solid var(--novel-accent);flex-direction:column;align-items:stretch;gap:9px;min-height:224px;max-height:52%;padding:14px;display:flex;position:absolute}@supports (color:color-mix(in lab, red, red)){.novel-interface{border:1px solid color-mix(in srgb, var(--novel-accent) 58%, #f5dce7)}}.novel-interface{background:linear-gradient(135deg,#0e1f40f7,#261438f7);box-shadow:0 14px 48px #00000080}.novel-interface[data-mask-editor=true]{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;overflow-y:auto}.novel-interface[data-mask-editor=true] .affection-mask-control-panel{min-width:0;margin-top:0}.affection-mask-loading{color:#c9ffe3;font:800 11px/1.5 var(--font-geist-mono), monospace;text-align:center;margin:auto}.novel-mask-editor-open{align-self:flex-start;min-height:36px;padding-inline:12px}.novel-interface:before,.novel-interface:after{content:"";border-color:var(--novel-accent);pointer-events:none;width:18px;height:18px;position:absolute}.novel-interface:before{border-top:2px solid;border-left:2px solid;top:6px;left:6px}.novel-interface:after{border-bottom:2px solid;border-right:2px solid;bottom:6px;right:6px}.novel-speaker-row{border-bottom:1px solid var(--novel-accent);flex:none;align-items:center;gap:10px;min-width:0;padding:0 2px 7px;display:flex}@supports (color:color-mix(in lab, red, red)){.novel-speaker-row{border-bottom:1px solid color-mix(in srgb, var(--novel-accent) 34%, transparent)}}.novel-nameplate{color:#fff;letter-spacing:-.045em;text-overflow:ellipsis;min-width:0;max-width:100%;text-shadow:0 2px 0 #020713e0, 0 4px 10px #000000b8, 0 0 18px var(--novel-accent);flex:auto;margin:0;padding:0;font-size:clamp(22px,6.4cqw,34px);font-weight:1000;line-height:1.08;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.novel-nameplate{text-shadow:0 2px 0 #020713e0, 0 4px 10px #000000b8, 0 0 18px color-mix(in srgb, var(--novel-accent) 34%, transparent)}}.novel-nameplate{white-space:nowrap}.novel-affection{border:1px solid var(--novel-accent);flex:none;align-items:center;gap:5px;min-height:34px;margin:0;padding:5px 9px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.novel-affection{border:1px solid color-mix(in srgb, var(--novel-accent) 58%, #ffd7e5)}}.novel-affection{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#7a1f4fe0,#2b2158e0);border-radius:999px;font-size:12px;font-weight:900}.novel-affection .ui-atlas-icon{flex:0 0 20px;width:20px;height:20px}.novel-affection span{color:#ffd8e5}.novel-affection b{font-size:14px}.novel-line{color:#fff;text-shadow:0 2px 4px #000000d1;flex:auto;align-self:stretch;min-width:0;min-height:0;margin:0;padding:4px 3px;font-size:clamp(13px,4.25cqw,17px);font-weight:700;line-height:1.65;overflow-y:auto}.novel-line.is-reaction{color:#ffe6ee}.novel-line.is-unlock{color:#fff2c1;text-align:center}.novel-dialog .novel-next{flex:none;justify-content:center;align-self:flex-end;align-items:center;gap:8px;width:min(100%,320px);min-height:48px;display:inline-flex}.novel-dialog .novel-next .ui-atlas-icon{flex:0 0 24px;width:24px;height:24px}.novel-choice-panel{flex:auto;align-content:center;gap:7px;min-height:0;display:grid}.novel-choice-panel>p{color:#ffe2eb;margin:0 0 2px;font-size:12px;font-weight:900}.novel-choice{color:#fff;text-align:left;touch-action:manipulation;background:linear-gradient(90deg,#5a1f4ad1,#11274ddb);border:1px solid #ffbed56b;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 11px;font-size:12px;font-weight:800;display:flex}.novel-choice span{color:#ffd7e5;background:#081630bd;border:1px solid #ffd8e685;flex:0 0 27px;place-items:center;width:27px;height:27px;display:grid}.novel-choice:hover,.novel-choice:focus-visible{outline-offset:2px;background:linear-gradient(90deg,#863260f0,#1e3f70f0);border-color:#ffd1e0;outline:2px solid #ffd7e580}@container game-surface (height<=560px){.novel-topbar{min-height:56px;padding-top:max(8px, env(safe-area-inset-top))}.novel-close{top:max(6px, env(safe-area-inset-top));width:40px;min-width:40px;height:40px;min-height:40px}.novel-interface{gap:6px;min-height:190px;padding:10px 12px}.novel-nameplate{font-size:clamp(19px,5.6cqw,27px)}.novel-line{font-size:12px;line-height:1.5}}@container game-surface (aspect-ratio>=4/5) and (aspect-ratio<=4/3){.novel-scene-card:not(.is-reward):where(:not(:has(>.novel-interface[data-mask-editor=true]))) .novel-portrait-motion{inset:-2% 0 0;-webkit-mask-image:none;mask-image:none}.novel-scene-card:not(.is-reward) .novel-portrait-video,.novel-scene-card:not(.is-reward) .novel-portrait-motion>.novel-portrait-image{object-fit:contain;object-position:center top;-webkit-mask-image:none;mask-image:none}.novel-scene-card:not(.is-reward):where(:not(:has(>.novel-interface[data-mask-editor=true]))) .novel-vignette{background:linear-gradient(#02071300 0 70%,#02071314 76%,#02071347 82%,#020713ad 90%,#020713f0 100%),linear-gradient(90deg,#0207131a,#0000 28% 78%,#02071314)}}@container game-surface (aspect-ratio>=4/3){.novel-scene-card.scene-basicUnlock .novel-basic-fullshot{width:min(58%,72cqh);inset:0 0 0 auto}.novel-scene-card.scene-basicUnlock .novel-basic-unlock-image{object-position:right bottom;background:0 0}.novel-scene-card{--novel-copy-left:max(18px, env(safe-area-inset-left));--novel-copy-width:min(54cqw, 720px)}.novel-topbar{right:auto;left:var(--novel-copy-left);width:var(--novel-copy-width);min-height:56px;padding:max(8px, env(safe-area-inset-top)) 52px 7px 4px;text-shadow:0 2px 5px #020918f5,0 0 2px #020918f5;background:0 0}.novel-topbar>div{min-width:0}.novel-topbar b{font-size:clamp(15px,2.2cqw,20px)}.novel-close{top:max(6px, env(safe-area-inset-top));width:40px;min-width:40px;height:40px;min-height:40px;right:0}.novel-scene-card:not(.is-reward) .novel-portrait-motion{width:min(58%,72cqh);inset:0 0 0 auto;-webkit-mask-image:none;mask-image:none}.novel-scene-card:not(.is-reward) .novel-portrait-video,.novel-scene-card:not(.is-reward) .novel-portrait-motion>.novel-portrait-image{object-fit:contain;object-position:right bottom;-webkit-mask-image:none;mask-image:none}.novel-scene-card:not(.is-reward) .novel-vignette{background:0 0}.novel-interface{right:auto;bottom:max(14px, env(safe-area-inset-bottom));left:var(--novel-copy-left);width:var(--novel-copy-width);height:auto;min-height:clamp(210px,46cqh,290px);max-height:calc(100% - 76px - env(safe-area-inset-bottom));gap:8px;padding:14px}.novel-line{scrollbar-width:thin;min-width:0;min-height:0;max-height:min(40cqh,180px);font-size:clamp(12px,1.7cqw,16px);line-height:1.5;overflow-y:auto}.novel-dialog .novel-next{align-self:flex-end;width:min(100%,260px);min-width:0}.novel-choice-panel{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.novel-choice-panel>p{grid-column:1/-1}.novel-choice{min-width:0;min-height:48px}}@container game-surface (aspect-ratio<=133/100){.novel-scene-card:has(>.novel-interface[data-mask-editor=true])>.novel-interface[data-mask-editor=true]{max-height:42%}.novel-scene-card:has(>.novel-interface[data-mask-editor=true]) .novel-portrait-motion{inset:-28% 0 28%;-webkit-mask-image:none;mask-image:none}}.decode-ready-art{visibility:hidden!important;opacity:0!important}.decode-ready-art.is-decoded{visibility:visible!important;opacity:1!important}.title-game-logo:before{content:none!important;background:0 0!important}.title-game-logo>.decode-ready-art{aspect-ratio:1;object-fit:contain;object-position:center;pointer-events:none;width:100%;height:auto;display:block;position:absolute;top:-35.5%;left:0}.game-design-surface{contain:none;overflow:hidden!important}.title-hero{filter:none;width:78%;max-width:none;height:70%;bottom:8%;transform:none}.title-hero-left{left:-12%;transform:none}.title-hero-right{right:-12%;transform:none}.title-game-logo,.title-enemy-pair img{filter:none}.title-logo-lockup{width:min(78%,430px);top:4%}.title-screen-actions{grid-template-rows:auto 64px auto;grid-template-columns:minmax(0,1fr) 46px 46px;gap:7px;width:auto;bottom:9%;left:5.5%;right:5.5%}.title-screen-actions>span{grid-column:1/-1}.title-start-button{clip-path:none;background:radial-gradient(circle at 18% 0,#ffffff7a,#0000 38%),linear-gradient(135deg,#ffe170 0%,#ffb151 55%,#ef755d 100%);border:2px solid #fff0a2;border-radius:20px;grid-area:2/1;min-height:64px;padding:8px 46px 8px 17px;overflow:hidden;box-shadow:0 0 0 3px #091e37e0,0 9px 24px #0006,inset 0 -4px #97493433,inset 0 2px #ffffff6b}.title-start-button b{white-space:nowrap;font-size:clamp(17px,5.4cqw,24px)}.title-start-button i{background:#ffffff2e;border-width:2px;width:34px;height:34px;right:13px}.title-sub-actions{display:contents}.title-sub-actions button{color:#0000;clip-path:none;background:radial-gradient(circle at 35% 18%,#80dce657,#0000 42%),linear-gradient(145deg,#163a58fa,#051226fa);border:2px solid #ead27dd1;border-radius:16px;align-self:center;width:46px;min-height:46px;padding:0;font-size:0;box-shadow:0 0 0 2px #05162ce6,0 7px 16px #00000057,inset 0 1px #ffffff2e}.title-sub-actions button:first-child{grid-area:2/2}.title-sub-actions button:last-child{grid-area:2/3}.title-sub-actions button span{color:#91eef4;text-shadow:0 0 12px #80dce66b;margin:0;font-size:17px}.title-sub-actions button[aria-pressed=true] span{color:#ffe58a}.title-sub-actions button:active,.game-menu-trigger:active,.app-shell .direction-toggle:active{filter:brightness(1.14);scale:.96}.app-shell.phase-ready .reward-layer{background-size:var(--ready-portrait-size), cover;background-position:var(--ready-portrait-position), center;filter:brightness(.62)saturate(.82);background-repeat:no-repeat,no-repeat;transform:none}.app-shell.phase-playing .score-row,.app-shell .pause-button{visibility:hidden!important;opacity:0!important;pointer-events:none!important}.app-shell .controls,.app-shell.is-mobile-session .controls{justify-content:space-between;gap:8px;width:auto;height:48px;min-height:48px;right:max(12px, env(safe-area-inset-right))!important;bottom:var(--game-safe-bottom)!important;left:max(12px, env(safe-area-inset-left))!important}.app-shell .gesture-guide{background:radial-gradient(circle at 12% 0,#80dce62e,#0000 42%),linear-gradient(145deg,#0c2743f0,#051226f0);border:1px solid #80dce685;border-radius:18px;max-width:calc(100% - 52px);height:44px;padding:5px 10px;box-shadow:0 7px 18px #0000004d,inset 0 1px #ffffff1a}.app-shell .direction-assist{flex:0 0 44px}.app-shell .direction-toggle{background:radial-gradient(circle at 35% 18%,#80dce64d,#0000 42%),linear-gradient(145deg,#163a58fa,#051226fa);border:2px solid #ead27dbd;border-radius:16px;width:44px;height:44px;box-shadow:0 0 0 2px #05162ce0,0 7px 16px #00000057}.game-menu-trigger{background:radial-gradient(circle at 34% 16%,#80dce64d,#0000 43%),linear-gradient(145deg,#153957fa,#051226fa);border:2px solid #ead27dc2;border-radius:17px;width:48px;height:48px;box-shadow:0 0 0 2px #041428e0,0 8px 20px #00000057}.game-action-dock{background:radial-gradient(circle at 80% 0,#80dce626,#0000 38%),linear-gradient(160deg,#0a233dfa,#040f21fa);border:1px solid #ead27d94;border-radius:20px;gap:5px;width:164px;padding:8px;box-shadow:0 18px 42px #00000075,inset 0 1px #ffffff1a}.game-action-dock button{background:linear-gradient(145deg,#163754e6,#091d36e6);border:1px solid #80dce647;border-radius:14px;min-height:44px;box-shadow:inset 0 1px #ffffff14}.app-shell .mobile-pad,.app-shell .mobile-pad button{border-radius:16px}.app-shell .primary-button,.app-shell .secondary-button,.app-shell .ready-actions button{clip-path:none;border-radius:18px}.app-shell .primary-button,.app-shell .ready-actions .primary-button{color:#10233e;background:linear-gradient(135deg,#ffe170 0%,#ffb151 56%,#ef755d 100%);border:2px solid #fff0a2;box-shadow:0 0 0 2px #071b32d6,0 8px 20px #0000004d,inset 0 2px #ffffff61}.app-shell .secondary-button,.app-shell .ready-actions .secondary-button{color:#f4f7f2;background:linear-gradient(145deg,#12314ef0,#06152af0);border:1px solid #80dce694;box-shadow:inset 0 1px #ffffff1a,0 7px 18px #0000003d}@container game-surface (width<=300px){.title-screen-actions{grid-template-rows:auto 58px auto;grid-template-columns:minmax(0,1fr) 42px 42px;gap:5px;bottom:8.5%;left:4.5%;right:4.5%}.title-start-button{border-radius:17px;min-height:58px;padding-left:13px;padding-right:40px}.title-start-button b{font-size:16px}.title-start-button i{width:30px;height:30px;right:9px}.title-sub-actions button{border-radius:14px;width:42px;min-height:42px}.title-sub-actions button span{font-size:15px}.title-hero{width:82%;height:72%;bottom:7%}.title-hero-left{left:-14%}.title-hero-right{right:-14%}.app-shell .gesture-guide{padding-inline:8px}}.app-shell{--ui-atlas:url(/ui/mobile-ui-atlas-v1.webp);--ui-atlas-grid:400% 400%}.ui-atlas-icon{--ui-atlas-x:0%;--ui-atlas-y:0%;aspect-ratio:1;background-image:var(--ui-atlas);background-position:var(--ui-atlas-x) var(--ui-atlas-y);background-size:var(--ui-atlas-grid);color:#0000;filter:none;pointer-events:none;background-repeat:no-repeat;flex:0 0 30px;width:30px;height:30px;display:inline-block;position:relative;transform:none}.ui-atlas-menu{--ui-atlas-x:0%;--ui-atlas-y:33.3333%}.ui-atlas-pause{--ui-atlas-x:33.3333%;--ui-atlas-y:33.3333%}.ui-atlas-stage{--ui-atlas-x:66.6667%;--ui-atlas-y:33.3333%}.ui-atlas-fullscreen{--ui-atlas-x:100%;--ui-atlas-y:33.3333%}.ui-atlas-sound{--ui-atlas-x:0%;--ui-atlas-y:66.6667%}.ui-atlas-library,.ui-atlas-heart{--ui-atlas-x:33.3333%;--ui-atlas-y:66.6667%}.ui-atlas-home{--ui-atlas-x:66.6667%;--ui-atlas-y:66.6667%}.ui-atlas-direction{--ui-atlas-x:100%;--ui-atlas-y:66.6667%}.ui-atlas-sparkle{--ui-atlas-x:0%;--ui-atlas-y:100%}.ui-atlas-shield{--ui-atlas-x:33.3333%;--ui-atlas-y:100%}.ui-atlas-timer{--ui-atlas-x:66.6667%;--ui-atlas-y:100%}.ui-atlas-crown{--ui-atlas-x:100%;--ui-atlas-y:100%}.title-start-button,.app-shell .primary-button,.app-shell .ready-actions .primary-button{background-color:#f3a23f!important;background-image:var(--ui-atlas)!important;background-position:0 0!important;background-size:var(--ui-atlas-grid)!important;background-repeat:no-repeat!important;border-color:#0000!important;box-shadow:0 8px 22px #00000057!important}.app-shell .secondary-button,.app-shell .ready-actions .secondary-button,.app-shell .gesture-guide{background-color:#0a3472!important;background-image:var(--ui-atlas)!important;background-position:33.3333% 0!important;background-size:var(--ui-atlas-grid)!important;background-repeat:no-repeat!important;border-color:#0000!important}.app-shell .hud-stats>div,.app-shell.is-mobile-session .hud-stats>div,.app-shell .ready-modal .mission-grid>span,.hud-shield-state{background-color:#082b5f!important;background-image:var(--ui-atlas)!important;background-position:66.6667% 0!important;background-size:var(--ui-atlas-grid)!important;background-repeat:no-repeat!important;border-color:#0000!important}.title-sub-actions button{box-shadow:none;background:0 0;border:0;overflow:visible}.title-sub-actions button .ui-atlas-icon{flex-basis:48px;width:48px;height:48px}.title-sub-actions button[aria-pressed=false] .ui-atlas-icon,.game-action-dock button[aria-pressed=false] .ui-atlas-icon{opacity:.54}button[aria-pressed=false] .ui-atlas-sound:after{content:"";background:#ff786f;border-radius:3px;height:3px;position:absolute;top:50%;left:7px;right:7px;rotate:-45deg;box-shadow:0 0 0 1px #051226c2}.game-action-dock button[aria-pressed=true] .ui-atlas-fullscreen:after{content:"";background:#ff765f;border:1px solid #fff5b3;border-radius:50%;width:8px;height:8px;position:absolute;bottom:4px;right:4px;box-shadow:0 0 7px #ff765fe6}.game-menu-trigger,.app-shell .direction-toggle{box-shadow:none;background:0 0;border:0;overflow:visible}.game-menu-trigger .ui-atlas-icon{flex-basis:54px;width:54px;height:54px}.game-menu-trigger small,.app-shell .direction-toggle small{display:none}.game-menu-trigger.is-open:after{content:"×";z-index:2;color:#fff5be;text-shadow:0 2px 6px #041329;pointer-events:none;place-items:center;font-size:22px;font-weight:950;display:grid;position:absolute;inset:0}.game-menu-trigger.is-open .ui-atlas-icon{opacity:.46}.app-shell .direction-toggle .ui-atlas-icon{flex-basis:50px;width:50px;height:50px}.app-shell .direction-assist.is-open .direction-toggle{border-radius:50%;box-shadow:0 0 0 2px #ffef9bdb,0 0 18px #80dce66b}.game-action-dock{background-color:#061d43;background-image:var(--ui-atlas);background-position:100% 0;background-size:var(--ui-atlas-grid);background-repeat:no-repeat;border-color:#0000;box-shadow:0 18px 42px #00000075}.game-action-dock button{background-color:#0a3472;background-image:var(--ui-atlas);background-position:33.3333% 0;background-size:var(--ui-atlas-grid);box-shadow:none;background-repeat:no-repeat;border-color:#0000}.game-action-dock button .ui-atlas-icon{flex-basis:34px;width:34px;height:34px}.game-action-dock button b{z-index:1;text-shadow:0 2px 5px #010819e6;position:relative}.app-shell .hud-time,.app-shell .hud-time.is-warning,.app-shell .hud-time.is-critical{background-color:#082b5f!important;background-image:var(--ui-atlas)!important;background-position:66.6667% 0!important;background-size:var(--ui-atlas-grid)!important;background-repeat:no-repeat!important}.title-start-button i .ui-atlas-icon{flex-basis:34px;width:34px;height:34px}.app-shell .ready-actions button,.app-shell .modal-actions button{justify-content:center;align-items:center;gap:5px;display:flex}.app-shell .ready-actions button .ui-atlas-icon,.app-shell .modal-actions button .ui-atlas-icon{flex-basis:28px;width:28px;height:28px}.app-shell .modal-symbol .ui-atlas-icon{flex-basis:58px;width:58px;height:58px}.app-shell .direction-assist .mobile-pad{background-color:#0000;background-image:var(--ui-atlas);background-position:100% 66.6667%;background-size:var(--ui-atlas-grid);box-shadow:none;background-repeat:no-repeat;border:0}.app-shell .mobile-pad button,.app-shell .mobile-pad .pad-center{box-shadow:none;border:0;color:#0000!important;background:0 0!important}.app-shell .mobile-pad button:active{box-shadow:inset 0 0 0 2px #ffefa394;background:#ffe67a33!important}.app-shell .board-curtain:before{background-image:var(--ui-atlas);background-position:66.6667% 100%;background-size:var(--ui-atlas-grid);background-repeat:no-repeat;border:0;border-radius:0;width:58px;height:58px;animation:.9s ease-in-out infinite alternate atlas-loader-pulse}@keyframes atlas-loader-pulse{to{opacity:.68;scale:.94}}.hud-shield-state{z-index:54;top:calc(var(--game-safe-top) + 60px);left:max(13px, env(safe-area-inset-left));color:#efffff;pointer-events:none;border-radius:15px;justify-content:center;align-items:center;gap:2px;width:74px;height:38px;padding:2px 8px 2px 4px;display:flex;position:absolute}.hud-shield-state .ui-atlas-icon{flex-basis:34px;width:34px;height:34px}.hud-shield-state b{color:#fff4a5;font-variant-numeric:tabular-nums;text-shadow:0 2px 5px #041329;font-size:12px}.hud-shield-state small{margin-left:1px;font-size:7px}@container game-surface (width<=300px){.title-sub-actions button .ui-atlas-icon{flex-basis:44px;width:44px;height:44px}.game-menu-trigger .ui-atlas-icon{flex-basis:50px;width:50px;height:50px}.app-shell .direction-toggle .ui-atlas-icon{flex-basis:46px;width:46px;height:46px}}.app-shell{--ui-edge-left:max(12px, env(safe-area-inset-left));--ui-edge-right:max(12px, env(safe-area-inset-right));--ui-control-size:48px;--ui-control-gap:8px}.title-screen-actions{--title-utility-size:48px;grid-template-columns:minmax(0, 1fr) var(--title-utility-size) var(--title-utility-size);grid-template-rows:auto 64px auto;gap:8px}.title-sub-actions button,.title-sub-actions button .ui-atlas-icon{width:var(--title-utility-size);height:var(--title-utility-size)}.title-sub-actions button{min-width:var(--title-utility-size);min-height:var(--title-utility-size);touch-action:manipulation;place-items:center;padding:0;line-height:0;display:grid;overflow:hidden}.title-sub-actions button .ui-atlas-icon{flex:0 0 var(--title-utility-size)}.title-start-button{--title-cta-icon-size:34px}.title-start-button i,.title-start-button i .ui-atlas-icon{width:var(--title-cta-icon-size);height:var(--title-cta-icon-size);flex:0 0 var(--title-cta-icon-size)}.title-start-button i{border:0;place-items:center;padding:0;display:grid;overflow:hidden}.title-screen-actions,.title-start-button,.stage-picker-dialog .stage-picker-card{pointer-events:auto}.title-start-button,.stage-picker-dialog .stage-picker-card{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.title-start-button>*,.stage-picker-dialog .stage-picker-card>*{pointer-events:none}.game-menu-trigger,.game-menu-trigger .ui-atlas-icon,.app-shell .direction-toggle,.app-shell .direction-toggle .ui-atlas-icon{width:var(--ui-control-size);height:var(--ui-control-size)}.game-menu-trigger,.app-shell .direction-toggle{touch-action:manipulation;place-items:center;padding:0;display:grid;overflow:hidden}.game-menu-trigger{right:var(--ui-edge-right);-webkit-backdrop-filter:none!important}.game-menu-trigger .ui-atlas-icon,.app-shell .direction-toggle .ui-atlas-icon{flex:0 0 var(--ui-control-size)}.app-shell .hud,.app-shell.is-mobile-session .hud,.app-shell .progress-track,.app-shell.is-mobile-session .progress-track{right:calc(var(--ui-edge-right) + var(--ui-control-size) + var(--ui-control-gap))!important;left:var(--ui-edge-left)!important}.game-action-dock{top:calc(var(--game-safe-top) + var(--ui-control-size) + var(--ui-control-gap));right:var(--ui-edge-right);width:164px;max-height:calc(100% - var(--game-safe-top) - var(--game-safe-bottom) - 124px);overscroll-behavior:contain;bottom:auto;overflow-y:auto;-webkit-backdrop-filter:none!important}.game-action-dock button{grid-template-columns:34px minmax(0,1fr) auto;column-gap:6px;min-height:48px}.game-action-dock button .ui-atlas-icon{flex:0 0 34px;align-self:center;width:34px;height:34px}.app-shell .controls,.app-shell.is-mobile-session .controls{flex-direction:row;justify-content:space-between;align-items:center;width:auto;height:52px;min-height:52px;translate:none;top:auto!important;right:var(--ui-edge-right)!important;bottom:var(--game-safe-bottom)!important;left:var(--ui-edge-left)!important}.app-shell .gesture-guide{max-width:calc(100% - 56px);height:48px}.app-shell .direction-assist{width:var(--ui-control-size);height:var(--ui-control-size);flex:0 0 var(--ui-control-size);display:block;position:relative}.app-shell .direction-assist .mobile-pad{box-sizing:border-box;grid-template-rows:repeat(3,44px);grid-template-columns:repeat(3,44px);place-content:center;gap:2px;width:146px;height:146px;padding:5px;bottom:calc(100% + 8px);left:auto;right:0;overflow:hidden}.app-shell .mobile-pad button,.app-shell .mobile-pad .pad-center{touch-action:none;padding:0;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important}.app-shell .ready-actions{grid-template-columns:minmax(0,.42fr) minmax(0,.58fr)}.app-shell .ready-actions button{min-width:0;min-height:52px;padding-inline:7px}.app-shell .ready-actions button .ui-atlas-icon{flex:0 0 22px;width:22px;height:22px}.app-shell .clear-modal .modal-actions{grid-template-columns:minmax(0,1fr)}.app-drawer-close,.dialog-close{touch-action:manipulation;width:48px;min-width:48px;height:48px;min-height:48px}@container game-surface (width<=300px){.title-screen-actions{--title-utility-size:44px;grid-template-rows:auto 58px auto}.title-start-button{--title-cta-icon-size:30px}}.app-shell .reward-layer{background-position:50%,50%;background-repeat:no-repeat,no-repeat;background-size:cover,cover}.app-shell.phase-ready .reward-layer{background-size:var(--ready-portrait-size), cover;background-position:var(--ready-portrait-position), center;background-repeat:no-repeat,no-repeat;transform:none}.title-start-button,.app-shell .primary-button,.app-shell .ready-actions .primary-button{background-color:#f3a23f!important;background-image:radial-gradient(circle at 18% 0,#ffffff75,#0000 38%),linear-gradient(135deg,#ffe170 0%,#ffb151 55%,#ef755d 100%)!important;background-position:50%!important;background-size:auto!important}.app-shell .secondary-button,.app-shell .ready-actions .secondary-button,.app-shell .gesture-guide{background-color:#0a3472!important;background-image:linear-gradient(145deg,#12375bfa,#051630fa)!important;background-position:50%!important;background-size:auto!important}.app-shell .hud-stats>div,.app-shell.is-mobile-session .hud-stats>div,.app-shell .ready-modal .mission-grid>span,.hud-shield-state,.app-shell .hud-time,.app-shell .hud-time.is-warning,.app-shell .hud-time.is-critical{background-color:#082b5f!important;background-image:linear-gradient(#103c68fa,#051b3dfa)!important;background-position:50%!important;background-size:auto!important}.game-action-dock{background-color:#061d43;background-image:linear-gradient(#0c315bfa,#041633fa);background-position:50%;background-size:auto}.game-action-dock button{background-color:#0a3472;background-image:linear-gradient(145deg,#133e6cfa,#051a3bfa);background-position:50%;background-size:auto}.app-shell .ready-modal.is-swimsuit-challenge,.app-shell .ready-modal.is-hot-spring-challenge{padding:max(58px, calc(env(safe-area-inset-top) + 48px)) max(18px, env(safe-area-inset-right)) max(18px, calc(env(safe-area-inset-bottom) + 12px)) max(18px, env(safe-area-inset-left));background:linear-gradient(#02071100 0% 58%,#020711bd 72%,#020711fa 100%)}.app-shell .ready-modal.is-swimsuit-challenge h2,.app-shell .ready-modal.is-hot-spring-challenge h2{margin:2px 0 6px;font-size:clamp(23px,6cqh,38px)}.app-shell .ready-modal.is-swimsuit-challenge .mission-grid,.app-shell .ready-modal.is-hot-spring-challenge .mission-grid{margin-bottom:5px}.app-shell .ready-modal.is-swimsuit-challenge .mobile-ready-hint,.app-shell .ready-modal.is-swimsuit-challenge .mini-tutorial,.app-shell .ready-modal.is-swimsuit-challenge .stage-tip,.app-shell .ready-modal.is-hot-spring-challenge .mobile-ready-hint,.app-shell .ready-modal.is-hot-spring-challenge .mini-tutorial,.app-shell .ready-modal.is-hot-spring-challenge .stage-tip{display:none}.app-shell .ready-modal .reward-art-confirmation{color:#d9fbff;letter-spacing:.02em;background:#031429d6;border:1px solid #7decf68a;width:fit-content;max-width:100%;margin:0 0 7px;padding:5px 9px;font-size:10px;font-weight:950}.app-shell .clear-modal.is-swimsuit-unlock{padding-top:max(62vh, calc(env(safe-area-inset-top) + 58px));background:linear-gradient(#030c1d00 0% 56%,#030c1dc7 72%,#030c1dfa 100%)}.library-detail-dialog .library-detail-art:has(>.library-media-viewport){grid-template:minmax(0,1fr) auto auto/minmax(0,1fr);align-items:stretch}.library-detail-dialog .library-detail-art>.library-media-viewport{grid-area:1/1;width:100%;height:100%;min-height:0;position:relative;inset:auto}.library-detail-dialog .library-detail-art>.library-media-transform-controls{min-height:44px;box-shadow:none;grid-area:2/1;grid-template-columns:repeat(4,minmax(0,1fr));justify-self:stretch;margin:5px 5px 0;position:relative;inset:auto}.library-detail-dialog .library-detail-art>.library-video-toggle{width:auto;min-height:42px;box-shadow:none;grid-area:3/1;margin:4px 5px 5px;position:relative;inset:auto}.library-detail-dialog .service-cut-gallery>.library-video-toggle{width:auto;inset:auto 10px 62px}.library-detail-dialog .service-cut-label{inset:auto 10px 112px auto}.library-detail-dialog .library-media-zoom-trigger{inset:0}.library-detail-dialog .library-media-zoom-trigger>span{top:auto;bottom:112px;left:10px}.library-detail-dialog .library-date-lock{padding:24px 24px max(24px, calc(env(safe-area-inset-bottom) + 18px));background:linear-gradient(#030a1900 0% 52%,#030a19d1 78%,#030a19f7 100%);justify-content:flex-end}@container game-surface (width<=390px){.library-detail-dialog .library-detail-art>.library-media-transform-controls{top:auto;right:auto}.library-detail-dialog .library-detail-art>.library-video-toggle{top:auto;left:auto}.library-detail-dialog .library-media-zoom-trigger{inset:0}.library-detail-dialog .service-cut-label{top:auto}}.library-story-toggle{display:none}@container game-surface (width<=640px){.library-detail-dialog .library-detail-card{grid-template-rows:minmax(0,1fr) auto}.library-detail-dialog .library-detail-visual{min-height:0}.library-detail-dialog .library-detail-art:has(>.library-media-viewport){grid-template:minmax(0,1fr) auto/minmax(0,1fr)}.library-detail-dialog .library-detail-art>.library-media-transform-controls{display:none}.library-detail-dialog .library-detail-art>.library-video-toggle{grid-row:2}.library-detail-dialog .library-shared-media-frame{transform-origin:50% 100%}.library-detail-dialog .library-shared-media-frame>.library-shared-media-image,.library-detail-dialog .library-shared-media-frame>.library-shared-media-video{object-fit:cover;object-position:center top}.library-detail-dialog .library-detail-copy{min-height:0;padding:8px 5px 2px;overflow:visible}.library-detail-dialog .library-detail-copy:not(.is-story-open){grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 10px;display:grid}.library-detail-dialog .library-detail-copy:not(.is-story-open)>.eyebrow,.library-detail-dialog .library-detail-copy:not(.is-story-open)>h2,.library-detail-dialog .library-detail-copy:not(.is-story-open)>span{grid-column:1}.library-detail-dialog .library-detail-copy:not(.is-story-open)>.eyebrow{margin:0}.library-detail-dialog .library-detail-copy:not(.is-story-open)>h2{font-size:clamp(24px,7.5vw,34px)}.library-detail-dialog .library-detail-copy:not(.is-story-open)>span{margin-top:0}.library-detail-dialog .library-story-toggle{white-space:nowrap;grid-area:1/2/span 3;justify-content:center;align-items:center;min-height:46px;padding-inline:13px;display:inline-flex}.library-detail-dialog .library-detail-copy:not(.is-story-open)>:not(.eyebrow):not(h2):not(span):not(.library-story-toggle){display:none}.library-detail-dialog .library-detail-copy.is-story-open{z-index:40;width:100%;height:100dvh;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));overscroll-behavior:contain;background:linear-gradient(#040f20fa,#040d1dfc),url(/ui/title-screen-v2.webp) 50%/cover;justify-content:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto;box-shadow:inset 0 0 0 2px #7edae63d}.library-detail-dialog .library-detail-copy.is-story-open .library-story-toggle{z-index:2;background:#0a1d34fa;order:-1;width:100%;margin:0 0 14px;position:sticky;top:0}}.library-detail-dialog .library-detail-card,.library-detail-dialog .library-detail-card.is-panel-open{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:0}.library-detail-dialog .library-detail-visual{grid-template-rows:minmax(0,1fr);gap:0;min-width:0;min-height:0}.library-detail-dialog .library-panel-toggle{z-index:14;top:max(14px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));color:#efffff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;touch-action:manipulation;background:#051428e6;border:1px solid #7edae680;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:7px 13px;font-size:12px;font-weight:950;display:inline-flex;position:absolute;box-shadow:0 8px 24px #00000057}.library-detail-dialog .library-panel-toggle span{color:var(--casual-gold);font-size:17px;line-height:1}.library-detail-dialog .library-detail-panel{display:none}.library-detail-dialog .library-detail-card.is-panel-open .library-detail-panel{z-index:12;max-height:min(58dvh,620px);padding:10px max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#041226f0,#030c1cfc);border-top:1px solid #7edae661;grid-template-rows:auto minmax(0,1fr);gap:8px;display:grid;position:absolute;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -18px 48px #0000006b}.library-detail-dialog .library-detail-panel>.library-art-tabs{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;margin:0;position:relative;inset:auto}.library-detail-dialog .library-detail-panel>.library-detail-copy{overscroll-behavior:contain;min-height:0;padding:4px 2px 0;overflow-y:auto}@container game-surface (width<=640px){.library-detail-dialog .library-detail-card,.library-detail-dialog .library-detail-card.is-panel-open{grid-template-rows:minmax(0,1fr)}.library-detail-dialog .library-detail-card.is-panel-open .library-detail-panel{max-height:min(62dvh,560px)}.library-detail-dialog .library-detail-panel>.library-detail-copy:not(.is-story-open){display:flex}}.library-detail-dialog .library-detail-card,.library-detail-dialog .library-detail-card.is-panel-open{grid-template-rows:minmax(0,1fr) auto}.library-detail-dialog .library-detail-visual{grid-row:1}.library-detail-dialog .library-quick-art-tabs{z-index:16;width:100%;min-height:54px;padding:5px max(8px, env(safe-area-inset-right)) max(5px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));background:#030e1ff7;border-width:1px 0 0;border-radius:0;grid-area:2/1;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;box-shadow:0 -8px 24px #00000047}.library-detail-dialog .library-quick-art-tabs .library-art-tab{min-height:42px;font-size:clamp(11px,2.8cqw,14px)}.library-detail-dialog .library-detail-card.is-panel-open .library-detail-panel{bottom:calc(54px + env(safe-area-inset-bottom))}.library-detail-dialog .library-media-viewport{cursor:grab}.library-detail-dialog .library-media-viewport:active{cursor:grabbing}.novel-portrait-motion .novel-portrait-presentation,.novel-portrait-motion .novel-portrait-expression{position:absolute;inset:0}.novel-portrait-motion .novel-portrait-presentation{transform-origin:50% 7%;will-change:transform;transform:perspective(1100px)rotateX(6deg)scale(1.56)}.novel-portrait-motion .novel-portrait-expression{--portrait-gesture-x:0%;--portrait-gesture-y:0%;--portrait-gesture-turn:0deg;--portrait-gesture-scale:1;transform-origin:50% 24%;transform:translate3d(var(--portrait-gesture-x), var(--portrait-gesture-y), 0) rotateZ(var(--portrait-gesture-turn)) scale(var(--portrait-gesture-scale));will-change:transform, opacity;animation:.36s cubic-bezier(.18,.82,.24,1) both novel-portrait-expression-arrive}.novel-portrait-motion .novel-portrait-expression[data-portrait-gesture=speaking]{--portrait-gesture-x:1.2%;--portrait-gesture-y:-0.8%;--portrait-gesture-turn:.7deg;--portrait-gesture-scale:1.012}.novel-portrait-motion .novel-portrait-expression[data-portrait-gesture=listening]{--portrait-gesture-x:-1.8%;--portrait-gesture-y:0.8%;--portrait-gesture-turn:-1.6deg;--portrait-gesture-scale:.994}.novel-portrait-motion .novel-portrait-expression[data-portrait-gesture=thoughtful]{--portrait-gesture-x:-1.2%;--portrait-gesture-y:1.4%;--portrait-gesture-turn:-1deg;--portrait-gesture-scale:1.004}.novel-portrait-motion .novel-portrait-expression[data-portrait-gesture=concerned]{--portrait-gesture-x:-0.8%;--portrait-gesture-y:-0.2%;--portrait-gesture-turn:-.6deg;--portrait-gesture-scale:1.018}.novel-portrait-motion .novel-portrait-expression[data-portrait-gesture=surprised]{--portrait-gesture-y:-2.8%;--portrait-gesture-scale:1.045}.novel-portrait-motion .novel-portrait-expression[data-portrait-gesture=playful]{--portrait-gesture-x:2.2%;--portrait-gesture-y:-1.7%;--portrait-gesture-turn:1.8deg;--portrait-gesture-scale:1.028}.novel-portrait-motion .novel-portrait-expression[data-portrait-gesture=shy]{--portrait-gesture-x:-2%;--portrait-gesture-y:1.8%;--portrait-gesture-turn:-2.1deg;--portrait-gesture-scale:.992}.novel-portrait-motion .novel-portrait-expression[data-portrait-gesture=warm]{--portrait-gesture-x:-0.7%;--portrait-gesture-y:-0.6%;--portrait-gesture-turn:-.7deg;--portrait-gesture-scale:1.02}.novel-portrait-motion .novel-portrait-expression[data-portrait-gesture=confident]{--portrait-gesture-x:1.5%;--portrait-gesture-y:-1.2%;--portrait-gesture-turn:.9deg;--portrait-gesture-scale:1.025}.novel-portrait-motion .novel-portrait-expression[data-portrait-gesture=expectant]{--portrait-gesture-y:-1.5%;--portrait-gesture-scale:1.026}.novel-portrait-motion .novel-portrait-expression[data-portrait-gesture=celebrate]{--portrait-gesture-y:-3.2%;--portrait-gesture-turn:1.2deg;--portrait-gesture-scale:1.05}.novel-portrait-motion .novel-portrait-expression>.novel-portrait-image{filter:drop-shadow(0 18px 24px #00051257)saturate(1.04)contrast(1.02);pointer-events:none;background:0 0;width:100%;height:100%;display:block;-webkit-mask-image:none;mask-image:none;object-fit:contain!important;object-position:center top!important}@keyframes novel-portrait-expression-arrive{0%{opacity:.76;transform:translate3d(var(--portrait-gesture-x), calc(var(--portrait-gesture-y) + 10px), 0) rotateZ(var(--portrait-gesture-turn)) scale(.975)}to{opacity:1;transform:translate3d(var(--portrait-gesture-x), var(--portrait-gesture-y), 0) rotateZ(var(--portrait-gesture-turn)) scale(var(--portrait-gesture-scale))}}@container game-surface (aspect-ratio>=4/3){.novel-portrait-motion .novel-portrait-presentation{transform-origin:54% 8%;transform:perspective(1100px)rotateX(6deg)scale(1.4)}}@container game-surface (aspect-ratio<=3/4){.novel-portrait-motion .novel-portrait-presentation{transform-origin:50% 6%;transform:perspective(980px)rotateX(7deg)scale(1.64)}}@media (prefers-reduced-motion:reduce){.novel-portrait-motion .novel-portrait-expression{animation:none}}@container game-surface (width<=640px){.library-detail-dialog .library-detail-card,.library-detail-dialog .library-detail-card.is-panel-open{grid-template-rows:minmax(0,1fr) auto}.library-detail-dialog .library-detail-card.is-panel-open .library-detail-panel{bottom:calc(54px + env(safe-area-inset-bottom));max-height:min(58dvh,520px)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-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}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}.app-shell.phase-playing .hud,.app-shell.phase-playing.is-mobile-session .hud{pointer-events:none;border:0;height:34px;min-height:34px;padding:0;display:block;box-shadow:none!important;-webkit-backdrop-filter:none!important;background:0 0!important}.app-shell.phase-playing .stage-heading{display:none!important}.app-shell.phase-playing .hud-stats{align-items:center;gap:6px;width:100%;height:34px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr) minmax(0,.65fr)!important}.app-shell.phase-playing .hud-stats>div,.app-shell.phase-playing.is-mobile-session .hud-stats>div,.app-shell.phase-playing .hud-stats>.hud-time,.app-shell.phase-playing .hud-stats>.hud-time.is-warning,.app-shell.phase-playing .hud-stats>.hud-time.is-critical{border-radius:0;grid-template-columns:20px minmax(0,1fr);align-items:center;column-gap:3px;width:auto;min-width:0;height:34px;min-height:34px;padding:0;animation:none;display:grid;overflow:visible;box-shadow:none!important;-webkit-backdrop-filter:none!important;background-color:#0000!important;background-image:none!important;border:0!important}.app-shell.phase-playing .hud-stats>div>span:not(.ui-atlas-icon){clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.app-shell.phase-playing .hud-stats .ui-atlas-icon{filter:drop-shadow(0 1px 2px #020713);flex:0 0 20px;width:20px;height:20px}.app-shell.phase-playing .hud-stats b,.app-shell.phase-playing .gesture-guide b{color:#fff9dc;-webkit-text-stroke:1px #020712f5;paint-order:stroke fill;text-shadow:0 1px 2px #020713,0 0 6px #020712eb;width:auto;line-height:1}.app-shell.phase-playing .hud-stats b{text-align:left;font-size:13px}.app-shell.phase-playing .hud-progress-stat b i,.app-shell.phase-playing .hud-progress-stat b small,.app-shell.phase-playing .hud-lives b small{color:#fff9dc;-webkit-text-stroke:.7px #020712f5;text-shadow:0 1px 2px #020713}.app-shell.phase-playing .hud-lives b{justify-content:flex-start}.app-shell.phase-playing .hud-lives b i{display:none}.app-shell.phase-playing .hud-lives b small{font-size:12px}.app-shell.phase-playing .progress-track,.app-shell.phase-playing.is-mobile-session .progress-track{background:#0208126b;border:0;border-radius:999px;height:2px;overflow:hidden;box-shadow:0 1px 2px #00000080;top:calc(var(--game-safe-top) + 38px)!important}.app-shell.phase-playing .progress-track>span{box-shadow:0 0 5px #80dce6e0}.app-shell.phase-playing .gesture-guide{pointer-events:none;border-radius:0;gap:6px;width:auto;max-width:min(214px,100% - 56px);height:38px;padding:0 3px;box-shadow:none!important;-webkit-backdrop-filter:none!important;background-color:#0000!important;background-image:none!important;border:0!important}.app-shell.phase-playing .gesture-guide>span{color:#e9ffff;text-shadow:0 1px 3px #020713;background:#04122752;border-color:#7ee8f2b8;flex:0 0 30px;width:30px;height:30px}.app-shell.phase-playing .gesture-guide b{font-size:12px}.app-shell.phase-playing .gesture-guide small{display:none}.app-shell.phase-playing .hud-stats{gap:4px;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr) minmax(0,.62fr) minmax(0,.72fr)!important}.app-shell.phase-playing .hud-gold b{color:#ffe98d;font-variant-numeric:tabular-nums;font-size:12px}.app-shell.phase-playing .combo-pop{z-index:55;top:calc(var(--game-safe-top) + 42px);color:#fff5a6;-webkit-text-stroke:1.2px #040a19f5;paint-order:stroke fill;text-shadow:0 2px 3px #020713,0 0 8px #ffd050bf;pointer-events:none;background:0 0;align-items:baseline;gap:4px;animation:.18s ease-out both combo-pop-in;display:flex;position:absolute;left:50%;translate:-50%}.app-shell.phase-playing .combo-pop small{letter-spacing:.08em;font-size:8px;font-weight:900}.app-shell.phase-playing .combo-pop b{font-size:21px;line-height:1}.app-shell.phase-playing .item-toast{z-index:55;top:calc(var(--game-safe-top) + 67px);color:#eaffff;text-align:center;text-overflow:ellipsis;white-space:nowrap;-webkit-text-stroke:.9px #020712f5;paint-order:stroke fill;text-shadow:0 2px 3px #020713,0 0 8px #5cebffb3;pointer-events:none;background:0 0;align-items:center;gap:5px;max-width:calc(100% - 88px);font-size:11px;font-weight:950;line-height:1.15;animation:.22s ease-out both item-toast-in;display:flex;position:absolute;left:50%;overflow:hidden;translate:-50%}.app-shell.phase-playing .item-toast .item-toast-icon{filter:drop-shadow(0 0 5px #69efffe6);background-image:url(/items/item-atlas-v2.png);background-repeat:no-repeat;background-size:200% 200%;flex:0 0 22px;width:22px;height:22px}.app-shell.phase-playing .item-toast .item-icon-gold{background-position:0 0}.app-shell.phase-playing .item-toast .item-icon-time{background-position:100% 0}.app-shell.phase-playing .item-toast .item-icon-freeze{background-position:0 100%}.app-shell.phase-playing .item-toast .item-icon-speed{background-position:100% 100%}.app-shell.phase-playing .item-pickup-screen-effect{z-index:53;pointer-events:none;position:absolute;inset:0;overflow:hidden}.app-shell.phase-playing .item-pickup-screen-effect:before{content:"";mix-blend-mode:screen;background:radial-gradient(circle at 50% 43%,#91f1ff4d,#0000 58%);animation:.72s ease-out both item-pickup-flash;position:absolute;inset:0}.app-shell.phase-playing .item-pickup-screen-effect.is-gold:before{background:radial-gradient(circle at 50% 43%,#ffd54657,#0000 58%)}.app-shell.phase-playing .item-pickup-screen-effect.is-freeze:before,.app-shell.phase-playing .item-pickup-screen-effect.is-time:before{background:radial-gradient(circle at 50% 43%,#4ce7ff57,#0000 58%)}.app-shell.phase-playing .item-pickup-screen-effect.is-speed:before{background:radial-gradient(circle at 50% 43%,#ff4bd357,#0000 58%)}.app-shell.phase-playing .item-pickup-screen-vfx{aspect-ratio:1;filter:drop-shadow(0 0 18px #62e6ffb8);background-image:url(/items/item-pickup-vfx-v1.png);background-repeat:no-repeat;background-size:200% 200%;width:clamp(118px,31vmin,238px);animation:.82s cubic-bezier(.16,.78,.2,1) both item-pickup-vfx-pop;position:absolute;top:43%;left:50%;translate:-50% -50%}.app-shell.phase-playing .item-pickup-screen-effect.is-gold .item-pickup-screen-vfx{background-position:0 0}.app-shell.phase-playing .item-pickup-screen-effect.is-time .item-pickup-screen-vfx{background-position:100% 0}.app-shell.phase-playing .item-pickup-screen-effect.is-freeze .item-pickup-screen-vfx{background-position:0 100%}.app-shell.phase-playing .item-pickup-screen-effect.is-speed .item-pickup-screen-vfx{background-position:100% 100%}.app-shell.phase-playing .item-effects{z-index:54;top:calc(var(--game-safe-top) + 64px);right:max(12px, env(safe-area-inset-right));color:#ecffff;-webkit-text-stroke:.75px #020712f5;paint-order:stroke fill;text-shadow:0 1px 3px #020713;pointer-events:none;justify-items:end;gap:2px;font-size:10px;font-weight:900;display:grid;position:absolute}.app-shell.phase-playing .item-effects span{align-items:center;gap:3px;display:flex}.app-shell.phase-playing .item-effects .item-effect-icon{filter:drop-shadow(0 0 4px #6aefffd1);background-image:url(/items/item-atlas-v2.png);background-repeat:no-repeat;background-size:200% 200%;flex:0 0 17px;width:17px;height:17px}.app-shell.phase-playing .item-effects .item-effect-freeze{background-position:0 100%}.app-shell.phase-playing .item-effects .item-effect-speed{background-position:100% 100%}.app-shell.phase-playing .reward-layer,.app-shell.phase-paused .reward-layer,.app-shell.phase-hit .reward-layer,.app-shell.phase-clear .reward-layer,.app-shell.phase-gameover .reward-layer{will-change:transform;transform-origin:0 0!important;transform:var(--camera-transform)!important;background-position:50%,50%!important;background-repeat:no-repeat!important;background-size:cover,cover!important}.result-gold b,.wallet-total{color:#ffe58a}@media (width<=340px){.app-shell.phase-playing .hud-stats{gap:2px;grid-template-columns:minmax(0,1.03fr) minmax(52px,1.02fr) minmax(34px,.58fr) minmax(25px,.44fr)!important}.app-shell.phase-playing .hud-stats>div,.app-shell.phase-playing.is-mobile-session .hud-stats>div{grid-template-columns:17px minmax(0,1fr);column-gap:2px}.app-shell.phase-playing .hud-stats .ui-atlas-icon{flex-basis:17px;width:17px;height:17px}.app-shell.phase-playing .hud-stats b,.app-shell.phase-playing .hud-gold b{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;overflow:hidden}.app-shell.phase-playing .hud-progress-stat b i{font-size:8px}.app-shell.phase-playing .hud-time b{text-overflow:clip;font-size:11px;overflow:visible}.app-shell.phase-playing .hud-gold{grid-template-columns:minmax(0,1fr)}.app-shell.phase-playing .hud-gold .ui-atlas-icon{display:none}}@keyframes combo-pop-in{0%{opacity:0;translate:-50% 7px;scale:.84}}@keyframes item-toast-in{0%{opacity:0;translate:-50% 6px}}@keyframes item-pickup-flash{0%{opacity:0}18%{opacity:1}to{opacity:0}}@keyframes item-pickup-vfx-pop{0%{opacity:0;rotate:-8deg;scale:.3}24%{opacity:1;rotate:2deg;scale:1.06}to{opacity:0;rotate:7deg;scale:1.48}}@media (prefers-reduced-motion:reduce){.app-shell.phase-playing .combo-pop,.app-shell.phase-playing .item-toast,.app-shell.phase-playing .item-pickup-screen-effect:before,.app-shell.phase-playing .item-pickup-screen-vfx{animation:none}.app-shell.phase-playing .item-pickup-screen-effect{opacity:.48}}.app-shell .orientation-lock{display:none!important}@media (orientation:landscape) and (height<=600px) and (pointer:coarse) and (hover:none){.app-shell .game-design-surface{visibility:visible!important;pointer-events:auto!important}}@media (width>=1024px) and (aspect-ratio>=4/3) and (hover:hover) and (pointer:fine){.app-shell .game-design-surface{background:radial-gradient(circle at 50% 18%,#5bc0d826,#0000 34%),linear-gradient(135deg,#07152d,#030915 72%);aspect-ratio:auto!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;box-shadow:none!important;overflow:hidden!important}.app-shell .game-layout,.app-shell.is-mobile-session .game-layout{box-sizing:border-box;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(280px,1fr) auto minmax(280px,1fr);align-items:center;gap:clamp(12px,1.25vw,20px);overflow:hidden;width:100%!important;max-width:none!important;height:100%!important;margin:0!important;padding:clamp(16px,1.5vw,24px)!important;display:grid!important;position:absolute!important;inset:0!important}.app-shell .game-column,.app-shell.is-mobile-session .game-column{display:contents!important;position:static!important;inset:auto!important}.app-shell .game-card{contain:layout paint;grid-area:1/2;place-self:center;aspect-ratio:6/13!important;width:auto!important;max-width:100%!important;height:min(100%,1040px)!important;max-height:100%!important;position:relative!important;inset:auto!important;overflow:hidden!important;box-shadow:0 0 0 1px #76e7f147,0 24px 70px #00000080!important}.app-shell .controls,.app-shell.is-mobile-session .controls{pointer-events:auto;border-radius:22px;flex-direction:column;grid-area:1/1;place-self:center end;align-items:stretch;gap:14px;min-height:0;background:linear-gradient(155deg,#0b2340f5,#051226f5)!important;border:1px solid #7edae657!important;width:min(100%,320px)!important;height:auto!important;padding:18px!important;display:flex!important;position:relative!important;inset:auto!important;translate:none!important;box-shadow:0 20px 55px #00000057!important}.app-shell .control-copy{color:#e9fbff;display:block!important}.app-shell .control-copy>span,.app-shell .control-copy>p{display:block!important}.app-shell .control-copy>span{color:#78e8f2}.app-shell .control-copy p,.app-shell .control-copy b{color:#dcecf3}.app-shell .control-copy p{margin:7px 0 0;font-size:12px;line-height:1.55}.app-shell .gesture-guide,.app-shell.phase-playing .gesture-guide{border-radius:18px;flex:none;width:100%;max-width:none;height:52px;padding:7px 10px;background:#041227ad!important;border:1px solid #7edae66b!important}.app-shell .direction-assist{align-self:flex-end}.app-shell .stage-panel{background:linear-gradient(155deg,#0b2340f5,#051226f5);border:1px solid #7edae657;border-radius:22px;flex-direction:column;grid-area:1/3;place-self:center start;min-height:0;overflow:hidden;box-shadow:0 20px 55px #00000057;width:min(100%,360px)!important;height:min(100%,1040px)!important;max-height:100%!important;display:flex!important;position:relative!important;inset:auto!important}.app-shell .stage-panel .panel-heading,.app-shell .stage-panel .assist-card,.app-shell .stage-panel .legend-card{flex:none}.app-shell .stage-panel .panel-heading{background:linear-gradient(145deg,#0f2f4ffa,#071931fa);border-bottom-color:#7edae63d}.app-shell .stage-panel .panel-heading h2,.app-shell .stage-panel .assist-card b,.app-shell .stage-panel .legend-card h3,.app-shell .stage-panel .legend-row b{color:#f3fbff}.app-shell .stage-panel .panel-heading>span{color:#c9f8ff;background:#041227b8;border-color:#7edae661}.app-shell .stage-list{overscroll-behavior:contain;scrollbar-color:#7edae680 transparent;background:#030e1f75;flex:auto;min-height:0;overflow:auto}.app-shell .stage-panel .stage-item{color:#e8f7fb;background:#09203ce6;border-color:#7edae633}.app-shell .stage-panel .stage-item.is-selected{background:linear-gradient(145deg,#594020f0,#103047f0);border-color:#ffd76dad}.app-shell .stage-panel .stage-info small,.app-shell .stage-panel .stage-status,.app-shell .stage-panel .assist-card small,.app-shell .stage-panel .assist-card p,.app-shell .stage-panel .legend-row span{color:#abc7d4}.app-shell .stage-panel .stage-info b{color:#effcff}.app-shell .stage-panel .assist-card,.app-shell .stage-panel .legend-card{color:#dbeef4;background:#05162de6;border-color:#7edae638}.game-design-surface .title-screen{background-position:50% 42%!important;background-size:cover!important;width:100%!important;height:100%!important}.game-design-surface .title-hero{width:clamp(330px,32vw,560px);height:82%;bottom:3%}.game-design-surface .title-hero-left{left:2%}.game-design-surface .title-hero-right{right:2%}.game-design-surface .title-logo-lockup{width:min(32vw,430px);top:3%}.game-design-surface .title-logo-lockup p{font-size:clamp(9px,.9vw,12px)}.game-design-surface .title-screen-actions{width:min(390px,31vw);margin:0;bottom:4%;left:50%;right:auto;translate:-50%}.game-design-surface .title-enemy-pair{bottom:8%;right:4%}.game-design-surface .title-enemy-pair img{width:clamp(58px,6vw,94px)}}@media (orientation:landscape){.app-shell{--landscape-top:max(8px, env(safe-area-inset-top));--landscape-right:max(10px, env(safe-area-inset-right));--landscape-bottom:max(8px, env(safe-area-inset-bottom));--landscape-left:max(10px, env(safe-area-inset-left))}.app-shell .game-design-surface{aspect-ratio:auto!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;box-shadow:none!important;overflow:hidden!important}.app-shell .game-layout,.app-shell.is-mobile-session .game-layout{width:100%!important;max-width:none!important;height:100%!important;margin:0!important;padding:0!important;display:block!important;position:absolute!important;inset:0!important;overflow:hidden!important}.app-shell .game-column,.app-shell.is-mobile-session .game-column{width:100%!important;height:100%!important;display:block!important;position:absolute!important;inset:0!important}.app-shell .game-card,.app-shell.is-mobile-session .game-card{contain:layout paint;aspect-ratio:auto!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;box-shadow:none!important;grid-area:auto!important;place-self:stretch stretch!important;position:absolute!important;inset:0!important;overflow:hidden!important}.app-shell .stage-panel{display:none!important}.app-shell .board-wrap,.app-shell.is-mobile-session .board-wrap{aspect-ratio:auto!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;position:absolute!important;inset:0!important;translate:none!important}.app-shell.phase-playing .hud,.app-shell.phase-playing.is-mobile-session .hud{top:var(--landscape-top)!important;bottom:auto!important;right:auto!important;left:var(--landscape-left)!important;width:min(58vw,560px)!important}.app-shell.phase-playing .progress-track,.app-shell.phase-playing.is-mobile-session .progress-track{top:calc(var(--landscape-top) + 38px)!important;right:auto!important;left:var(--landscape-left)!important;width:min(58vw,560px)!important}.game-design-surface>.game-menu-trigger{top:var(--landscape-top)!important;right:var(--landscape-right)!important}.game-design-surface>.game-action-dock{top:calc(var(--landscape-top) + var(--ui-control-size) + 8px)!important;right:var(--landscape-right)!important;bottom:auto!important}.app-shell .controls,.app-shell.is-mobile-session .controls{inset:auto!important;right:var(--landscape-right)!important;bottom:var(--landscape-bottom)!important;width:min(44vw,360px)!important;height:52px!important;min-height:52px!important;box-shadow:none!important;background:0 0!important;border:0!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;padding:0!important;display:flex!important;position:absolute!important;left:auto!important;translate:none!important}.app-shell .control-copy{display:none!important}.app-shell .score-row,.app-shell.is-mobile-session .score-row{right:auto!important;bottom:var(--landscape-bottom)!important;left:var(--landscape-left)!important;width:min(38vw,280px)!important}.app-shell .ready-modal{padding:max(48px, calc(env(safe-area-inset-top) + 38px)) max(24px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left))!important}.game-design-surface .title-hero{width:min(40%,520px);height:85%;bottom:1%}.game-design-surface .title-hero-left{left:1%}.game-design-surface .title-hero-right{right:1%}.game-design-surface .title-logo-lockup{width:min(34%,390px);top:2%}.game-design-surface .title-screen-actions{width:min(400px,42%);margin:0;bottom:3%;left:50%;right:auto;translate:-50%}.game-design-surface .title-enemy-pair{bottom:5%;right:3%}}.app-shell.phase-playing .reward-layer,.app-shell.phase-paused .reward-layer,.app-shell.phase-hit .reward-layer,.app-shell.phase-clear .reward-layer,.app-shell.phase-gameover .reward-layer{will-change:auto;opacity:0!important;transform:none!important}.app-shell.phase-playing .territory-minimap{--minimap-width:clamp(44px, 6.5vmin, 60px);z-index:64;width:var(--minimap-width);aspect-ratio:48/104;pointer-events:none;background:#081426;border:2px solid #ffeca4d1;border-radius:9px;margin:0;overflow:hidden;box-shadow:inset 0 0 0 1px #041122b8,0 0 12px #59e0ee29;right:auto!important;bottom:calc(var(--game-safe-bottom) + var(--control-lane-height) + 8px)!important;left:var(--ui-edge-left)!important;visibility:visible!important;opacity:1!important;position:absolute!important}.app-shell.phase-playing .territory-minimap canvas{width:100%;height:100%;image-rendering:pixelated;display:block}.game-design-surface>.game-pause-trigger{z-index:95;top:var(--game-safe-top);right:calc(var(--ui-edge-right) + var(--ui-control-size) + var(--ui-control-gap));width:var(--ui-control-size);height:var(--ui-control-size);color:#fff;box-shadow:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;overflow:hidden}.game-pause-trigger .ui-atlas-icon{width:var(--ui-control-size);height:var(--ui-control-size);flex:0 0 var(--ui-control-size)}.game-pause-trigger small{display:none}.game-pause-trigger:active{filter:brightness(1.14);scale:.96}.app-shell.phase-playing .progress-track,.app-shell.phase-playing.is-mobile-session .progress-track{pointer-events:none;min-height:18px;overflow:hidden;background:#030d1dc7!important;border:2px solid #fff5bec7!important;border-radius:999px!important;height:18px!important;box-shadow:0 0 0 2px #041225c2,inset 0 1px 4px #000000b8,0 4px 10px #00000047!important}.app-shell.phase-playing .progress-track>.progress-fill{border-radius:inherit;height:100%;transition:width .16s linear;position:absolute;inset:0 auto 0 0;box-shadow:inset 0 1px #ffffff7a,0 0 8px #80dce6c7}.app-shell.phase-playing .progress-value{z-index:2;color:#fff9dc;-webkit-text-stroke:.55px #020712f2;paint-order:stroke fill;text-shadow:0 1px 2px #020713;justify-content:flex-end;align-items:center;font-size:9px;font-weight:950;line-height:1;display:flex;position:absolute;inset:0 8px}.app-shell.phase-playing .progress-value small{color:#d8f9ff;margin-left:3px;font-size:7px}@media (orientation:landscape){.app-shell.phase-playing .territory-minimap{bottom:var(--landscape-bottom)!important;left:var(--landscape-left)!important}.game-design-surface>.game-pause-trigger{top:var(--landscape-top);right:calc(var(--landscape-right) + var(--ui-control-size) + var(--ui-control-gap))}.app-shell.phase-playing .progress-track,.app-shell.phase-playing.is-mobile-session .progress-track{top:calc(var(--landscape-top) + 38px)!important}}@media (orientation:portrait){.app-shell.phase-playing .hud,.app-shell.phase-playing.is-mobile-session .hud,.app-shell.phase-playing .progress-track,.app-shell.phase-playing.is-mobile-session .progress-track{right:calc(var(--ui-edge-right) + (var(--ui-control-size) * 2) + (var(--ui-control-gap) * 2))!important}.app-shell .game-design-surface .novel-scene-card:not(.is-reward):not(:has(>.novel-interface[data-mask-editor=true])) .novel-portrait-motion{inset:0}.app-shell .game-design-surface .novel-scene-card:not(.is-reward):not(:has(>.novel-interface[data-mask-editor=true])) :is(.novel-portrait-video,.novel-portrait-motion>.novel-portrait-image){object-fit:contain;object-position:center bottom}.app-shell .game-design-surface .novel-scene-card:not(.is-reward):not(:has(>.novel-interface[data-mask-editor=true])) .novel-vignette{background:linear-gradient(#02071300 0 68%,#0207131f 78%,#0207139e 91%,#020713f0 100%),linear-gradient(90deg,#0207131a,#0000 28% 78%,#02071314)}.app-shell .game-design-surface .novel-interface:not([data-mask-editor=true]){bottom:max(6px, env(safe-area-inset-bottom));gap:4px;min-height:clamp(112px,12cqh,190px);max-height:min(18%,190px);padding:8px 10px}.app-shell .game-design-surface .novel-interface:not([data-mask-editor=true]) .novel-speaker-row{gap:6px;padding-bottom:3px}.app-shell .game-design-surface .novel-interface:not([data-mask-editor=true]) .novel-nameplate{font-size:clamp(18px,4.8cqw,28px)}.app-shell .game-design-surface .novel-interface:not([data-mask-editor=true]) .novel-affection{min-height:28px;padding:3px 7px}.app-shell .game-design-surface .novel-interface:not([data-mask-editor=true]) .novel-line{flex:0 auto;max-height:54px;padding:1px 2px;font-size:clamp(12px,3.5cqw,15px);line-height:1.42}.app-shell .game-design-surface .novel-interface:not([data-mask-editor=true]) .novel-next{min-height:40px;padding-block:7px}}.game-design-surface .title-screen-actions{width:min(100% - 28px,430px);max-width:430px;margin:0;left:50%;right:auto;translate:-50%}.game-design-surface .title-enemy-pair img{aspect-ratio:1;object-fit:contain;width:clamp(72px,12vw,120px);height:auto}.app-shell .board-wrap,.app-shell.is-mobile-session .board-wrap{container:board-surface/size}.app-shell .ready-actions{grid-template-columns:minmax(92px,.42fr) minmax(0,.58fr);justify-content:center;width:min(100%,480px);margin-inline:auto}.app-shell.phase-playing .territory-minimap{--minimap-width:clamp(78px, 12vmin, 126px)}.app-shell.phase-playing .game-zoom-controls{--game-zoom-button:clamp(36px, 6.6vmin, 42px);--game-zoom-meter-width:clamp(92px, 23vmin, 132px);z-index:66;bottom:calc(var(--game-safe-bottom) + var(--control-lane-height) + 8px);left:calc(var(--ui-edge-left) + clamp(78px, 12vmin, 126px) + 8px);grid-template-columns:var(--game-zoom-button) var(--game-zoom-meter-width);height:var(--game-zoom-button);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:0 0;border:0;border-radius:0;align-items:center;gap:5px;padding:0;display:grid;position:absolute}.app-shell.phase-playing .game-zoom-controls>button{width:var(--game-zoom-button);min-width:var(--game-zoom-button);color:#fff4ba;height:100%;box-shadow:none;filter:drop-shadow(0 1px 2px #000814f2)drop-shadow(0 0 4px #54d6ff85);pointer-events:auto;touch-action:manipulation;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.app-shell.phase-playing .game-zoom-controls>button:active:not(:disabled){filter:brightness(1.18)drop-shadow(0 1px 2px #000814f2)drop-shadow(0 0 4px #54d6ffa6);transform:scale(.9)}.app-shell.phase-playing .game-zoom-controls>button:focus-visible,.app-shell.phase-playing .game-zoom-slider:focus-visible{outline-offset:2px;outline:2px solid #7ee9ff}.app-shell.phase-playing .game-zoom-controls>.game-zoom-reset{width:var(--game-zoom-button);min-width:var(--game-zoom-button)}.app-shell.phase-playing .game-zoom-icon{aspect-ratio:1;border:2px solid;border-radius:50%;width:clamp(15px,2.7vmin,18px);display:block;position:relative}.app-shell.phase-playing .game-zoom-icon:after{content:"";transform-origin:50%;background:currentColor;border-radius:999px;width:56%;height:2px;position:absolute;bottom:-18%;right:-31%;transform:rotate(45deg)}.app-shell.phase-playing .game-zoom-meter{width:var(--game-zoom-meter-width);grid-template-rows:minmax(12px,1fr) 10px;align-items:center;gap:2px;min-width:0;height:100%;padding:3px 2px 4px 0;display:grid}.app-shell.phase-playing .game-zoom-value{color:#fff5c9;letter-spacing:.02em;text-shadow:0 1px 2px #02101f,0 0 5px #54d6ff85;justify-self:end;font:900 12px/1 system-ui,sans-serif}.app-shell.phase-playing .game-zoom-progress{pointer-events:none;background:#76c4dd33;border:1px solid #7ee9ff8a;border-radius:999px;width:100%;height:9px;position:relative;overflow:hidden;box-shadow:inset 0 1px 3px #0000008c}.app-shell.phase-playing .game-zoom-progress-fill{width:clamp(0%, var(--game-zoom-fill), 100%);border-radius:inherit;background:linear-gradient(90deg,#5eddf2 0%,#ffe98b 72%,#ff9f52 100%);height:100%;display:block;box-shadow:0 0 8px #ffe2709e}.app-shell.phase-playing .game-zoom-slider{appearance:none;cursor:pointer;pointer-events:auto;background:0 0;width:100%;height:12px;margin:0;display:none}.app-shell.phase-playing .game-zoom-slider::-webkit-slider-runnable-track{background:linear-gradient(90deg, #5eddf2 0%, #ffe98b var(--game-zoom-fill), #76c4dd33 var(--game-zoom-fill), #76c4dd33 100%);border:1px solid #7ee9ff8a;border-radius:999px;height:8px;box-shadow:inset 0 1px 3px #0000008c}.app-shell.phase-playing .game-zoom-slider::-webkit-slider-thumb{appearance:none;background:#ffad52;border:2px solid #fff8d8;border-radius:50%;width:16px;height:16px;margin-top:-5px;box-shadow:0 1px 5px #0000008c,0 0 7px #ffe075b8}.app-shell.phase-playing .game-zoom-slider::-moz-range-track{background:#76c4dd33;border:1px solid #7ee9ff8a;border-radius:999px;height:8px;box-shadow:inset 0 1px 3px #0000008c}.app-shell.phase-playing .game-zoom-slider::-moz-range-progress{background:linear-gradient(90deg,#5eddf2,#ffe98b 72%,#ff9f52);border-radius:999px;height:8px}.app-shell.phase-playing .game-zoom-slider::-moz-range-thumb{background:#ffad52;border:2px solid #fff8d8;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 5px #0000008c,0 0 7px #ffe075b8}@media (hover:hover) and (pointer:fine){.app-shell.phase-playing .game-zoom-progress{display:none}.app-shell.phase-playing .game-zoom-slider{display:block}}@media (orientation:landscape){.app-shell.phase-playing .game-zoom-controls{bottom:var(--landscape-bottom);left:calc(var(--landscape-left) + clamp(78px, 12vmin, 126px) + 8px)}}@container board-surface (aspect-ratio>=1){.app-shell.phase-ready .reward-layer{background-size:auto 180%,cover}}.game-design-surface .title-screen{--title-hero-left-top:18%;--title-hero-left-height:105%;--title-hero-left-shift:-24%;--title-hero-right-top:20%;--title-hero-right-height:112%;--title-hero-right-shift:22%}.game-design-surface .title-hero{object-fit:contain;object-position:center top;width:auto;max-width:none;bottom:auto}.game-design-surface .title-hero-left{top:var(--title-hero-left-top);height:var(--title-hero-left-height);transform:translateX(var(--title-hero-left-shift));left:0;right:auto}.game-design-surface .title-hero-right{top:var(--title-hero-right-top);height:var(--title-hero-right-height);transform:translateX(var(--title-hero-right-shift));left:auto;right:0}@media (orientation:landscape){.game-design-surface .title-screen{--title-hero-left-top:1.5%;--title-hero-left-height:148%;--title-hero-left-shift:-18%;--title-hero-right-top:5.5%;--title-hero-right-height:155%;--title-hero-right-shift:14%}}@media (width>=1024px) and (hover:hover) and (pointer:fine){.app-shell .game-design-surface{--desktop-edge:clamp(14px, 1.3cqh, 28px);--desktop-gap:clamp(8px, .74cqh, 16px);--desktop-hud-height:clamp(42px, 4.17cqh, 90px);--desktop-progress-height:clamp(18px, 1.67cqh, 36px);--ui-edge-left:max(var(--desktop-edge), env(safe-area-inset-left));--ui-edge-right:max(var(--desktop-edge), env(safe-area-inset-right));--ui-control-size:clamp(48px, 4.45cqh, 96px);--ui-control-gap:var(--desktop-gap);--game-safe-top:max(var(--desktop-edge), env(safe-area-inset-top));--game-safe-bottom:max(var(--desktop-edge), env(safe-area-inset-bottom));--control-lane-height:var(--ui-control-size);aspect-ratio:auto!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;overflow:hidden!important}.app-shell .game-design-surface>.game-layout,.app-shell.is-mobile-session .game-design-surface>.game-layout,.app-shell .game-design-surface .game-column,.app-shell.is-mobile-session .game-design-surface .game-column,.app-shell .game-design-surface .game-card,.app-shell.is-mobile-session .game-design-surface .game-card,.app-shell .game-design-surface .board-wrap,.app-shell.is-mobile-session .game-design-surface .board-wrap{aspect-ratio:auto!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;margin:0!important;padding:0!important;position:absolute!important;inset:0!important;translate:none!important}.app-shell .game-design-surface>.game-layout,.app-shell.is-mobile-session .game-design-surface>.game-layout,.app-shell .game-design-surface .game-column,.app-shell.is-mobile-session .game-design-surface .game-column{display:block!important}.app-shell .game-design-surface .game-card,.app-shell.is-mobile-session .game-design-surface .game-card{box-shadow:none!important;place-self:stretch stretch!important;overflow:hidden!important}.app-shell .game-design-surface .stage-panel{display:none!important}.app-shell .game-design-surface .title-logo-lockup{width:clamp(430px,22cqw,860px);max-width:none;top:clamp(20px,2.4cqh,52px)}.app-shell .game-design-surface .title-logo-lockup p{letter-spacing:clamp(.18em,.28cqw,.42em);font-size:clamp(12px,.72cqw,26px)}.app-shell .game-design-surface .title-screen-actions{--title-utility-size:clamp(48px, 4.45cqh, 96px);width:clamp(520px,38cqw,980px);max-width:calc(100% - var(--desktop-edge) - var(--desktop-edge));grid-template-columns:minmax(0, 1fr) var(--title-utility-size) var(--title-utility-size);gap:var(--desktop-gap);grid-template-rows:auto clamp(64px,5.93cqh,128px);margin:0;bottom:clamp(30px,4cqh,86px);left:50%;right:auto;translate:-50%}.app-shell .game-design-surface .title-screen-actions>span{font-size:clamp(9px,.65cqw,22px)}.app-shell .game-design-surface .title-start-button{min-height:clamp(64px,5.93cqh,128px);padding:clamp(8px, .74cqh, 16px) calc(var(--title-utility-size) + var(--desktop-gap)) clamp(8px, .74cqh, 16px) clamp(17px, 1.58cqh, 34px);border-radius:clamp(20px,1.85cqh,40px)}.app-shell .game-design-surface .title-start-button small{font-size:clamp(8px,.74cqh,16px)}.app-shell .game-design-surface .title-start-button b{font-size:clamp(24px,1.05cqw,42px)}.app-shell .game-design-surface .title-start-button i{right:var(--desktop-gap)}.app-shell .game-design-surface .title-start-button i,.app-shell .game-design-surface .title-start-button i .ui-atlas-icon{flex-basis:clamp(34px,3.15cqh,68px);width:clamp(34px,3.15cqh,68px);height:clamp(34px,3.15cqh,68px)}.app-shell .game-design-surface .title-sub-actions button,.app-shell .game-design-surface .title-sub-actions button .ui-atlas-icon{width:var(--title-utility-size);height:var(--title-utility-size)}.app-shell.phase-playing .game-design-surface .hud,.app-shell.phase-playing.is-mobile-session .game-design-surface .hud{height:var(--desktop-hud-height);min-height:var(--desktop-hud-height);top:var(--game-safe-top)!important;bottom:auto!important;right:auto!important;left:var(--ui-edge-left)!important;width:clamp(560px,52cqw,1800px)!important}.app-shell.phase-playing .game-design-surface .hud-stats{height:var(--desktop-hud-height);gap:clamp(4px,.37cqh,8px)}.app-shell.phase-playing .game-design-surface .hud-stats>div,.app-shell.phase-playing.is-mobile-session .game-design-surface .hud-stats>div,.app-shell.phase-playing .game-design-surface .hud-stats>.hud-time,.app-shell.phase-playing .game-design-surface .hud-stats>.hud-time.is-warning,.app-shell.phase-playing .game-design-surface .hud-stats>.hud-time.is-critical{height:var(--desktop-hud-height);min-height:var(--desktop-hud-height);grid-template-columns:clamp(20px,1.85cqh,40px) minmax(0,1fr);column-gap:clamp(3px,.28cqh,6px)}.app-shell.phase-playing .game-design-surface .hud-stats .ui-atlas-icon{flex-basis:clamp(20px,1.85cqh,40px);width:clamp(20px,1.85cqh,40px);height:clamp(20px,1.85cqh,40px)}.app-shell.phase-playing .game-design-surface .hud-stats b,.app-shell.phase-playing .game-design-surface .hud-gold b{-webkit-text-stroke-width:clamp(1px, .07cqh, 1.5px);font-size:clamp(13px,1.2cqh,26px)}.app-shell.phase-playing .game-design-surface .hud-lives b small{font-size:clamp(12px,1.11cqh,24px)}.app-shell.phase-playing .game-design-surface .hud-progress-stat b i,.app-shell.phase-playing .game-design-surface .hud-progress-stat b small{font-size:clamp(8px,.74cqh,16px)}.app-shell.phase-playing .game-design-surface .progress-track,.app-shell.phase-playing.is-mobile-session .game-design-surface .progress-track{min-height:var(--desktop-progress-height);top:calc(var(--game-safe-top) + var(--desktop-hud-height) + var(--desktop-gap))!important;right:auto!important;left:var(--ui-edge-left)!important;width:clamp(560px,52cqw,1800px)!important;height:var(--desktop-progress-height)!important;border-width:clamp(2px,.14cqh,3px)!important}.app-shell.phase-playing .game-design-surface .progress-value{font-size:clamp(9px,.84cqh,18px);inset-inline:clamp(8px,.74cqh,16px)}.app-shell.phase-playing .game-design-surface .progress-value small{margin-left:clamp(3px,.28cqh,6px);font-size:clamp(7px,.65cqh,14px)}.game-design-surface>.game-menu-trigger,.game-design-surface>.game-pause-trigger{top:var(--game-safe-top)!important}.game-design-surface>.game-menu-trigger{right:var(--ui-edge-right)!important}.game-design-surface>.game-pause-trigger{right:calc(var(--ui-edge-right) + var(--ui-control-size) + var(--ui-control-gap))}.game-design-surface>.game-action-dock{border-radius:clamp(20px,1.85cqh,40px);gap:clamp(5px,.46cqh,10px);width:clamp(164px,15.2cqh,328px);padding:clamp(8px,.74cqh,16px);top:calc(var(--game-safe-top) + var(--ui-control-size) + var(--ui-control-gap))!important;right:var(--ui-edge-right)!important}.game-design-surface>.game-action-dock button{min-height:var(--ui-control-size);grid-template-columns:clamp(34px,3.15cqh,68px) minmax(0,1fr) auto;column-gap:clamp(6px,.56cqh,12px);font-size:clamp(10px,.93cqh,20px)}.game-design-surface>.game-action-dock button .ui-atlas-icon{flex-basis:clamp(34px,3.15cqh,68px);width:clamp(34px,3.15cqh,68px);height:clamp(34px,3.15cqh,68px)}.app-shell .game-design-surface .controls,.app-shell.is-mobile-session .game-design-surface .controls{gap:var(--desktop-gap);inset:auto!important;right:var(--ui-edge-right)!important;bottom:var(--game-safe-bottom)!important;width:clamp(360px,24cqw,720px)!important;height:var(--ui-control-size)!important;min-height:var(--ui-control-size)!important;box-shadow:none!important;background:0 0!important;border:0!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;padding:0!important;display:flex!important;position:absolute!important;left:auto!important;translate:none!important}.app-shell .game-design-surface .control-copy{display:none!important}.app-shell .game-design-surface .gesture-guide,.app-shell.phase-playing .game-design-surface .gesture-guide{width:auto;max-width:calc(100% - var(--ui-control-size) - var(--desktop-gap));height:var(--ui-control-size);border-radius:clamp(18px,1.67cqh,36px);flex:auto;gap:clamp(6px,.56cqh,12px);padding-inline:clamp(10px,.93cqh,20px)}.app-shell.phase-playing .game-design-surface .gesture-guide>span{flex-basis:clamp(30px,2.78cqh,60px);width:clamp(30px,2.78cqh,60px);height:clamp(30px,2.78cqh,60px);font-size:clamp(13px,1.2cqh,26px)}.app-shell.phase-playing .game-design-surface .gesture-guide b{font-size:clamp(12px,1.11cqh,24px)}.app-shell .game-design-surface .direction-assist{width:var(--ui-control-size);height:var(--ui-control-size);flex-basis:var(--ui-control-size)}.app-shell .game-design-surface .direction-assist .mobile-pad{right:0;bottom:calc(100% + var(--desktop-gap));width:clamp(146px,13.52cqh,292px);height:clamp(146px,13.52cqh,292px)}.app-shell.phase-playing .game-design-surface .territory-minimap{--minimap-width:clamp(96px, 8.5cqh, 190px);border-width:clamp(2px,.14cqh,3px);border-radius:clamp(9px,.84cqh,18px);right:auto!important;bottom:var(--game-safe-bottom)!important;left:var(--ui-edge-left)!important}.app-shell.phase-playing .game-design-surface .game-zoom-controls{--game-zoom-button:clamp(44px, 3.34cqh, 64px);--game-zoom-meter-width:clamp(140px, 12.96cqh, 280px);bottom:var(--game-safe-bottom);left:calc(var(--ui-edge-left) + clamp(96px, 8.5cqh, 190px) + var(--desktop-gap));height:var(--game-zoom-button);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;gap:clamp(5px,.46cqh,10px);padding:0}.app-shell.phase-playing .game-design-surface .game-zoom-controls>button{box-shadow:none;background:0 0;border-radius:50%}.app-shell.phase-playing .game-design-surface .game-zoom-controls>.game-zoom-reset{width:var(--game-zoom-button);min-width:var(--game-zoom-button)}.app-shell.phase-playing .game-design-surface .game-zoom-meter{grid-template-rows:minmax(clamp(12px,1.11cqh,24px),1fr) clamp(10px,.93cqh,20px);gap:clamp(2px,.19cqh,4px);padding:clamp(3px,.28cqh,6px) clamp(2px,.19cqh,4px) clamp(4px,.37cqh,8px) 0}.app-shell.phase-playing .game-design-surface .game-zoom-icon{border-width:clamp(2px,.14cqh,3px);width:clamp(18px,1.67cqh,24px)}.app-shell.phase-playing .game-design-surface .game-zoom-icon:after{height:clamp(2px,.14cqh,3px)}.app-shell.phase-playing .game-design-surface .game-zoom-value{font-size:clamp(12px,1.11cqh,24px)}.app-shell.phase-playing .game-design-surface .game-zoom-progress{border-width:clamp(1px,.1cqh,2px);height:clamp(9px,.84cqh,18px)}.app-shell.phase-playing .game-design-surface .game-zoom-slider{height:clamp(12px,1.11cqh,24px)}.app-shell.phase-playing .game-design-surface .game-zoom-slider::-webkit-slider-runnable-track{border-width:clamp(1px,.1cqh,2px);height:clamp(8px,.74cqh,16px)}.app-shell.phase-playing .game-design-surface .game-zoom-slider::-webkit-slider-thumb{border-width:clamp(2px,.19cqh,4px);width:clamp(16px,1.48cqh,32px);height:clamp(16px,1.48cqh,32px);margin-top:clamp(-10px,-.46cqh,-5px)}.app-shell.phase-playing .game-design-surface .game-zoom-slider::-moz-range-track{height:clamp(8px,.74cqh,16px)}.app-shell.phase-playing .game-design-surface .game-zoom-slider::-moz-range-progress{height:clamp(8px,.74cqh,16px)}.app-shell.phase-playing .game-design-surface .game-zoom-slider::-moz-range-thumb{border-width:clamp(2px,.19cqh,4px);width:clamp(14px,1.3cqh,28px);height:clamp(14px,1.3cqh,28px)}.app-shell .game-design-surface .ready-modal{padding:max(clamp(72px, 8cqh, 172px), calc(env(safe-area-inset-top) + 52px)) max(clamp(24px, 24cqw, 920px), env(safe-area-inset-right)) max(clamp(30px, 4cqh, 86px), env(safe-area-inset-bottom)) max(clamp(24px, 24cqw, 920px), env(safe-area-inset-left))!important}.app-shell .game-design-surface .ready-modal .modal-kicker{font-size:clamp(9px,.84cqh,18px)}.app-shell .game-design-surface .ready-modal h2{margin-block:clamp(5px,.46cqh,10px) clamp(12px,1.11cqh,24px);font-size:clamp(48px,4.45cqh,96px)}.app-shell .game-design-surface .ready-modal .mission-grid{gap:clamp(5px,.46cqh,10px);margin-bottom:clamp(8px,.74cqh,16px)}.app-shell .game-design-surface .ready-modal .mission-grid span{min-height:clamp(58px,5.37cqh,116px);padding:clamp(7px,.65cqh,14px) clamp(5px,.46cqh,10px)}.app-shell .game-design-surface .ready-modal .mission-grid small{font-size:clamp(8px,.74cqh,16px)}.app-shell .game-design-surface .ready-modal .mission-grid b{font-size:clamp(12px,1.11cqh,24px)}.app-shell .game-design-surface .ready-modal .mission-time b{font-size:clamp(18px,1.67cqh,36px)}.app-shell .game-design-surface .ready-modal .mission-time em,.app-shell .game-design-surface .ready-modal .mobile-ready-hint,.app-shell .game-design-surface .ready-modal .stage-tip{font-size:clamp(9px,.84cqh,18px)}.app-shell .game-design-surface .ready-actions{gap:var(--desktop-gap);width:clamp(480px,40cqw,1100px);max-width:100%}.app-shell .game-design-surface .ready-actions button,.app-shell .game-design-surface .ready-modal .primary-button{border-radius:clamp(18px,1.67cqh,36px);min-height:clamp(58px,5.37cqh,116px);font-size:clamp(15px,1.39cqh,30px)}.app-shell .game-design-surface .ready-actions button .ui-atlas-icon{flex-basis:clamp(22px,2.04cqh,44px);width:clamp(22px,2.04cqh,44px);height:clamp(22px,2.04cqh,44px)}}@media (width>=1024px) and (aspect-ratio>=4/3) and (hover:hover) and (pointer:fine){.app-shell .game-design-surface .novel-scene-card{--novel-copy-left:max(clamp(24px, 1.25cqh, 48px), env(safe-area-inset-left));--novel-copy-width:clamp(640px, 48cqw, 1600px)}.app-shell .game-design-surface .novel-topbar{right:auto;left:var(--novel-copy-left);width:var(--novel-copy-width);min-height:clamp(64px,5.93cqh,128px);padding:max(clamp(10px, .93cqh, 20px), env(safe-area-inset-top)) clamp(64px, 5.93cqh, 128px) clamp(8px, .74cqh, 16px) clamp(4px, .37cqh, 8px);gap:clamp(10px,.93cqh,20px)}.app-shell .game-design-surface .novel-topbar small{font-size:clamp(12px,.84cqh,18px)}.app-shell .game-design-surface .novel-topbar b{font-size:clamp(20px,1.1cqw,40px)}.app-shell .game-design-surface .novel-progress{font-size:clamp(12px,1.02cqh,22px)}.app-shell .game-design-surface .novel-close{top:max(clamp(8px, .74cqh, 16px), env(safe-area-inset-top));width:clamp(44px,4.08cqh,88px);min-width:clamp(44px,4.08cqh,88px);height:clamp(44px,4.08cqh,88px);min-height:clamp(44px,4.08cqh,88px);font-size:clamp(24px,2.22cqh,48px)}.app-shell .game-design-surface .novel-scene-card:not(.is-reward) .novel-portrait-motion{width:min(58%,72cqh);inset:0 0 0 auto;-webkit-mask-image:none;mask-image:none}.app-shell .game-design-surface .novel-scene-card:not(.is-reward) .novel-portrait-video,.app-shell .game-design-surface .novel-scene-card:not(.is-reward) .novel-portrait-motion>.novel-portrait-image{object-fit:contain;object-position:right bottom;-webkit-mask-image:none;mask-image:none}.app-shell .game-design-surface .novel-interface{right:auto;bottom:max(clamp(18px, 1.67cqh, 36px), env(safe-area-inset-bottom));left:var(--novel-copy-left);width:var(--novel-copy-width);min-height:clamp(220px,24cqh,520px);max-height:calc(100% - clamp(92px, 8.52cqh, 184px) - env(safe-area-inset-bottom));gap:clamp(12px,1.11cqh,24px);padding:clamp(16px,1.48cqh,32px) clamp(18px,1.67cqh,36px)}.app-shell .game-design-surface .novel-speaker-row{gap:clamp(10px,.93cqh,20px);padding-bottom:clamp(7px,.65cqh,14px)}.app-shell .game-design-surface .novel-nameplate{font-size:clamp(26px,1.55cqw,56px)}.app-shell .game-design-surface .novel-affection{gap:clamp(5px,.46cqh,10px);min-height:clamp(36px,3.33cqh,72px);padding:clamp(5px,.46cqh,10px) clamp(9px,.83cqh,18px);font-size:clamp(12px,.93cqh,20px)}.app-shell .game-design-surface .novel-affection .ui-atlas-icon{flex-basis:clamp(20px,1.85cqh,40px);width:clamp(20px,1.85cqh,40px);height:clamp(20px,1.85cqh,40px)}.app-shell .game-design-surface .novel-affection b{font-size:clamp(14px,1.3cqh,28px)}.app-shell .game-design-surface .novel-line{max-height:min(34cqh,420px);padding:clamp(2px,.19cqh,4px) clamp(3px,.28cqh,6px);font-size:clamp(17px,1.05cqw,34px);line-height:1.5}.app-shell .game-design-surface .novel-dialog .novel-next{border-radius:clamp(18px,1.67cqh,36px);gap:clamp(8px,.74cqh,16px);width:min(100%,clamp(220px,18cqw,480px));min-height:clamp(56px,5.19cqh,112px);font-size:clamp(14px,1.3cqh,28px)}.app-shell .game-design-surface .novel-dialog .novel-next .ui-atlas-icon{flex-basis:clamp(24px,2.22cqh,48px);width:clamp(24px,2.22cqh,48px);height:clamp(24px,2.22cqh,48px)}.app-shell .game-design-surface .novel-choice-panel{gap:clamp(7px,.65cqh,14px)}.app-shell .game-design-surface .novel-choice-panel>p{font-size:clamp(12px,1.11cqh,24px)}.app-shell .game-design-surface .novel-choice{gap:clamp(10px,.93cqh,20px);min-height:clamp(56px,5.19cqh,112px);padding:clamp(8px,.74cqh,16px) clamp(11px,1.02cqh,22px);font-size:clamp(13px,1.2cqh,26px)}.app-shell .game-design-surface .novel-choice span{flex-basis:clamp(27px,2.5cqh,54px);width:clamp(27px,2.5cqh,54px);height:clamp(27px,2.5cqh,54px)}}@container game-surface (aspect-ratio>=3/4) and (aspect-ratio<=4/3){.app-shell .game-design-surface .novel-scene-card:not(.is-reward):not(:has(>.novel-interface[data-mask-editor=true])) .novel-portrait-motion{inset:clamp(44px,6cqh,84px) max(8cqw,32px) clamp(160px,18cqh,230px)}.app-shell .game-design-surface .novel-scene-card:not(.is-reward) :is(.novel-portrait-video,.novel-portrait-motion>.novel-portrait-image){object-fit:contain;object-position:center bottom}.app-shell .game-design-surface .novel-interface:not([data-mask-editor=true]):has(.novel-choice-panel){min-height:clamp(220px,26cqh,320px);max-height:min(36%,320px)}.app-shell .game-design-surface .novel-choice-panel{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center}.app-shell .game-design-surface .novel-choice-panel>p{grid-column:1/-1}}@container game-surface (aspect-ratio<=3/4){.app-shell .game-design-surface .novel-interface:not([data-mask-editor=true]):has(.novel-choice-panel){min-height:clamp(230px,30cqh,340px);max-height:min(40%,340px)}.app-shell .game-design-surface .novel-choice-panel{grid-template-columns:minmax(0,1fr);align-content:center}.app-shell .game-design-surface .novel-choice-panel>p{grid-column:1}}.app-shell .game-design-surface .novel-scene-card.is-reward .novel-art{inset:0}.app-shell .game-design-surface .novel-scene-card.is-reward .novel-reward-image{object-fit:cover;object-position:center 22%;filter:saturate(1.06)contrast(1.03);width:100%;height:100%}.app-shell .game-design-surface .novel-scene-card.is-reward .novel-vignette{background:linear-gradient(#0000 0% 68%,#0207134d 82%,#020713d1 100%),linear-gradient(90deg,#02071314,#0000 18% 82%,#02071314)}.app-shell .game-design-surface .novel-scene-card.is-reward .novel-topbar{background:linear-gradient(#020918bd,#0000)}.app-shell .game-design-surface .novel-scene-card.is-reward>.novel-interface:not([data-mask-editor=true]){right:auto;bottom:max(12px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#0e1f40d1,#261438d1);border-radius:20px;gap:8px;width:min(100% - 24px,720px);min-height:0;max-height:none;padding:clamp(10px,1.2cqh,16px);left:50%;translate:-50%}.app-shell .game-design-surface .novel-scene-card.is-reward>.novel-interface:not([data-mask-editor=true]) .novel-speaker-row{display:none}.app-shell .game-design-surface .novel-scene-card.is-reward .novel-line.is-unlock{text-align:center;min-height:0;max-height:3.2em;margin:0;padding:0 4px;font-size:clamp(13px,1.7cqh,20px);line-height:1.45;overflow:hidden}.app-shell .game-design-surface .novel-scene-card.is-reward .novel-next{align-self:center;width:min(100%,360px);min-height:48px}.app-shell .game-design-surface .novel-scene-card.is-reward .novel-unlock-stamp{width:min(100% - 32px,320px);top:max(76px,10%)}.app-shell .game-design-surface .ready-actions:has(.auto-clear-button){grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .game-design-surface .ready-actions:has(.auto-clear-button) .primary-button{grid-column:1/-1}.app-shell .game-design-surface .auto-clear-button{color:#fff2b5;border-color:#ffdd7aad}@container game-surface (width>=720px) and (aspect-ratio>=4/3){.app-shell .game-design-surface .ready-actions:has(.auto-clear-button){grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell .game-design-surface .ready-actions:has(.auto-clear-button) .primary-button{grid-column:auto}}@media (width>=1024px) and (hover:hover) and (pointer:fine){.app-shell .game-design-surface{--desktop-hud-height:clamp(58px, 5.6cqh, 108px);--desktop-progress-height:clamp(30px, 2.8cqh, 54px)}.app-shell .game-design-surface .title-logo-lockup p{font-size:clamp(15px,.82cqw,28px)}.app-shell .game-design-surface .title-screen-actions>span,.app-shell .game-design-surface .title-start-button small{font-size:clamp(13px,.72cqw,20px)}.app-shell .game-design-surface .title-bundle-offer{min-height:48px;font-size:clamp(15px,.82cqw,20px)}.stage-picker-dialog .app-drawer-heading .eyebrow,.library-dialog .library-heading .eyebrow{font-size:clamp(13px,.72vw,17px)}.stage-picker-dialog .stage-picker-list{padding:14px max(28px, env(safe-area-inset-right)) 12px max(28px, env(safe-area-inset-left));grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stage-picker-dialog .stage-picker-card{grid-template-columns:50px minmax(0,1fr) minmax(72px,auto);gap:12px;min-height:90px;padding:12px 14px}.stage-picker-dialog .stage-picker-card>span{width:48px;height:48px;font-size:clamp(17px,.94vw,22px)}.stage-picker-dialog .stage-picker-card small{font-size:clamp(12px,.68vw,16px);line-height:1.35}.stage-picker-dialog .stage-picker-card b{font-size:clamp(16px,.94vw,22px);line-height:1.3}.stage-picker-dialog .stage-picker-card .stage-picker-status{text-align:center;white-space:nowrap;background:#041226b8;border:1px solid #7edae647;border-radius:999px;min-width:68px;padding:7px 9px;font-size:clamp(16px,.9vw,21px);line-height:1}.stage-picker-dialog .stage-picker-card:disabled,.stage-picker-dialog .stage-picker-card.is-locked{opacity:.62}.stage-picker-dialog .drawer-assist-toggle{min-height:68px;padding:11px 14px}.stage-picker-dialog .drawer-assist-toggle>span{width:44px;height:44px;font-size:17px}.stage-picker-dialog .drawer-assist-toggle b{font-size:clamp(15px,.82vw,19px)}.stage-picker-dialog .drawer-assist-toggle small{font-size:clamp(12px,.68vw,16px);line-height:1.4}.library-dialog .library-heading p:not(.eyebrow){font-size:clamp(14px,.78vw,18px);line-height:1.5}.library-dialog .library-heading-actions strong{font-size:clamp(17px,.94vw,22px)}.library-dialog .library-heading-actions strong small{font-size:clamp(12px,.68vw,16px)}.library-dialog .library-grid{padding:14px max(28px, env(safe-area-inset-right)) 16px max(28px, env(safe-area-inset-left));grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.library-dialog .library-card{gap:7px;padding:10px}.library-dialog .library-card-art>span,.library-dialog .library-cg-badge{font-size:clamp(12px,.68vw,16px)}.library-dialog .library-card>small,.library-dialog .library-cg-count{font-size:clamp(12px,.68vw,16px);line-height:1.35}.library-dialog .library-card>b{font-size:clamp(15px,.84vw,20px);line-height:1.3}.library-dialog .library-footnote{min-height:56px;padding:12px 30px max(14px, env(safe-area-inset-bottom));font-size:clamp(13px,.72vw,17px);line-height:1.5}.app-shell.phase-playing .game-design-surface .hud-stats span{font-size:clamp(13px,1.15cqh,22px);line-height:1.1}.app-shell.phase-playing .game-design-surface .hud-stats b,.app-shell.phase-playing .game-design-surface .hud-gold b{font-size:clamp(16px,1.45cqh,30px)}.app-shell.phase-playing .game-design-surface .hud-progress-stat b i,.app-shell.phase-playing .game-design-surface .hud-progress-stat b small,.app-shell.phase-playing .game-design-surface .hud-lives b small{font-size:clamp(12px,1.05cqh,22px)}.app-shell.phase-playing .game-design-surface .progress-value{font-size:clamp(16px,1.4cqh,30px);inset-inline:clamp(10px,.9cqh,18px)}.app-shell.phase-playing .game-design-surface .progress-value small{font-size:clamp(12px,1.05cqh,22px)}.app-shell.phase-playing .game-design-surface .hud-shield-state b{font-size:clamp(16px,1.4cqh,28px)}.app-shell.phase-playing .game-design-surface .hud-shield-state small{font-size:clamp(12px,1.05cqh,20px)}.game-design-surface>.game-action-dock{width:clamp(210px,17cqh,360px)}.game-design-surface>.game-action-dock button b{font-size:clamp(14px,1.2cqh,24px)}.game-design-surface>.game-action-dock button small{font-size:clamp(12px,1.05cqh,20px)}.app-shell.phase-playing .game-design-surface .game-zoom-value,.app-shell.phase-playing .game-design-surface .gesture-guide b{font-size:clamp(14px,1.2cqh,24px)}.app-shell.phase-playing .game-design-surface .gesture-guide small{font-size:clamp(12px,1.05cqh,20px)}.app-shell .game-design-surface .combo-pop small,.app-shell .game-design-surface .item-effects{font-size:12px}.app-shell .game-design-surface .item-toast,.app-shell .game-design-surface .board-curtain{font-size:14px}.app-shell .game-design-surface .ready-modal .modal-kicker,.app-shell .game-design-surface .ready-modal .mission-grid small{font-size:clamp(13px,1.15cqh,22px)}.app-shell .game-design-surface .ready-modal .mission-grid b{font-size:clamp(16px,1.4cqh,28px)}.app-shell .game-design-surface .ready-modal .mission-time em,.app-shell .game-design-surface .ready-modal .stage-tip{font-size:clamp(14px,1.25cqh,24px);line-height:1.45}.app-shell .game-design-surface .ready-actions button,.app-shell .game-design-surface .ready-modal .primary-button{font-size:clamp(17px,1.5cqh,30px)}.app-shell .game-design-surface .novel-topbar small,.app-shell .game-design-surface .novel-progress,.app-shell .game-design-surface .novel-affection{font-size:clamp(14px,1.2cqh,24px)}.app-shell .game-design-surface .novel-affection b{font-size:clamp(16px,1.4cqh,28px)}.app-shell .game-design-surface .novel-line{font-size:clamp(19px,1.12cqw,36px)}.app-shell .game-design-surface .novel-dialog .novel-next,.app-shell .game-design-surface .novel-choice{font-size:clamp(16px,1.4cqh,28px)}.app-shell .game-design-surface .novel-choice-panel>p{font-size:clamp(14px,1.2cqh,24px)}.stage-loading-card>p,.stage-loading-meta,.modal-kicker,.result-strip span,.assist-note{font-size:clamp(12px,.68vw,16px)}.stage-loading-copy,.compact-modal>small,.clear-modal>small{font-size:clamp(14px,.78vw,18px)}.compact-modal p,.clear-modal p{font-size:clamp(15px,.84vw,20px);line-height:1.55}.primary-button,.secondary-button,.page-dialog button,.library-detail-dialog button,.scene-purchase-dialog button{font-size:clamp(15px,.84vw,20px)}.page-dialog p,.page-dialog li,.page-dialog label{font-size:clamp(14px,.78vw,18px);line-height:1.55}.page-dialog small,.library-detail-dialog small,.library-detail-dialog .library-record-grid small,.library-detail-dialog .library-art-tab,.library-detail-dialog .library-video-toggle button{font-size:clamp(12px,.68vw,16px)}.library-detail-dialog .library-detail-copy>span,.library-detail-dialog .library-record-grid b,.library-detail-dialog .service-cut-label,.library-detail-dialog .library-media-zoom-trigger,.library-detail-dialog .library-media-transform-controls button{font-size:clamp(14px,.78vw,18px)}.scene-purchase-price small,.scene-unlock-card small,.scene-permanent-lock small{font-size:clamp(12px,.68vw,16px)}.scene-purchase-description,.scene-purchase-notice,.scene-unlock-card span,.scene-permanent-lock span{font-size:clamp(14px,.78vw,18px)}.rewarded-video-ad-card>header small,.rewarded-video-ad-creative span,.rewarded-video-ad-creative i,.rewarded-video-ad-copy>small{font-size:clamp(13px,.72vw,17px)}.rewarded-video-ad-copy>.primary-button,.rewarded-video-ad-status{font-size:clamp(15px,.84vw,20px)}}@media (orientation:landscape) and (pointer:coarse){.app-shell.phase-gameover .gameover-modal{grid-template-columns:minmax(0,1fr) minmax(300px,min(48vw,500px));grid-auto-rows:max-content;align-content:center;align-items:center;gap:clamp(5px,1.15vh,12px) clamp(18px,4vw,52px);width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))!important;text-align:left!important;box-shadow:none!important;background:linear-gradient(90deg,#030c1d1a 0%,#030c1d33 40%,#030c1de8 58%,#030c1dfc 100%)!important;border:0!important;border-radius:0!important;display:grid!important;inset:0!important;overflow:hidden!important;transform:none!important}.app-shell.phase-gameover .gameover-modal>*{grid-column:2;width:100%;min-width:0;margin-left:0;margin-right:0}.app-shell.phase-gameover .gameover-modal .modal-symbol{justify-self:start;width:clamp(34px,7vh,48px);height:clamp(34px,7vh,48px);margin:0}.app-shell.phase-gameover .gameover-modal h2{margin:0;font-size:clamp(24px,4.5vh,40px);line-height:1.05}.app-shell.phase-gameover .gameover-modal p{overflow-wrap:anywhere;max-width:none;margin:0;font-size:clamp(12px,2.3vh,17px);line-height:1.35}.app-shell.phase-gameover .gameover-modal .result-strip{grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);gap:6px;margin:2px 0;padding:clamp(8px,1.7vh,12px)}.app-shell.phase-gameover .gameover-modal>small{overflow-wrap:anywhere;margin:0;font-size:clamp(11px,2vh,15px)}.app-shell.phase-gameover .gameover-modal .modal-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:3px}.app-shell.phase-gameover .gameover-modal .modal-actions button{overflow-wrap:anywhere;min-width:0;min-height:clamp(44px,8vh,56px);padding:7px 10px;font-size:clamp(12px,2.2vh,16px);line-height:1.15}.app-shell.phase-gameover .gameover-modal .modal-actions>:only-child{grid-column:1/-1}}@media (orientation:landscape) and (height<=430px) and (pointer:coarse){.app-shell.phase-gameover .gameover-modal{grid-template-columns:minmax(0,1fr) minmax(286px,min(52vw,430px));row-gap:4px}.app-shell.phase-gameover .gameover-modal .modal-symbol{display:none}}
