:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#e2e8f0;background:#020617}*{box-sizing:border-box}body{margin:0;background:#020617;color:#e2e8f0}.app-shell{max-width:1080px;margin:0 auto;padding:24px}.hero h1{margin:0;font-size:2rem}.hero p{margin-top:10px;color:#93c5fd}.tabs{margin:20px 0;display:flex;gap:10px}.tab{border:1px solid #334155;background:#0b1220;color:#e2e8f0;padding:10px 14px;border-radius:8px;cursor:pointer}.tab.active{border-color:#7dd3fc;box-shadow:inset 0 0 0 1px #7dd3fc}.panel{border:1px solid #1e293b;background:#0b1220;border-radius:12px;padding:18px}.panel h2{margin-top:0}.panel ul{margin-top:6px;line-height:1.5}.parity-controls{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.status-line{border:1px solid #334155;background:#020617;color:#cbd5e1;border-radius:8px;padding:10px 12px;font-size:.92rem;margin-bottom:12px}.control-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:end;margin-bottom:14px}.control-grid label{display:flex;flex-direction:column;gap:8px;font-size:.95rem;color:#cbd5e1}.control-grid select,.control-grid input[type=range]{width:100%}.control-grid input[type=range]{accent-color:#f59e0b}.control-grid select{border:1px solid #334155;background:#020617;color:#e2e8f0;border-radius:8px;padding:8px 10px}.canvas-frame{border:none;border-radius:0;padding:0;background:transparent;overflow:visible;position:relative}.canvas-frame canvas{display:block;width:100%;max-width:980px;height:auto;border-radius:8px}.face-debug-popup{position:absolute;transform:translate(0);min-width:260px;max-width:340px;padding:10px 12px;border:1px solid #475569;border-radius:8px;background:#020617eb;color:#e2e8f0;font-size:12px;line-height:1.45;white-space:pre-wrap;user-select:text;-webkit-user-select:text;pointer-events:auto;z-index:5}.chart-frame{margin-top:12px;border:1px dashed #334155;border-radius:10px;padding:12px;background:#020617}.chart-frame img{width:100%;height:auto;display:block;border-radius:8px}.fallback{padding:24px;text-align:center;color:#fbbf24}code{color:#fde68a}.footer{margin-top:18px;color:#94a3b8;font-size:.9rem}
