@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/nunito-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/nunito-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/nunito-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/nunito-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/nunito-cyrillic-800-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/nunito-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}@font-face{font-family:Onest;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/onest-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/onest-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}@font-face{font-family:Onest;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/onest-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/onest-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}:root{--paper: #fbf7f2;--surface: #ffffff;--surface-2: #f4ede4;--ink: #241f1b;--ink-2: #6e655c;--line: #e6dcd0;--brand: #e07b39;--brand-ink: #b85e22;--brand-soft: rgba(224, 123, 57, .12);--ok: #3e9b6d;--attention: #c0483f;--calm: #2f6f8f;--key-c: #e2695f;--key-d: #e89b4a;--key-e: #d8be45;--key-f: #6fb36b;--key-g: #4f97c4;--key-a: #7b72c7;--key-b: #c46fa6;--font-display: "Nunito", ui-rounded, "Segoe UI", system-ui, sans-serif;--font-text: "Onest", ui-sans-serif, system-ui, -apple-system, sans-serif;--t-display: 44px/48px var(--font-display);--t-h1: 34px/40px var(--font-display);--t-h2: 26px/32px var(--font-display);--t-h3: 20px/26px var(--font-display);--t-lead: 19px/28px var(--font-text);--t-body: 17px/26px var(--font-text);--t-small: 15px/22px var(--font-text);--t-caption: 13px/18px var(--font-text);--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-6: 24px;--s-8: 32px;--s-12: 48px;--s-16: 64px;--r-sm: 10px;--r-md: 18px;--r-lg: 28px;--r-full: 999px;--shadow-soft: 0 2px 8px rgba(70, 45, 20, .06);--shadow-lift: 0 8px 28px rgba(70, 45, 20, .12);--ease: cubic-bezier(.2, .8, .2, 1);--ease-pop: cubic-bezier(.3, 1.4, .5, 1);--t-fast: .12s;--t-mid: .24s;--t-pop: .45s;--w-wide: 1120px;--w-kid: 880px;--w-text: 66ch}:root{--bg: #0e1014;--panel: #171a21;--panel-2: #1e222b;--line: rgba(255, 255, 255, .09);--ink: #f2efe9;--ink-dim: #a2a8b4;--accent: #f0a848;--accent-ink: #1a1206;--left: #5aa9e6;--ok: #5fd08a;--radius: 12px;--font: var(--font-text)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit}.wrap{max-width:1080px;margin:0 auto;padding:0 20px}.wrap--wide{max-width:1360px}.head{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line)}.logo{font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:-.02em;text-decoration:none}.logo span{color:var(--accent)}.head nav{display:flex;gap:18px;font-size:15px}.head nav a{color:var(--ink-dim);text-decoration:none}.head nav a:hover{color:var(--ink)}.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink);font:inherit;font-size:14px;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover{border-color:#fff3}.btn--primary{background:var(--accent);color:var(--accent-ink);border-color:transparent;font-weight:600}.btn--primary:hover{filter:brightness(1.06)}.btn--lg{padding:13px 22px;font-size:16px}.linkbtn{background:none;border:0;color:var(--accent);font:inherit;cursor:pointer;padding:0;text-decoration:underline}.seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.seg__i{border:0;background:var(--panel-2);color:var(--ink-dim);font:inherit;font-size:14px;padding:9px 13px;cursor:pointer}.seg__i+.seg__i{border-left:1px solid var(--line)}.seg__i.is-on{background:#f0a84829;color:var(--accent)}.chip{border:1px solid var(--line);background:transparent;color:var(--ink-dim);border-radius:999px;padding:7px 13px;font:inherit;font-size:13px;cursor:pointer}.chip.is-on{border-color:#f0a84880;color:var(--accent);background:#f0a8481a}.ctl{display:inline-flex;align-items:center;gap:8px;color:var(--ink-dim);font-size:14px}.ctl select{background:var(--panel-2);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit;font-size:14px}kbd{background:var(--panel-2);border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-size:12px;font-family:ui-monospace,monospace}.player{display:flex;flex-direction:column;gap:12px;padding:16px 0 28px}.player__bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.player__bar .toggles{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}.player__progress{height:4px;background:var(--panel-2);border-radius:999px;overflow:hidden}.player__progress-fill{height:100%;background:var(--accent);transition:width .15s linear}.player__stage{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}.player__canvas{display:block;touch-action:none;cursor:pointer}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:#0a0c10d1;backdrop-filter:blur(3px)}.overlay__card{text-align:center;padding:28px 34px}.overlay__card h2{margin:0 0 4px;font-size:18px;color:var(--ink-dim);font-weight:500}.overlay__acc{margin:0;font-size:64px;font-weight:700;color:var(--accent);line-height:1}.overlay__sub{margin:10px 0 20px;color:var(--ink-dim);font-size:14px}.overlay__row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.midibar{margin:0;color:var(--ink-dim);font-size:14px;line-height:1.6}.midibar.is-ok{color:var(--ok)}.midibar .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);margin-right:6px;vertical-align:middle}.songhead{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:22px 0 0}.songhead h1{margin:0;font-size:26px;letter-spacing:-.02em}.songhead .author{color:var(--ink-dim);font-size:15px}.songhead .lvl{margin-left:auto;font-size:13px;color:var(--ink-dim)}.songabout{margin:8px 0 0;color:var(--ink-dim);max-width:68ch;line-height:1.6;font-size:15px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:24px 0 48px}.card{display:block;text-decoration:none;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);transition:border-color .15s,transform .15s}.card:hover{border-color:#f0a84873;transform:translateY(-2px)}.card h3{margin:0 0 4px;font-size:17px}.card .author{color:var(--ink-dim);font-size:14px}.card .meta{margin-top:12px;display:flex;gap:8px;align-items:center;font-size:12px;color:var(--ink-dim)}.lvlbar{display:inline-flex;gap:3px}.lvlbar i{width:14px;height:4px;border-radius:2px;background:#ffffff24}.lvlbar i.on{background:var(--accent)}.hero{padding:72px 0 40px;max-width:44rem}.hero h1{font-size:clamp(32px,5vw,50px);line-height:1.08;letter-spacing:-.03em;margin:0 0 18px}.hero p{font-size:19px;line-height:1.6;color:var(--ink-dim);margin:0 0 28px}.hero .row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;padding:24px 0 60px}.step h3{margin:0 0 6px;font-size:16px}.step p{margin:0;color:var(--ink-dim);line-height:1.6;font-size:15px}.step .num{color:var(--accent);font-weight:700;font-size:13px;letter-spacing:.08em}.foot{border-top:1px solid var(--line);padding:24px 0 40px;color:var(--ink-dim);font-size:14px}.note{color:var(--ink-dim);font-size:13px}@media(max-width:720px){.player__bar{gap:7px}.player__bar .toggles{margin-left:0;gap:6px}.btn{padding:8px 12px;font-size:13px}.seg__i{padding:7px 10px;font-size:13px}.chip{padding:6px 10px;font-size:12px}.ctl,.ctl select{font-size:13px}.ctl select{padding:6px 8px}.songhead h1{font-size:21px}.songabout{font-size:14px}.hero{padding:44px 0 28px}.overlay__acc{font-size:46px}}.bench{display:flex;flex-direction:column;gap:16px;padding:8px 0 40px;max-width:760px}.bench__card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:20px}.bench__card h2{margin:0 0 10px;font-size:18px}.bench__card p{margin:0 0 14px;line-height:1.6;color:var(--ink-dim);font-size:15px}.bench__row{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.bench__note{color:var(--accent);font-size:22px;font-weight:700}.bench__err{color:#e2565a;margin:0}.bench__warn{color:var(--accent);font-size:14px;margin:10px 0 0}.bench__meter{height:8px;background:var(--panel-2);border-radius:999px;overflow:hidden}.bench__meter-fill{height:100%;background:linear-gradient(90deg,var(--ok),var(--accent));transition:width .08s linear}.bench__steps{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}.bench__step{font-size:13px;padding:5px 9px;border-radius:7px;border:1px solid var(--line);color:var(--ink-dim)}.bench__step.is-now{border-color:var(--accent);color:var(--accent);background:#f0a8481f}.bench__step.is-done{opacity:.4}.bench__table{width:100%;border-collapse:collapse;font-size:14px;margin:8px 0}.bench__table th,.bench__table td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--line)}.bench__table th{color:var(--ink-dim);font-weight:500;font-size:13px}.bench__table tr.is-ok td{color:var(--ok)}.bench__table tr.is-bad td{color:#e58b8d}.bench__details{border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px}.bench__details summary{cursor:pointer;color:var(--ink-dim);font-size:14px}.bench__details .ctl{display:flex;gap:10px;align-items:center;margin:12px 0}.keystrip{width:100%;height:auto;display:block;margin:14px 0 4px;border-radius:6px}.bench__big{font-size:17px;color:var(--ink);margin:0 0 4px}.kid{display:flex;flex-direction:column;gap:12px;padding:14px 0 26px}.kid__head{display:flex;align-items:center;gap:14px}.kid__head h1{margin:0;font-size:22px;letter-spacing:-.02em}.kid__head p{margin:2px 0 0;color:var(--ink-dim);font-size:15px;line-height:1.5}.kid__back{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);display:grid;place-items:center;text-decoration:none;font-size:20px;flex:none}.kid__head .chip{margin-left:auto;font-size:18px;padding:8px 12px}.kid__progress{height:8px;background:var(--panel-2);border-radius:999px;overflow:hidden}.kid__progress-fill{height:100%;background:linear-gradient(90deg,#5fd08a,var(--accent));transition:width .18s ease-out}.kid__stage{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line)}.kid__canvas{display:block;touch-action:none;cursor:pointer}.kid__foot{margin:0;color:var(--ink-dim);font-size:14px;text-align:center}.kid__stars{font-size:54px;letter-spacing:6px;color:#ffffff29;line-height:1}.kid__stars .on{color:var(--accent)}.kid__result{margin:12px 0 20px;font-size:18px}.kidlist{padding:26px 0 44px;max-width:720px}.kidlist h1{margin:0 0 6px;font-size:28px;letter-spacing:-.02em}.kidlist__items{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.kidcard{display:flex;align-items:center;gap:16px;padding:16px 18px;text-decoration:none;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.kidcard:hover{border-color:#f0a84880}.kidcard.is-next{border-color:var(--accent)}.kidcard.is-done{opacity:.85}.kidcard__num{width:38px;height:38px;border-radius:50%;background:var(--panel-2);display:grid;place-items:center;font-weight:700;flex:none}.kidcard.is-next .kidcard__num{background:var(--accent);color:var(--accent-ink)}.kidcard__body{display:flex;flex-direction:column;gap:3px}.kidcard__hint{color:var(--ink-dim);font-size:14px;line-height:1.45}.kidcard__stars{margin-left:auto;color:#ffffff29;font-size:18px;letter-spacing:2px;flex:none}.kidcard__stars .on{color:var(--accent)}.kid__hints{border:1px solid var(--line);border-radius:12px;padding:12px 14px}.kid__hints .note{margin:0 0 10px}.kid__invite{margin:0 0 14px;font-size:17px;color:var(--accent)}body.kid-theme{--bg: var(--paper);--panel: var(--surface);--panel-2: var(--surface-2);--line: #e6dcd0;--ink: #241f1b;--ink-dim: var(--ink-2);--accent: var(--brand);--accent-ink: #ffffff;--radius: var(--r-md);background:var(--bg);color:var(--ink)}body.kid-theme h1,body.kid-theme h2,body.kid-theme h3,body.kid-theme .btn,body.kid-theme .kidcard b,body.kid-theme .kid__stars{font-family:var(--font-display);letter-spacing:-.015em}body.kid-theme h1{font-weight:800}body.kid-theme h2,body.kid-theme h3,body.kid-theme .btn{font-weight:700}body.kid-theme .btn--primary{box-shadow:var(--shadow-soft)}body.kid-theme .btn--primary:active{transform:translateY(1px)}body.kid-theme .kidcard,body.kid-theme .session__plan li,body.kid-theme .intro__hand,body.kid-theme .kid__stage{border-radius:var(--r-lg);box-shadow:var(--shadow-soft)}body.kid-theme .kidcard.is-next{box-shadow:var(--shadow-lift)}body.kid-theme .chip{border-radius:var(--r-sm);font-family:var(--font-text)}body.kid-theme .head{border-bottom-color:var(--line)}body.kid-theme .btn{background:#fff;box-shadow:0 1px #5a3e2114}body.kid-theme .btn--primary{background:var(--accent);color:#fff}body.kid-theme .chip{background:#fff}body.kid-theme .chip.is-on{background:#ef8f3c24;border-color:#ef8f3c8c;color:#b8631f}body.kid-theme .kid__stage{border-color:#5a3e2129;box-shadow:0 6px 26px #78502814}body.kid-theme .kid__progress{background:#f1e2cf}body.kid-theme .overlay{background:#fff7ece6}body.kid-theme .kidcard{box-shadow:0 2px 10px #7850280f}body.kid-theme .kid__stars{color:#5a3e2129}.chr{display:block;overflow:visible}.chr--breath{animation:chr-breath 3.4s ease-in-out infinite;transform-origin:50% 90%}.chr--happy{animation:chr-jump .45s ease-out;transform-origin:50% 90%}.chr--oops{animation:chr-shake .4s ease-out;transform-origin:50% 90%}@keyframes chr-breath{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.015)}}@keyframes chr-jump{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-16px) scale(1.06,.95)}to{transform:translateY(0) scale(1)}}@keyframes chr-shake{0%,to{transform:translate(0) rotate(0)}30%{transform:translate(-5px) rotate(-4deg)}70%{transform:translate(5px) rotate(4deg)}}@media(prefers-reduced-motion:reduce){.chr--breath,.chr--happy,.chr--oops{animation:none}}.pickchr{padding:26px 0 40px}.pickchr h1{margin:0 0 6px;font-size:28px;letter-spacing:-.02em}.pickchr__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:22px}.pickchr__item{border:2px solid var(--line);border-radius:20px;background:var(--panel);padding:14px 10px 12px;cursor:pointer;font:inherit;color:inherit;display:flex;flex-direction:column;align-items:center;gap:6px;transition:transform .12s ease,border-color .12s ease}.pickchr__item:hover{transform:translateY(-3px);border-color:var(--accent)}.pickchr__item.is-on{border-color:var(--accent);background:#ef8f3c14}.pickchr__item b{font-size:15px;font-weight:600}.kid__buddy{display:flex;align-items:center;gap:10px}.kid__buddy small{color:var(--ink-dim);font-size:13px}body.kid-theme .kidcard__stars{color:#5a3e212e}body.kid-theme .kidcard__num{background:#f6e7d3}body.kid-theme .kidcard.is-next{box-shadow:0 4px 16px #ef8f3c2e}.parent{max-width:66ch;padding:26px 0 50px}.parent h1{font-size:30px;letter-spacing:-.02em;margin:0 0 10px}.parent h2{font-size:19px;margin:30px 0 8px}.parent p,.parent li{line-height:1.68;color:var(--ink-dim);font-size:16px}.parent__lead{font-size:17px}.parent__steps,.parent__list{padding-left:22px;margin:10px 0}.parent__steps li,.parent__list li{margin:6px 0}.parent__back{margin-top:34px}.parent__back a{color:var(--accent);text-decoration:none;font-weight:600}.session{padding:18px 0 34px;display:flex;flex-direction:column;gap:14px}.session h1{margin:0;font-size:26px;letter-spacing:-.02em}.session__plan{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.session__plan li{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.session__plan b{font-size:16px}.session__lesson{font-size:15px;color:var(--ink)}.session__note{font-size:14px;color:var(--ink-dim)}.session__bar{display:flex;align-items:center;gap:12px}.session__step{font-size:15px;font-weight:600}.session__dots{display:flex;gap:6px;margin-left:auto}.session__dots i{width:10px;height:10px;border-radius:50%;background:#7850282e}.session__dots i.is-done{background:#6fbf7f}.session__dots i.is-now{background:var(--accent)}.session--done{align-items:center;text-align:center;padding-top:40px}.session--done h1{margin-top:10px}.todaycard{display:flex;align-items:center;gap:16px;padding:18px;border:2px solid var(--accent);border-radius:18px;background:var(--panel);text-decoration:none;margin-bottom:18px}.todaycard b{display:block;font-size:18px;margin-bottom:2px}.todaycard span{color:var(--ink-dim);font-size:14px}.todaycard .go{margin-left:auto}.intro{padding:18px 0 30px;max-width:760px;display:flex;flex-direction:column;gap:18px}.intro h1{margin:0;font-size:24px;letter-spacing:-.02em}.intro__goal{margin:4px 0 0;font-size:17px;color:var(--ink)}.intro__hand{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:16px 18px}.intro__setup{margin:0 0 12px;font-size:16px;line-height:1.6;color:var(--ink-dim)}.intro__fingers{display:flex;gap:10px;justify-content:center;margin-bottom:6px}.intro__finger{display:flex;flex-direction:column;align-items:center;gap:4px}.intro__dot{width:26px;height:26px;border-radius:50%;display:block}.intro__finger b{font-size:15px;color:var(--ink-dim)}.intro__tips{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.intro__tips li{font-size:16px;line-height:1.55;color:var(--ink-dim)}.intro__go{align-self:flex-start}.warmup__task{margin:0;font-size:19px;line-height:1.5}.warmup__dots{display:flex;gap:8px}.warmup__dots i{width:14px;height:14px;border-radius:50%;background:#78502829}.warmup__dots i.is-on{background:#6fbf7f}.session__mic{font-size:13px;color:var(--ink-dim);margin-left:10px}.session__mic.is-on{color:#3f9d5a}.kid__stars{display:inline-flex;gap:var(--s-2);color:var(--line);line-height:0}.kid__stars .on{color:var(--brand)}.kidcard__stars{display:inline-flex;gap:4px;color:var(--line);line-height:0}.kidcard__stars .on{color:var(--brand)}body.kid-theme .kid__back{border-radius:var(--r-md);color:var(--ink-2)}body.kid-theme .kid__back:hover{color:var(--ink);border-color:var(--ink-2)}body.kid-theme .kid__head .chip{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px}img.chr{object-fit:contain}.chr-pic{display:contents}html.kid-theme,body.kid-theme{background:var(--paper)}body.kid-theme{font:var(--t-body);color:var(--ink);min-height:100dvh;display:flex;flex-direction:column}body.kid-theme .foot{margin-top:auto}body.kid-theme .wrap{max-width:var(--w-kid);padding:0 var(--s-6)}body.kid-theme .wrap--wide{max-width:var(--w-wide)}body.kid-theme .head{padding:var(--s-6) 0 var(--s-4);border-bottom:none}body.kid-theme .head nav{gap:var(--s-6);font:var(--t-small)}body.kid-theme .head nav a{color:var(--ink-2)}body.kid-theme .foot{border-top:1px solid var(--line);padding:var(--s-8) 0 var(--s-12);font:var(--t-caption);color:var(--ink-2)}.k-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:var(--tap, 52px);padding:0 var(--s-6);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font:var(--t-body);font-weight:700;font-family:var(--font-display);cursor:pointer;text-decoration:none;transition:transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.k-btn:hover{box-shadow:var(--shadow-soft)}.k-btn:active{transform:translateY(1px)}.k-btn--main{background:var(--brand);border-color:transparent;color:#fff;box-shadow:var(--shadow-soft)}.k-btn--main:hover{box-shadow:var(--shadow-lift)}.k-btn--big{min-height:calc(var(--tap, 52px) + 8px);padding:0 var(--s-8);font-size:19px}.k-btn--quiet{background:transparent;border-color:transparent;color:var(--ink-2);font-weight:500;font-family:var(--font-text)}.k-btn--quiet:hover{color:var(--ink);box-shadow:none}.k-btn--icon{min-width:52px;padding:0}.k-home{display:flex;flex-direction:column;gap:var(--s-8);padding-bottom:var(--s-12)}.k-today{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--s-6);padding:var(--s-6) var(--s-8);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lift);text-decoration:none;color:inherit}.k-today__art{width:128px;height:128px;flex:none}.k-today--plain{grid-template-columns:1fr auto}.k-today__art img,.k-today__art svg{width:100%;height:100%}.k-pick__item img,.k-pick__item svg{width:132px;height:132px}.k-today__label{font:var(--t-caption);text-transform:uppercase;letter-spacing:.08em;color:var(--brand-ink)}.k-today h1{font:var(--t-h1);font-weight:800;margin:var(--s-1) 0 var(--s-2);letter-spacing:-.02em}.k-today p{font:var(--t-small);color:var(--ink-2);margin:0}.k-section{font:var(--t-h3);font-weight:700;margin:0 0 var(--s-4);color:var(--ink-2)}.k-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-3)}.k-lesson{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:var(--s-4);padding:var(--s-4) var(--s-6);min-height:76px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);text-decoration:none;color:inherit;transition:border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.k-lesson:hover{border-color:var(--brand);transform:translate(2px)}.k-lesson__num{width:44px;height:44px;border-radius:var(--r-full);background:var(--surface-2);display:grid;place-items:center;font-family:var(--font-display);font-weight:800;color:var(--ink-2)}.k-lesson.is-current{border-color:var(--brand);box-shadow:var(--shadow-soft)}.k-lesson.is-current .k-lesson__num{background:var(--brand);color:#fff}.k-lesson.is-done .k-lesson__num{background:#3e9b6d24;color:var(--ok)}.k-lesson__title{display:block;font:var(--t-h3);font-weight:700;margin:0}.k-lesson__hint{display:block;font:var(--t-small);color:var(--ink-2);margin:2px 0 0}.k-stars{display:inline-flex;gap:var(--s-1);color:var(--line);line-height:0}.k-stars .on{color:var(--brand)}.k-pick{padding-bottom:var(--s-12)}.k-pick h1{font:var(--t-h1);font-weight:800;margin:0 0 var(--s-2);letter-spacing:-.02em}.k-pick p{font:var(--t-lead);color:var(--ink-2);margin:0 0 var(--s-8)}.k-pick__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:var(--s-4)}.k-pick__item{display:flex;flex-direction:column;align-items:center;gap:var(--s-2);padding:var(--s-4) var(--s-3) var(--s-3);cursor:pointer;background:var(--surface);border:2px solid transparent;border-radius:var(--r-lg);box-shadow:var(--shadow-soft);color:inherit;font:var(--t-body);font-weight:700;font-family:var(--font-display);transition:transform var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.k-pick__item:hover{transform:translateY(-4px);border-color:var(--brand)}.k-row{display:flex;gap:var(--s-3);flex-wrap:wrap;align-items:center}.k-spacer{margin-left:auto}.k-note{font:var(--t-small);color:var(--ink-2);margin:0}@media(max-width:720px){body.kid-theme .wrap{padding:0 var(--s-4)}.k-today{grid-template-columns:84px 1fr;gap:var(--s-4);padding:var(--s-4)}.k-today__art{width:84px;height:84px}.k-today h1{font:var(--t-h2)}.k-today .k-btn{grid-column:1 / -1;width:100%;margin-top:var(--s-2)}.k-lesson{grid-template-columns:40px 1fr auto;padding:var(--s-3) var(--s-4);gap:var(--s-3)}.k-lesson__title{font:var(--t-body);font-weight:700}.k-lesson__num{width:40px;height:40px}}.k-lessonpage{display:flex;flex-direction:column;gap:var(--s-4);padding-bottom:var(--s-8)}.k-topbar{display:flex;align-items:center;gap:var(--s-4)}.k-topbar__art{width:76px;height:76px;flex:none}.k-topbar__art img,.k-topbar__art svg{width:100%;height:100%}.k-topbar h1{font:var(--t-h3);font-weight:700;margin:0}.k-topbar p{font:var(--t-small);color:var(--ink-2);margin:2px 0 0}.k-topbar__right{margin-left:auto;display:flex;gap:var(--s-2)}.k-progress{height:8px;border-radius:var(--r-full);background:var(--surface-2);overflow:hidden}.k-progress__fill{height:100%;border-radius:var(--r-full);background:linear-gradient(90deg,var(--ok),var(--brand));transition:width var(--t-mid) var(--ease)}.k-stage{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-soft)}.k-stage canvas{display:block;touch-action:none;cursor:pointer}.k-hints{padding:var(--s-4) var(--s-6);background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow-soft)}.k-hints p{margin:0 0 var(--s-3);font:var(--t-small);color:var(--ink-2)}.k-hints .k-row{gap:var(--s-2)}.k-hint{min-height:40px;padding:0 var(--s-4);border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font:var(--t-small);cursor:pointer}.k-hint.is-on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-ink);font-weight:500}.k-done{position:absolute;inset:0;display:grid;place-items:center;background:#fbf7f2f0}.k-done__inner{text-align:center;padding:var(--s-8);display:flex;flex-direction:column;align-items:center;gap:var(--s-4)}.k-done__art{width:132px;height:132px}.k-done__art img,.k-done__art svg{width:100%;height:100%}.k-done h2{font:var(--t-h2);font-weight:800;margin:0}.k-done__stars{display:flex;gap:var(--s-2);color:var(--line)}.k-done__stars .on{color:var(--brand)}.k-done__invite{font:var(--t-lead);color:var(--brand-ink);margin:0}.k-intro{display:flex;flex-direction:column;gap:var(--s-6);padding-bottom:var(--s-12);max-width:760px}.k-intro__head{display:flex;align-items:center;gap:var(--s-4)}.k-intro__head h1{font:var(--t-h2);font-weight:800;margin:0;letter-spacing:-.02em}.k-intro__goal{font:var(--t-lead);color:var(--ink);margin:var(--s-1) 0 0}.k-intro__card{padding:var(--s-6);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-soft)}.k-intro__setup{font:var(--t-body);color:var(--ink-2);margin:0 0 var(--s-4)}.k-fingers{display:flex;gap:var(--s-3);justify-content:center;margin-bottom:var(--s-2)}.k-finger{display:flex;flex-direction:column;align-items:center;gap:var(--s-1)}.k-finger i{width:30px;height:30px;border-radius:var(--r-full);display:block}.k-finger b{font:var(--t-caption);color:var(--ink-2);font-weight:600}.k-tips{margin:0;padding-left:var(--s-6);display:flex;flex-direction:column;gap:var(--s-2)}.k-tips li{font:var(--t-body);color:var(--ink-2)}.k-session{display:flex;flex-direction:column;gap:var(--s-4);padding-bottom:var(--s-8)}.k-session__bar{display:flex;align-items:center;gap:var(--s-3)}.k-session__title{font:var(--t-body);font-weight:700;font-family:var(--font-display)}.k-session__mic{font:var(--t-caption);color:var(--ink-2)}.k-session__mic.is-on{color:var(--ok)}.k-dots{display:flex;gap:var(--s-2);margin-left:auto}.k-dots i{width:10px;height:10px;border-radius:var(--r-full);background:var(--line)}.k-dots i.is-done{background:var(--ok)}.k-dots i.is-now{background:var(--brand)}.k-plan{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-3)}.k-plan li{padding:var(--s-4) var(--s-6);background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow-soft)}.k-plan b{display:block;font:var(--t-h3);font-weight:700}.k-plan span{display:block;font:var(--t-small);color:var(--ink-2);margin-top:2px}.k-finish{text-align:center;padding:var(--s-12) 0;display:flex;flex-direction:column;align-items:center;gap:var(--s-4)}.k-finish h1{font:var(--t-h1);font-weight:800;margin:0}.k-task{font:var(--t-lead);margin:0}.k-count{display:flex;gap:var(--s-2)}.k-count i{width:14px;height:14px;border-radius:var(--r-full);background:var(--line)}.k-count i.is-on{background:var(--ok)}.k-hero{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--s-8);padding:var(--s-12) 0 var(--s-8)}.k-hero h1{font:var(--t-display);font-weight:800;letter-spacing:-.03em;margin:0 0 var(--s-4);max-width:15ch}.k-hero p{font:var(--t-lead);color:var(--ink-2);margin:0 0 var(--s-6);max-width:52ch}.k-hero__art{width:220px;height:220px;flex:none}.k-hero__art img,.k-hero__art svg{width:100%;height:100%}.k-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s-6);padding:var(--s-8) 0}.k-steps h3{font:var(--t-h3);font-weight:700;margin:0 0 var(--s-2)}.k-steps p{font:var(--t-small);color:var(--ink-2);margin:0;line-height:1.6}.k-start{padding-bottom:var(--s-12)}@media(max-width:720px){.k-hero{grid-template-columns:1fr;padding:var(--s-8) 0 var(--s-6)}.k-hero h1{font:var(--t-h1)}.k-hero__art{width:140px;height:140px;order:-1}}.k-how{display:flex;flex-direction:column;align-items:center;gap:var(--s-2)}.k-how__svg{width:100%;max-width:360px;height:auto}.k-how__caption{font:var(--t-small);color:var(--ink-2);margin:0}.k-how__tile{animation:how-ride 3.4s var(--ease) infinite}.k-how__key{opacity:0;animation:how-press 3.4s steps(1,end) infinite}.k-how__pill{animation:how-pill 3.4s steps(1,end) infinite}@keyframes how-ride{0%{transform:translate(168px)}62%{transform:translate(0)}88%{transform:translate(0)}89%{transform:translate(168px)}to{transform:translate(168px)}}@keyframes how-press{0%,61%{opacity:0}63%,86%{opacity:1}88%,to{opacity:0}}@keyframes how-pill{0%,61%{opacity:.9}63%,86%{opacity:0}88%,to{opacity:.9}}@media(prefers-reduced-motion:reduce){.k-how__tile,.k-how__key,.k-how__pill{animation:none}.k-how__key{opacity:1}}.k-hands{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--s-4);margin:var(--s-4) 0}.k-hand{margin:0;padding:var(--s-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);text-align:center}.k-hand.is-good{border-color:var(--ok)}.k-hand svg{width:100%;height:auto}.k-hand figcaption{font:var(--t-small);color:var(--ink-2);margin-top:var(--s-1)}.k-hand.is-good figcaption{color:var(--ok);font-weight:600}.k-beats{display:flex;gap:var(--s-2);justify-content:center}.k-beats i{width:22px;height:22px;border-radius:var(--r-full);background:var(--surface-2);border:2px solid transparent;transition:transform var(--t-fast) var(--ease)}.k-beats i.is-now{transform:scale(1.25);border-color:var(--brand)}.k-beats i.is-ok{background:var(--ok)}.k-beats i.is-early{background:var(--brand)}.k-beats i.is-late{background:var(--attention)}.k-dyn{position:relative;height:26px;border-radius:var(--r-full);background:var(--surface-2);overflow:hidden}.k-dyn__zone{position:absolute;top:0;bottom:0;opacity:.25}.k-dyn__zone--quiet{left:0;width:35%;background:var(--calm)}.k-dyn__zone--loud{left:67%;right:0;background:var(--brand)}.k-dyn.quiet .k-dyn__zone--quiet,.k-dyn.loud .k-dyn__zone--loud{opacity:.6}.k-dyn__mark{position:absolute;top:3px;bottom:3px;width:6px;border-radius:var(--r-full);background:var(--ink);transform:translate(-3px);transition:left var(--t-mid) var(--ease)}.k-hand img{width:100%;height:auto;display:block;border-radius:var(--r-sm)}.hero-scene{position:relative}.hero-scene__screen{display:block;width:100%;height:auto;border-radius:var(--r-lg);box-shadow:var(--shadow-lift);background:var(--surface)}.hero-scene__title{font:700 21px var(--font-display);fill:var(--ink)}.hero-scene__sub{font:400 14px var(--font-text);fill:var(--ink-2)}.hero-scene__train{animation:hero-ride 8s linear infinite}.hero-scene__press{opacity:0;animation:hero-press 8s steps(1,end) infinite}@keyframes hero-ride{0%{transform:translate(430px)}to{transform:translate(-700px)}}@keyframes hero-press{0%,1%{opacity:1}9%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.hero-scene__train,.hero-scene__press{animation:none}}@media(max-width:720px){.hero-scene{padding:0}}.k-hero--wide{grid-template-columns:1fr;gap:var(--s-8)}.k-hero--wide .k-hero__art{width:100%;height:auto;max-width:760px}.k-hero--wide .k-hero__text{max-width:42rem}.k-method,.k-diff,.k-honest{padding:var(--s-8) 0}.k-method__title{font:var(--t-h2);font-weight:800;letter-spacing:-.02em;margin:0 0 var(--s-3)}.k-method__lead{font:var(--t-lead);color:var(--ink-2);margin:0 0 var(--s-6);max-width:62ch}.k-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s-4)}.k-cards article{padding:var(--s-6);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-soft)}.k-cards h3{font:var(--t-h3);font-weight:700;margin:0 0 var(--s-2)}.k-cards p{font:var(--t-body);color:var(--ink-2);margin:0}.k-diff__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-4);max-width:68ch}.k-diff__list li{font:var(--t-body);color:var(--ink-2);padding-left:var(--s-6);position:relative}.k-diff__list li:before{content:"";position:absolute;left:0;top:9px;width:10px;height:10px;border-radius:var(--r-full);background:var(--brand)}.k-diff__list b{color:var(--ink);font-family:var(--font-display)}.k-honest p{font:var(--t-body);color:var(--ink-2);max-width:68ch;margin:0 0 var(--s-3)}.k-honest a{color:var(--brand-ink);font-weight:600;text-decoration:none}.k-honest a:hover{text-decoration:underline}.k-minimap{display:flex;flex-direction:column;gap:var(--s-1);opacity:.85}.k-minimap .k-note{text-align:center}.k-log{margin-top:var(--s-4);border-top:1px solid var(--line);padding-top:var(--s-3)}.k-log summary{cursor:pointer;user-select:none}.k-log__list{margin:var(--s-2) 0 0;padding-left:var(--s-6);display:grid;gap:var(--s-1);font:var(--t-small);color:var(--ink-2)}.k-level{height:6px;border-radius:var(--r-full);background:var(--surface-2);overflow:hidden;margin:var(--s-2) 0 var(--s-3)}.k-level__fill{height:100%;background:var(--brand);border-radius:var(--r-full);transition:width .15s linear}.k-saved{font:800 clamp(22px,3vw,32px) / 1.2 var(--font-display);color:var(--ok);margin:var(--s-2) 0;opacity:0;transition:opacity var(--t-fast) var(--ease)}.k-saved--on{opacity:1}.k-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:var(--s-4);background:#241f1b8c;backdrop-filter:blur(3px);animation:k-modal-in var(--t-mid) var(--ease)}.k-modal__card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lift);padding:var(--s-8) var(--s-6);max-width:420px;width:100%;display:grid;gap:var(--s-3);justify-items:center;text-align:center}.k-modal__count{font:var(--t-display);color:var(--brand);margin:0;font-variant-numeric:tabular-nums}.k-modal__title{font:var(--t-h2);margin:0}.k-modal .k-level{width:100%}@keyframes k-modal-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.k-modal{animation:none}}.k-meet{display:flex;gap:var(--s-6);align-items:center;margin-bottom:var(--s-6)}.k-meet__title{font:var(--t-h2);margin:0 0 var(--s-2)}.k-steplist{display:grid;gap:var(--s-3);padding:0;margin:0 0 var(--s-6);list-style:none}.k-steplist li{display:grid;grid-template-columns:28px 1fr;gap:var(--s-3);align-items:baseline;font:var(--t-body)}.k-steplist span{font:800 15px/26px var(--font-display);color:var(--brand-ink);background:var(--brand-soft);border-radius:var(--r-full);width:26px;height:26px;text-align:center}.k-chips{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-bottom:var(--s-4)}.k-chip{font:700 14px/1 var(--font-display);padding:10px 14px;border-radius:var(--r-full);background:var(--surface-2);color:var(--ink-2)}.k-chip--ok{background:#3e9b6d24;color:var(--ok)}@media(max-width:620px){.k-meet{flex-direction:column;align-items:flex-start}}.k-whole{display:grid;gap:var(--s-2);justify-items:center;margin-bottom:var(--s-4)}.k-whole canvas{width:100%;display:block}.k-meet__h1{font:var(--t-h1);font-weight:800;letter-spacing:-.02em;margin:0 0 var(--s-4)}.k-stage--tall{margin-top:var(--s-2)}.k-task--big{font:800 clamp(28px,4.4vw,46px) / 1.15 var(--font-display);text-align:center;text-wrap:balance;margin:var(--s-4) 0 var(--s-2)}.k-fine{font:var(--t-caption);color:var(--ink-2);margin:var(--s-2) 0 0}.k-fine--warn{color:var(--attention)}.k-saved{text-align:center}.k-echo{display:flex;gap:var(--s-3);justify-content:center;margin:var(--s-2) 0 var(--s-4)}.k-echo__dot{width:26px;height:26px;border-radius:50%;background:var(--surface-2);border:2px solid var(--line);transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.k-echo__dot--on{background:var(--ok);border-color:var(--ok)}.k-ages{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s-3)}.k-age{display:grid;gap:var(--s-2);justify-items:start;text-align:left;padding:var(--s-6);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);cursor:pointer;transition:box-shadow var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.k-age:hover{box-shadow:var(--shadow-lift);border-color:var(--brand)}.k-age__num{font:var(--t-h2);font-weight:800;color:var(--brand-ink)}.k-age__note{font:var(--t-small);color:var(--ink-2)}.k-score{font:var(--t-display);font-weight:800;color:var(--ink);margin:0;font-variant-numeric:tabular-nums}.k-score__note{font:var(--t-body);color:var(--ink-2);margin:var(--s-1) 0 0}.k-score__cmp{font:var(--t-body);font-weight:600;color:var(--ok);margin:var(--s-2) 0 0}.k-lesson__score{font:700 15px/1 var(--font-display);color:var(--ok);font-variant-numeric:tabular-nums;min-width:44px;text-align:right}.k-ageswitch{display:grid;gap:var(--s-4);margin:var(--s-4) 0 var(--s-8)}.k-age--on{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.k-agediff{width:100%;border-collapse:collapse;font:var(--t-small)}.k-agediff td{padding:var(--s-2) var(--s-3);border-top:1px solid var(--line);vertical-align:top}.k-agediff td:first-child{color:var(--ink-2);white-space:nowrap;width:1%}.k-stage--wide{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-radius:0}.k-micbar{display:grid;gap:var(--s-1);margin:var(--s-2) 0 var(--s-3)}.k-micbar .k-fine{margin:0}.k-tour__title{font:800 clamp(26px,3.6vw,40px) / 1.15 var(--font-display);text-wrap:balance;margin:var(--s-2) 0 var(--s-3)}.k-tour__text{font:clamp(18px,2vw,24px) / 1.45 var(--font-text);color:var(--ink-2);max-width:60ch;margin:0 0 var(--s-4)}.k-day{padding-bottom:170px;overflow-x:hidden}.k-day__say{display:flex;gap:var(--s-5);align-items:center;justify-content:center;margin:var(--s-6) auto var(--s-2);max-width:780px}.k-day__say>div{max-width:460px}.k-day__task{font:800 clamp(26px,3.2vw,38px) / 1.15 var(--font-display);margin:0;text-wrap:balance}.k-day__hint{font:var(--t-lead);color:var(--ink-2);margin:var(--s-2) 0 0}@media(max-width:640px){.k-day__say{flex-direction:column;text-align:center;gap:var(--s-3)}}.k-parent{position:fixed;left:0;right:0;bottom:0;z-index:5;box-sizing:border-box;max-width:100vw;padding:var(--s-3) var(--s-6);background:var(--surface);border-top:1px solid var(--line, #eadfce);box-shadow:0 -6px 20px #0000000d}.k-parent__inner{max-width:var(--w-kid);margin:0 auto}.k-parent__text{font:var(--t-small);color:var(--ink-2);margin:0 0 var(--s-2)}.k-parent__warn{color:var(--ink-2);opacity:.85}.k-parent__row{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:center}.k-parent__row .k-btn{min-height:36px;font-size:14px;padding:0 var(--s-3)}.k-rec{display:flex;flex-direction:column;gap:var(--s-2);padding-bottom:var(--s-12)}.k-rec__line{font:700 clamp(22px,3vw,34px) / 1.25 var(--font-display);margin:var(--s-4) 0;text-wrap:balance}.k-rec__grid{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-6)}.k-rec__dot{width:34px;height:34px;border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface);font:var(--t-small);color:var(--ink-2);cursor:pointer}.k-rec__dot.is-done{background:var(--ok);border-color:transparent;color:#fff}.k-rec__dot.is-now{outline:2px solid var(--brand);outline-offset:2px}
