:root{--ink: #f3efe6;--ink-muted: rgba(243, 239, 230, .58);--ink-faint: rgba(243, 239, 230, .16);--ease: cubic-bezier(.23, 1, .32, 1)}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:#020204;color:var(--ink);font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;-webkit-font-smoothing:antialiased}.canvas{position:fixed;inset:0;display:block;width:100%;height:100%;outline:none;cursor:grab}.canvas:active{cursor:grabbing}.vignette{position:fixed;inset:0;z-index:5;pointer-events:none;background:radial-gradient(ellipse at center,transparent 42%,rgba(2,2,4,.55) 100%)}.loader{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;background:#020204;transition:opacity .6s var(--ease),visibility .6s var(--ease)}.loader.hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-content{display:flex;flex-direction:column;align-items:center;gap:1.2rem}.spinner{width:2.6rem;height:2.6rem;border:2px solid var(--ink-faint);border-top-color:var(--ink);border-radius:50%;animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loader-text{margin:0;font-size:.95rem;letter-spacing:.05em;color:var(--ink-muted)}.progress-bar{width:11rem;height:1px;overflow:hidden;background:var(--ink-faint)}.progress-fill{height:100%;width:0%;background:var(--ink);transition:width .25s var(--ease)}.hud{position:fixed;inset:0 0 auto;z-index:10;display:grid;gap:1rem;max-width:28rem;padding:1.4rem 1.5rem;pointer-events:none;background:linear-gradient(180deg,rgba(2,2,4,.62) 0%,transparent 100%)}.hud[hidden]{display:none}.hud-kicker{margin:0 0 .4rem;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:.64rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted)}.hud-title{margin:0 0 .55rem;font-size:clamp(1.75rem,4.5vw,2.6rem);font-weight:400;letter-spacing:-.035em;line-height:.95}.hud-lede{margin:0;max-width:22rem;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:.82rem;line-height:1.45;color:var(--ink-muted)}.controls{position:fixed;right:1.25rem;bottom:1.25rem;z-index:12;width:min(17.5rem,calc(100vw - 2rem));padding:1rem 1.05rem 1.1rem;border:1px solid var(--ink-faint);border-radius:.85rem;background:#08080cb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto}.controls[hidden]{display:none}.controls-label{margin:0 0 .55rem;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}.controls-guide{margin:0 0 .9rem;padding:0;list-style:none;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:.78rem;line-height:1.45;color:var(--ink-muted)}.controls-guide li{margin:0 0 .35rem}.controls-guide strong{color:var(--ink);font-weight:600}.controls-actions{display:grid;gap:.4rem}.ctrl{appearance:none;margin:0;padding:.55rem .7rem;border:1px solid var(--ink-faint);border-radius:.55rem;background:#ffffff0a;color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.02em;text-align:left;cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease)}.ctrl:hover{background:#ffffff1a;border-color:#f3efe659}.ctrl.is-on{background:var(--ink);border-color:var(--ink);color:#0a0a0a}.controls-focus{margin:.75rem 0 0;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:.68rem;letter-spacing:.04em;color:var(--ink-muted)}@media(max-width:640px){.hud{padding:1rem;max-width:none}.controls{right:.75rem;bottom:.75rem;left:.75rem;width:auto}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
