:root{--bg0:#0b0d12;--bg1:#141922;--wood0:#5a3a22;--wood1:#7a4e2c;--wood2:#3d2716;--gold:#e8c66a;--gold-dim:#a9873c;--jade:#4dd9a3;--ink:#e9e4d6;--muted:#9aa0ad;--red:#ff5d5d;--org:#ff9f43;--yel:#ffd93d;--grn:#4dd07a;--blu:#4db8ff;--panel:#141922d1;--line:#e8c66a2e}*{box-sizing:border-box}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}html,body{overscroll-behavior:none;touch-action:pan-x pan-y;height:100%;margin:0}body{color:var(--ink);background:radial-gradient(1200px 600px at 20% -10%, #1b2230 0%, transparent 60%), radial-gradient(900px 500px at 110% 10%, #22160f 0%, transparent 55%), linear-gradient(180deg,var(--bg0),#070a0f 70%);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;min-height:100%;font-family:system-ui,-apple-system,Noto Sans,Roboto,sans-serif;overflow-x:hidden}.app-root,.app-root *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.app-root:focus{outline:none}.app-root:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.app-root input[type=text],.app-root textarea,.app-root [contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.wrap{max-width:1320px;margin:0 auto;padding:14px 18px 40px}header.top{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px;display:flex}.brand{align-items:baseline;gap:12px;display:flex}.brand-mark{background:linear-gradient(#fbe6ac,#e8c66a 55%,#b6862f);color:#0000;text-shadow:0 2px 20px #e8c66a26;letter-spacing:2px;-webkit-background-clip:text;background-clip:text;margin:0;font-family:Ma Shan Zheng,Noto Serif SC,serif;font-size:40px;line-height:1}.brand h1{white-space:nowrap;margin:0;font-size:17px;font-weight:750;line-height:1.2}.brand .en{color:var(--muted);letter-spacing:3px;text-transform:uppercase;font-size:13px}.tabs{background:var(--panel);border:1px solid var(--line);border-radius:12px;gap:4px;padding:4px;display:flex}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .15s}.tabs button.active{color:var(--gold);box-shadow:0 1px 0 #ffffff0d inset,0 0 0 1px var(--line);background:linear-gradient(#2a3242,#1a212c)}.tabs a{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:9px;padding:8px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:all .15s}.tabs a:hover{color:var(--gold)}.tabs a.active{color:var(--gold);box-shadow:0 1px 0 #ffffff0d inset,0 0 0 1px var(--line);background:linear-gradient(#2a3242,#1a212c)}.site-tabs{background:0 0;border-style:dashed}.spacer{flex:1}.ctrls{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.ctrl{color:var(--muted);align-items:center;gap:7px;font-size:12.5px;display:flex}.ctrl input[type=range]{width:96px;accent-color:var(--gold)}.tempo-entry{color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.tempo-entry b{color:var(--muted);font-size:11px}.tempo-number{border:1px solid var(--line);width:54px;color:var(--ink);font-variant-numeric:tabular-nums;background:#12161d;border-radius:7px;padding:3px 3px 3px 6px;font:700 12.5px system-ui,sans-serif}.tempo-number:focus{border-color:var(--gold);outline:none}.tempo-number:disabled,.ctrl input[type=range]:disabled{opacity:.45;cursor:not-allowed}.volume-val{color:var(--ink);font-variant-numeric:tabular-nums;width:38px}.string-range{gap:5px}.string-bound{border:1px solid var(--line);width:58px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;text-align:center;background:#12161d;border-radius:7px;padding:3px 2px 3px 6px;font-weight:700}.string-bound:focus{border-color:var(--gold);outline:none}.range-count{text-align:center;min-width:18px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.range-fit{border:1px solid var(--line);background:var(--panel);color:var(--gold);cursor:pointer;border-radius:7px;padding:3px 9px;font:700 11.5px system-ui,sans-serif;transition:all .12s}.range-fit:hover{border-color:var(--gold);background:#232a36}.range-fit:active{transform:scale(.94)}.switch{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.switch input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pill{border:1px solid var(--line);background:#2a2f3a;border-radius:20px;width:36px;height:20px;transition:all .15s;position:relative}.pill:after{content:"";background:#8b93a2;border-radius:50%;width:14px;height:14px;transition:all .15s;position:absolute;top:2px;left:2px}.switch input:checked+.pill{background:linear-gradient(90deg,var(--gold-dim),var(--gold))}.switch input:checked+.pill:after{background:#1a1200;left:18px}.switch input:focus-visible+.pill{outline:2px solid var(--gold);outline-offset:2px}.tuning{gap:5px}.tune-btn{border:1px solid var(--line);background:var(--panel);width:23px;height:23px;color:var(--gold);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;padding:0;font-size:15px;font-weight:800;line-height:1;transition:all .12s;display:inline-flex}.tune-btn:hover{border-color:var(--gold);background:#232a36}.tune-btn:active{transform:scale(.9)}.tune-read{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;min-width:32px;line-height:1;display:inline-flex}.tune-read b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:14px}.tune-read i{color:var(--muted);margin-top:1px;font-size:9px;font-style:normal}.tune-read.active b{color:var(--gold)}.sheetbar{flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0 12px;display:flex}.sheetbar .btn{padding:8px 14px;font-size:13px}.editbar{gap:7px}.editbar .btn{padding:8px 11px}.bar-sep{background:var(--line);align-self:stretch;width:1px;margin:1px 4px}.meta-label{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:inline-flex}.meta-input{border:1px solid var(--line);color:var(--ink);font-size:12.5px;font:inherit;background:#12161d;border-radius:8px;padding:6px 8px}.meta-input:focus{border-color:var(--gold);outline:none}.btn.armed{border-color:var(--jade);color:var(--jade);box-shadow:0 0 10px #4dd9a340}.sheet-error{color:var(--red);font-size:12.5px}.sheet-warn{color:var(--org);font-size:12px}.sheet-empty{background:var(--panel);border:1px dashed var(--line);color:var(--muted);border-radius:14px;margin:0 0 12px;padding:16px 20px;font-size:13px;line-height:1.7}.sheet-empty b{color:var(--ink)}.sheet-empty ol{margin:8px 0;padding-left:20px}.sheet-empty code{color:var(--gold);background:#20262f;border-radius:5px;padding:1px 6px;font-size:12px}.sheet-empty a{color:var(--gold);border-bottom:1px solid #e8c66a66;text-decoration:none}.sheet-empty a:hover{border-bottom-color:var(--gold)}.sheet-empty-cta{margin:4px 0 8px;font-weight:700;display:inline-block;border-bottom:0!important}.sheet-empty-cta:hover{text-decoration:underline}.jianpu-panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin:0 0 12px;overflow:hidden}.jianpu-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:12px;padding:9px 14px 7px;font-size:13px;display:flex}.jianpu-head b{font-size:14.5px}.jp-meta{color:var(--muted);font-size:12px}.jp-tip{color:var(--muted);margin-left:auto;font-size:11px}.jp-toggle{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;padding:3px 9px;font-size:11px;transition:all .12s}.jp-toggle:hover{border-color:var(--gold);color:var(--gold)}.jianpu-head .jp-toggle{margin-left:auto}.jianpu-head .jp-tip+.jp-toggle{margin-left:12px}.jianpu-body{resize:vertical;font-variant-numeric:tabular-nums;height:150px;min-height:70px;max-height:60vh;padding:10px 14px 14px;line-height:1;overflow:auto}.jp-measure{white-space:nowrap;align-items:center;margin:5px 0;display:inline-flex}.jp-bar{color:var(--gold-dim);margin:0 7px;font-size:16px}.jp-note{cursor:pointer;color:var(--ink);font:inherit;background:0 0;border:0;border-radius:7px;align-items:center;gap:1px;margin:0 1px;padding:2px 4px;display:inline-flex;position:relative}.jp-note:hover{background:#e8c66a1f}.jp-note.inloop{background:#4dd9a31a}.jp-note.inloop:hover{background:#4dd9a333}.jp-note.active{box-shadow:0 0 0 1px var(--gold);background:#e8c66a52}.jp-note.sel{box-shadow:0 0 0 1.5px var(--blu);background:#4db8ff38}.jp-note.rest .jp-digit{color:var(--muted)}.jp-note.bad .jp-digit{color:var(--red);text-decoration:line-through}.jp-note.bendnote .jp-digit{color:var(--jade)}.jp-col{flex-direction:column;align-items:center;min-width:12px;display:inline-flex}.jp-dots{letter-spacing:1px;height:7px;color:var(--gold);white-space:pre;font-size:8px;line-height:7px}.jp-digit{font-size:17px;font-weight:700;line-height:18px}.jp-lines{flex-direction:column;justify-content:flex-start;align-self:stretch;gap:1px;height:7px;padding-top:1px;display:flex}.jp-lines i{background:var(--ink);border-radius:1px;height:1.5px;display:block}.jp-aug{margin-left:2px;font-weight:800}.jp-dash{color:var(--ink);margin-left:4px;font-size:13px}.jp-tech{color:var(--jade);font-size:9px;font-style:normal;position:absolute;top:-2px;right:-2px}.timedisp{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12.5px}.timedisp b{color:var(--ink);font-weight:600}.loopctl{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;display:flex}.loopctl .mini{border:1px solid var(--line);background:var(--panel);width:30px;height:27px;color:var(--gold);cursor:pointer;border-radius:8px;font-weight:800;transition:all .12s}.loopctl .mini:hover{border-color:var(--gold)}.loopctl .mini:disabled{opacity:.4;cursor:not-allowed}.loopctl input{border:1px solid var(--line);width:58px;color:var(--ink);text-align:center;font-size:12.5px;font:inherit;background:#12161d;border-radius:8px;padding:5px 7px}.loopctl input:focus{border-color:var(--gold);outline:none}.loopctl input:disabled+.pill,.loopctl input[type=text]:disabled{opacity:.45;cursor:not-allowed}.yt-panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin:0 0 12px;padding:10px 14px}.yt-controls{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.yt-label{font-size:13.5px;font-weight:700}.yt-controls label{color:var(--muted);align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.yt-url{border:1px solid var(--line);min-width:180px;color:var(--ink);font-size:12.5px;font:inherit;background:#12161d;border-radius:8px;flex:1;padding:7px 10px}.yt-time{border:1px solid var(--line);width:58px;color:var(--ink);text-align:center;font-size:12.5px;font:inherit;background:#12161d;border-radius:8px;padding:6px 7px}.yt-url:focus,.yt-time:focus{border-color:var(--gold);outline:none}.yt-frame{aspect-ratio:16/9;border:0;border-radius:10px;width:min(420px,100%);margin-top:10px;display:block}.yt-note{color:var(--muted);margin:8px 0 0;font-size:11.5px}.playbar{flex-wrap:wrap;align-items:center;gap:12px;min-height:44px;margin:2px 0 12px;display:flex}.practice-picker{border:1px solid var(--line);background:var(--panel);border-radius:10px;gap:3px;padding:3px;display:inline-flex}.practice-picker button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 10px;font:700 12.5px system-ui,sans-serif;transition:all .15s}.practice-picker button.active{color:var(--gold);box-shadow:0 0 0 1px var(--line);background:#2a3242}.practice-picker button:disabled{opacity:.55;cursor:not-allowed}.practice-picker button:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.practice-status{color:var(--jade);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:700}.btn{cursor:pointer;border:0;border-radius:11px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:700;transition:all .15s;display:inline-flex}.btn.primary{color:#241800;background:linear-gradient(#f2d27f,#d9ad4c);box-shadow:0 6px 18px #d9ad4c47}.btn.primary:hover{filter:brightness(1.06)}.btn.ghost{background:var(--panel);color:var(--ink);border:1px solid var(--line)}.btn.ghost:hover{border-color:#e8c66a66}.btn:disabled{opacity:.4;cursor:not-allowed}.now{font-size:15px;font-weight:700}.now small{color:var(--muted);font-size:12px;font-weight:500}.hud{align-items:baseline;gap:18px;margin-left:auto;display:flex}.hud .stat{text-align:right}.hud .stat b{color:var(--gold);font-variant-numeric:tabular-nums;font-size:20px}.hud .stat span{color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-size:10px;display:block}.hud .combo b{color:var(--jade)}.stage{background:linear-gradient(180deg, #00000026, #00000059), repeating-linear-gradient(0deg,#6b4326 0 3px,#5c3820 3px 7px), linear-gradient(180deg,var(--wood1),var(--wood0) 40%,var(--wood2));touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border:1px solid #00000080;border-radius:18px;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000080,inset 0 1px #ffffff0f}.stage .frame{pointer-events:none;border:10px solid #0000;border-image:linear-gradient(135deg,#8a5a30,#3a2312) 1;border-radius:18px;position:absolute;inset:0;box-shadow:inset 0 0 40px #0006}#cv{z-index:1;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:74vh;min-height:460px;display:block;position:relative}.stage.fs{z-index:40;border-radius:0;position:fixed;inset:0}.stage.fs .frame{border-radius:0}.stage.fs #cv{height:100dvh;min-height:0}.fsbtn{z-index:7;border:1px solid var(--line);width:38px;height:38px;color:var(--gold);cursor:pointer;letter-spacing:-2px;background:#141922bf;border-radius:10px;justify-content:center;align-items:center;font-size:17px;transition:all .12s;display:flex;position:absolute;top:12px;left:12px}.fsbtn:hover{border-color:var(--gold);background:#141922f2}.bendbtn{z-index:6;width:208px;height:100%;color:var(--jade);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:#141922b8;border:1px solid #4dd9a380;border-left:0;border-radius:0 16px 16px 0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:22px;font-weight:700;transition:all .12s;display:flex;position:absolute;top:0;left:0}.bendbtn span{letter-spacing:2px;text-transform:uppercase;font-size:9.5px}.bendbtn.active{border-color:var(--jade);background:#4dd9a347;box-shadow:0 0 18px #4dd9a359}@media (hover:hover) and (pointer:fine){.bendbtn{display:none}}.labels{z-index:0;pointer-events:none;position:absolute;inset:0}.lab{text-align:left;pointer-events:auto;cursor:pointer;font:inherit;color:inherit;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:0;border-radius:6px;align-items:baseline;gap:6px;padding:2px 5px;display:flex;position:absolute;top:0;left:calc(100% - 116px);transform:translateY(-50%)}.lab:focus-visible{outline:1px solid var(--gold);outline-offset:2px}.lab .k{color:#f4ead0;text-shadow:0 1px 2px #0009;font-size:16px;font-weight:800;line-height:1}.lab .num{min-width:12px;color:var(--gold);font-variant-numeric:tabular-nums;grid-template-rows:4px 13px 4px;place-items:center;display:inline-grid}.lab .num.bendable{color:var(--jade)}.lab .num-core{font-size:13px;font-weight:800;line-height:13px}.lab .num-dots{letter-spacing:1px;height:4px;font-size:7px;line-height:4px}.lab .n{color:#c8b48a;letter-spacing:.3px;font-size:10px}.lab.on{background:#e8c66a24}.lab.on .k{color:var(--gold)}.lab.target{background:#e8c66a33;box-shadow:0 0 0 1px #e8c66a9e}.hint{color:var(--muted);text-align:center;margin-top:12px;font-size:12.5px;line-height:1.6}.hint kbd{border:1px solid var(--line);color:var(--ink);background:#20262f;border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-family:inherit;font-size:11px}.app-root{touch-action:pan-x pan-y;scroll-margin-top:12px}.seo-content{-webkit-user-select:text;user-select:text;color:#d9d6cc;max-width:1120px;margin:20px auto 0;padding:64px 24px 84px;font-size:16px;line-height:1.72}.seo-content h2{color:var(--ink);letter-spacing:-.025em;margin:0;font-size:clamp(24px,3vw,36px);line-height:1.18}.seo-content p{margin:14px 0 0}.seo-content strong{color:#f0eadb}.seo-content kbd{color:var(--gold);background:#1a202a;border:1px solid #e8c66a40;border-bottom-width:2px;border-radius:6px;padding:0 7px;font:600 .86em/1.65 system-ui,sans-serif;display:inline-block}.seo-intro{border:1px solid var(--line);background:radial-gradient(650px 280px at 100% 0,#7a4e2c47,#0000 65%),linear-gradient(145deg,#1d2431f0,#0d1118f5);border-radius:24px;padding:clamp(28px,5vw,52px);position:relative;overflow:hidden;box-shadow:0 20px 70px #0000003d}.seo-intro:after{content:"";pointer-events:none;border:1px solid #e8c66a14;border-radius:50%;width:270px;height:270px;position:absolute;top:-60px;right:-40px;box-shadow:0 0 0 34px #e8c66a06,0 0 0 68px #e8c66a05}.seo-kicker,.seo-section-number{letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--gold)!important;font-size:12px!important}.seo-kicker{margin:0 0 12px!important}.seo-lede{color:#b9bec8;max-width:760px;font-size:clamp(17px,2vw,20px);line-height:1.65}.seo-highlights{flex-wrap:wrap;gap:9px;margin:26px 0 0;padding:0;list-style:none;display:flex}.seo-highlights li{color:#cbc6b8;background:#e8c66a0e;border:1px solid #e8c66a2e;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:650}.seo-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.seo-card,.seo-wide-card,.seo-section{border:1px solid var(--line);background:#12171fb8;border-radius:20px}.seo-card{padding:30px}.seo-section-number{margin:0 0 9px!important}.seo-card h2,.seo-wide-card h2,.seo-section h2{font-size:clamp(21px,2.5vw,28px)}.seo-steps{gap:13px;margin:22px 0 0;padding-left:22px;display:grid}.seo-steps li::marker{color:var(--gold);font-weight:800}.seo-wide-card{grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:34px;margin-top:18px;padding:32px;display:grid}.seo-wide-card p:first-child{margin-top:0}.seo-section{margin-top:18px;padding:32px}.control-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 0;display:grid}.control-grid div{background:#ffffff05;border:1px solid #e8c66a1f;border-radius:14px;padding:18px}.control-grid dt{color:var(--gold);font-weight:800;line-height:1.3}.control-grid dd{color:#aeb4bf;margin:7px 0 0;font-size:14px;line-height:1.6}.key-map{background:#080b106b;border:1px solid #e8c66a29;border-radius:14px;margin-top:22px}.key-map summary{color:var(--gold);cursor:pointer;padding:15px 18px;font-weight:750;list-style-position:inside}.key-map[open] summary{border-bottom:1px solid #e8c66a24}.key-map-scroll{padding:4px 18px 18px;overflow-x:auto}.key-map table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.key-map caption{text-align:left;color:var(--muted);padding:14px 0 8px;font-size:13px}.key-map th,.key-map td{text-align:left;border-bottom:1px solid #e8c66a17;padding:9px 12px}.key-map thead th{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:11px}.key-map tbody th{color:var(--muted);font-weight:600}.key-map tbody td:last-child{color:var(--gold)}.faq-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.faq-list details{background:#ffffff05;border:1px solid #e8c66a24;border-radius:14px}.faq-list summary{color:var(--ink);cursor:pointer;padding:17px 18px;font-weight:750;line-height:1.4}.faq-list details[open] summary{color:var(--gold)}.faq-list p{color:#aeb4bf;margin:0;padding:0 18px 18px;font-size:14px;line-height:1.65}.seo-footer{color:var(--muted);border-top:1px solid #e8c66a21;justify-content:space-between;align-items:flex-start;gap:24px;margin-top:18px;padding:26px 4px 0;font-size:13px;display:flex}.seo-footer p{max-width:760px;margin:0}.seo-footer a{color:var(--gold);flex:none;font-weight:750;text-decoration:none}.seo-footer a:hover{text-decoration:underline}.modal{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#04060ab8;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal.show{display:flex}.sheet{border:1px solid var(--line);text-align:center;background:linear-gradient(#1a2029,#11151c);border-radius:20px;width:min(440px,92vw);padding:28px 34px;box-shadow:0 30px 80px #0009}.sheet h2{color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin:0 0 2px;font-size:15px;font-weight:600}.sheet .title{margin-bottom:10px;font-size:24px;font-weight:800}.stars{letter-spacing:6px;margin:6px 0 14px;font-size:38px}.grades{grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0;display:grid}.grades div{border:1px solid var(--line);background:#ffffff08;border-radius:12px;padding:10px}.grades b{font-variant-numeric:tabular-nums;font-size:22px;display:block}.grades span{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;font-size:10.5px}.g-p b{color:var(--yel)}.g-g b{color:var(--jade)}.g-m b{color:var(--red)}.bigscore{color:var(--gold);font-variant-numeric:tabular-nums;margin:2px 0 4px;font-size:34px;font-weight:800}.acc{color:var(--muted);margin-bottom:16px;font-size:13px}.sheet .btn{justify-content:center;width:100%;margin-top:6px}.practice-complete p{color:var(--muted);font-size:13px;line-height:1.55}.practice-check{border:2px solid var(--jade);width:66px;height:66px;color:var(--jade);background:#4dd9a314;border-radius:50%;place-items:center;margin:14px auto;font-size:36px;font-weight:800;display:grid}.countdown{z-index:5;color:var(--gold);text-shadow:0 0 40px #e8c66a80;pointer-events:none;justify-content:center;align-items:center;font-size:120px;font-weight:800;display:none;position:absolute;inset:0}.countdown.show{display:flex}@media (max-width:840px){.seo-guide-grid,.faq-list{grid-template-columns:1fr}.seo-wide-card{grid-template-columns:1fr;gap:8px}.control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.brand-mark{font-size:30px}.brand h1{white-space:normal;font-size:15px}.brand .en{letter-spacing:2px;font-size:10px}#cv{height:48vh}.hud{margin-left:0}.bendbtn{width:104px}.seo-content{padding:38px 14px 60px}.seo-intro,.seo-card,.seo-wide-card,.seo-section{border-radius:17px;padding:23px}.control-grid{grid-template-columns:1fr}.seo-footer{flex-direction:column}}@media (hover:none) and (pointer:coarse){.lab{gap:4px;left:calc(100% - 70px)}.lab .k,.key-control{display:none}}.app-root.touch-ui .lab{gap:4px;left:calc(100% - 70px)}.app-root.touch-ui .lab .k,.app-root.touch-ui .key-control{display:none}.app-root.touch-ui .bendbtn{display:flex}@media (prefers-reduced-motion:reduce){.app-root *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.doc-page{-webkit-user-select:text;user-select:text;padding-bottom:60px}.doc-top{padding-top:6px}.doc-brand{color:inherit;align-items:center;text-decoration:none}.doc-brand>span:last-child{flex-direction:column;gap:2px;display:flex}.doc-brand-name{font-size:17px;font-weight:750;line-height:1.2}.doc-brand:hover .doc-brand-name{color:var(--gold)}.doc-body{color:#aeb4bf;max-width:900px;margin:0 auto;font-size:15.5px;line-height:1.72}.doc-body h1{color:var(--ink);letter-spacing:-.025em;margin:0;font-size:clamp(28px,4vw,42px);line-height:1.14}.doc-body h2{color:var(--ink);letter-spacing:-.02em;margin:0 0 4px;font-size:clamp(20px,2.4vw,26px);line-height:1.25}.doc-body h3{color:#f0eadb;letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px;font-size:14px}.doc-body p{margin:14px 0 0}.doc-body strong{color:#f0eadb}.doc-body em{color:var(--gold);font-style:normal}.doc-body a{color:var(--gold);border-bottom:1px solid #e8c66a59;text-decoration:none}.doc-body a:hover{border-bottom-color:var(--gold)}.doc-body code{color:var(--gold);background:#20262f;border-radius:5px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.doc-hero{border-bottom:1px solid #e8c66a21;padding:22px 4px 30px}.doc-hero .seo-lede{margin-top:16px}.doc-section{border:1px solid var(--line);background:linear-gradient(#181e28b8,#10141bb8);border-radius:18px;margin-top:18px;padding:28px 30px}.doc-section .seo-steps{margin-top:14px}.doc-callout{background:linear-gradient(#14262099,#0e161499);border-color:#4dd9a352}.doc-callout h2{color:var(--jade)}.doc-note{border-left:2px solid var(--gold-dim);color:var(--muted);padding-left:14px;font-size:14px;margin-top:16px!important}.doc-list{gap:10px;margin:14px 0 0;padding-left:20px;display:grid}.doc-list li::marker{color:var(--gold)}.doc-table-scroll{border:1px solid var(--line);border-radius:12px;margin-top:16px;overflow-x:auto}.doc-table{border-collapse:collapse;width:100%;min-width:520px;font-size:14px}.doc-table th,.doc-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e8c66a1a;padding:10px 14px}.doc-table thead th{color:var(--gold);letter-spacing:.06em;text-transform:uppercase;background:#e8c66a0d;font-size:12px}.doc-table tbody th{color:#f0eadb;white-space:nowrap;font-weight:700}.doc-table tr:last-child th,.doc-table tr:last-child td{border-bottom:0}.copy-block{border:1px solid var(--line);background:#0f1219;border-radius:12px;margin-top:16px;overflow:hidden}.copy-block-head{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:8px 10px 8px 14px;font-size:12.5px;display:flex}.copy-block-head .btn{padding:5px 12px;font-size:12px}.copy-block pre{color:#cfd6e2;white-space:pre-wrap;word-break:break-word;max-height:420px;margin:0;padding:14px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.6;overflow:auto}.lesson-list{gap:18px;margin:18px 0 0;padding:0;list-style:none;display:grid}.lesson-card{border:1px solid var(--line);background:linear-gradient(#181e28b8,#10141bb8);border-radius:18px;padding:28px 30px;scroll-margin-top:20px}.lesson-head h2{margin:0}.lesson-term{color:var(--gold);white-space:nowrap;font-size:.72em;font-weight:600}.lesson-term i{color:var(--muted);font-style:normal;font-weight:500}.lesson-summary{color:#b9bec8;font-size:16px;margin-top:10px!important}.lesson-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:26px;margin-top:24px;display:grid}.lesson-grid ol,.lesson-grid ul{margin-top:0}.lesson-exercise{background:#e8c66a0a;border:1px dashed #e8c66a4d;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding:18px 20px;display:flex}.lesson-exercise h3{margin-bottom:4px}.lesson-exercise p{font-size:14px;margin:0!important}.lesson-launch{flex:none;padding:11px 20px}.lesson-watch{color:var(--muted);font-size:14px;margin-top:18px!important}.doc-footer{max-width:900px;color:var(--muted);border-top:1px solid #e8c66a21;justify-content:space-between;align-items:flex-start;gap:24px;margin:34px auto 0;padding:26px 4px 0;font-size:13px;line-height:1.7;display:flex}.doc-footer p{max-width:640px;margin:0}.doc-footer strong{color:#f0eadb}.doc-footer .btn{flex:none;text-decoration:none}.kb-scroll{margin-top:20px;padding-bottom:6px;overflow-x:auto;container-type:inline-size}.kb{--kgap:5px;--ku:clamp(19px,(100cqw - 150px) / 22,38px);gap:calc(var(--kgap)*3);border:1px solid var(--line);background:#0f1219;border-radius:14px;width:max-content;padding:14px;display:flex}.kb-main{gap:var(--kgap);width:calc(var(--ku)*15 + 13*var(--kgap));display:grid}.kb-row{gap:var(--kgap);display:flex}.kb-side{gap:calc(var(--kgap)*3);align-items:flex-start;display:flex}.kb-key{height:var(--ku);color:var(--muted);text-align:center;background:#171c25;border:1px solid #e8c66a29;border-radius:7px;flex-direction:column;flex:1 0 0;justify-content:center;align-items:center;gap:1px;padding:2px 3px;font-size:10.5px;font-weight:600;line-height:1.05;display:flex;overflow:hidden}.kb-cap{font-size:10.5px}.kb-string{background:color-mix(in srgb,var(--key-color) 26%,#171c25);border-color:color-mix(in srgb,var(--key-color) 62%,transparent);color:var(--ink);box-shadow:0 0 0 1px color-mix(in srgb,var(--key-color) 22%,transparent) inset}.kb-string .kb-cap{color:color-mix(in srgb,var(--key-color) 72%,#fff);font-size:9.5px;font-weight:800}.kb-jianpu{flex-direction:column;align-items:center;line-height:.9;display:flex}.kb-num{color:#fff;font-size:15px;font-weight:800}.kb-dots{color:#fff;letter-spacing:1px;height:6px;font-size:6px}.kb-pitch{color:#fff9;font-size:8px;font-weight:600}.kb-tremolo{color:var(--gold);background:#e8c66a29;border-color:#e8c66a8c}.kb-bend{color:var(--jade);background:#4dd9a329;border-color:#4dd9a38c}.kb-role{opacity:.85;font-size:8.5px;font-weight:700}.kb-nav{gap:var(--kgap);grid-template-columns:repeat(3,var(--ku));grid-template-areas:"ins home pgup""del end pgdn";display:grid}.kb-numpad{gap:var(--kgap);grid-template-columns:repeat(4,var(--ku));grid-template-areas:"numlk div mul sub""n7 n8 n9 add""n4 n5 n6 add""n1 n2 n3 npenter""n0 n0 dot npenter";display:grid}.kb-nav .kb-key,.kb-numpad .kb-key{height:auto;min-height:var(--ku);flex:none}.kb-legend{color:var(--muted);flex-wrap:wrap;gap:10px 22px;margin:18px 0 0;padding:0;font-size:13.5px;list-style:none;display:flex}.kb-legend li{align-items:center;gap:8px;display:flex}.kb-swatch{border:1px solid;border-radius:4px;width:15px;height:15px}.kb-swatch-string{background:linear-gradient(120deg,var(--red),var(--yel) 45%,var(--blu));border-color:#0000}.kb-swatch-tremolo{background:#e8c66a47;border-color:#e8c66a99}.kb-swatch-bend{background:#4dd9a347;border-color:#4dd9a399}.doc-body kbd{border:1px solid var(--line);color:var(--ink);background:#20262f;border-bottom-width:2px;border-radius:5px;padding:1px 6px;font:600 12px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}@media (max-width:840px){.lesson-grid{grid-template-columns:1fr;gap:20px}.kb{--kgap:4px}}@media (max-width:720px){.doc-section,.lesson-card{border-radius:16px;padding:22px 20px}.doc-footer{flex-direction:column}.doc-top{gap:12px}.site-tabs{max-width:100%;overflow-x:auto}}
