:root{--bg:#eef5f2;--bg-warm:#f7f3ea;--ink:#17282c;--ink-muted:#5a6e73;--accent:#2a8a78;--accent-soft:#d8f0e9;--accent-warm:#a67c4a;--danger:#c45c4e;--panel:#fff;--stroke:#17282c1a;--dark:#152428;--dark-mid:#1c3238;--dark-ink:#eef6f3;--dark-muted:#9bb0b4;--dark-stroke:#eef6f324;--dock-clearance:12rem;--radius:14px;--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);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-weight:420;line-height:1.5}*,: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 60% 40% at 100% 0%, #ffecd28c, transparent 55%), radial-gradient(ellipse 50% 35% at 0% 20%, #a8d8c859, transparent 50%), linear-gradient(180deg, #f8fcfa 0%, var(--bg) 55%, #e4efe9 100%);position:fixed;inset:0}.visitor-bar{border-bottom:1px solid var(--dark-stroke);background:#0f1c20;justify-content:center;padding:.4rem 1rem;display:flex}.visitor-bar .visitor-count{color:#7ec9b5;margin:0;font-size:.86rem;font-weight:600}.topbar{background:linear-gradient(135deg, var(--dark) 0%, var(--dark-mid) 100%);color:var(--dark-ink);border-bottom:1px solid var(--dark-stroke);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem 1rem;padding:.85rem 1.1rem;display:flex}.brand{color:inherit;gap:.05rem;text-decoration:none;display:grid}.brand-mark{font-family:var(--font-display);letter-spacing:.01em;color:#fff;font-size:1.4rem;font-weight:700}.brand-tag{color:var(--dark-muted);font-size:.8rem}.nav{flex-wrap:wrap;gap:.4rem .75rem;display:flex}.nav a{color:var(--dark-muted);border-bottom:1px solid #0000;padding-bottom:.1rem;text-decoration:none}.nav a.active{color:#fff;border-bottom-color:#7ec9b5}.lang-switch{border:1px solid var(--dark-stroke);background:#ffffff0f;border-radius:999px;display:inline-flex;overflow:hidden}.lang-switch button{color:var(--dark-muted);cursor:pointer;background:0 0;border:0;padding:.3rem .65rem}.lang-switch button.active{color:#fff;background:#7ec9b538}.main{width:min(880px,100% - 1.5rem);margin:0 auto;padding:1rem 0 .75rem}.footer{width:min(880px,100% - 1.5rem);color:var(--ink-muted);margin:0 auto 1.25rem;font-size:.84rem}.shell.has-dock .footer{margin-bottom:calc(var(--dock-clearance) + .5rem)}.shell.has-dock .main{padding-bottom:.25rem}.visitor-count{font-variant-numeric:tabular-nums;margin:0}.disclaimer{margin:0 0 .25rem}.footer-note{opacity:.85;margin:0}.player-page{gap:.7rem;animation:.5s both rise;display:grid}.eyebrow{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.74rem;font-weight:600}.hero-title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:clamp(2rem,5.5vw,2.85rem);font-weight:700;line-height:1.08}.hint{color:var(--ink-muted);margin:0}.space-hint{font-size:.84rem}.waveform{gap:.3rem;display:grid}.waveform canvas{background:#0f1c20;border:1px solid #7ec9b533;border-radius:12px;width:100%;height:clamp(96px,18vw,130px);display:block}.waveform.compact canvas{background:#0f1c20;border-color:#7ec9b540;border-radius:10px;height:clamp(88px,15vw,112px)}.waveform-hint{color:var(--ink-muted);margin:0;font-size:.8rem}.panel{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius);padding:.8rem .9rem;box-shadow:0 2px 10px #17282c0a}.transport-spacer{height:var(--dock-clearance);pointer-events:none;min-height:11rem}.transport-dock{z-index:30;background:linear-gradient(160deg, var(--dark-mid), var(--dark));border:1px solid var(--dark-stroke);width:min(880px,100% - 1rem);color:var(--dark-ink);border-radius:16px;gap:.4rem;padding:.6rem .65rem .65rem;display:grid;position:fixed;bottom:.65rem;left:50%;transform:translate(-50%);box-shadow:0 12px 36px #0a121459}.hz-readout{color:var(--dark-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:.25rem .65rem;padding:.05rem .25rem;font-size:.78rem;display:flex}.hz-readout .hz-mode{color:#7ec9b5;font-weight:600}.hz-readout span:not(.hz-mode):before{content:"·";opacity:.45;margin-right:.65rem}.hz-readout span:nth-child(2):before{content:none;margin:0}.transport-bar{grid-template-columns:1.1fr 1fr;gap:.45rem;display:grid}.transport-btn{text-align:center;width:100%;min-width:0}.transport-btn:disabled{opacity:.38;cursor:not-allowed;transform:none}.btn{border:1px solid var(--stroke);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:.55rem 1rem;transition:background .15s,transform .15s,border-color .15s}.btn:hover{background:var(--accent-soft)}.btn.primary{background:var(--accent);color:#fff;border-color:#0000;font-weight:600}.btn.primary:hover{filter:brightness(1.06);transform:translateY(-1px)}.transport-dock .btn{border-color:var(--dark-stroke);color:var(--dark-ink);background:#ffffff0f}.transport-dock .btn.primary{color:#102226;background:#7ec9b5;border-color:#0000}.transport-bar .transport-btn:not(:disabled):hover{color:#102226;box-shadow:none;background:#fff;border-color:#fff;transform:translateY(-1px)}.transport-bar .btn.primary.transport-btn:not(:disabled):hover{color:#102226;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:.5rem;margin-bottom:.45rem;font-size:.88rem;display:flex}.segmented{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.3rem;display:grid}.segmented button{border:1px solid var(--stroke);color:var(--ink-muted);cursor:pointer;background:#f7faf8;border-radius:10px;padding:.5rem .35rem}.segmented button.active{background:var(--accent-soft);color:var(--ink);border-color:#2a8a7873;font-weight:600}.preset-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.4rem;display:grid}.preset{text-align:left;border:1px solid var(--stroke);color:inherit;cursor:pointer;background:#f7faf8;border-radius:12px;gap:.1rem;padding:.55rem .6rem;transition:border-color .15s,transform .15s,background .15s;display:grid}.preset:hover{background:#fff;border-color:#2a8a7873;transform:translateY(-1px)}.preset span{color:var(--accent-warm);font-size:.88rem}.preset small{color:var(--ink-muted);font-size:.74rem}.sliders{gap:.65rem;margin-top:.65rem;display:grid}.slider{gap:.25rem;display:grid}.slider-top{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.slider output{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.slider input[type=range]{width:100%;accent-color:var(--accent)}.favorites h2{font-family:var(--font-display);margin:0 0 .5rem;font-size:1.15rem}.fav-form{flex-wrap:wrap;align-items:end;gap:.5rem;margin-bottom:.6rem;display:flex}.fav-form label{color:var(--ink-muted);flex:160px;gap:.2rem;font-size:.84rem;display:grid}.fav-form input{border:1px solid var(--stroke);color:var(--ink);background:#f7faf8;border-radius:10px;padding:.5rem .65rem}.fav-list{gap:.4rem;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:.5rem;padding-top:.4rem;display:flex}.fav-list li span{color:var(--ink-muted);font-size:.82rem;display:block}.fav-actions{gap:.3rem;display:flex}.muted{color:var(--ink-muted)}.term-chip{color:var(--accent-warm);cursor:pointer;background:#a67c4a14;border:1px solid #a67c4a4d;border-radius:999px;padding:.12rem .5rem;font-size:.82rem}.term-chip.linkish{text-decoration:none;display:inline-flex}.drawer-backdrop{z-index:40;background:#0f1c2073;align-items:end;animation:.2s both fade;display:grid;position:fixed;inset:0}.drawer{border-top:1px solid var(--stroke);background:#fff;border-radius:18px 18px 0 0;max-height:min(78vh,560px);padding:.95rem 1rem 1.25rem;animation:.25s both slide-up;overflow:auto;box-shadow:0 -8px 28px #0f1c201f}.drawer-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.drawer-head h2{font-family:var(--font-display);margin:0;font-size:1.25rem}.icon-btn{color:var(--ink-muted);cursor:pointer;background:0 0;border:0;font-size:1.5rem;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:.35rem;margin:.75rem 0;font-size:.84rem;display:flex}.prose-page{animation:.45s both rise}.prose-page h1{font-family:var(--font-display);margin:.15rem 0 .45rem;font-size:clamp(1.7rem,4.5vw,2.3rem)}.prose-page h2{font-family:var(--font-display);margin:1.15rem 0 .5rem;font-size:1.15rem}.lead{color:var(--accent);font-size:1rem;font-weight:600}.disclaimer-inline{color:var(--ink-muted);border-left:2px solid #2a8a7873;padding-left:.7rem;font-size:.88rem}.back{color:var(--ink-muted);font-size:.86rem;text-decoration:none}.card-list,.term-list,.paper-list{gap:.45rem;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);color:inherit;background:#fff;gap:.2rem;padding:.75rem .85rem;text-decoration:none;transition:border-color .15s,transform .15s;display:grid}.card-list a:hover,.term-list a:hover,.paper-list a:hover{border-color:#2a8a7866;transform:translateY(-1px)}.card-list span,.term-list span,.paper-list span,.paper-list em{color:var(--ink-muted);font-size:.88rem;font-style:normal}.paper-list .open{color:var(--accent-warm)}.chip-cloud{flex-wrap:wrap;gap:.35rem;display:flex}@keyframes rise{0%{opacity:0}to{opacity:1}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{transform:translateY(12px)}to{transform:none}}@media (width<=720px){.topbar{padding-inline:.85rem}.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.25rem}.drawer{border-radius:16px;width:min(400px,100%);max-height:80vh}}
