:root{--bg:#0d0f0c;--panel:#161a15;--line:#2a3128;--ph:#7CFF7C;--amber:#ffb238;--red:#c0392b}
body{background:radial-gradient(ellipse at 50% 30%,#1a2018 0%,var(--bg) 70%);color:#cfd8cc;font-family:'IBM Plex Mono',monospace;min-height:100vh;margin:0}
.scanlines{pointer-events:none;position:fixed;inset:0;z-index:50;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px)}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:4px}
.ph{color:var(--ph);text-shadow:0 0 6px rgba(124,255,124,.5)}
.amber{color:var(--amber)}
.blink{animation:blink 1.1s steps(2) infinite}
@keyframes blink{50%{opacity:.25}}
.watermark{position:fixed;top:45%;left:50%;transform:translate(-50%,-50%) rotate(-18deg);font-family:'Courier Prime';font-size:12vw;font-weight:700;color:rgba(192,57,43,.04);pointer-events:none;letter-spacing:.1em}
.redact{background:#000;color:#000;padding:0 4px;user-select:none}
.redact:hover{color:#555}
.pine-body{position:relative;width:300px;border-radius:48% 48% 45% 45%/40% 40% 55% 55%;padding:70px 22px 40px;
background:
 repeating-linear-gradient(45deg,transparent 0 20px,rgba(70,40,5,.45) 20px 22px),
 repeating-linear-gradient(-45deg,transparent 0 20px,rgba(70,40,5,.45) 20px 22px),
 radial-gradient(ellipse at 35% 30%,#f3c552,#c98a1f 55%,#7d4c0c);
box-shadow:inset -20px -30px 50px rgba(60,30,0,.6),inset 15px 15px 30px rgba(255,230,140,.35),0 30px 60px rgba(0,0,0,.6)}
.crown{display:flex;justify-content:center;align-items:flex-end;gap:3px;height:110px;margin-bottom:-30px;position:relative;z-index:2}
.leaf{width:22px;border-radius:50% 50% 2px 2px/90% 90% 2px 2px;
background:repeating-linear-gradient(0deg,rgba(0,0,0,.35) 0 1px,transparent 1px 8px),repeating-linear-gradient(90deg,rgba(0,0,0,.3) 0 1px,transparent 1px 7px),linear-gradient(#5fd36a,#1f6b2b);transform-origin:bottom}
.display{background:linear-gradient(135deg,rgba(255,255,255,.28),rgba(200,240,255,.08));border:1px solid rgba(255,255,255,.4);border-radius:10px;padding:10px 12px;margin-bottom:16px;backdrop-filter:blur(2px);box-shadow:inset 0 2px 10px rgba(255,255,255,.2),0 4px 10px rgba(0,0,0,.3);text-align:right;min-height:64px}
.glyph{font-family:'IBM Plex Mono';font-weight:200;font-size:30px;color:rgba(255,255,255,.85);text-shadow:0 0 1px #fff,2px 2px 0 rgba(120,200,255,.25);overflow:hidden;white-space:nowrap;transition:filter 24ms}
.glyph.flick{filter:blur(1.5px)}
.key{aspect-ratio:1;border-radius:30%;font-family:'Courier Prime';font-weight:700;font-size:18px;color:#3a2104;
background:radial-gradient(circle at 35% 30%,#ffd977,#d39a2c 60%,#8a560f);border:2px solid #6b3f08;box-shadow:0 3px 0 #5a3305,inset 0 1px 2px rgba(255,255,255,.5);transition:transform .05s,box-shadow .05s;touch-action:manipulation}
.key:active,.key.down{transform:translateY(2px);box-shadow:0 1px 0 #5a3305,inset 0 2px 5px rgba(0,0,0,.4)}
.key.op{background:radial-gradient(circle at 35% 30%,#e6b04a,#a86a14 60%,#663a05);color:#ffe9b8}
.key:disabled{opacity:.45}
.suspend{background:repeating-linear-gradient(45deg,#7a1c12 0 30px,#1a0503 30px 60px)}
input[type=range]{accent-color:var(--ph)}
.log::-webkit-scrollbar{width:6px}.log::-webkit-scrollbar-thumb{background:#2a3128}