*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--corp: #c2410c;--corp-dim: #7c2d12;--corp-bright: #fb923c;--amber: #d97706;--amber-glow: #fbbf24;--ink: #0c0403;--surface: rgba(18, 5, 3, .92);--border: rgba(124, 45, 18, .5);--text-dim: #78350f;--text-main: #c2410c;--text-bright: #fb923c;--danger: #ef4444;--success: #22c55e}html,body{height:100%;width:100%;overflow:hidden;background:var(--ink);color:var(--text-main);font-family:Courier New,Courier,monospace;user-select:none;-webkit-user-select:none;touch-action:none}#app{display:flex;flex-direction:column;width:100%;height:100dvh;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);background:repeating-linear-gradient(0deg,rgba(30,10,2,.3) 0px,rgba(30,10,2,.3) 1px,transparent 1px,transparent 4px),var(--ink)}#title-bar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;height:42px;padding:0 .75rem;background:var(--surface);border-bottom:1px solid var(--border);position:relative}#title-bar:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--corp),transparent)}.title-badge{font-size:.52rem;letter-spacing:.28em;color:var(--corp-dim);text-transform:uppercase;border:1px solid var(--corp-dim);padding:.12rem .45rem;border-radius:2px}#title-name{font-size:1.1rem;font-weight:900;font-style:italic;letter-spacing:-.01em;background:linear-gradient(to right,var(--corp),var(--amber-glow),var(--corp-bright));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none}#stats-bar{flex-shrink:0;display:flex;align-items:center;gap:.5rem;height:36px;padding:0 .75rem;background:#0c0403f2;border-bottom:1px solid var(--border)}.stat{display:flex;flex-direction:column;line-height:1;min-width:0}.stat-label{font-size:.48rem;letter-spacing:.1em;color:var(--text-dim);text-transform:uppercase}.stat-val{font-size:.95rem;font-weight:900;color:var(--corp-bright)}.stat-val.warn{color:var(--danger);animation:pulse .7s ease-in-out infinite}.stat-val.yellow{color:var(--amber-glow)}.stat-spacer{flex:1}#orbs{display:flex;gap:3px;align-items:center}.orb{width:8px;height:8px;border-radius:50%;transition:background .2s,box-shadow .2s}.orb.active{background:var(--corp-bright);box-shadow:0 0 6px var(--corp-bright),0 0 12px #fb923c66}.orb.spent{background:#200a04;border:1px solid #3a1208}#audio-btn{flex-shrink:0;width:30px;height:30px;border:1px solid var(--border);background:transparent;color:var(--corp-dim);border-radius:50%;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:border-color .2s,color .2s}#audio-btn.active{border-color:var(--corp);color:var(--corp);box-shadow:0 0 12px #c2410c66}#game-area{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;min-height:0;padding:.5rem}#game-area:before,#game-area:after{content:"";position:absolute;width:18px;height:18px;border-color:var(--corp-dim);border-style:solid;opacity:.5}#game-area:before{top:8px;left:8px;border-width:1px 0 0 1px}#game-area:after{bottom:8px;right:8px;border-width:0 1px 1px 0}#game-canvas{display:block;width:min(100%,calc(100dvh - 78px - 1rem));height:auto;aspect-ratio:1;cursor:crosshair;border-radius:50%;filter:drop-shadow(0 0 18px rgba(194,65,12,.35))}#chain-flash{position:absolute;top:10%;left:50%;transform:translate(-50%);text-align:center;pointer-events:none;animation:chainIn .22s cubic-bezier(.34,1.56,.64,1)}#chain-flash-label{font-size:1.6rem;font-weight:900;font-style:italic;color:var(--amber-glow);text-shadow:0 0 20px var(--amber),0 0 40px rgba(217,119,6,.5),0 0 60px rgba(217,119,6,.2)}#chain-flash-pts{font-size:.85rem;font-weight:700;color:var(--corp-bright);letter-spacing:.15em;text-shadow:0 0 12px rgba(251,146,60,.6)}#menu-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;background:#080201ed;backdrop-filter:blur(12px);padding:2rem;text-align:center}#menu-overlay.hidden{display:none}.menu-badge{font-size:.52rem;letter-spacing:.32em;color:var(--corp-dim);text-transform:uppercase;border:1px solid var(--corp-dim);padding:.12rem .5rem;border-radius:2px}#menu-title{font-size:clamp(1.9rem,8vw,2.8rem);font-weight:900;font-style:italic;letter-spacing:-.03em;background:linear-gradient(135deg,var(--corp-bright) 0%,var(--amber-glow) 50%,var(--corp) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.menu-sub{font-size:.65rem;color:var(--text-dim);letter-spacing:.3em;text-transform:uppercase}.result-label{font-size:1.15rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.result-label.cleared{color:var(--success);text-shadow:0 0 20px rgba(34,197,94,.5)}.result-label.failed{color:var(--danger);text-shadow:0 0 20px rgba(239,68,68,.5)}.result-stats{display:flex;flex-direction:column;gap:.25rem;border:1px solid rgba(124,45,18,.35);padding:.65rem 1.2rem;border-radius:4px;background:#1e050280;min-width:200px}.result-row{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;font-size:.75rem}.result-row .rlabel{color:var(--text-dim);letter-spacing:.12em;text-transform:uppercase;font-size:.58rem}.result-row .rval{font-weight:900;color:var(--corp-bright);font-size:1rem}.result-row .rval.yellow{color:var(--amber-glow)}#new-best{font-size:.65rem;font-weight:900;letter-spacing:.35em;color:var(--amber-glow);animation:pulse 1s ease-in-out infinite;text-shadow:0 0 15px var(--amber)}.menu-btn{padding:.65rem 2rem;background:linear-gradient(to bottom,#3c0f05e6,#1e0502e6);border:1px solid rgba(194,65,12,.5);color:var(--corp-bright);font-weight:900;font-size:.9rem;font-family:inherit;border-radius:3px;cursor:pointer;letter-spacing:.15em;text-transform:uppercase;box-shadow:0 0 25px #c2410c33,inset 0 1px #fb923c1a;transition:transform .15s,box-shadow .15s,border-color .15s}.menu-btn:hover{transform:scale(1.05);box-shadow:0 0 45px #c2410c73,inset 0 1px #fb923c26;border-color:#fb923cb3}.menu-btn:active{transform:scale(.97)}.menu-btn.next{border-color:#22c55e73;color:var(--success);box-shadow:0 0 25px #22c55e26,inset 0 1px #22c55e1a}.menu-btn.next:hover{box-shadow:0 0 45px #22c55e59,inset 0 1px #22c55e26;border-color:#22c55eb3}.instr-list{display:flex;flex-direction:column;gap:.28rem;max-width:240px;text-align:left}.instr-row{display:flex;gap:.4rem;font-size:.62rem;color:var(--text-dim);align-items:flex-start}.instr-key{color:var(--corp-bright);font-weight:700;flex-shrink:0;background:#c2410c1f;border:1px solid rgba(194,65,12,.3);padding:.05rem .3rem;border-radius:2px;font-size:.58rem}.terra-logo{font-size:.48rem;letter-spacing:.5em;color:var(--corp-dim);text-transform:uppercase;opacity:.6}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes chainIn{0%{opacity:0;transform:translate(-50%) scale(.3) rotate(-4deg)}to{opacity:1;transform:translate(-50%) scale(1) rotate(0)}}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.hidden{display:none!important}
