:root{--bg-deep:#0b181c;--bg-mid:#123038;--bg-soft:#1a3d44;--fog:#8fbfb01f;--ink:#e9e2d4;--ink-muted:#a9b7b2;--accent:#8fbfb0;--accent-warm:#d8c4a0;--danger:#d9897a;--panel:#122a30b8;--stroke:#e9e2d41f;--radius:18px;--font-display:"Nunito", "M PLUS Rounded 1c", sans-serif;--font-body:"M PLUS Rounded 1c", "Nunito", "Hiragino Maru Gothic ProN", sans-serif;color:var(--ink);background:var(--bg-deep);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-weight:420;line-height:1.55}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{min-width:320px;margin:0}a{color:var(--accent-warm);text-underline-offset:.18em;text-decoration-thickness:1px}button,input{font:inherit}.shell{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid;position:relative}.atmosphere{pointer-events:none;z-index:-1;background:radial-gradient(ellipse 80% 55% at 15% -10%, #8fbfb038, transparent 55%), radial-gradient(ellipse 70% 50% at 90% 10%, #d8c4a01f, transparent 50%), linear-gradient(165deg, var(--bg-deep), var(--bg-mid) 48%, #0e2228 100%);position:fixed;inset:0}.atmosphere:after{content:"";opacity:.35;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.45'/%3E%3C/svg%3E");position:absolute;inset:0}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 1.5rem;padding:1.1rem 1.4rem .6rem;display:flex}.brand{color:inherit;gap:.15rem;text-decoration:none;display:grid}.brand-mark{font-family:var(--font-display);letter-spacing:.02em;font-size:1.55rem;font-weight:700}.brand-tag{color:var(--ink-muted);font-size:.86rem}.nav{flex-wrap:wrap;gap:.55rem .9rem;display:flex}.nav a{color:var(--ink-muted);border-bottom:1px solid #0000;padding-bottom:.15rem;text-decoration:none}.nav a.active{color:var(--ink);border-bottom-color:var(--accent)}.lang-switch{border:1px solid var(--stroke);border-radius:999px;display:inline-flex;overflow:hidden}.lang-switch button{color:var(--ink-muted);cursor:pointer;background:0 0;border:0;padding:.35rem .75rem}.lang-switch button.active{background:var(--fog);color:var(--ink)}.main{width:min(920px,100% - 2rem);margin:0 auto;padding:1rem 0 3rem}.footer{width:min(920px,100% - 2rem);color:var(--ink-muted);margin:0 auto 14rem;font-size:.88rem}.visitor-count{color:var(--accent-warm);font-variant-numeric:tabular-nums;margin:0 0 .65rem;font-size:.92rem}.disclaimer{margin:0 0 .4rem}.footer-note{opacity:.75;margin:0}.player-page{gap:1rem;animation:.7s both rise;display:grid}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem}.hero-title{font-family:var(--font-display);margin:0;font-size:clamp(2.4rem,7vw,3.6rem);font-weight:700;line-height:1.05}.hint{color:var(--ink-muted);margin:0}.space-hint{opacity:.85;font-size:.88rem}.waveform{gap:.45rem;display:grid}.waveform canvas{background:linear-gradient(#0b181c8c,#12303459);border:1px solid #8fbfb024;border-radius:14px;width:100%;height:clamp(110px,22vw,160px);display:block}.waveform.compact canvas{background:#0814188c;border-color:#8fbfb033;border-radius:12px;height:clamp(108px,18vw,140px)}.waveform-hint{color:var(--ink-muted);margin:0;font-size:.82rem}.panel{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 1.1rem}.transport-spacer{height:15rem}.transport-dock{z-index:30;border:1px solid var(--stroke);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0c1e22e6;border-radius:22px;gap:.45rem;width:min(920px,100% - 1.5rem);padding:.65rem .7rem .7rem;display:grid;position:fixed;bottom:.85rem;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #00000047}.hz-readout{color:var(--ink-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;padding:.15rem .35rem .1rem;font-size:.82rem;display:flex}.hz-readout .hz-mode{color:var(--accent-warm);font-weight:560}.hz-readout span:not(.hz-mode):before{content:"·";opacity:.45;margin-right:.75rem}.hz-readout span:nth-child(2):before{content:none;margin:0}.transport-bar{grid-template-columns:1.1fr 1fr;gap:.55rem;display:grid}.transport-btn{text-align:center;width:100%;min-width:0}.transport-btn:disabled{opacity:.42;cursor:not-allowed;transform:none}.btn{border:1px solid var(--stroke);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;padding:.65rem 1.2rem;transition:background .2s,transform .2s}.btn:hover{background:var(--fog)}.btn.primary{color:#102226;background:linear-gradient(135deg,#6fa898,#8fbfb0 55%,#b7d4c8);border-color:#0000;font-weight:560}.btn.primary:hover{transform:translateY(-1px)}.transport-bar .transport-btn:not(:disabled):hover{color:#102226;background:#f4f1ea;border-color:#f4f1ea;transform:translateY(-1px);box-shadow:0 0 0 1px #ffffff59,0 6px 20px #f4f1ea47}.transport-bar .btn.primary.transport-btn:not(:disabled):hover{color:#0b181c;background:#fff;border-color:#fff}.btn.ghost.danger{color:var(--danger)}.field-label{color:var(--ink-muted);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.7rem;font-size:.92rem;display:flex}.segmented{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:.4rem;display:grid}.segmented button{border:1px solid var(--stroke);color:var(--ink-muted);cursor:pointer;background:0 0;border-radius:12px;padding:.65rem .4rem}.segmented button.active{color:var(--ink);background:#8fbfb02e;border-color:#8fbfb073}.preset-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.55rem;display:grid}.preset{text-align:left;border:1px solid var(--stroke);color:inherit;cursor:pointer;background:#0b181c59;border-radius:14px;gap:.15rem;padding:.75rem;transition:border-color .2s,transform .2s;display:grid}.preset:hover{border-color:#8fbfb080;transform:translateY(-1px)}.preset span{color:var(--accent-warm);font-size:.92rem}.preset small{color:var(--ink-muted);font-size:.78rem}.sliders{gap:.9rem;margin-top:.9rem;display:grid}.slider{gap:.35rem;display:grid}.slider-top{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.slider output{color:var(--accent-warm);font-variant-numeric:tabular-nums}.slider input[type=range]{width:100%;accent-color:var(--accent)}.favorites h2{font-family:var(--font-display);margin:0 0 .75rem;font-size:1.25rem}.fav-form{flex-wrap:wrap;align-items:end;gap:.65rem;margin-bottom:.85rem;display:flex}.fav-form label{color:var(--ink-muted);flex:180px;gap:.3rem;font-size:.88rem;display:grid}.fav-form input{border:1px solid var(--stroke);color:var(--ink);background:#0b181c73;border-radius:12px;padding:.6rem .75rem}.fav-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.fav-list li{border-top:1px solid var(--stroke);justify-content:space-between;align-items:center;gap:.75rem;padding-top:.55rem;display:flex}.fav-list li span{color:var(--ink-muted);font-size:.85rem;display:block}.fav-actions{gap:.4rem;display:flex}.muted{color:var(--ink-muted)}.term-chip{color:var(--accent-warm);cursor:pointer;background:#d8c4a014;border:1px solid #d8c4a059;border-radius:999px;padding:.15rem .55rem;font-size:.85rem}.term-chip.linkish{text-decoration:none;display:inline-flex}.drawer-backdrop{z-index:40;background:#050c0e8c;align-items:end;animation:.25s both fade;display:grid;position:fixed;inset:0}.drawer{border-top:1px solid var(--stroke);background:linear-gradient(#17363d,#10262c);border-radius:22px 22px 0 0;max-height:min(78vh,560px);padding:1.1rem 1.2rem 1.6rem;animation:.3s both slide-up;overflow:auto}.drawer-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.drawer-head h2{font-family:var(--font-display);margin:0;font-size:1.35rem}.icon-btn{color:var(--ink-muted);cursor:pointer;background:0 0;border:0;font-size:1.6rem;line-height:1}.drawer-blurb{color:var(--accent)}.drawer-body{color:var(--ink-muted)}.related-row{color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:.45rem;margin:1rem 0;font-size:.88rem;display:flex}.prose-page{animation:.65s both rise}.prose-page h1{font-family:var(--font-display);margin:.2rem 0 .6rem;font-size:clamp(1.9rem,5vw,2.6rem)}.prose-page h2{font-family:var(--font-display);margin:1.6rem 0 .7rem;font-size:1.25rem}.lead{color:var(--accent);font-size:1.05rem}.disclaimer-inline{color:var(--ink-muted);border-left:2px solid #8fbfb073;padding-left:.8rem;font-size:.92rem}.back{color:var(--ink-muted);font-size:.9rem;text-decoration:none}.card-list,.term-list,.paper-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.card-list a,.term-list a,.paper-list a{border-radius:var(--radius);border:1px solid var(--stroke);background:var(--panel);color:inherit;gap:.25rem;padding:.95rem 1rem;text-decoration:none;transition:border-color .2s,transform .2s;display:grid}.card-list a:hover,.term-list a:hover,.paper-list a:hover{border-color:#8fbfb073;transform:translateY(-1px)}.card-list span,.term-list span,.paper-list span,.paper-list em{color:var(--ink-muted);font-size:.92rem;font-style:normal}.paper-list .open{color:var(--accent-warm)}.chip-cloud{flex-wrap:wrap;gap:.45rem;display:flex}@keyframes rise{0%{opacity:0}to{opacity:1}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{transform:translateY(16px)}to{transform:none}}@media (width<=720px){.topbar{padding-inline:1rem}.brand-tag{display:none}.segmented{grid-template-columns:1fr}.fav-list li{flex-direction:column;align-items:stretch}}@media (width>=860px){.drawer-backdrop{justify-content:end;align-items:center;padding:1.5rem}.drawer{border-radius:18px;width:min(420px,100%);max-height:80vh}}
