.ghostlight-app{--ghostlight-charcoal:#15191b;--ghostlight-paper:#e5dcc6;--ghostlight-amber:#f3a33b;--ghostlight-green:#4d8070;--ghostlight-red:#8b3f3b;--ghostlight-cyan:#62b7ba;--ghostlight-smoke:#728087;--ghostlight-cream:#f5edc8;isolation:isolate;box-sizing:border-box;width:100%;min-width:0;height:100dvh;min-height:0;padding:max(6px, env(safe-area-inset-top,0px)) max(6px, env(safe-area-inset-right,0px)) max(6px, env(safe-area-inset-bottom,0px)) max(6px, env(safe-area-inset-left,0px));overscroll-behavior:none;color:var(--ghostlight-paper);background:var(--ghostlight-charcoal);-webkit-tap-highlight-color:transparent;font-family:Inter,ui-rounded,Segoe UI,sans-serif;line-height:1.2;position:fixed;inset:0;overflow:hidden}.ghostlight-app *,.ghostlight-app :before,.ghostlight-app :after{box-sizing:border-box}.ghostlight-app [hidden]{display:none!important}.ghostlight-world,.ghostlight-screen-host,.ghostlight-hud-host,.ghostlight-touch-host,.ghostlight-modal-host{top:max(6px, env(safe-area-inset-top,0px));right:max(6px, env(safe-area-inset-right,0px));bottom:max(6px, env(safe-area-inset-bottom,0px));left:max(6px, env(safe-area-inset-left,0px));min-width:0;min-height:0;position:absolute}.ghostlight-world{z-index:0;touch-action:none;background:radial-gradient(circle at 50% 76%,#f3a33b38,#0000 28%),linear-gradient(#111618,#222629 60%,#101416);border:1px solid #e5dcc633;border-radius:clamp(14px,4vw,28px);overflow:hidden;box-shadow:inset 0 0 80px #040708d1,0 16px 40px #0000006b}.ghostlight-world canvas{touch-action:none;outline:0;display:block;width:100%!important;height:100%!important}.ghostlight-screen-host{z-index:2;pointer-events:none;overflow:hidden}.ghostlight-menu{border-radius:inherit;pointer-events:auto;background:linear-gradient(#0c1113eb 0%,#0c111314 26%,#0c11131f 58%,#0c1113f2 100%),radial-gradient(at 50% 48%,#0000 0 28%,#0a0e1038 66%);grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(7px,1.6dvh,14px);width:100%;height:100%;min-height:0;padding:clamp(10px,2.8vw,24px);display:grid;overflow:hidden}.ghostlight-menu__title{text-align:center;text-shadow:0 3px 18px #000000e6;justify-self:center;max-width:min(94vw,720px);padding:clamp(4px,1.2dvh,12px) clamp(10px,3vw,28px)}.ghostlight-menu__title h1{color:var(--ghostlight-cream);letter-spacing:-.045em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.9rem,8.2vw,5rem);font-weight:900;line-height:.93}.ghostlight-menu__title p{color:var(--ghostlight-amber);letter-spacing:.15em;text-transform:uppercase;margin:clamp(4px,.8dvh,9px) 0 0;font-size:clamp(.66rem,2.3vw,.95rem);font-weight:900}.ghostlight-menu__stats{grid-template-columns:repeat(2,minmax(0,1fr));place-self:end center;gap:7px;width:min(100%,320px);display:grid}.ghostlight-menu__stats span{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#12181acc;border:1px solid #f3a33b4d;border-radius:12px;justify-content:space-between;align-items:center;min-height:38px;padding:6px 11px;display:flex;box-shadow:inset 0 1px #ffffff0f,0 5px 14px #00000052}.ghostlight-menu__stats small{color:#bdb5a2;letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;font-weight:900}.ghostlight-menu__stats strong{color:var(--ghostlight-amber);font-variant-numeric:tabular-nums;text-overflow:ellipsis;font-size:clamp(.82rem,3.6vw,1.04rem);overflow:hidden}.ghostlight-menu__actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 50px;justify-self:center;gap:7px;width:min(100%,520px);display:grid}.ghostlight-menu__actions .ghostlight-button--play{grid-column:1/-1}.ghostlight-button{min-width:0;min-height:44px;color:var(--ghostlight-paper);font:inherit;cursor:pointer;background:linear-gradient(#333e3ff5,#192022fa);border:1px solid #e5dcc647;border-radius:13px;justify-content:center;align-items:center;padding:9px 13px;font-size:clamp(.76rem,2.5vw,.94rem);font-weight:900;line-height:1;transition:transform .12s,filter .12s,border-color .12s;display:inline-flex;box-shadow:inset 0 1px #ffffff1a,0 7px 18px #00000059}.ghostlight-button:hover,.ghostlight-button:focus-visible{filter:brightness(1.12);outline-offset:2px;border-color:#f3a33bb8;outline:2px solid #62b7bab3}.ghostlight-button:active{transform:translateY(1px)scale(.985)}.ghostlight-button--play,.ghostlight-button--primary{color:#171919;background:linear-gradient(180deg, #f7c468, var(--ghostlight-amber));border-color:#f5edc8b8;box-shadow:inset 0 1px #ffffff8c,0 8px 22px #f3a33b4d}.ghostlight-button--quiet,.ghostlight-button--icon,.ghostlight-button--hud{background:#131a1cd1;padding-inline:9px}.ghostlight-loading,.ghostlight-countdown{text-align:center;pointer-events:auto;background:#0a0e10a3;place-content:center;gap:10px;width:100%;height:100%;display:grid}.ghostlight-loading i{border:3px solid #e5dcc633;border-top-color:var(--ghostlight-amber);border-radius:50%;justify-self:center;width:44px;height:44px;animation:.9s linear infinite ghostlight-spin}.ghostlight-countdown strong{color:var(--ghostlight-cream);text-shadow:0 0 30px #f3a33b94;font-family:Georgia,serif;font-size:clamp(4rem,24vw,10rem)}.ghostlight-countdown span{color:var(--ghostlight-amber);letter-spacing:.14em;text-transform:uppercase;font-weight:900}.ghostlight-hud-host{z-index:3;pointer-events:none;overflow:hidden}.ghostlight-hud{pointer-events:none;align-content:start;gap:6px;width:100%;height:100%;padding:clamp(6px,1.6vw,12px);display:grid}.ghostlight-hud__top{grid-template-columns:repeat(6,minmax(0,1fr)) auto auto;gap:5px;display:grid}.ghostlight-hud-stat{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0e1416c2;border:1px solid #e5dcc62e;border-radius:9px;min-width:0;padding:5px 7px}.ghostlight-hud-stat span,.ghostlight-house-light span,.ghostlight-bow span{color:#bdb5a2;letter-spacing:.07em;text-transform:uppercase;font-size:.58rem;font-weight:900;display:block}.ghostlight-hud-stat strong{color:var(--ghostlight-cream);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.7rem,2.2vw,.94rem);display:block;overflow:hidden}.ghostlight-hud .ghostlight-button{pointer-events:auto;min-height:44px}.ghostlight-house-light,.ghostlight-bow{background:#0e1416d1;border:1px solid #e5dcc638;border-radius:11px;width:min(520px,76vw);padding:6px 9px;transition:border-color .15s,filter .15s,transform .15s}.ghostlight-house-light>div,.ghostlight-bow>div{justify-content:space-between;align-items:center;display:flex}.ghostlight-house-light.is-damaged{filter:drop-shadow(0 0 10px #ff4c3799);border-color:#ff6a57;transform:translate(2px)}.ghostlight-house-light.is-restored{border-color:var(--ghostlight-cyan);filter:drop-shadow(0 0 9px #62b7ba85)}.ghostlight-house-light.is-danger{border-color:var(--ghostlight-red);animation:.78s ease-in-out infinite alternate ghostlight-danger}.ghostlight-meter{background:#00000073;border:1px solid #e5dcc629;border-radius:99px;height:9px;margin-top:4px;position:relative;overflow:hidden}.ghostlight-meter i{width:var(--ghostlight-meter,0%);border-radius:inherit;background:linear-gradient(90deg, var(--ghostlight-green), var(--ghostlight-amber), var(--ghostlight-red));height:100%;transition:width .15s;display:block;box-shadow:0 0 9px}.ghostlight-bow .ghostlight-meter i{background:linear-gradient(90deg, var(--ghostlight-green), var(--ghostlight-cyan))}.ghostlight-event,.ghostlight-effects{max-width:min(86vw,620px);color:var(--ghostlight-cream);text-align:center;background:#12181ad1;border:1px solid #f3a33b59;border-radius:99px;justify-self:center;padding:5px 10px;font-size:clamp(.66rem,2vw,.84rem);font-weight:800}.ghostlight-touch-host{z-index:4;pointer-events:none}.ghostlight-touch-controls{pointer-events:none;justify-content:space-between;align-items:end;gap:8px;display:flex;position:absolute;bottom:clamp(7px,2vw,16px);left:clamp(7px,2vw,16px);right:clamp(7px,2vw,16px)}.ghostlight-touch-move,.ghostlight-touch-actions{pointer-events:auto;align-items:end;gap:7px;display:flex}.ghostlight-touch-button{min-width:56px;min-height:56px;color:var(--ghostlight-cream);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font:inherit;touch-action:none;-webkit-user-select:none;user-select:none;pointer-events:auto;background:#141b1dcc;border:1px solid #e5dcc661;border-radius:18px;padding:8px;font-size:.72rem;font-weight:900;box-shadow:inset 0 1px #ffffff1f,0 8px 20px #00000057}.ghostlight-touch-button:active{border-color:var(--ghostlight-amber);background:#8b3f3be6;transform:scale(.96)}.ghostlight-touch-button--bow{color:#14201e;background:linear-gradient(180deg, var(--ghostlight-cyan), var(--ghostlight-green));min-width:68px}.ghostlight-touch-pause{min-width:44px;min-height:44px;position:absolute;bottom:70px;right:0}.ghostlight-modal-host{z-index:8;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);pointer-events:auto;background:#05090ab8;place-items:center;padding:clamp(7px,2vw,18px);display:grid;overflow:hidden}.ghostlight-dialog{background:linear-gradient(150deg, #242d2efa, #0f1517fc), var(--ghostlight-charcoal);border:1px solid #f3a33b66;border-radius:clamp(16px,4vw,28px);grid-template-rows:auto minmax(0,1fr) auto;gap:10px;width:min(94vw,820px);min-height:0;max-height:min(94dvh,760px);padding:clamp(12px,2.8vw,24px);display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffff14,0 24px 70px #000000a3}.ghostlight-dialog__header,.ghostlight-dialog__footer,.ghostlight-dialog__actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.ghostlight-dialog__header h2,.ghostlight-dialog h2,.ghostlight-dialog h3,.ghostlight-dialog p{margin:0}.ghostlight-dialog h2{color:var(--ghostlight-cream);font-family:Georgia,serif;font-size:clamp(1.45rem,6vw,2.8rem)}.ghostlight-dialog h3{color:var(--ghostlight-amber);margin-bottom:6px;font-size:.88rem}.ghostlight-dialog small{color:var(--ghostlight-cyan);letter-spacing:.1em;text-transform:uppercase;font-weight:900}.ghostlight-dialog__scroll{overscroll-behavior:contain;scrollbar-color:var(--ghostlight-green) #00000040;min-height:0;overflow-y:auto}.ghostlight-dialog__footer{flex-wrap:wrap;justify-content:flex-end}.ghostlight-results{grid-template-rows:minmax(0,1fr) auto}.ghostlight-help__grid,.ghostlight-results__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.ghostlight-help__grid article,.ghostlight-results__grid section,.ghostlight-profile__progress,.ghostlight-standings{background:#080d0e61;border:1px solid #e5dcc626;border-radius:12px;padding:10px}.ghostlight-help__grid p,.ghostlight-profile p,.ghostlight-results p{color:#c8c1b1;font-size:.82rem;line-height:1.4}.ghostlight-choice-grid,.ghostlight-achievements{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px;margin-bottom:14px;display:grid}.ghostlight-choice,.ghostlight-achievements article{min-height:58px;color:var(--ghostlight-paper);font:inherit;text-align:left;background:#0a0f1180;border:1px solid #e5dcc62e;border-radius:10px;gap:3px;padding:8px;display:grid}.ghostlight-choice.is-selected,.ghostlight-achievements article.is-unlocked{border-color:var(--ghostlight-cyan);box-shadow:inset 0 0 16px #62b7ba24}.ghostlight-choice:disabled,.ghostlight-achievements article.is-locked{opacity:.55}.ghostlight-choice span,.ghostlight-achievements span{color:#afa895;font-size:.7rem}.ghostlight-pause{text-align:center;grid-template-rows:auto auto auto auto;width:min(92vw,430px)}.ghostlight-pause .ghostlight-dialog__actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ghostlight-results__hero{text-align:center;justify-items:center;gap:3px;display:grid}.ghostlight-results__hero>strong{color:var(--ghostlight-amber);font-variant-numeric:tabular-nums;font-family:Georgia,serif;font-size:clamp(2.4rem,12vw,5.6rem)}.ghostlight-callouts{flex-wrap:wrap;justify-content:center;gap:5px;margin:8px 0;display:flex}.ghostlight-callouts strong{color:#17201d;background:var(--ghostlight-cyan);border-radius:99px;padding:5px 8px;font-size:.7rem}.ghostlight-results dl{gap:4px;margin:0;display:grid}.ghostlight-results dl div,.ghostlight-standings li{justify-content:space-between;gap:8px;display:flex}.ghostlight-results dt,.ghostlight-results dd{margin:0}.ghostlight-standings{margin-top:8px}.ghostlight-standings ol{gap:4px;margin:0;padding-left:22px;display:grid}.ghostlight-live{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:fixed;overflow:hidden}@media (hover:hover) and (pointer:fine){.ghostlight-touch-move,.ghostlight-touch-actions{opacity:.58}}@media (width<=720px){.ghostlight-hud__top{grid-template-columns:repeat(4,minmax(0,1fr)) auto auto}.ghostlight-hud-stat:nth-child(4),.ghostlight-hud-stat:nth-child(6){display:none}.ghostlight-help__grid,.ghostlight-results__grid{grid-template-columns:1fr}}@media (width<=420px){.ghostlight-app{padding:4px}.ghostlight-menu{padding:8px}.ghostlight-menu__actions{grid-template-columns:1fr 1fr 46px;gap:5px}.ghostlight-touch-button{min-width:56px;padding:6px}.ghostlight-touch-actions{gap:4px}.ghostlight-hud__top{grid-template-columns:repeat(3,minmax(0,1fr)) auto auto}.ghostlight-hud-stat:nth-child(3){display:none}.ghostlight-touch-controls{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:4px;display:grid}.ghostlight-touch-pause{grid-area:1/2;justify-self:end;min-width:44px;min-height:44px;position:static}.ghostlight-touch-move{grid-area:2/1;justify-self:start;gap:3px}.ghostlight-touch-actions{grid-area:2/2;justify-self:end;gap:3px}.ghostlight-touch-button{border-radius:14px;min-width:44px;min-height:44px;padding:5px;font-size:.64rem}.ghostlight-touch-button--bow{min-width:50px}}@media (height<=640px){.ghostlight-menu{gap:6px;padding:7px}.ghostlight-menu__title h1{font-size:clamp(1.7rem,7.3vw,3.1rem)}.ghostlight-menu__stats span{min-height:34px}.ghostlight-dialog{gap:7px;padding:10px}}@media (height<=568px){.ghostlight-menu__title{padding-block:2px}.ghostlight-menu__title p{margin-top:3px}.ghostlight-menu__stats{align-self:end}.ghostlight-button{min-height:44px;padding-block:7px}.ghostlight-house-light,.ghostlight-bow{padding-block:4px}}@media (orientation:landscape) and (height<=520px){.ghostlight-hud-stat:nth-child(6){display:none}.ghostlight-menu{grid-template-rows:1fr auto;grid-template-columns:minmax(0,1.2fr) minmax(190px,.8fr)}.ghostlight-menu__title{grid-row:1/-1;align-self:start}.ghostlight-menu__stats,.ghostlight-menu__actions{grid-column:2}.ghostlight-touch-controls{bottom:4px}}@media (prefers-reduced-motion:reduce){.ghostlight-app *,.ghostlight-app :before,.ghostlight-app :after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@keyframes ghostlight-spin{to{transform:rotate(1turn)}}@keyframes ghostlight-danger{0%{box-shadow:0 0 #8b3f3b26}to{box-shadow:0 0 22px #8b3f3bad}}
