:root{--bg-deep:#04040c;--bg:#0a0a1a;--bg-raised:#0c0c1e;--bg-inset:#060614;--panel:#0c0c1eeb;--panel-solid:#0c0c1e;--border:#1a3a1a;--border-dim:#14281a;--border-bright:#2a4a2a;--text:#0f0;--text-bright:#6f6;--text-dim:#8f8;--text-mute:#aaa;--text-faint:#666;--accent:#ff0;--accent-dim:#aa0;--warn:#f44;--info:#6cf;--good:#3f6;--rubber:#d4b820;--mold:#ff6a00;--paint:#2a8cff;--voice:#ff0;--speaker:#aa0;--drift:#c77;--echo:#9a8;--sys:#5a5;--duck:#ffd23f;--duck-dim:#c9a42c;--btn-bg:#1d1d33;--btn-bg-hi:#23233c;--bg-sidebar:#08081a;--bg-control:#111128;--glow-green:#00ff0059;--glow-amber:#ffff0059;--glow-red:#ff3c3c4d;--font-mono:ui-monospace, "Cascadia Mono", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace;--radius:4px}html,body{background:var(--bg-deep)}body{color:var(--text);font-family:var(--font-mono);background-color:#0000;background-image:radial-gradient(1100px 700px at 12% -8%,#00ff6e0e,#0000 60%),radial-gradient(900px 650px at 88% 108%,#ffc8000b,#0000 55%),repeating-linear-gradient(0deg,#00ff0003 0 1px,#0000 1px 44px),repeating-linear-gradient(90deg,#00ff0003 0 1px,#0000 1px 44px),linear-gradient(#060614 0%,#04040c 100%);background-position:0 0,0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box}body:before{content:"";pointer-events:none;z-index:9998;background:radial-gradient(#0000 62%,#0000004d 100%);position:fixed;inset:0}#game-container canvas{image-rendering:pixelated;image-rendering:crisp-edges}*{scrollbar-width:thin;scrollbar-color:var(--border-bright) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}::-webkit-scrollbar-track{background:0 0}::selection{color:#eaffea;background:#00ff0040}.game-btn{font:13px/1.25 var(--font-mono);letter-spacing:.3px;background:linear-gradient(180deg, var(--btn-bg), #16162a);color:var(--text);border:1px solid var(--border-bright);border-radius:var(--radius);cursor:pointer;text-align:left;min-width:220px;margin:2px 0;padding:5px 10px;transition:border-color .15s,box-shadow .15s,background .15s,transform 50ms;display:block}.game-btn:hover:not(:disabled){border-color:var(--text);background:linear-gradient(180deg, var(--btn-bg-hi), #1a1a30);box-shadow:0 0 9px var(--glow-green), inset 0 0 8px #00ff000f}.game-btn:active:not(:disabled){box-shadow:0 0 4px var(--glow-green);transform:translateY(1px)}.game-btn:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.game-btn:disabled,.game-btn.disabled,.game-btn[disabled]{opacity:.4;color:var(--text-faint);cursor:not-allowed;pointer-events:none;box-shadow:none;border-color:#333}.game-btn.locked{opacity:.5;border-style:dashed;border-color:#444;font-style:italic}.game-btn--mini{min-width:0;margin:0 2px;padding:3px 9px;font-size:13px;display:inline-block!important}.game-btn--danger{color:var(--warn);border-color:#ff505080}.game-btn--danger:hover:not(:disabled){border-color:var(--warn);box-shadow:0 0 9px var(--glow-red), inset 0 0 8px #ff3c3c0f;background:linear-gradient(#2a1616,#201010)}.game-btn--accent{color:var(--accent);border-color:#ffff0080;font-weight:700}.game-btn--accent:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 9px var(--glow-amber), inset 0 0 8px #ffff000f}.game-btn.completed{color:#fa0;border-color:#fa0}.game-btn.completed[disabled]{opacity:.7}input[type=range]{width:100%;accent-color:var(--text);cursor:pointer}.pp-panel{background:var(--panel);border:1px solid var(--border);border-radius:6px;box-shadow:0 0 0 1px #0006,0 4px 18px #00000073,inset 0 0 28px #00ff0005}.pp-header{border-bottom:1px solid var(--border);background:linear-gradient(#060614f2,#04040cf2);justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;display:flex}.pp-title{color:var(--accent);letter-spacing:2px;text-transform:uppercase;text-shadow:0 0 8px var(--glow-amber);font-size:15px;font-weight:700}.pp-title .pp-kicker{color:var(--text-dim);letter-spacing:1.5px;text-transform:uppercase;text-shadow:none;margin-bottom:1px;font-size:10px;display:block}.pp-version{color:var(--text-faint);letter-spacing:.5px;font-size:11px}.pp-log{pointer-events:auto;-webkit-user-select:text;user-select:text;overflow-y:auto}.pp-log-line{color:var(--text-dim);margin-bottom:3px;font-size:12px;line-height:1.45;animation:.28s both pp-log-in}.pp-speaker{opacity:.78}.pp-speaker-ai,.pp-speaker-self{color:var(--accent-dim)}.pp-speaker-drift{color:var(--drift)}.pp-speaker-echo{color:var(--echo)}.pp-log-system{color:var(--text-mute);font-size:11px}.pp-log-drift{color:var(--drift);text-shadow:0 0 5px #c850504d;font-style:italic}.pp-log-drift .pp-speaker{color:#a44}.pp-log-echo{color:var(--echo);opacity:.75;font-style:italic}.pp-log-echo .pp-speaker{color:#886}.pp-log-duck{color:var(--duck);text-shadow:0 0 6px #ffd23f40}.pp-speaker-duck,.pp-log-duck .pp-speaker{color:var(--duck-dim)}@keyframes pp-log-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.pp-thinking em{opacity:.7;font-style:italic}.pp-dots span{animation:1.2s infinite pp-dot-blink}.pp-dots span:nth-child(2){animation-delay:.2s}.pp-dots span:nth-child(3){animation-delay:.4s}@keyframes pp-dot-blink{0%,60%,to{opacity:.2}30%{opacity:1}}.pp-typing:after{content:"▌";opacity:.8;animation:.8s step-end infinite pp-caret-blink}@keyframes pp-caret-blink{0%,55%{opacity:.8}56%,to{opacity:0}}.pp-streaming{cursor:pointer}@keyframes pp-blink{50%{opacity:.35}}.pp-blink{animation:1.1s steps(2,end) infinite pp-blink}.pp-cursor:after{content:"▊";color:var(--text);margin-left:4px;animation:1.1s steps(2,end) infinite pp-blink}.pp-route-loading,.pp-route-error{font-family:var(--font-mono);letter-spacing:2px;text-transform:uppercase;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pp-route-loading{color:var(--text-dim);font-size:14px}.pp-route-error{color:var(--warn);font-size:14px}.pp-frame{font:14px/1.5 var(--font-mono);color:var(--text);background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.pp-body{flex:1;min-height:0;display:flex}.pp-sidebar{width:var(--pp-sidebar-w,300px);border-right:1px solid var(--border);background:var(--bg-sidebar);flex-direction:column;flex-shrink:0;min-height:0;padding:12px;display:flex;overflow:hidden}.pp-sidebar-fixed{flex-shrink:0}.pp-sidebar-scroll{scrollbar-width:thin;flex:auto;min-height:0;overflow-y:auto}.pp-sidebar-footer{border-top:1px solid var(--border-dim);background:var(--bg-sidebar);z-index:5;flex-wrap:wrap;flex:none;align-items:center;gap:4px;padding-top:8px;display:flex;position:sticky;bottom:0}.pp-main{flex-direction:column;flex:1;min-width:0;display:flex}.pp-stage{background:#0a0a1a;flex:1;min-width:0;min-height:0;position:relative}.pp-deck{border-top:1px solid var(--border);background:var(--bg-inset);flex-direction:column;flex-shrink:0;height:30%;min-height:0;display:flex}.pp-deck-tabs{flex-shrink:0;gap:2px;padding:4px 6px 0;display:flex}.pp-tab{font:11px var(--font-mono);color:var(--text-faint);cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:3px 3px 0 0;padding:3px 10px}.pp-tab:hover{color:var(--text-dim)}.pp-tab--active{color:var(--text);background:var(--bg-inset);border-color:var(--border)}.pp-tabpane{flex:1;min-height:0;padding:6px 8px;overflow-y:auto}.pp-tabpane[hidden]{display:none}.game-btn.pp-action{white-space:nowrap;justify-content:space-between;align-items:center;gap:8px;width:100%;min-width:0;min-height:30px;display:flex}.pp-action-label{text-overflow:ellipsis;overflow:hidden}.pp-duck-icon{vertical-align:-2px;margin-right:4px;display:inline-block}.pp-action-cost{text-align:right;color:var(--text-dim);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.game-btn.pp-action--stacked{flex-direction:column;align-items:stretch;gap:2px}.pp-action-main{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.pp-action-desc{color:var(--text-dim);text-align:left;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.pp-btn-row{gap:4px;display:flex}.s2-make-hero{z-index:2;background:var(--bg-sidebar);padding:6px 0;position:sticky;top:0}.s2-make{border-width:2px;font-size:14px}.game-btn--half{text-align:center;flex:1;min-width:0;padding:5px 4px;font-size:11px}.pp-chip{font:11px var(--font-mono);background:var(--bg-control);color:var(--text);border:1px solid var(--border-bright);cursor:pointer;border-radius:3px;flex-shrink:0;padding:3px 8px;transition:border-color .15s,box-shadow .15s}.pp-chip:hover{border-color:var(--text);box-shadow:0 0 6px var(--glow-green)}.pp-chip--active{color:var(--accent);border-color:var(--accent);background:#1a2a1a}.pp-chip--dim{opacity:.4;pointer-events:none}.pp-stat{justify-content:space-between;align-items:center;gap:8px;margin-bottom:2px;display:flex}.pp-stat-label{color:var(--text-dim);font-size:12px}.pp-stat-val{color:var(--text);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700}.pp-stat-sub{color:var(--text-faint);font-size:11px;font-weight:400}.pp-stat--warn .pp-stat-val{color:var(--warn)}.s5-emperor{justify-content:flex-start}.s5-emperor-swatch{border-radius:2px;flex:none;width:10px;height:10px;box-shadow:0 0 6px #ffdd0040}.s5-emperor .pp-stat-label{flex:1}.pp-section{color:var(--accent);letter-spacing:1px;text-transform:uppercase;border-bottom:1px dashed var(--border);margin:12px 0 4px;padding-bottom:3px;font-size:11px}.pp-card{background:var(--panel-solid);border:1px solid var(--border);border-radius:var(--radius);padding:10px}.pp-card-title{color:var(--accent);letter-spacing:1px;border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:4px;font-size:12px}.pp-alert-slot{min-height:18px}.pp-alert{color:var(--warn);font-size:12px;animation:1s steps(2,end) infinite pp-blink}.pp-alert--accent{color:var(--accent)}.pp-toast{z-index:20;border:1px solid var(--accent);border-radius:var(--radius);max-width:80%;color:var(--accent);pointer-events:auto;background:#ffff000f;padding:6px 10px;font-size:12px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.pp-flash{pointer-events:none;opacity:0;transition:opacity .25s;position:absolute;inset:0}.pp-meter{background:var(--bg-inset);border:1px solid var(--border);border-radius:2px;flex:1;height:10px;position:relative;overflow:hidden}.pp-meter-fill{transition:width .3s;position:absolute;top:0;bottom:0;left:0}.pp-meter-fill--rubber{background:var(--rubber)}.pp-meter-fill--mold{background:var(--mold)}.pp-meter-fill--paint{background:var(--paint)}.pp-meter-fill--green{background:var(--text)}.pp-meter-zone{background:#00ff001f;border-left:1px solid #00ff004d;border-right:1px solid #00ff004d;position:absolute;top:0;bottom:0}.pp-meter-tick{background:#ffffff40;width:1px;position:absolute;top:0;bottom:0}.pp-cmdbar{border-top:1px solid var(--border);background:var(--bg-inset);flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;display:flex}.pp-cmdbar-prompt{color:var(--text-dim);flex-shrink:0}.pp-cmdbar-input{color:var(--text);font:14px var(--font-mono);caret-color:var(--text);background:0 0;border:none;outline:none;flex:1}.pp-cmdbar-send{font:12px var(--font-mono);background:var(--btn-bg);color:var(--text);border:1px solid var(--border-bright);border-radius:var(--radius);cursor:pointer;padding:3px 10px}.pp-cmdbar-send:hover{border-color:var(--text)}.pp-modal{z-index:100;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pp-modal[hidden]{display:none}.pp-modal-card{background:var(--panel-solid);border:1px solid var(--border-bright);border-radius:6px;width:90%;max-width:420px;max-height:80vh;padding:16px;overflow-y:auto}.pp-trait-row{align-items:center;gap:6px;margin-bottom:4px;display:flex}.pp-trait-label{color:var(--text-dim);flex:1;font-size:12px}.pp-trait-lvl{text-align:center;width:20px;color:var(--text);font-weight:700}.pp-log--inset{border:1px solid var(--border);border-radius:var(--radius);background:#00000059;padding:5px}.pp-log-input{color:var(--text)}.pp-log-output{color:var(--text-dim)}.pp-log-error{color:var(--warn)}.pp-log-success{color:var(--good)}.pp-log-voice{color:var(--voice);font-style:italic}@media (width<=720px){.pp-body{flex-direction:column}.pp-sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;max-height:40vh}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.pp-popup-overlay{z-index:200;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pp-popup-panel{background:var(--bg-sidebar);border:2px solid var(--accent);width:min(560px,92vw);max-height:84vh;font:12px var(--font-mono);color:var(--text);border-radius:8px;flex-direction:column;padding:12px;display:flex}.pp-popup-head{color:var(--accent);justify-content:space-between;align-items:center;margin-bottom:2px;font-size:14px;font-weight:700;display:flex}.pp-popup-sub{color:var(--text-faint);margin-bottom:8px;font-size:11px}.pp-popup-list{flex-direction:column;gap:4px;display:flex;overflow-y:auto}.pp-popup-row{text-align:left;background:var(--bg-inset);border:1px solid var(--border-bright);color:var(--text);cursor:pointer;font:inherit;border-radius:4px;padding:6px 8px}.pp-popup-row:disabled{cursor:default}.pp-popup-row-head{justify-content:space-between;gap:8px;font-weight:700;display:flex}.pp-popup-row-desc{color:var(--text-dim);margin-top:2px;font-size:11px}.pp-popup-done{opacity:.55}.pp-popup-done .pp-popup-row-head{color:var(--text-dim)}.pp-popup-locked{opacity:.6}.pp-popup-poor .pp-popup-row-head{color:var(--text-dim)}
