:root{color-scheme:dark;--bg: #0c0b09;--raise: #16130f;--line: rgba(244, 239, 230, .14);--ink: #f4efe6;--muted: #b3a898;--accent: #e4a24a;--accent-ink: #1a1208;--danger: #e7a197;--serif: "Fraunces", "Iowan Old Style", Georgia, serif;--sans: "Outfit", "Avenir Next", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0}body{min-height:100vh;background:radial-gradient(1000px 520px at 88% -10%,rgba(228,162,74,.16),transparent 55%),radial-gradient(800px 480px at -10% 110%,rgba(90,58,28,.28),transparent 50%),var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.45}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.shell{width:min(960px,100%);margin:0 auto;padding:32px 20px 72px}.mast{margin-bottom:28px}.eyebrow{margin:0 0 8px;color:var(--accent);font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.mast h1,.player-title{margin:0;font-family:var(--serif);font-weight:560;font-size:clamp(2.4rem,6vw,4.2rem);letter-spacing:-.03em;line-height:.95}.lede{max-width:38rem;margin:14px 0 0;color:var(--muted);font-size:1.05rem}.card{background:#16130feb;border:1px solid var(--line);border-radius:18px;padding:22px}.card h2{margin:0 0 6px;font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:560}fieldset.scene{min-inline-size:0}.stack{display:grid;gap:18px}label,.field-label{display:block;margin-bottom:8px;color:var(--muted);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}input,textarea{width:100%;padding:12px 14px;background:#0e0c0a;border:1px solid var(--line);border-radius:12px}textarea{min-height:150px;resize:vertical}.ratios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ratios button,.chip,.btn{min-height:44px;border-radius:12px;border:1px solid var(--line);background:#0e0c0a}.ratios button{padding:8px 10px}.ratios button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.ratio-name{display:block;font-weight:600}.ratio-spec{display:block;color:var(--muted);font-size:.78rem}.ratios button[aria-pressed=true] .ratio-spec{color:var(--accent-ink)}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;background:transparent;color:var(--ink)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn-primary:disabled{background:#3a342c;border-color:#3a342c;color:#8a8175}.btn-ghost{color:var(--muted)}.btn-wide{width:100%}.icon{width:1.1rem;height:1.1rem;display:block}.note,.hint,.status{margin:0;color:var(--muted);font-size:.92rem}.error{margin:0;color:var(--danger)}.continue{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#e4a24a14}.scene{padding:14px;border:1px solid var(--line);border-radius:14px;background:#0c0b0973}.scene h3{margin:0 0 12px;font-family:var(--serif);font-size:1.35rem;font-weight:560}.count{margin-top:6px;color:var(--muted);font-size:.75rem;text-align:right}.stage{display:grid;justify-items:center;gap:14px}.frame{position:relative;width:100%;overflow:hidden;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px #00000061;--scene: #e4a24a;--wash: #6a4320;--deep: #140e09}.w-wide{width:min(960px,100%)}.w-portrait{width:min(380px,100%)}.w-square{width:min(640px,100%)}.frame-wide{aspect-ratio:16 / 9}.frame-portrait{aspect-ratio:9 / 16}.frame-square{aspect-ratio:1 / 1}.tone-0{--scene: #e4a24a;--wash: #8a5a28;--deep: #140e09}.tone-1{--scene: #7ec8d4;--wash: #1d4e5c;--deep: #07141a}.tone-2{--scene: #e08aa4;--wash: #6a3048;--deep: #160910}.tone-3{--scene: #b7c98a;--wash: #3d4e28;--deep: #10140c}.tone-4{--scene: #c3b0f0;--wash: #3d3270;--deep: #100e18}.drift{position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;background:radial-gradient(42% 48% at 28% 32%,var(--scene),transparent 70%),radial-gradient(46% 42% at 78% 72%,var(--wash),transparent 62%),var(--deep);animation:drift 7s linear forwards}.frame:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 42%,rgba(0,0,0,.5) 100%)}.kicker,.shot,.line,.mark{position:absolute;z-index:1;margin:0;text-shadow:0 2px 18px rgba(0,0,0,.55)}.kicker{top:16px;left:18px;color:#f4efe6e0;font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.kicker span{color:var(--scene)}.mark{top:16px;right:18px;max-width:46%;color:#f4efe6c7;font-size:.85rem;text-align:right;overflow-wrap:anywhere}.line{left:7%;right:8%;bottom:22%;max-height:46%;overflow:auto;padding-left:14px;border-left:2px solid var(--scene);font-family:var(--serif);font-size:clamp(1.35rem,3.3vw,2.55rem);font-weight:560;line-height:1.18;text-wrap:balance;overflow-wrap:anywhere}.frame-portrait .line{font-size:clamp(1.45rem,5vw,2rem);bottom:26%}.shot{left:18px;right:18px;bottom:14px;color:#f4efe6c2;font-size:.78rem;letter-spacing:.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bar{height:6px;overflow:hidden;border-radius:99px;background:#f4efe633}.bar span{display:block;height:100%;width:100%;background:var(--accent);transform-origin:left center;animation:fill 7s linear forwards}.is-paused .drift,.is-paused .bar span{animation-play-state:paused}.strip{display:flex;gap:8px;width:min(960px,100%);overflow-x:auto;padding-bottom:4px}.chip{flex:1 0 150px;padding:10px 12px;text-align:left;scroll-snap-align:start}.chip[aria-current=true]{border-color:var(--accent);background:#e4a24a1f}.chip strong{display:block;margin-bottom:4px;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.chip span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:.85rem}.player-copy{width:min(960px,100%);text-align:center}.player-copy h2{margin:0;font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.1rem);font-weight:560}.player-copy p{margin:8px 0 0}@keyframes drift{0%{transform:scale(1) translateZ(0)}to{transform:scale(1.08) translate3d(-1.5%,-1%,0)}}@keyframes fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.drift,.bar span{animation:none}.bar span{transform:scaleX(1)}}@media(max-width:640px){.shell{padding:22px 14px 48px}.ratios{grid-template-columns:1fr}.card{padding:16px}.mark{display:none}.line{bottom:28%}.actions{flex-direction:column;align-items:stretch}.actions .btn{width:100%}}
