@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap";:root{--bg-1: #0b1430;--bg-2: #122657;--bg-3: #1f3f82;--pixel-cyan: #56f1ff;--pixel-teal: #1fb9c7;--pixel-yellow: #ffd54a;--pixel-orange: #ff9a2f;--pixel-red: #ef4a3a;--pixel-cream: #fff3d2;--pixel-ink: #1b1027;--panel-a: #2a4ea1;--panel-b: #1f3f82;--panel-c: #1a2e62;--line-dark: #121d3d;--line-light: #87d8ff;font-family:VT323,monospace;color:var(--pixel-cream);background:linear-gradient(180deg,var(--bg-1),var(--bg-2) 55%,var(--bg-3))}*{box-sizing:border-box}html{overflow-x:hidden;overflow-y:auto}body{margin:0;min-height:100vh;background-attachment:fixed;image-rendering:pixelated;position:relative;overflow-x:hidden;overflow-y:auto}body:before,body:after{content:"";position:fixed;pointer-events:none;z-index:0}body:before{top:-70vmax;right:-70vmax;bottom:-70vmax;left:-70vmax;background:linear-gradient(45deg,#0a2d64 25%,transparent 25%,transparent 75%,#0a2d64 75%),linear-gradient(45deg,#0a2d64 25%,transparent 25%,transparent 75%,#0a2d64 75%);background-size:56px 56px;background-position:0 0,28px 28px;opacity:.34;mix-blend-mode:screen;animation:checkerboard-drift 3.8s linear infinite;will-change:transform}body:after{top:-20vmax;right:-20vmax;bottom:-20vmax;left:-20vmax;background:repeating-linear-gradient(180deg,#ffffff10 0 2px,transparent 2px 4px);animation:overlay-drift 10s linear infinite;will-change:transform}#root{min-height:100vh;position:relative;z-index:1}.app-shell{max-width:1250px;margin:0 auto;padding:1.3rem;position:relative;z-index:1}.hero{text-align:center;padding:.9rem 1rem 1.25rem}.hero-badge{display:inline-block;margin:0;padding:.5rem .8rem;border-radius:0;background:linear-gradient(180deg,var(--pixel-yellow),var(--pixel-orange));border:3px solid var(--line-dark);box-shadow:4px 4px #0006;font-weight:800;color:#241313;letter-spacing:.04em;text-transform:uppercase}.hero h1{font-family:"Press Start 2P",monospace;font-size:clamp(1rem,2.2vw,1.7rem);line-height:1.35;margin:.95rem 0 .8rem;color:var(--pixel-cyan);letter-spacing:.02em;text-shadow:2px 2px 0 #121d3d,4px 4px 0 #0a1025}.hero p{margin:0 auto;max-width:730px;font-size:1.8rem;font-weight:700;color:#d2eaff}.workspace-grid{display:grid;gap:1rem;grid-template-columns:minmax(270px,340px) 1fr}.panel{border-radius:0;padding:1rem;background:linear-gradient(180deg,var(--panel-a),var(--panel-b));border:3px solid var(--line-dark);box-shadow:inset 0 0 0 2px #3c66c4,inset 0 0 0 4px var(--panel-c),6px 6px #0c1731}.control-panel h2{font-family:"Press Start 2P",monospace;margin:.8rem 0;font-size:.8rem;letter-spacing:.03em;color:var(--pixel-yellow);line-height:1.5}.dropzone{display:grid;place-items:center;width:100%;min-height:90px;border:3px dashed var(--line-light);border-radius:0;background:#1b336d;cursor:pointer;text-align:center;padding:.6rem;font-weight:800;color:var(--pixel-cream);font-size:1.35rem;box-shadow:inset 0 0 0 2px #0d1f47}.dropzone.drag-over{background:#24488f;border-color:var(--pixel-yellow);transform:scale(1.01)}.dropzone input{display:none}.field-group{margin-top:.9rem;display:grid;gap:.4rem}.field-group.compact{margin-top:0;min-width:240px}.checkbox-line{display:flex;align-items:center;gap:.5rem;font-weight:800;font-size:1.35rem}.field-row{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-top:.8rem}input[type=range]{width:100%;accent-color:var(--pixel-yellow)}input[type=color]{width:54px;height:36px;border:3px solid var(--line-dark);border-radius:0;background:#fff;padding:0}button{margin-top:.75rem;width:100%;border:3px solid var(--line-dark);border-radius:0;padding:.7rem .85rem;font-weight:800;font-family:"Press Start 2P",monospace;font-size:.68rem;line-height:1.5;letter-spacing:.02em;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;box-shadow:0 4px #0a1430}button:hover:enabled{transform:translateY(-2px);filter:brightness(1.02)}button:disabled{opacity:.65;cursor:not-allowed}.primary-btn{background:linear-gradient(180deg,var(--pixel-yellow),#ffb731);color:#271812;border-color:#5b4015;box-shadow:0 4px #a16b16}.secondary-btn{background:linear-gradient(180deg,#4fdbff,#2eaad4);color:#fff;border-color:#18436f;box-shadow:0 4px #1a6787}.stage-panel{display:grid;gap:.85rem;grid-template-rows:auto 1fr auto auto}.stage-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem}.frame-counter{margin:0;font-weight:800;color:var(--pixel-cyan);font-size:1.45rem}.stage{position:relative;width:100%;min-height:420px;border-radius:0;background:repeating-linear-gradient(180deg,#ffffff0b 0 2px,transparent 2px 4px),linear-gradient(180deg,#346fcb 0,#346fcb 62%,#2f874f 63%,#2f874f);border:3px solid var(--line-dark);overflow:hidden;display:grid;place-items:center}.drawing-surface{position:relative;border-radius:0;overflow:hidden;box-shadow:inset 0 0 0 3px #d5f1ff,0 6px #182a56,0 12px 20px #080f213d}.lightbox-image,.drawing-canvas,.onion-image{width:100%;height:100%;object-fit:fill}.lightbox-image{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.92}.onion-image{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.onion-previous{filter:hue-rotate(-12deg) saturate(.7)}.onion-next{filter:hue-rotate(155deg) saturate(.7)}.drawing-canvas{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none}.empty-stage{font-family:"Press Start 2P",monospace;color:var(--pixel-yellow);text-align:center;padding:1.1rem;letter-spacing:.02em;line-height:1.65}.timeline-controls{display:grid;grid-template-columns:130px 1fr 130px;gap:.7rem}.timeline-controls button{margin-top:0;background:linear-gradient(180deg,#ff6e56,var(--pixel-red));color:#fff;border:3px solid #6b2017;box-shadow:0 4px #681f17}.status-text{margin:0;background:#173465;border-radius:0;padding:.75rem;border:3px solid #102247;box-shadow:inset 0 0 0 2px #355a9f;color:#cce9ff;font-weight:700;font-size:1.35rem}label{font-size:1.35rem;color:#eaf6ff}input[type=checkbox]{width:18px;height:18px}@media (max-width: 960px){.workspace-grid{grid-template-columns:1fr}.stage{min-height:330px}}@keyframes checkerboard-drift{0%{transform:translateZ(0)}to{transform:translate3d(-168px,168px,0)}}@keyframes overlay-drift{0%{transform:translateZ(0)}to{transform:translate3d(-96px,96px,0)}}
