.vigil-stage{aspect-ratio:1280/859;background:var(--surface-2,#eef1f3);isolation:isolate;border-radius:16px;width:100%;position:relative;overflow:hidden;box-shadow:0 8px 30px #00000029}.vs-plate{object-fit:cover;width:100%;height:100%;transition:opacity .55s;position:absolute;inset:0}.vs-under{z-index:0}.vs-over{z-index:1}.vs-slot{z-index:3;position:absolute;transform:translate(-50%)}.vs-layer{transform-origin:50% 100%;will-change:transform, opacity;width:100%;height:100%}.vs-layer img{object-fit:contain;object-position:bottom;width:100%;height:100%;display:block}.vs-flip .vs-layer img{transform:scaleX(-1)}.vs-shadow{z-index:2;pointer-events:none;background:radial-gradient(#2e36406b 0%,#2e364042 45%,#2e364000 72%);border-radius:50%;position:absolute}.vs-glass .vs-layer img{filter:blur(1.4px)saturate(.55)brightness(1.14)contrast(.88)}.vs-glass{opacity:.72}.vs-glare{z-index:4;pointer-events:none;background:linear-gradient(118deg,#fff0 30%,#ffffff80 46%,#fff0 58%);position:absolute}.vs-hot{z-index:6;cursor:default;background:0 0;border:0;border-radius:14px;padding:0;transition:background .2s;position:absolute}.inspecting .vs-hot{cursor:pointer;background:color-mix(in srgb, var(--mark) 30%, transparent);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--mark) 85%, transparent), inset 0 0 0 4px #1c120685, 0 0 0 2px #1c12066b;animation:1.9s ease-in-out infinite vs-hot}.inspecting .vs-hot:hover{background:color-mix(in srgb, var(--mark) 70%, transparent);animation:none}.vs-hot.vs-found{cursor:default;box-shadow:none!important;background:0 0!important;animation:none!important}@keyframes vs-hot{0%,to{opacity:.65}50%{opacity:1}}@keyframes vs-enter{0%{opacity:0;transform:translate(38px)scale(.98)}to{opacity:1;transform:none}}@keyframes vs-enterL{0%{opacity:0;transform:translate(-38px)scale(.98)}to{opacity:1;transform:none}}@keyframes vs-sway{0%,to{transform:translateY(0)}50%{transform:translateY(-.6%)}}.vs-in{animation:.5s cubic-bezier(.2,.8,.3,1) both vs-enter}.vs-inL{animation:.5s cubic-bezier(.2,.8,.3,1) both vs-enterL}.vs-idle{animation:5s ease-in-out 1s infinite vs-sway}@media (prefers-reduced-motion:reduce){.vs-in,.vs-inL,.vs-idle,.inspecting .vs-hot{animation:none!important}.vs-plate{transition:none}}.vigil-page{background:var(--bg);min-height:100dvh;color:var(--text)}.vigil-wrap{max-width:820px;margin:0 auto;padding:20px 16px 64px}.vigil-wrap.vigil-wrap-hub{width:100%;max-width:1440px;container-type:inline-size}.vigil-wrap.vigil-wrap-player{width:100%;max-width:1440px;padding:0}.vigil-wrap.vigil-wrap-wide{width:100%;max-width:1440px;container-type:inline-size}@container (min-width:900px){.vigil-beat{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);grid-template-areas:"scene panel""opts opts""after after";align-items:start;gap:18px 26px;display:grid}.vigil-scene{grid-area:scene}.vigil-beat>.vigil-panel{grid-area:panel}.vigil-beat>.vigil-opts{grid-area:opts;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.vigil-beat>.vigil-after{grid-area:after}.vigil-beat .vigil-bar{margin-top:0}.vigil-beat .vigil-prompt{margin-top:14px;font-size:21px;line-height:1.38}.vigil-beat .vigil-line{margin-bottom:0;font-size:15.5px}.vigil-beat .vigil-nudge{font-size:14px}.vigil-beat .vigil-opt{height:100%;padding:17px 19px;font-size:16.5px}.vigil-beat .vigil-opt:hover:not(:disabled){transform:translateY(-2px)}.vigil-beat .vigil-fb{margin-top:0}.vigil-beat .vigil-fb h4{font-size:18px}.vigil-beat .vigil-fb p{font-size:15.5px}}@container (min-width:900px) and (max-width:1099px){.vigil-beat{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);column-gap:22px}.vigil-beat .vigil-prompt{font-size:19.5px}}.vigil-head{margin-bottom:14px}.vigil-head-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.vigil-head-row>.vigil-back{flex:none;margin-bottom:0}.vigil-tag{letter-spacing:.07em;color:var(--brand-strong);font-size:11.5px;font-weight:900}.vigil-head h1{margin:2px 0 10px;font-size:20px;font-weight:900}.vigil-pips{gap:6px;display:flex}.vigil-pip{background:var(--border);border-radius:5px;flex:1;height:10px}.vigil-pip.on{background:var(--brand)}.vigil-panel{animation:.3s both vs-fadeup}@keyframes vs-fadeup{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.vigil-bar{align-items:center;gap:10px;margin-top:12px;display:flex}.vigil-bar span{color:var(--text-muted);font-size:12.5px;font-weight:800}.vigil-look{border:2px solid var(--border);background:var(--card);color:var(--text-2);cursor:pointer;border-radius:12px;padding:9px 15px;font-family:inherit;font-size:13.5px;font-weight:800;transition:all .15s}.vigil-look.on{background:var(--mark-bg);border-color:var(--mark);color:var(--mark-strong)}.vigil-tells{flex-direction:column;gap:7px;margin:12px 0 0;padding:0;list-style:none;display:flex}.vigil-tells li{background:var(--mark-bg);border:1.5px solid var(--border);color:var(--text-2);border-radius:11px;gap:9px;padding:10px 13px;font-size:13.5px;font-weight:700;animation:.3s both vs-fadeup;display:flex}.vigil-tells b{color:var(--mark-strong)}.vigil-prompt{margin:18px 0 4px;font-size:22px;font-weight:800;line-height:1.3}.vigil-line{color:var(--text-muted);margin:0 0 16px;font-size:14.5px;font-weight:700}.vigil-opts{flex-direction:column;gap:10px;display:flex}.vigil-opt{text-align:left;background:var(--card);border:2px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:15px;align-items:center;gap:13px;padding:15px 17px;font:700 15.5px/1.35 inherit;transition:all .15s;display:flex}.vigil-opt:hover:not(:disabled){border-color:var(--brand);transform:translate(2px)}.vigil-opt:disabled{cursor:default}.vigil-bdg{border:2px solid var(--border);border-radius:9px;flex:none;place-items:center;width:29px;height:29px;font:900 13px system-ui;display:grid}.vigil-opt.c100{background:var(--success-bg);border-color:var(--success-2);color:var(--success)}.vigil-opt.c50{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn)}.vigil-opt.c0{background:var(--danger-bg);border-color:var(--danger-2);color:var(--danger)}.vigil-opt.dim{opacity:.42}.vigil-fb{border:2px solid var(--border);background:var(--surface);border-radius:17px;margin-top:18px;padding:17px 19px}.vigil-fb.good{background:var(--success-bg);border-color:var(--success-border)}.vigil-fb.part{background:var(--warn-bg);border-color:var(--warn-border)}.vigil-fb.bad{background:var(--danger-bg);border-color:var(--danger-border)}.vigil-fb h4{margin:0 0 6px;font-size:16.5px;font-weight:900}.vigil-fb p{color:var(--text-2);margin:0 0 8px;font-size:14.5px;font-weight:700;line-height:1.5}.vigil-fb p:last-of-type{margin-bottom:0}.vigil-chip{background:var(--surface-2);border:1.5px solid var(--border);color:var(--text-muted);border-radius:20px;align-items:center;gap:6px;margin-top:11px;margin-right:8px;padding:4px 11px;font-size:12px;font-weight:800;display:inline-flex}.vigil-next{background:var(--brand);color:#fff;cursor:pointer;width:100%;box-shadow:0 4px 0 var(--brand-strong);border:none;border-radius:14px;margin-top:16px;padding:15px;font-family:inherit;font-size:16px;font-weight:900}.vigil-next:active{box-shadow:0 2px 0 var(--brand-strong);transform:translateY(2px)}.vigil-next:disabled{opacity:.6;cursor:default}.vigil-score{gap:12px;margin:18px 0;display:flex}.vigil-score>div{background:var(--card);border:1.5px solid var(--border);text-align:center;border-radius:15px;flex:1;padding:15px}.vigil-score b{color:var(--brand-strong);font-size:26px;font-weight:900;display:block}.vigil-score span{letter-spacing:.06em;color:var(--text-muted);font-size:11.5px;font-weight:800}.vigil-note{color:var(--text-muted);text-align:center;margin-top:12px;font-size:12.5px;font-weight:700}.vigil-roads{border:1.5px solid var(--border);background:var(--card);border-radius:15px;margin-top:16px}.vigil-roads>summary{cursor:pointer;color:var(--text-2);padding:13px 16px;font-size:13.5px;font-weight:900;list-style:none}.vigil-roads>summary::-webkit-details-marker{display:none}.vigil-roads>summary:after{content:" +";color:var(--text-muted);font-weight:900}.vigil-roads[open]>summary:after{content:" -"}.vigil-roads[open]>summary{border-bottom:1.5px solid var(--border)}.vigil-road{padding:13px 16px}.vigil-road+.vigil-road{border-top:1px solid var(--border)}.vigil-road-prompt{color:var(--text-muted);margin:0 0 9px;font-size:12.5px;font-weight:800;line-height:1.45}.vigil-road ul{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.vigil-road li{background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:9px 11px}.vigil-road li.took{border-color:var(--mark);background:var(--mark-bg)}.vigil-road li b{color:var(--text);font-size:13px;font-weight:900;line-height:1.35;display:block}.vigil-road li.took b:after{content:" (you)";color:var(--mark-strong)}.vigil-road li span{color:var(--text-2);margin-top:3px;font-size:12.5px;font-weight:600;line-height:1.45;display:block}.vigil-hub-intro{color:var(--text-2);margin:0 0 20px;font-size:15.5px;font-weight:700;line-height:1.55}.vigil-hub-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}@container (max-width:995px){.vigil-hub-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width:491px){.vigil-hub-list{grid-template-columns:minmax(0,1fr)}}.vigil-hub-card{background:var(--card);border:2px solid var(--border);color:var(--text);border-radius:16px;flex-direction:column;gap:0;padding:0;text-decoration:none;transition:border-color .15s,transform .15s;display:flex;overflow:hidden}.vigil-hub-thumb{aspect-ratio:1280/859;background:var(--surface-2);border-bottom:1.5px solid var(--border);display:block;position:relative}.vigil-hub-thumb img{object-fit:cover;width:100%;height:100%;display:block}.vigil-hub-body{flex-direction:column;flex:1;gap:4px;padding:15px 17px 17px;display:flex}.vigil-hub-card:hover{border-color:var(--brand);transform:translateY(-2px)}.vigil-hub-list>li{display:flex}.vigil-hub-tag{letter-spacing:.03em;color:var(--brand-strong);flex-wrap:wrap;align-items:center;gap:5px 8px;font-size:10.5px;font-weight:900;display:flex}.vigil-hub-tag-text{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.vigil-hub-title{font-size:17.5px;font-weight:900}.vigil-hub-premise{color:var(--text-muted);font-size:14px;font-weight:700;line-height:1.45}.vigil-back{border:1.5px solid var(--border);background:var(--card);color:var(--text-2);cursor:pointer;border-radius:11px;align-items:center;gap:6px;margin-bottom:10px;padding:7px 13px;font-family:inherit;font-size:13px;font-weight:800;display:inline-flex}.vigil-back:hover{border-color:var(--brand)}.vigil-hub-card{text-align:left;cursor:pointer;width:100%;font:inherit}.vigil-hub-card:disabled{opacity:.6;cursor:default}.vigil-look.nudge{border-color:var(--mark);color:var(--mark-strong);animation:2.4s ease-in-out infinite vs-nudge}@keyframes vs-nudge{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--mark) 40%, transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--mark) 0%, transparent)}}.vigil-nudge{color:var(--text-muted);margin:9px 2px 0;font-size:13px;font-weight:700;line-height:1.45}@media (prefers-reduced-motion:reduce){.vigil-look.nudge{animation:none}}.vigil-rec{z-index:1;letter-spacing:.04em;text-transform:none;white-space:nowrap;background:var(--mark-bg);border:1px solid var(--mark);color:var(--mark-strong);border-radius:999px;padding:3px 9px;font-size:10.5px;font-style:normal;font-weight:900;position:absolute;top:8px;right:8px;box-shadow:0 2px 6px #00000047}.vs-phone,.vs-phone *,.vs-note,.vs-note *{box-sizing:border-box}.vs-phone{z-index:4;transform:translateX(-50%) scale(var(--ds,1));transform-origin:50% 100%;background:linear-gradient(160deg,#2a2f36,#14171c);border-radius:26px;width:min(33%,344px);padding:6px;position:absolute;bottom:22%;left:50%;box-shadow:0 22px 50px #00000073,inset 0 0 0 1px #ffffff14,0 0 44px 10px #96beff1f;container-type:inline-size}.vs-phone-screen{background:linear-gradient(#55657c,#333d4d);border-radius:21px;flex-direction:column;width:100%;min-height:143cqw;padding:6cqw 2.6cqw 4.8cqw;display:flex;overflow:hidden}.vs-lock{text-align:center;color:#eff4ff;text-shadow:0 2px 10px #00000061;margin:4cqw 0 auto}.vs-lock-time{letter-spacing:-.02em;font-size:13.5cqw;font-weight:300;line-height:1}.vs-lock-date{opacity:.8;margin-top:1.4cqw;font-size:4cqw;font-weight:700}.vs-note{background:color-mix(in srgb, var(--card) 94%, #fff);width:100%;color:var(--text);text-align:left;border:1px solid #ffffff73;border-radius:5.5cqw;padding:3.7cqw 4cqw 4cqw;box-shadow:0 6px 16px #00000038}.vs-dev-bar{justify-content:space-between;align-items:center;gap:3cqw;margin-bottom:1.8cqw;display:flex}.vs-dev-app{letter-spacing:.07em;text-transform:uppercase;color:var(--brand-strong);font-size:max(9px,3.3cqw);font-weight:900}.vs-dev-time{color:var(--text-muted);font-size:max(9px,3.3cqw);font-weight:800}.vs-dev-title{margin-bottom:1.1cqw;font-size:max(12px,4.6cqw);font-weight:900;line-height:1.25}.vs-dev-code{text-align:center;background:var(--surface-2);border:1px solid var(--border);letter-spacing:.16em;color:var(--text);border-radius:3.3cqw;margin:2.2cqw 0 1.8cqw;padding:1.8cqw 0;font:900 max(17px,7cqw)/1 ui-monospace,SFMono-Regular,Menlo,monospace}.vs-dev-line{color:var(--text-2);margin:0 0 .7cqw;font-size:max(10px,3.9cqw);font-weight:700;line-height:1.4}.vs-dev-badge{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;margin-top:2.2cqw;padding:.4cqw 2.6cqw;font-size:max(10px,3.2cqw);font-weight:900;display:inline-block}.vs-dev-actions{flex-direction:column;gap:1.8cqw;margin-top:3.3cqw;display:flex}.vs-dev-action{text-align:center;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:3.3cqw;padding:2.2cqw 0;font-size:max(10px,3.7cqw);font-weight:900}.vs-sms .vs-dev-title,.vs-mail .vs-dev-title{color:var(--text-muted);font-size:max(10px,3.9cqw);font-weight:800}.vs-sms .vs-dev-line{color:var(--text);font-size:max(13px,5.1cqw);font-weight:650;line-height:1.42}.vs-dev-note-wrap{width:max-content;max-width:124%;position:absolute;top:calc(100% + 11px);left:50%;transform:translate(-50%)}.vs-dev-note-wrap:before{content:"";background:var(--mark);opacity:.7;width:1px;height:10px;position:absolute;top:-11px;left:50%}.vs-dev-note{background:color-mix(in srgb, var(--mark-bg) 88%, transparent);border:1px dashed var(--mark);width:100%;color:var(--mark-strong);text-align:center;border-radius:9px;padding:4px 10px;font-size:11px;font-style:italic;font-weight:800;line-height:1.3;display:block}.vs-hot-inline{width:100%;text-align:inherit;font-family:inherit;font-style:inherit;color:inherit;cursor:default;background:0 0;border:1px solid #0000;border-radius:7px;margin-left:-3px;padding:1px 3px;transition:background .18s,border-color .18s;display:block}.inspecting .vs-hot-inline:not(.vs-found){cursor:pointer;background:color-mix(in srgb, var(--mark) 26%, transparent);border-color:color-mix(in srgb, var(--mark) 62%, transparent);animation:1.9s ease-in-out infinite vs-hot}.inspecting .vs-hot-inline:not(.vs-found):hover{background:color-mix(in srgb, var(--mark) 55%, transparent);animation:none}.vs-hot-inline.vs-found{background:0 0;border-color:#0000;animation:none}.vs-dev-bar .vs-hot-inline{width:auto;margin-left:0}.vs-dev-badge.vs-hot-inline{width:auto}.vs-dev-note.vs-hot-inline{width:100%;color:var(--mark-strong);border:1px dashed var(--mark);background:color-mix(in srgb, var(--mark-bg) 88%, transparent);margin-left:0;padding:4px 10px;font-family:inherit;font-size:11px;font-style:italic;font-weight:800;line-height:1.3;transform:none}.inspecting .vs-dev-note.vs-hot-inline:not(.vs-found){background:color-mix(in srgb, var(--mark) 30%, var(--mark-bg));border-style:solid}.inspecting .vs-dev-note.vs-hot-inline:not(.vs-found):hover{background:color-mix(in srgb, var(--mark) 55%, var(--mark-bg))}@media (max-width:820px){.vs-phone{width:42%;transform:translate(-50%, -50%) scale(var(--ds,1));transform-origin:50%;top:50%;bottom:auto!important}.vs-phone-screen{min-height:112cqw}.vs-dev-note-wrap{max-width:132%;top:calc(100% + 7px)}.vs-dev-note{padding:3px 8px;font-size:10px}}.vs-morning .vs-plate{filter:brightness(1.5)saturate(.85)hue-rotate(-12deg)}.vigil-hub-head{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.vigil-hub-count{color:var(--text-2);white-space:nowrap;margin-bottom:12px;font-size:13.5px;font-weight:800}.vigil-badge{z-index:1;letter-spacing:.04em;white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:10.5px;font-style:normal;font-weight:900;position:absolute;top:8px;left:8px;box-shadow:0 2px 6px #00000047}.vigil-badge-done{background:var(--success-bg);border:1px solid var(--success-border,var(--success));color:var(--success)}.vigil-badge-new{background:var(--brand);border:1px solid var(--brand-strong);color:var(--on-brand)}.vigil-hub-result{margin-top:auto;padding-top:6px;font-size:12.5px;font-weight:800}.vigil-hub-result.is-good{color:var(--success)}.vigil-hub-result.is-part{color:var(--mark-strong)}.vigil-hub-result.is-bad{color:var(--danger)}.vigil-lead{text-align:left;width:100%;font:inherit;color:var(--text);cursor:pointer;background:var(--card);border:2px solid var(--border);border-radius:20px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:0 0 18px;padding:0;transition:border-color .15s,transform .15s;display:grid;overflow:hidden;box-shadow:0 4px 16px #2b26220f}.vigil-lead:hover{border-color:var(--brand);transform:translateY(-2px)}.vigil-lead:disabled{opacity:.6;cursor:default}.vigil-lead-art{aspect-ratio:16/9;background:var(--surface-2);display:block;position:relative}.vigil-lead-art img{object-fit:cover;width:100%;height:100%;display:block}.vigil-lead-body{flex-direction:column;justify-content:center;gap:6px;padding:24px 26px;display:flex}.vigil-lead-eyebrow{letter-spacing:.12em;color:var(--mark-strong);font-size:11.5px;font-weight:900}.vigil-lead-title{font-size:26px;font-weight:900;line-height:1.15}.vigil-lead-why{color:var(--text-2);margin-top:4px;font-size:13.5px;font-weight:800}.vigil-lead-btn{background:var(--brand);color:var(--on-brand);box-shadow:0 3px 0 var(--brand-strong);border-radius:13px;align-self:flex-start;margin-top:12px;padding:12px 22px;font-size:15px;font-weight:900}@container (max-width:700px){.vigil-lead{grid-template-columns:minmax(0,1fr)}.vigil-lead-body{padding:16px 18px 18px}.vigil-lead-title{font-size:21px}.vigil-lead-btn{text-align:center;align-self:stretch}}.vigil-debrief-actions{align-items:stretch;gap:10px;margin-top:16px;display:flex}.vigil-debrief-actions .vigil-next{flex:1;margin-top:0}.vigil-debrief-actions .vigil-back{border-radius:14px;justify-content:center;margin:0;padding:0 20px;font-size:15px}
