:root{--ink: #e9eef8;--ink-dim: #8fa0bd;--ink-faint: #5a6a86;--rule: rgba(150, 180, 235, .16);--glass: rgba(10, 16, 28, .42);--accent: #a8c6ff;--serif: "Cormorant Garamond", ui-serif, Georgia, serif;--sans: "Inter", ui-sans-serif, system-ui, sans-serif}.overlay{position:fixed;inset:0;pointer-events:none;z-index:10}.overlay>*{pointer-events:auto}.threshold{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:max(6vh,2rem) 1.5rem;background:radial-gradient(120% 90% at 50% 40%,#05070c8c,#05070ce0 55%,#05070cf7);overflow-y:auto;transition:opacity 1.4s ease,backdrop-filter 1.4s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.threshold.leaving{opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}.threshold-inner{max-width:46rem;width:100%;text-align:center}.eyebrow{font-family:var(--sans);font-size:.62rem;font-weight:400;letter-spacing:.42em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:2.2rem}.title{font-family:var(--serif);font-weight:300;font-size:clamp(2.8rem,9vw,5.4rem);line-height:1;letter-spacing:.06em;color:var(--ink);margin:0 0 .5rem}.title em{font-style:italic;opacity:.82}.subtitle{font-family:var(--serif);font-style:italic;font-size:clamp(.95rem,2.4vw,1.15rem);color:var(--ink-dim);margin-bottom:3rem}.rule{height:1px;background:var(--rule);margin:0 auto 2.6rem;width:4rem}.vows{list-style:none;margin:0 0 3rem;padding:0;text-align:left}.vow{padding:.85rem 0;border-bottom:1px solid var(--rule);opacity:0;transform:translateY(10px);animation:rise 1.4s cubic-bezier(.16,1,.3,1) forwards}.vow:last-child{border-bottom:none}.vow-text{font-family:var(--serif);font-size:clamp(1.05rem,2.7vw,1.35rem);font-weight:300;line-height:1.45;color:var(--ink)}.vow-index{font-family:var(--sans);font-size:.58rem;letter-spacing:.28em;color:var(--ink-faint);margin-right:.9rem;vertical-align:.28em}.vow-note{display:block;font-family:var(--serif);font-style:italic;font-size:.92rem;color:var(--ink-faint);margin-top:.25rem;padding-left:2.1rem}@keyframes rise{to{opacity:1;transform:none}}.enter{font-family:var(--sans);font-size:.68rem;letter-spacing:.34em;text-transform:uppercase;color:var(--ink);background:transparent;border:1px solid var(--rule);border-radius:999px;padding:1.05rem 2.6rem;cursor:pointer;transition:border-color .6s ease,background .6s ease,letter-spacing .6s ease;opacity:0;animation:rise 1.6s cubic-bezier(.16,1,.3,1) forwards}.enter:hover{border-color:#a8c6ff80;background:#78a0e614;letter-spacing:.4em}.enter:disabled{opacity:.35;cursor:progress}.status{font-family:var(--sans);font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint);margin-top:1.6rem;min-height:1em}.hud-mark{position:fixed;top:1.6rem;left:1.8rem;font-family:var(--sans);font-size:.58rem;letter-spacing:.34em;text-transform:uppercase;color:var(--ink-faint)}.movements{position:fixed;bottom:1.6rem;left:1.8rem;display:flex;gap:.35rem;flex-wrap:wrap}.movement{font-family:var(--sans);font-size:.56rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);background:var(--glass);border:1px solid transparent;border-radius:999px;padding:.5rem .85rem;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:color .4s ease,border-color .4s ease}.movement:hover{color:var(--ink-dim)}.movement[aria-pressed=true]{color:var(--ink);border-color:var(--rule)}.tools{position:fixed;bottom:1.6rem;right:1.8rem;display:flex;align-items:center;gap:.4rem}.tool{font-family:var(--sans);font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);background:var(--glass);border:1px solid transparent;border-radius:999px;padding:.5rem .8rem;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:color .4s ease}.tool:hover{color:var(--ink)}.gathering{position:fixed;top:1.6rem;right:1.8rem;font-family:var(--sans);font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint)}.hint{position:fixed;left:50%;bottom:1.9rem;transform:translate(-50%);font-family:var(--sans);font-size:.56rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap;transition:opacity 1.2s ease}.caption{position:fixed;left:50%;bottom:3.4rem;transform:translate(-50%);text-align:center;max-width:min(40rem,86vw);opacity:0;animation:rise .9s .26s cubic-bezier(.16,1,.3,1) forwards}.caption-date{font-family:var(--sans);font-size:.56rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.5rem}.caption-text{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1rem,2.6vw,1.3rem);color:var(--ink)}.caption-close{margin-top:1rem;font-family:var(--sans);font-size:.54rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-faint)}.arrow{position:fixed;top:50%;transform:translateY(-50%);width:3.2rem;height:3.2rem;border-radius:999px;border:1px solid var(--rule);background:var(--glass);color:var(--ink-dim);cursor:pointer;display:grid;place-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:color .3s ease,border-color .3s ease}.arrow:hover{color:var(--ink);border-color:#a8c6ff73}.arrow.prev{left:1.6rem}.arrow.next{right:1.6rem}.notice{position:fixed;inset:auto 1.5rem 1.5rem;max-width:34rem;margin:0 auto;font-family:var(--sans);font-size:.72rem;line-height:1.6;color:var(--ink-dim);background:var(--glass);border:1px solid var(--rule);border-radius:.75rem;padding:.9rem 1.1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.notice code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;color:var(--accent)}@media (max-width: 640px){.hud-mark{top:1rem;left:1.1rem}.movements{left:1.1rem;bottom:1.1rem;gap:.3rem}.tools{right:1.1rem;bottom:1.1rem}.gathering{position:fixed;top:1.6rem;right:1.8rem;font-family:var(--sans);font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint)}.hint{display:none}.arrow{width:2.6rem;height:2.6rem}.arrow.prev{left:.6rem}.arrow.next{right:.6rem}.caption{bottom:5.2rem}}@media (prefers-reduced-motion: reduce){.vow,.enter,.caption{animation-duration:1ms;animation-delay:0ms;opacity:1;transform:none}}.curate{position:fixed;inset:0;overflow-y:auto;background:#05070c;padding:clamp(1.5rem,5vw,3.5rem);font-family:var(--sans);color:var(--ink)}.curate-inner{max-width:62rem;margin:0 auto}.curate h1{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,5vw,3rem);letter-spacing:.04em;margin:0 0 .4rem}.curate .lede{font-family:var(--serif);font-style:italic;color:var(--ink-dim);margin-bottom:2.5rem;font-size:1.05rem}.drop{border:1px dashed var(--rule);border-radius:1rem;padding:clamp(2rem,7vw,4rem) 1.5rem;text-align:center;transition:border-color .3s ease,background .3s ease;cursor:pointer;margin-bottom:2rem}.drop:hover,.drop.over{border-color:#a8c6ff8c;background:#78a0e60d}.drop-title{font-family:var(--serif);font-size:1.4rem;font-weight:300;margin-bottom:.4rem}.drop-sub{font-size:.75rem;color:var(--ink-faint);letter-spacing:.06em}.queue{list-style:none;padding:0;margin:0 0 2.5rem}.qrow{display:grid;grid-template-columns:3rem 1fr auto;gap:1rem;align-items:center;padding:.7rem 0;border-bottom:1px solid var(--rule);font-size:.8rem}.qthumb{width:3rem;height:3rem;border-radius:.4rem;object-fit:cover;background:#0b1220}.qname{color:var(--ink-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qstate{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint)}.qstate.err{color:#ff8a8a}.qstate.ok{color:#8fd8a8}.qbar{height:2px;background:#ffffff14;border-radius:2px;overflow:hidden;margin-top:.35rem}.qbar>i{display:block;height:100%;background:var(--accent);transition:width .2s ease}.section-label{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-faint);margin:2.5rem 0 1rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.75rem}.cell{position:relative;aspect-ratio:1;border-radius:.6rem;overflow:hidden;background:#0b1220}.cell img{width:100%;height:100%;object-fit:cover;display:block}.cell .badge{position:absolute;top:.4rem;left:.4rem;font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;background:#05070cb3;padding:.2rem .4rem;border-radius:.25rem;color:var(--ink-dim)}.cell .kill{position:absolute;top:.4rem;right:.4rem;background:#05070cb3;border:none;color:var(--ink-dim);width:1.5rem;height:1.5rem;border-radius:.3rem;cursor:pointer;font-size:.8rem}.cell .kill:hover{color:#ff8a8a}.cell input{position:absolute;left:0;right:0;bottom:0;background:#05070cd1;border:none;border-top:1px solid var(--rule);color:var(--ink);font-family:var(--serif);font-size:.78rem;padding:.4rem .5rem;width:100%}.cell input::placeholder{color:var(--ink-faint)}.cell input:focus{outline:none;background:#05070cf2}.gate{max-width:22rem;margin:20vh auto 0;text-align:center}.gate input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--rule);color:var(--ink);font-family:var(--serif);font-size:1.1rem;padding:.6rem 0;text-align:center;margin:1.5rem 0}.gate input:focus{outline:none;border-color:var(--accent)}.back{display:inline-block;margin-top:3rem;font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-faint);text-decoration:none}.back:hover{color:var(--ink)}.hintbox{border:1px solid var(--rule);border-radius:.75rem;padding:1rem 1.2rem;font-size:.76rem;line-height:1.7;color:var(--ink-dim);margin-bottom:2rem}.hintbox strong{color:var(--ink);font-weight:500}.hintbox code{font-family:ui-monospace,Menlo,monospace;color:var(--accent);font-size:.72rem}
