
:root{--bg:#07111f;--surface:#0f1d2e;--surface2:#15263b;--text:#edf5fb;--muted:#a8b9c8;--line:#29425b;--green:#43e6b4;--yellow:#ffcc52;--red:#ff6d7a;--blue:#72a7ff;--shadow:0 24px 60px rgba(0,0,0,.28);--radius:22px;--max:1180px;color-scheme:dark}
:root[data-theme="light"]{--bg:#f5f8fb;--surface:#fff;--surface2:#eaf1f7;--text:#102033;--muted:#5b6b79;--line:#d4e0e9;--shadow:0 20px 50px rgba(40,64,82,.13);color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.62 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(var(--max),calc(100% - 32px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header-inner{height:72px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:11px;font-weight:800}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:linear-gradient(145deg,var(--green),#1ab88c);color:#05150f;font-size:22px}.main-nav{display:flex;gap:22px;margin-left:auto}.main-nav a{color:var(--muted)}.main-nav a:hover{color:var(--text)}.header-actions{display:flex;gap:9px}.icon-button,.lang-button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:12px;padding:9px 12px;cursor:pointer}.mobile-nav{display:none}.hero{overflow:hidden;padding:84px 0 64px;background:radial-gradient(circle at 78% 30%,rgba(67,230,180,.13),transparent 32%),radial-gradient(circle at 15% 10%,rgba(114,167,255,.12),transparent 30%)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.eyebrow{color:var(--green);font-weight:750;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.hero h1,.page-hero h1{font-size:clamp(2.6rem,6vw,5.6rem);line-height:.98;letter-spacing:-.055em;margin:.18em 0}.lead{font-size:1.18rem;color:var(--muted);max-width:720px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.button{border:0;border-radius:14px;padding:13px 18px;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.button.primary{background:var(--green);color:#061610}.button.secondary{background:var(--surface);border:1px solid var(--line);color:var(--text)}.button.danger{background:var(--red);color:#22050a}.button:disabled{opacity:.45;cursor:not-allowed}.trust-row{display:flex;gap:17px;flex-wrap:wrap;color:var(--muted);font-size:.92rem}.trust-row span:before{content:'✓';color:var(--green);margin-right:6px}.tuner-demo{background:linear-gradient(145deg,var(--surface2),var(--surface));border:1px solid var(--line);border-radius:34px;padding:34px;box-shadow:var(--shadow);position:relative}.demo-note{text-align:center;font-size:8rem;font-weight:800;line-height:1}.demo-hz{text-align:center;color:var(--muted)}.gauge{height:130px;position:relative;margin:25px 0 10px;overflow:hidden}.gauge-track{position:absolute;left:5%;right:5%;bottom:18px;height:10px;border-radius:99px;background:linear-gradient(90deg,var(--red),var(--yellow),var(--green) 45%,var(--green) 55%,var(--yellow),var(--red))}.gauge-center{position:absolute;left:50%;bottom:8px;top:10px;border-left:2px dashed rgba(255,255,255,.35)}.gauge-needle{position:absolute;left:50%;bottom:18px;width:4px;height:90px;background:var(--text);transform-origin:bottom center;transform:rotate(10deg);border-radius:4px;box-shadow:0 0 15px rgba(255,255,255,.4)}.gauge-needle:after{content:'';position:absolute;bottom:-9px;left:-6px;width:16px;height:16px;border-radius:50%;background:var(--text)}.section{padding:72px 0}.section.alt{background:color-mix(in srgb,var(--surface) 70%,transparent)}.section-heading{max-width:760px;margin-bottom:34px}.section-heading h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;margin:.2em 0}.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.tool-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:23px;transition:.2s}.tool-card:hover{transform:translateY(-3px);border-color:var(--green)}.tool-card h3{margin:.4em 0}.tool-card p{color:var(--muted);margin:0}.card-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;background:var(--surface2);color:var(--green);font-weight:800}.page-hero{padding:56px 0 22px}.page-hero h1{font-size:clamp(2.4rem,5vw,4.6rem)}.breadcrumbs{font-size:.9rem;color:var(--muted)}.app-shell{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px}.app-main,.app-panel{background:var(--surface);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow)}.app-main{padding:24px}.app-panel{padding:20px;height:max-content}.privacy-chip{padding:11px 14px;border-radius:13px;background:rgba(67,230,180,.1);border:1px solid rgba(67,230,180,.25);color:var(--green);font-size:.9rem}.tuner-display{text-align:center;padding:18px 0}.note-big{font-size:clamp(5rem,17vw,10rem);font-weight:900;line-height:.9;letter-spacing:-.07em}.note-octave{font-size:.4em;vertical-align:top}.cents-status{font-size:1.3rem;font-weight:750}.status-low{color:var(--yellow)}.status-good{color:var(--green)}.status-high{color:var(--red)}.meter-row{display:flex;gap:12px;justify-content:center;color:var(--muted);flex-wrap:wrap}.input-level{height:7px;background:var(--surface2);border-radius:99px;overflow:hidden;margin:12px auto;max-width:420px}.input-level>span{display:block;height:100%;width:0;background:var(--blue);transition:width .08s}.gauge.app{max-width:620px;margin:auto;height:170px}.gauge.app .gauge-needle{height:120px;transition:transform .09s linear}.tuner-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:18px 0}.string-grid{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.string-btn{min-width:68px;border:1px solid var(--line);background:var(--surface2);color:var(--text);padding:10px;border-radius:14px;cursor:pointer}.string-btn.active{border-color:var(--green);box-shadow:0 0 0 2px rgba(67,230,180,.15)}.string-btn.tuned{background:rgba(67,230,180,.12)}.control-group{margin:0 0 18px}.control-group label{display:flex;justify-content:space-between;font-weight:650;margin-bottom:7px}.control-group input[type=range]{width:100%}.field,.select{width:100%;padding:11px 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface2);color:var(--text)}.control-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metronome-display{text-align:center}.bpm-big{font-size:clamp(5rem,18vw,10rem);font-weight:900;line-height:1}.beat-dots{display:flex;justify-content:center;gap:10px;margin:22px}.beat-dot{width:21px;height:21px;border-radius:50%;background:var(--surface2);border:1px solid var(--line)}.beat-dot.active{background:var(--green);box-shadow:0 0 22px rgba(67,230,180,.7)}.beat-dot.accent{border-color:var(--yellow)}.tap-pad{min-height:280px;border:2px dashed var(--line);border-radius:24px;display:grid;place-items:center;text-align:center;cursor:pointer;user-select:none;background:var(--surface2)}.tap-pad:active{transform:scale(.995);border-color:var(--green)}.tone-controls{max-width:700px;margin:auto}.oscilloscope{width:100%;height:150px;background:#04101b;border-radius:16px}.timer-big{font-size:clamp(4rem,15vw,8rem);font-variant-numeric:tabular-nums;text-align:center;font-weight:800}.log-table{width:100%;border-collapse:collapse}.log-table th,.log-table td{text-align:left;padding:10px;border-bottom:1px solid var(--line)}.notice{border:1px solid var(--line);background:var(--surface2);padding:15px;border-radius:14px;color:var(--muted)}.error{border-color:rgba(255,109,122,.55);color:#ffadb5}.success{border-color:rgba(67,230,180,.4);color:var(--green)}.ad-slot{min-height:100px;margin:30px 0;border:1px dashed var(--line);border-radius:14px;display:grid;place-items:center;color:var(--muted);font-size:.85rem}.content-layout{display:grid;grid-template-columns:minmax(0,780px) 280px;gap:44px}.article{font-size:1.04rem}.article h2{font-size:2rem;line-height:1.15;margin-top:2em}.article h3{font-size:1.35rem;margin-top:1.7em}.article p,.article li{color:color-mix(in srgb,var(--text) 86%,var(--muted))}.article table{width:100%;border-collapse:collapse}.article th,.article td{padding:10px;border:1px solid var(--line)}.toc{position:sticky;top:95px;height:max-content;border-left:2px solid var(--line);padding-left:20px}.toc a{display:block;color:var(--muted);padding:5px 0}.faq details{border-top:1px solid var(--line);padding:16px 0}.faq summary{cursor:pointer;font-weight:750}.site-footer{border-top:1px solid var(--line);padding:54px 0 26px;background:#050d18}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:30px}.footer-grid a{display:block;color:var(--muted);margin:7px 0}.footer-bottom{border-top:1px solid var(--line);margin-top:35px;padding-top:20px;color:var(--muted);font-size:.9rem}.cookie-panel{position:fixed;inset:auto 16px 16px auto;z-index:90;width:min(420px,calc(100% - 32px));background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.hidden{display:none!important}.badge{display:inline-flex;border:1px solid var(--line);padding:3px 8px;border-radius:999px;font-size:.8rem;color:var(--muted)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat{background:var(--surface2);padding:13px;border-radius:13px;text-align:center}.stat strong{display:block;font-size:1.35rem}.rhythm-grid{display:grid;grid-template-columns:repeat(16,1fr);gap:4px}.rhythm-cell{aspect-ratio:1;border:1px solid var(--line);background:var(--surface2);border-radius:5px}.rhythm-cell.on{background:var(--green)}.rhythm-cell.current{outline:3px solid var(--yellow)}
@media(max-width:900px){.main-nav{display:none}.hero-grid,.app-shell,.content-layout{grid-template-columns:1fr}.tool-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.toc{position:static}.app-panel{order:-1}.hero{padding-top:52px}.header-inner{height:64px}}
@media(max-width:600px){.container{width:min(100% - 20px,var(--max))}.tool-grid,.footer-grid,.control-row,.stats-grid{grid-template-columns:1fr}.hero h1{font-size:3.25rem}.hero-visual{display:none}.app-main,.app-panel{border-radius:18px;padding:15px}.note-big{font-size:7rem}.gauge.app{height:135px}.gauge.app .gauge-needle{height:90px}.rhythm-grid{gap:2px}.rhythm-cell{border-radius:3px}.ad-slot{min-height:72px}}
