.foundation-host{color:#ddd5c4;background:#10110f;justify-content:center;align-items:center;width:100%;min-height:100dvh;padding:24px;font-family:Arial,Helvetica,sans-serif;display:flex}.foundation-preview{width:min(100%,1280px)}.foundation-header{letter-spacing:2px;color:#a59d8d;justify-content:space-between;gap:12px;padding:0 0 16px;font-size:11px;font-weight:700;display:flex}.foundation-header i,.foundation-ending i{color:#be8532;margin:0 10px;font-style:normal}.foundation-version{color:#756e61}.foundation-stage{aspect-ratio:16/9;background:#161513;border-top:1px solid #6b5130;border-bottom:1px solid #6b5130;width:100%;position:relative;overflow:hidden}.foundation-canvas,.foundation-vignette,.foundation-flash{position:absolute;inset:0}.foundation-canvas canvas{width:100%;height:100%;display:block}.foundation-vignette{pointer-events:none;background:linear-gradient(#0005,#0000 20% 70%,#0007);box-shadow:inset 0 0 130px 30px #08090770}.foundation-flash{pointer-events:none;opacity:0;background:#ffcf87}.foundation-opening{pointer-events:none;text-shadow:0 3px 10px #000;flex-direction:column;gap:5px;display:flex;position:absolute;bottom:9%;left:5%}.foundation-opening span{letter-spacing:4px;color:#d1a160;font-size:12px}.foundation-opening strong{letter-spacing:2px;font-size:clamp(25px,4vw,50px);font-weight:900}.foundation-opening small{color:#b29f81;letter-spacing:5px;font-size:10px}.foundation-ending{text-align:center;opacity:0;pointer-events:none;text-shadow:0 3px 12px #000;width:100%;position:absolute;bottom:7%;left:0}.foundation-ending span{letter-spacing:3px;color:#c3b89e;margin-bottom:9px;font-size:9px;display:block}.foundation-ending strong{letter-spacing:5px;color:#ffe1a4;font-size:clamp(22px,3vw,35px)}.foundation-loading{color:#e3b16a;letter-spacing:1px;text-align:center;background:#161513;place-content:center;padding:30px;font-size:14px;display:grid;position:absolute;inset:0}.foundation-loading[hidden]{display:none}.foundation-loading.is-error{color:#ffb59c}.foundation-controls{justify-content:space-between;align-items:center;gap:15px;padding:16px 0 13px;display:flex}.foundation-controls>div{letter-spacing:1px;align-items:center;gap:24px;font-size:11px;display:flex}.foundation-phase{color:#bcae94}.foundation-time{color:#716c61;font-variant-numeric:tabular-nums;min-width:84px}.foundation-replay{color:#171811;letter-spacing:1.5px;cursor:pointer;background:#c69447;border:0;min-height:44px;padding:0 23px;font-size:11px;font-weight:800}.foundation-replay:hover{background:#eab76a}.foundation-replay:focus-visible{outline-offset:4px;outline:2px solid #ffe2a8}.foundation-replay:disabled{opacity:.35;cursor:wait}.foundation-progress{background:#27271f;height:2px}.foundation-progress>div{transform-origin:0;background:#ca9a4e;height:100%;transform:scaleX(0)}@media (width<=700px){.foundation-host{padding:16px 12px}.foundation-header{letter-spacing:1px;flex-direction:column;gap:7px;padding-bottom:13px;font-size:9px}.foundation-version{font-size:8px}.foundation-stage{aspect-ratio:auto;height:65dvh;min-height:340px;max-height:650px}.foundation-controls>div{flex-direction:column;align-items:flex-start;gap:6px;font-size:10px}.foundation-replay{padding:0 18px}.foundation-opening{bottom:9%;left:7%}.foundation-ending{bottom:7%}.foundation-ending strong{letter-spacing:3px}.foundation-ending span{letter-spacing:2px;font-size:8px}.foundation-vignette{box-shadow:inset 0 0 60px 10px #08090770}}@media (height<=500px) and (orientation:landscape){.foundation-host{padding:8px 16px}.foundation-header{padding-bottom:7px}.foundation-stage{aspect-ratio:16/9;height:72dvh;min-height:0}.foundation-controls{padding:7px 0}.foundation-replay{min-height:36px}}.foundation-buttons{align-items:center;gap:8px;display:flex}.foundation-sound{color:#bfa77f;letter-spacing:1px;cursor:pointer;background:0 0;border:1px solid #645236;min-height:44px;padding:0 12px;font-size:9px}.foundation-sound[aria-pressed=true]{color:#ffe1a4;border-color:#c69447}.foundation-sound:focus-visible{outline-offset:3px;outline:2px solid #ffe2a8}.foundation-sound:disabled{opacity:.5;cursor:default}@media (width<=700px){.foundation-sound{padding:0 8px;font-size:8px}.foundation-buttons{gap:6px}.foundation-controls{gap:8px}.foundation-replay{padding:0 12px}}@media (height<=500px) and (orientation:landscape){.foundation-sound{min-height:36px}}.foundation-blackout{opacity:0;pointer-events:none;background:#000;position:absolute;inset:0}@media (width<=700px){.foundation-controls>.foundation-buttons{flex-direction:row;align-items:center}}.city-layer{pointer-events:none;color:#e8eef2;--escaped:#fbbf24;--available:#7fe9ff;--locked:#8f98a4;--glass:#060b10d9;--edge:#ffffff26;font-family:Arial,Helvetica,sans-serif;position:absolute;inset:0;overflow:clip}.city-layer button,.city-layer select{pointer-events:auto;cursor:pointer;font-family:inherit}.city-host{touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.city-host.is-portrait{touch-action:none}.city-tag{background:var(--glass);border:1px solid var(--edge);border-top:2px solid var(--c,var(--available));color:#fff;will-change:transform;flex-direction:column;align-items:center;gap:1px;min-width:48px;min-height:48px;padding:6px 9px 5px;transition:opacity .35s,border-color .25s,box-shadow .25s,background .25s;display:flex;position:absolute;top:0;left:0;box-shadow:0 6px 18px #0008}.city-tag[data-status=escaped]{--c:var(--escaped)}.city-tag[data-status=available]{--c:var(--available)}.city-tag[data-status=locked]{--c:var(--locked)}.city-tag:after{content:"";background:linear-gradient(var(--c),transparent);width:1px;height:14px;position:absolute;top:100%;left:50%}.city-tag b{letter-spacing:.04em;font-family:Arial Black,Impact,sans-serif;font-size:17px;line-height:1}.city-tag span{letter-spacing:.24em;color:#c9d3da;font-size:8px;font-weight:800}.city-tag.is-side:after{background:linear-gradient(90deg,var(--c),transparent);width:10px;height:1px;top:50%}.city-tag.is-side[data-side=left]:after{left:100%}.city-tag.is-side[data-side=right]:after{background:linear-gradient(270deg,var(--c),transparent);left:auto;right:100%}.city-tag i{background:var(--c);width:9px;height:9px;box-shadow:0 0 10px var(--c);border-radius:50%;position:absolute;top:-5px;right:-4px}.city-tag[data-status=locked] i{border:2px solid var(--locked);box-shadow:none;background:0 0;width:7px;height:7px}.city-tag.is-hover,.city-tag:hover,.city-tag:focus-visible{border-color:var(--c);box-shadow:0 0 0 1px var(--c),0 0 22px color-mix(in srgb,var(--c) 45%,transparent);outline:none}.city-tag.is-selected{background:color-mix(in srgb,var(--c) 22%,#060b10ee);border-color:var(--c)}.city-tag.is-dim{opacity:.5}.city-tag.is-off{opacity:0;visibility:hidden;pointer-events:none}.city-hint{left:50%;bottom:calc(14px + env(safe-area-inset-bottom));text-align:center;border:1px solid var(--edge);letter-spacing:.18em;text-transform:uppercase;color:#d9e3ea;background:#060b10a6;max-width:calc(100% - 24px);margin:0;padding:7px 14px;font-size:11px;font-weight:700;transition:opacity .4s;position:absolute;transform:translate(-50%)}.is-portrait .city-hint{letter-spacing:.12em;font-size:10px;line-height:1.5}.city-hint:empty{opacity:0}.city-card{right:18px;top:calc(50% + var(--city-top,0px) / 2);opacity:0;width:min(330px,38%);max-height:calc(100% - 36px - var(--city-top,0px));border:1px solid var(--edge);border-left:2px solid var(--c,var(--available));pointer-events:auto;background:linear-gradient(#08121ae8,#04080cf0);flex-direction:column;padding:16px 18px 18px;transition:opacity .45s,transform .45s;display:flex;position:absolute;overflow:hidden;transform:translate(16px,-50%);box-shadow:0 18px 50px #000a}.city-card.is-in{opacity:1;transform:translateY(-50%)}.city-card[hidden]{visibility:hidden;display:flex}.city-card-top,.city-go{flex:none}.city-card-body{overscroll-behavior:contain;flex:auto;min-height:0;overflow:auto}.city-card[data-status=escaped]{--c:var(--escaped)}.city-card[data-status=locked]{--c:var(--locked)}.city-card-top{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.city-card-top button{border:1px solid var(--edge);color:#d9e3ea;letter-spacing:.14em;background:0 0;min-width:44px;min-height:44px;padding:0 12px;font-size:11px;font-weight:800}.city-nav{gap:6px;display:flex}.city-nav button{width:44px;padding:0;font-size:20px}.city-card-top button:hover,.city-card-top button:focus-visible{color:#fff;border-color:#fff;outline:none}.city-kicker{letter-spacing:.26em;color:var(--c,var(--available));text-transform:uppercase;font-size:10px;font-weight:800;display:block}.city-card h2{letter-spacing:.06em;color:#fff;text-shadow:0 3px #000;margin:2px 0 10px;font-family:Arial Black,Impact,sans-serif;font-size:28px}.city-facts{align-items:center;gap:14px;margin-bottom:10px;display:flex}.city-floors{border:1px solid var(--edge);flex-direction:column;align-items:center;padding:4px 10px;display:flex}.city-floors b{font-family:Arial Black,Impact,sans-serif;font-size:24px;line-height:1}.city-floors span{letter-spacing:.24em;color:#c9d3da;font-size:8px;font-weight:800}.city-diff{flex-direction:column;gap:5px;display:flex}.city-pips{gap:4px;display:flex}.city-pips i{background:#ffffff1f;width:18px;height:5px}.city-pips i.is-on{background:var(--c,var(--available));box-shadow:0 0 8px color-mix(in srgb,var(--c,var(--available)) 60%,transparent)}.city-diff-text{letter-spacing:.16em;color:#b8c3cb;font-size:9px;font-weight:800}.city-status{background:color-mix(in srgb,var(--c,var(--available)) 12%,transparent);border:1px solid color-mix(in srgb,var(--c,var(--available)) 45%,transparent);align-items:baseline;gap:10px;margin-bottom:10px;padding:7px 10px;display:flex}.city-status b{letter-spacing:.2em;color:var(--c,var(--available));font-size:12px;font-weight:900}.city-status span{color:#c9d3da;font-size:11px}.city-desc{color:#dfe7ec;margin:0 0 12px;font-size:14px;line-height:1.45}.city-run{letter-spacing:.14em;align-items:baseline;gap:10px;margin-bottom:14px;font-size:11px;display:flex}.city-run span{color:#8c98a2;font-weight:800}.city-run b{color:#fff;letter-spacing:.2em}.city-run em{color:#b8c3cb;font-style:normal}.city-go{background:var(--c,var(--available));color:#061218;letter-spacing:.2em;border:0;width:100%;min-height:50px;font-size:13px;font-weight:900;transition:filter .2s}.city-go:hover,.city-go:focus-visible{filter:brightness(1.15);outline-offset:2px;outline:2px solid #fff}.city-go:disabled{color:#8f98a4;cursor:default;filter:none;background:#ffffff14;outline:none}.city-confirm{pointer-events:auto;background:#000a;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.city-confirm[hidden]{display:none}.city-confirm>div{border:1px solid var(--available);background:#071016f2;width:min(420px,100%);padding:18px 20px}.city-confirm h3{letter-spacing:.06em;margin:6px 0 10px;font-family:Arial Black,Impact,sans-serif;font-size:18px}.city-confirm pre{border:1px solid var(--edge);color:#9fe9f5;white-space:pre-wrap;background:#000;margin:0 0 10px;padding:8px 10px;font-size:11px}.city-confirm p{color:#c9d3da;margin:0 0 12px;font-size:12px;line-height:1.4}.city-confirm button{background:var(--available);color:#061218;letter-spacing:.2em;border:0;min-height:44px;padding:0 22px;font-weight:900}.city-qa-open{right:12px;top:calc(54px + env(safe-area-inset-top));color:#9fe9f5;letter-spacing:.18em;background:#060b10b3;border:1px dashed #7fe9ff88;min-height:36px;padding:0 10px;font-size:9px;font-weight:800;position:absolute}.city-qa{right:12px;top:calc(96px + env(safe-area-inset-top));pointer-events:auto;background:#060b10f2;border:1px dashed #7fe9ff88;flex-direction:column;gap:8px;padding:12px;font-size:11px;display:flex;position:absolute}.city-qa[hidden]{display:none}.city-qa strong{letter-spacing:.16em;color:#9fe9f5;font-size:9px}.city-qa label{letter-spacing:.1em;justify-content:space-between;align-items:center;gap:10px;display:flex}.city-qa select{color:#fff;border:1px solid var(--edge);background:#000;min-height:36px;font-size:11px}.city-qa button{border:1px solid var(--edge);color:#d9e3ea;letter-spacing:.14em;background:0 0;min-height:36px;font-size:10px;font-weight:800}.is-portrait .city-card{top:auto;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));width:auto;max-height:min(52%,420px);padding:12px 14px 14px;transform:translateY(24px)}.is-portrait .city-card.is-in{transform:translateY(0)}.is-portrait .city-card h2{margin-bottom:8px;font-size:22px}.is-portrait .city-desc{margin-bottom:10px;font-size:13px}.is-tower .city-hint{opacity:0}.is-tower .city-qa-open,.is-tower .city-qa{display:none}.is-portrait .is-tower .city-tag.is-dim{opacity:0;visibility:hidden;pointer-events:none}.city-page{background:#000;position:fixed;inset:0;overflow:clip}.city-stage,.city-canvas{position:absolute;inset:0}.city-canvas canvas{width:100%;height:100%;display:block}.city-bar{padding:calc(8px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) 8px calc(12px + env(safe-area-inset-left));letter-spacing:.22em;color:#c9d3da;z-index:2;pointer-events:none;background:linear-gradient(#000a,#0000);justify-content:space-between;align-items:center;gap:10px;font-size:11px;font-weight:800;display:flex;position:absolute;top:0;left:0;right:0}.city-bar i{color:#7fe9ff;margin:0 8px;font-style:normal}.city-bar-tools{pointer-events:auto;gap:8px;display:flex}.city-bar-tools a,.city-bar-tools button{border:1px solid var(--edge,#ffffff26);color:#d9e3ea;min-height:36px;font:inherit;cursor:pointer;background:#060b10b3;align-items:center;padding:0 10px;font-size:10px;text-decoration:none;display:inline-flex}.city-bar-tools button[aria-pressed=false]{color:#7d8a94}.city-loading{color:#8fe6f3;letter-spacing:1px;background:#0b0c0f;place-content:center;font-size:14px;display:grid;position:absolute;inset:0}.city-loading[hidden]{display:none}@media (prefers-reduced-motion:reduce){.city-card,.city-tag,.city-hint{transition:none}}.finale-host{color:#d8dde4;background:#0b0c0f;justify-content:center;align-items:center;width:100%;min-height:100dvh;padding:24px;font-family:Arial,Helvetica,sans-serif;display:flex}.finale-preview{width:min(100%,1280px)}.finale-header{letter-spacing:2px;color:#98a2ae;justify-content:space-between;gap:12px;padding:0 0 16px;font-size:11px;font-weight:700;display:flex}.finale-header i{color:#6fd8ea;margin:0 10px;font-style:normal}.finale-version{color:#6a7480}.finale-stage{aspect-ratio:16/9;background:#000;border-top:1px solid #2f5d66;border-bottom:1px solid #2f5d66;width:100%;position:relative;overflow:hidden}.finale-canvas{position:absolute;inset:0}.finale-canvas canvas{width:100%;height:100%;display:block}.finale-fade{opacity:0;pointer-events:none;background:#000;position:absolute;inset:0}.finale-subtitle{text-align:center;color:#f2f5f7;text-shadow:0 2px 6px #000,0 0 18px #000;pointer-events:none;letter-spacing:.2px;margin:0;font-size:clamp(15px,1.75vw,23px);font-weight:600;line-height:1.35;position:absolute;bottom:9%;left:8%;right:8%}.finale-subtitle:empty{display:none}.finale-dialog{pointer-events:none;background:linear-gradient(#071c23f2,#030f14ee);border:1px solid #5fe6ff80;width:min(86%,780px);padding:22px 24px 18px;position:absolute;bottom:6%;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #00000080,0 0 28px #29c8ff33,inset 0 0 24px #29c8ff14}.finale-dialog[hidden]{display:none}.finale-dialog:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#ffffff06 0 1px,#0000 1px 3px);position:absolute;inset:0}.finale-dialog-name{color:#8ff0ff;letter-spacing:3px;background:#062029;border:1px solid #5fe6ff80;padding:4px 10px;font-size:10px;font-weight:800;position:absolute;top:-11px;left:18px}.finale-dialog-text{color:#eafcff;text-shadow:0 0 10px #2fd4ff44;min-height:2.9em;margin:0;font-size:clamp(15px,1.6vw,21px);font-weight:600;line-height:1.45}.finale-dialog.is-drop{filter:saturate(1.4)hue-rotate(-12deg);border-color:#ff5a7a99;transform:translate(calc(3px - 50%))}.finale-caption{opacity:0;pointer-events:none;text-shadow:0 2px 10px #000a;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:10%;left:0;right:0}.finale-caption span{letter-spacing:.42em;color:#fde68acc;font-size:11px;font-weight:700}.finale-caption strong{letter-spacing:.18em;color:#fff;font-family:Arial Black,Impact,sans-serif;font-size:clamp(18px,2.6vw,32px)}.finale-bounds{pointer-events:none;position:absolute;inset:0}.finale-bounds[hidden]{display:none}.finale-bounds div{background:#7fe9ff10;border:1px dashed #7fe9ffcc;position:absolute}.finale-bounds span{white-space:nowrap;letter-spacing:1px;color:#06171b;background:#7fe9ff;padding:2px 5px;font-size:10px;font-weight:800;position:absolute;top:-18px;left:0}.finale-poster{color:#d8f6fb;cursor:pointer;font:inherit;background:radial-gradient(circle,#2a1a14 0,#07090c 70%);border:0;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.finale-poster[hidden]{display:none}.finale-poster span{letter-spacing:.08em;color:#fff;text-shadow:0 4px #000;font-family:Arial Black,Impact,sans-serif;font-size:clamp(26px,4.4vw,52px)}.finale-poster em{letter-spacing:3px;color:#ffc89a;text-transform:uppercase;font-size:12px;font-style:normal}.finale-poster b{letter-spacing:3px;color:#06171b;background:#7fe9ff;margin-top:6px;padding:13px 26px;font-size:12px}.finale-poster:hover b,.finale-poster:focus-visible b{background:#c9f8ff}.finale-loading{color:#8fe6f3;letter-spacing:1px;text-align:center;background:#0b0c0f;place-content:center;padding:30px;font-size:14px;display:grid;position:absolute;inset:0}.finale-loading[hidden]{display:none}.finale-loading.is-error{color:#ffb59c}.finale-controls{justify-content:space-between;align-items:center;gap:15px;padding:16px 0 13px;display:flex}.finale-controls>div:first-child{letter-spacing:1px;align-items:center;gap:24px;font-size:11px;display:flex}.finale-phase{color:#b4c0cc}.finale-time{color:#6b7580;font-variant-numeric:tabular-nums;min-width:84px}.finale-buttons,.finale-qa{align-items:center;gap:8px;display:flex}.finale-buttons button,.finale-qa button{letter-spacing:1.5px;cursor:pointer;color:#bfe9f0;background:0 0;border:1px solid #3f7480;min-height:44px;padding:0 18px;font-size:11px;font-weight:800}.finale-buttons .finale-play{color:#06171b;background:#7fe9ff;border-color:#7fe9ff}.finale-buttons button:hover,.finale-qa button:hover{color:#fff;border-color:#c9f8ff}.finale-buttons .finale-play:hover{color:#06171b;background:#c9f8ff}.finale-buttons button:focus-visible,.finale-qa button:focus-visible{outline-offset:3px;outline:2px solid #c9f8ff}.finale-buttons button:disabled{opacity:.35;cursor:default}.finale-buttons .finale-sound{letter-spacing:1px;padding:0 12px;font-size:10px}.finale-buttons .finale-sound[aria-pressed=false]{color:#7d8a94;border-color:#2a3a40}.finale-progress{background:#1c2329;height:2px}.finale-progress>div{transform-origin:0;background:#7fe9ff;height:100%;transform:scaleX(0)}.finale-qa{letter-spacing:2px;color:#6b7580;flex-wrap:wrap;margin-top:12px;font-size:10px}.finale-qa button{min-height:36px;padding:0 12px;font-size:10px}.finale-qa .finale-qa-bounds[aria-pressed=true]{background:#7fe9ff22;border-color:#7fe9ff}@media (width<=700px){.finale-host{padding:16px 12px}.finale-header{letter-spacing:1px;flex-direction:column;gap:7px;padding-bottom:13px;font-size:9px}.finale-stage{aspect-ratio:auto;height:62dvh;min-height:340px;max-height:640px}.finale-controls{flex-direction:column;align-items:stretch;gap:10px}.finale-controls>div:first-child{justify-content:space-between;gap:8px;font-size:10px}.finale-buttons{justify-content:stretch;gap:6px}.finale-buttons button{letter-spacing:1px;flex:1;padding:0 4px;font-size:10px}.finale-qa button{flex:30%}.finale-subtitle{font-size:16px;bottom:7%;left:5%;right:5%}.finale-dialog{width:92%;padding:18px 14px 12px;bottom:3.5%}.finale-dialog-text{font-size:15px;line-height:1.4}.finale-caption{bottom:8%}.finale-caption span{letter-spacing:.3em;font-size:9px}}@media (height<=500px) and (orientation:landscape){.finale-host{padding:8px 16px}.finale-header{padding-bottom:7px}.finale-stage{aspect-ratio:16/9;height:72dvh;min-height:0}.finale-controls{padding:7px 0}.finale-buttons button{min-height:36px}}.restoration-host{color:#d8dde4;background:#0b0c0f;justify-content:center;align-items:center;width:100%;min-height:100dvh;padding:24px;font-family:Arial,Helvetica,sans-serif;display:flex}.restoration-preview{width:min(100%,1280px)}.restoration-header{letter-spacing:2px;color:#98a2ae;justify-content:space-between;gap:12px;padding:0 0 16px;font-size:11px;font-weight:700;display:flex}.restoration-header i{color:#6fd8ea;margin:0 10px;font-style:normal}.restoration-version{color:#6a7480}.restoration-stage{aspect-ratio:16/9;background:#0b0c0f;border-top:1px solid #2f5d66;border-bottom:1px solid #2f5d66;width:100%;position:relative;overflow:hidden}.restoration-canvas,.restoration-vignette,.restoration-flash,.restoration-surge,.restoration-blackout{position:absolute;inset:0}.restoration-canvas canvas{transform-origin:50% 55%;width:100%;height:100%;display:block}.restoration-vignette{pointer-events:none;background:linear-gradient(#0006,#0000 22% 70%,#0008);box-shadow:inset 0 0 140px 30px #05060870}.restoration-surge{pointer-events:none;opacity:0;mix-blend-mode:screen;background:radial-gradient(circle at 50% 58%,#e9ffffcc 0,#7fe9ff66 18%,#1c7d9033 42%,#0000 70%)}.restoration-flash{pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 55%,#fff 0,#f1ffff 45%,#c9f7ff 100%)}.restoration-blackout{pointer-events:none;opacity:1;background:#000}.restoration-tag{pointer-events:none;opacity:0;text-shadow:0 2px 10px #000;flex-direction:column;gap:4px;display:flex;position:absolute;bottom:9%;left:5%}.restoration-tag strong{letter-spacing:5px;color:#9fdbe6;font-size:12px}.restoration-tag span{letter-spacing:2px;color:#e7edf3;font-size:clamp(16px,2.2vw,24px)}.restoration-poster{color:#d8f6fb;cursor:pointer;font:inherit;background:radial-gradient(circle,#0f2a30 0,#07090c 70%);border:0;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:absolute;inset:0}.restoration-poster[hidden]{display:none}.restoration-poster span{letter-spacing:6px;text-shadow:0 0 24px #5fe6ff66;font-size:clamp(18px,3vw,34px);font-weight:900}.restoration-poster b{letter-spacing:3px;color:#06171b;background:#7fe9ff;padding:13px 26px;font-size:12px}.restoration-poster:focus-visible b,.restoration-poster:hover b{background:#c9f8ff}.restoration-loading{color:#8fe6f3;letter-spacing:1px;text-align:center;background:#0b0c0f;place-content:center;padding:30px;font-size:14px;display:grid;position:absolute;inset:0}.restoration-loading[hidden]{display:none}.restoration-loading.is-error{color:#ffb59c}.restoration-controls{justify-content:space-between;align-items:center;gap:15px;padding:16px 0 13px;display:flex}.restoration-controls>div:first-child{letter-spacing:1px;align-items:center;gap:24px;font-size:11px;display:flex}.restoration-phase{color:#b4c0cc}.restoration-time{color:#6b7580;font-variant-numeric:tabular-nums;min-width:84px}.restoration-buttons{align-items:center;gap:8px;display:flex}.restoration-buttons button{letter-spacing:1.5px;cursor:pointer;color:#bfe9f0;background:0 0;border:1px solid #3f7480;min-height:44px;padding:0 18px;font-size:11px;font-weight:800}.restoration-buttons .restoration-play{color:#06171b;background:#7fe9ff;border-color:#7fe9ff}.restoration-buttons button:hover{color:#fff;border-color:#c9f8ff}.restoration-buttons .restoration-play:hover{color:#06171b;background:#c9f8ff}.restoration-buttons button:focus-visible{outline-offset:3px;outline:2px solid #c9f8ff}.restoration-buttons button:disabled{opacity:.35;cursor:wait}.restoration-progress{background:#1c2329;height:2px}.restoration-progress>div{transform-origin:0;background:#7fe9ff;height:100%;transform:scaleX(0)}@media (width<=700px){.restoration-host{padding:16px 12px}.restoration-header{letter-spacing:1px;flex-direction:column;gap:7px;padding-bottom:13px;font-size:9px}.restoration-stage{aspect-ratio:auto;height:62dvh;min-height:340px;max-height:640px}.restoration-controls{flex-direction:column;align-items:stretch;gap:10px}.restoration-controls>div:first-child{justify-content:space-between;gap:8px;font-size:10px}.restoration-buttons{justify-content:stretch}.restoration-buttons button{flex:1;padding:0 8px}.restoration-tag{bottom:8%;left:7%}.restoration-vignette{box-shadow:inset 0 0 60px 10px #05060870}}@media (height<=500px) and (orientation:landscape){.restoration-host{padding:8px 16px}.restoration-header{padding-bottom:7px}.restoration-stage{aspect-ratio:16/9;height:72dvh;min-height:0}.restoration-controls{padding:7px 0}.restoration-buttons button{min-height:36px}}.restoration-preview.is-embedded{width:100%;height:100%}.restoration-preview.is-embedded .restoration-header,.restoration-preview.is-embedded .restoration-controls,.restoration-preview.is-embedded .restoration-progress,.restoration-preview.is-embedded .restoration-poster{display:none}.restoration-preview.is-embedded .restoration-stage{aspect-ratio:auto;border:0;height:100%;min-height:0;max-height:none}.restoration-buttons .restoration-sound{letter-spacing:1px;padding:0 12px;font-size:10px}.restoration-buttons .restoration-sound[aria-pressed=false]{color:#7d8a94;border-color:#2a3a40}@media (width<=700px){.restoration-buttons{gap:6px}.restoration-buttons button{letter-spacing:1px;padding:0 4px;font-size:10px}.restoration-buttons .restoration-sound{padding:0 4px}}.intro-host{color:#d8dde4;background:#0b0c0f;justify-content:center;align-items:center;width:100%;min-height:100dvh;padding:24px;font-family:Arial,Helvetica,sans-serif;display:flex}.intro-preview{--ring:0;--logo:0;width:min(100%,1280px)}.intro-header{letter-spacing:2px;color:#98a2ae;justify-content:space-between;gap:12px;padding:0 0 16px;font-size:11px;font-weight:700;display:flex}.intro-header i{color:#6fd8ea;margin:0 10px;font-style:normal}.intro-version{color:#6a7480}.intro-stage{aspect-ratio:16/9;background:#000;border-top:1px solid #2f5d66;border-bottom:1px solid #2f5d66;width:100%;position:relative;overflow:hidden}.intro-restoration{position:absolute;inset:0}.intro-fade{opacity:1;pointer-events:none;background:#000;position:absolute;inset:0}.intro-subtitle{text-align:center;color:#f2f5f7;text-shadow:0 2px 6px #000,0 0 18px #000;pointer-events:none;letter-spacing:.2px;margin:0;font-size:clamp(15px,1.75vw,23px);font-weight:600;line-height:1.35;position:absolute;bottom:9%;left:8%;right:8%}.intro-subtitle:empty{display:none}.intro-subtitle.is-voice{color:#c9f6ff;letter-spacing:1.5px;text-shadow:0 0 14px #2fd4ff66,0 2px 6px #000;font-style:italic}.intro-dialog{pointer-events:none;background:linear-gradient(#071c23f2,#030f14ee);border:1px solid #5fe6ff80;width:min(86%,780px);padding:22px 24px 18px;position:absolute;bottom:6%;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #00000080,0 0 28px #29c8ff33,inset 0 0 24px #29c8ff14}.intro-dialog[hidden]{display:none}.intro-dialog:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#ffffff06 0 1px,#0000 1px 3px);position:absolute;inset:0}.intro-dialog-name{color:#8ff0ff;letter-spacing:3px;background:#062029;border:1px solid #5fe6ff80;padding:4px 10px;font-size:10px;font-weight:800;position:absolute;top:-11px;left:18px}.intro-dialog-text{color:#eafcff;text-shadow:0 0 10px #2fd4ff44;min-height:2.9em;margin:0;font-size:clamp(15px,1.6vw,21px);font-weight:600;line-height:1.45}.intro-dialog.is-drop{filter:saturate(1.4)hue-rotate(-12deg);border-color:#ff5a7a99;transform:translate(calc(3px - 50%))}.intro-title{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding-bottom:12%;display:flex;position:absolute;inset:0}.intro-title[hidden]{display:none}.intro-ring{width:0;height:0;position:absolute;top:44%;left:50%}.intro-ring i{transform:translate(-50%,-50%) scale(calc(.15 + var(--ring) * 1.2));opacity:calc(var(--ring) * (1 - var(--logo) * .85));border:2px solid #9ff7ff;border-radius:50%;position:absolute;top:0;left:0;box-shadow:0 0 22px #5fe6ff88,inset 0 0 14px #5fe6ff55}.intro-ring i:first-child{width:120px;height:120px}.intro-ring i:last-child{border-width:1px;width:190px;height:190px}.intro-kicker{letter-spacing:.28em;color:#fde68acc;opacity:var(--logo);font-size:11px;font-weight:700;position:relative}.intro-title h1{text-align:center;color:#fff;text-shadow:0 4px #000;letter-spacing:calc(.02em + (1 - var(--logo)) * .3em);opacity:var(--logo);margin:0;font-family:Arial Black,Impact,sans-serif;font-size:clamp(54px,10vw,118px);font-weight:900;line-height:.85;position:relative}.intro-title h1 span{color:#fbbf24;text-shadow:0 4px #000,0 0 28px #fbbf2466}.is-glitch .intro-title h1{text-shadow:-4px 0 #ff2d55aa,4px 0 #2fe6ffaa,0 4px #000;transform:translate(2px)}.intro-menu{opacity:0;flex-direction:column;align-items:center;gap:2px;transition:opacity .7s,transform .7s;display:flex;position:absolute;bottom:9%;left:50%;transform:translate(-50%,12px)}.intro-menu[hidden]{display:none}.intro-menu.is-in{opacity:1;transform:translate(-50%)}.intro-menu button{cursor:pointer;letter-spacing:.12em;color:#ffffffbf;text-shadow:0 3px #000;background:0 0;border:0;min-height:44px;padding:4px 18px;font-family:Arial Black,Impact,sans-serif;font-size:clamp(17px,2.1vw,25px);transition:color .15s}.intro-menu button:hover,.intro-menu button:focus-visible{color:#fde68a;outline:none}.intro-menu button:focus-visible{text-underline-offset:6px;text-decoration:underline}.intro-menu .intro-start{color:#fff;font-size:clamp(20px,2.6vw,31px)}.intro-menu .intro-start:after{content:"";background:#fbbf24;width:60%;height:2px;margin:6px auto 0;display:block;box-shadow:0 0 12px #fbbf24aa}.intro-menu small{letter-spacing:1.5px;color:#7d8a94;margin-top:10px;font-size:10px}.intro-settings{background:#071116f2;border:1px solid #3f7480;flex-direction:column;gap:14px;min-width:min(80%,320px);padding:24px 26px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.intro-settings[hidden]{display:none}.intro-settings strong{letter-spacing:.2em;color:#fff;font-family:Arial Black,Impact,sans-serif}.intro-settings label{color:#cfe3e8;cursor:pointer;align-items:center;gap:12px;min-height:32px;font-size:14px;display:flex}.intro-settings input{accent-color:#7fe9ff;width:20px;height:20px}.intro-settings button,.intro-end button{color:#bfe9f0;letter-spacing:1.5px;cursor:pointer;background:0 0;border:1px solid #3f7480;min-height:44px;padding:0 18px;font-size:11px;font-weight:800}.intro-settings button:hover,.intro-end button:hover{color:#fff;border-color:#c9f8ff}.intro-end{text-align:center;background:radial-gradient(circle at 50% 45%,#0d2026 0,#000 70%);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;display:flex;position:absolute;inset:0}.intro-end[hidden]{display:none}.intro-end h2{letter-spacing:.06em;color:#fff;text-shadow:0 4px #000;margin:0;font-family:Arial Black,Impact,sans-serif;font-size:clamp(28px,5vw,58px)}.intro-end p{color:#fde68a;letter-spacing:.2em;text-transform:uppercase;margin:0;font-size:13px;font-weight:700}.intro-end .intro-kicker{opacity:1;color:#8ff0ff}.intro-end small{color:#7d8a94;letter-spacing:1px;font-size:11px}.intro-end div{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;display:flex}.intro-poster{color:#d8f6fb;cursor:pointer;font:inherit;background:radial-gradient(circle,#0f2a30 0,#07090c 70%);border:0;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.intro-poster[hidden]{display:none}.intro-poster span{letter-spacing:.08em;color:#fff;text-shadow:0 4px #000;font-family:Arial Black,Impact,sans-serif;font-size:clamp(26px,4.4vw,52px)}.intro-poster em{letter-spacing:3px;color:#8ff0ff;text-transform:uppercase;font-size:12px;font-style:normal}.intro-poster b{letter-spacing:3px;color:#06171b;background:#7fe9ff;margin-top:6px;padding:13px 26px;font-size:12px}.intro-poster:hover b,.intro-poster:focus-visible b{background:#c9f8ff}.intro-loading{color:#8fe6f3;letter-spacing:1px;text-align:center;background:#0b0c0f;place-content:center;padding:30px;font-size:14px;display:grid;position:absolute;inset:0}.intro-loading[hidden]{display:none}.intro-loading.is-error{color:#ffb59c}.intro-controls{justify-content:space-between;align-items:center;gap:15px;padding:16px 0 13px;display:flex}.intro-controls>div:first-child{letter-spacing:1px;align-items:center;gap:24px;font-size:11px;display:flex}.intro-phase{color:#b4c0cc}.intro-time{color:#6b7580;font-variant-numeric:tabular-nums;min-width:84px}.intro-buttons,.intro-qa{align-items:center;gap:8px;display:flex}.intro-buttons button,.intro-qa button{letter-spacing:1.5px;cursor:pointer;color:#bfe9f0;background:0 0;border:1px solid #3f7480;min-height:44px;padding:0 18px;font-size:11px;font-weight:800}.intro-buttons .intro-play{color:#06171b;background:#7fe9ff;border-color:#7fe9ff}.intro-buttons button:hover,.intro-qa button:hover{color:#fff;border-color:#c9f8ff}.intro-buttons .intro-play:hover{color:#06171b;background:#c9f8ff}.intro-buttons button:focus-visible,.intro-qa button:focus-visible{outline-offset:3px;outline:2px solid #c9f8ff}.intro-buttons button:disabled{opacity:.35;cursor:default}.intro-buttons .intro-sound{letter-spacing:1px;padding:0 12px;font-size:10px}.intro-buttons .intro-sound[aria-pressed=false]{color:#7d8a94;border-color:#2a3a40}.intro-progress{background:#1c2329;height:2px}.intro-progress>div{transform-origin:0;background:#7fe9ff;height:100%;transform:scaleX(0)}.intro-qa{letter-spacing:2px;color:#6b7580;margin-top:12px;font-size:10px}.intro-qa button{min-height:36px;padding:0 12px;font-size:10px}.is-large-text .intro-subtitle{font-size:clamp(19px,2.2vw,29px)}.is-large-text .intro-dialog-text{font-size:clamp(19px,2vw,26px)}@media (width<=700px){.intro-host{padding:16px 12px}.intro-header{letter-spacing:1px;flex-direction:column;gap:7px;padding-bottom:13px;font-size:9px}.intro-stage{aspect-ratio:auto;height:62dvh;min-height:340px;max-height:640px}.intro-controls{flex-direction:column;align-items:stretch;gap:10px}.intro-controls>div:first-child{justify-content:space-between;gap:8px;font-size:10px}.intro-buttons{justify-content:stretch;gap:6px}.intro-buttons button{letter-spacing:1px;flex:1;padding:0 4px;font-size:10px}.intro-qa{flex-wrap:wrap}.intro-qa button{flex:1}.intro-subtitle{font-size:16px;bottom:7%;left:5%;right:5%}.intro-dialog{width:92%;padding:18px 14px 12px;bottom:3.5%}.intro-dialog-text{font-size:15px;line-height:1.4}.intro-title{justify-content:flex-start;padding:16% 0 0}.intro-ring{top:24%}.intro-title h1{font-size:clamp(44px,15vw,72px)}.intro-kicker{letter-spacing:.2em;font-size:9px}.intro-menu{width:100%;bottom:5%}.intro-menu button{white-space:nowrap;min-height:44px;font-size:17px}.intro-menu .intro-start{font-size:20px}.intro-menu small{text-align:center;padding:0 12px;font-size:9px}.is-large-text .intro-subtitle{font-size:20px}.is-large-text .intro-dialog-text{font-size:18px}}@media (height<=500px) and (orientation:landscape){.intro-host{padding:8px 16px}.intro-header{padding-bottom:7px}.intro-stage{aspect-ratio:16/9;height:72dvh;min-height:0}.intro-controls{padding:7px 0}.intro-buttons button{min-height:36px}}
