/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.grid{display:grid}.table{display:table}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}.web-shell{max-width:1120px}.web-header{flex-wrap:wrap;gap:24px;padding-block:20px}.web-header .brand small{letter-spacing:.08em;font-size:12px}.web-header nav{flex-wrap:wrap;align-items:center;gap:16px 24px;font-size:15px;display:flex}.web-header nav a,.web-footer a{color:var(--ink);text-underline-offset:5px}.language-switcher{color:var(--ink);white-space:nowrap;align-items:center;display:inline-flex}.language-switcher-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.language-switcher select{border:1px solid var(--line);max-width:9rem;color:var(--ink);font:inherit;cursor:pointer;background:#fffdf7d1;border-radius:5px;padding:5px 25px 5px 8px}.language-switcher select:hover{border-color:var(--soft)}.language-switcher select:focus-visible{outline:3px solid var(--coral);outline-offset:3px}.skip-link{background:var(--ink);color:var(--white);z-index:10;padding:12px;position:absolute;top:-100px}.skip-link:focus{top:8px}.web-intro{isolation:isolate;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);align-items:center;gap:56px;padding:64px 0;display:grid;position:relative}.web-intro:before{content:"";z-index:-1;pointer-events:none;opacity:.14;mix-blend-mode:multiply;-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;background:url(/classical-guitar-fretboard-calibrated.svg?v=650-52-62) 100%/cover no-repeat;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 5%,#000 48% 90%,#0000),linear-gradient(#0000,#000 18% 78%,#0000);mask-image:linear-gradient(90deg,#0000 5%,#000 48% 90%,#0000),linear-gradient(#0000,#000 18% 78%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.web-kicker{color:var(--soft);letter-spacing:.12em;font-size:13px;font-weight:700}.web-intro h1{font:600 clamp(44px,5.5vw,76px)/1.02 var(--display-stack);letter-spacing:-.035em;margin:20px 0}.web-lede{color:var(--soft);max-width:580px;margin:24px 0;font-size:18px;line-height:1.65}.web-primary{background:var(--ink);color:var(--white);border-radius:6px;padding:15px 24px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.web-primary:hover{background:#245347}.web-note{color:var(--soft);margin-top:16px;font-size:14px;line-height:1.7}.practice-card{border:1px solid var(--line);border-top:4px solid var(--ink);background:var(--white);padding:28px}.practice-card h2,.web-section h2,.web-guide h2{font:600 34px/1.15 var(--display-stack);margin:16px 0}.practice-card a{border-top:1px solid var(--line);color:var(--ink);gap:9px;padding:20px 0;text-decoration:none;display:grid}.practice-card a:hover strong{text-underline-offset:4px;text-decoration:underline}.practice-card a span,.practice-card p:last-child{color:var(--soft);font-size:15px;line-height:1.6}.web-section{border-top:1px solid var(--line);padding:40px 0}.method-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:28px;display:grid}.method-grid article>span{color:var(--coral);font:600 28px var(--display-stack)}.method-grid h3{margin:12px 0;font-size:19px}.method-grid p,.web-boundaries p,.web-guide p{color:var(--soft);font-size:16px;line-height:1.75}.web-boundaries{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;display:grid}.web-boundaries a,.web-guide a:not(.web-primary){color:var(--ink);text-underline-offset:4px}.web-footer{border-top:1px solid var(--line);color:var(--soft);flex-wrap:wrap;justify-content:space-between;gap:18px;padding:24px 0;font-size:14px;display:flex}.practice-supplement{border-top:1px solid var(--line);width:min(1220px,100% - 40px);margin:0 auto}.practice-introduction{max-width:820px;padding:24px 0}.practice-introduction h2{font:600 28px/1.2 var(--display-stack);margin:10px 0}.practice-introduction p{color:var(--soft);font-size:16px;line-height:1.65}.web-guide{max-width:760px;padding:48px 0}.web-guide h1{font:600 clamp(40px,5vw,64px)/1.1 var(--display-stack);margin:18px 0 32px}.web-guide section{margin-bottom:30px}.guide-links,.guide-steps{padding-left:24px;font-size:16px;line-height:1.75}.guide-links li,.guide-steps li{margin-block:16px}.guide-links p{margin-block:6px}.guide-scroll{max-width:100%;overflow-x:auto}.guide-scroll:focus-visible{outline:3px solid var(--coral);outline-offset:3px}.guide-table{border-collapse:collapse;width:100%;margin-block:12px;font-size:16px}.guide-table caption{text-align:left;color:var(--soft);padding-bottom:12px;font-size:14px}.guide-table th,.guide-table td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:12px}.guide-table thead{background:var(--white)}.fretboard-chart td{text-align:center;border-left:1px solid var(--line)}.fretboard-chart td:nth-child(2){border-right:3px solid var(--ink)}.guide-figure{border:1px solid var(--line);background:var(--white);margin:24px 0;padding:12px}.guide-figure svg{max-width:none;color:var(--ink);display:block}.guide-figure figcaption{color:var(--soft);margin-top:8px;font-size:14px;line-height:1.6}.web-guide .guide-source{margin-top:28px;font-size:14px}.web-shell a:focus-visible{outline:3px solid var(--coral);outline-offset:5px}@media (width<=760px){.web-intro{grid-template-columns:1fr;gap:30px;padding:32px 0}.web-intro:before{opacity:.09;background-position:60%;height:420px;max-height:100%;bottom:auto}.method-grid,.web-boundaries{grid-template-columns:1fr;gap:24px}.web-header nav{gap:12px 20px}.web-guide{padding-block:30px}}:root{--ink:#173a33;--soft:#536b65;--paper:#f3eee2;--white:#fffdf7;--line:#d6cebd;--coral:#d86f52;--gold:#aa8335;--mint:#9dbfb1;--heat-needs:#bd4f3d;--heat-review:#db8241;--heat-warming:#c9a83d;--heat-fluent:#4f8871;--heat-unseen:#e8e1d2;--shadow:0 26px 70px #1f362f1f;--display-stack:var(--font-display), "Songti SC", "STSong", serif;--sans-stack:var(--font-sans), "PingFang SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}html{background:var(--paper);min-width:320px}body{color:var(--ink);background:radial-gradient(circle at 12% 4%, #d86f5217, transparent 26rem), linear-gradient(#173a3306 1px, transparent 1px), var(--paper);font-family:var(--sans-stack);background-size:auto,100% 42px,auto;margin:0}button,a{font:inherit}button{color:inherit}.app-shell{flex-direction:column;width:min(1220px,100% - 40px);min-height:100vh;margin:auto;display:flex}.site-header{isolation:isolate;border-bottom:1px solid #173a332e;justify-content:space-between;align-items:center;min-height:94px;display:flex;position:relative}.site-header:before{content:"";z-index:-1;opacity:.09;pointer-events:none;background:url(/header-music.svg) 50%/min(640px,100%) no-repeat;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 25% 75%,#0000);mask-image:linear-gradient(90deg,#0000,#000 25% 75%,#0000)}@media (width<=620px){.site-header:before{opacity:.065;background-position:50%}}.brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark{border:1px solid var(--ink);width:42px;height:42px;font-family:var(--display-stack);letter-spacing:-1px;border-radius:50%;place-items:center;font-weight:700;display:grid}.brand strong,.brand small{display:block}.brand strong{font-family:var(--display-stack);font-size:24px;line-height:1}.brand small{color:var(--soft);letter-spacing:.16em;text-transform:uppercase;margin-top:3px;font-size:10px}.natural-badge{border:1px solid var(--line);color:var(--soft);background:#fffdf799;border-radius:999px;padding:8px 12px;font-size:12px}.intro-grid{flex:1;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:center;gap:clamp(50px,9vw,120px);padding:76px 2vw 88px;display:grid}.eyebrow{color:var(--coral);letter-spacing:.2em;margin:0 0 18px;font-size:11px;font-weight:700}.intro-copy h1,.center-card h1,.summary-heading h1{font-family:var(--display-stack);letter-spacing:-.05em;margin:0;font-size:clamp(58px,6.5vw,96px);font-weight:600;line-height:.87}:lang(zh-CN) .intro-copy h1,:lang(zh-CN) .center-card h1,:lang(zh-CN) .summary-heading h1,:lang(zh-CN) .stream-hero h1{letter-spacing:-.025em;line-height:1.2}.intro-grid>*,.stream-intro>*{min-width:0}.lede{max-width:650px;color:var(--soft);margin:28px 0 34px;font-size:18px;line-height:1.65}.steps{border-block:1px solid var(--line);max-width:660px;margin-bottom:28px}.steps>div{border-bottom:1px solid var(--line);grid-template-columns:44px 1fr;gap:8px;padding:14px 0;display:grid}.steps>div:last-child{border:0}.steps span{color:var(--coral);font-family:var(--display-stack);font-size:18px}.steps p{color:var(--soft);margin:0;font-size:14px;line-height:1.55}.steps strong{color:var(--ink)}.session-settings{gap:12px;margin-bottom:24px;display:grid}.session-picker{flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:13px;font-weight:700;display:flex}.session-picker>span{min-width:88px}.session-picker>div{border:1px solid var(--line);border-radius:999px;padding:3px;display:flex}.session-picker button{cursor:pointer;background:0 0;border:0;border-radius:999px;min-width:52px;padding:6px 10px;font-size:12px}.session-picker button.selected{color:var(--white);background:var(--ink)}.session-picker .picker-note{color:var(--soft);flex-basis:100%;margin-left:106px;font-size:10px;font-weight:500;line-height:1.45}.sound-setting{justify-content:space-between;align-items:center;max-width:430px;padding-top:2px;display:flex}.sound-setting>span strong,.sound-setting>span small{display:block}.sound-setting>span strong{font-size:13px}.sound-setting>span small{color:var(--soft);margin-top:2px;font-size:10px;font-weight:400}.sound-setting button{border:1px solid var(--line);cursor:pointer;background:#fffdf7b8;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-width:78px;padding:7px 11px;font-size:11px;display:flex}.sound-setting button i{background:var(--soft);border-radius:50%;width:9px;height:9px}.sound-setting button[aria-checked=true]{color:var(--white);background:var(--ink)}.sound-setting button[aria-checked=true] i{background:var(--mint)}.intro-actions{flex-wrap:wrap;gap:14px;display:flex}.saved-setup-note,.permission-note{max-width:660px;color:var(--soft);margin:14px 0 0;font-size:11px;line-height:1.5}.permission-note{margin-top:6px}.primary-button,.secondary-button{cursor:pointer;border-radius:2px;min-height:50px;padding:0 22px;font-weight:700;transition:transform .16s,box-shadow .16s}.primary-button{border:1px solid var(--ink);color:var(--white);background:var(--ink);box-shadow:6px 6px 0 var(--mint);justify-content:space-between;align-items:center;gap:34px;display:inline-flex}.secondary-button{border:1px solid var(--ink);background:0 0}.primary-button:hover,.secondary-button:hover{transform:translateY(-2px)}.primary-button:hover{box-shadow:8px 8px 0 var(--mint)}button:focus-visible{outline-offset:3px;outline:3px solid #d86f5266}.history-note{color:var(--soft);margin:18px 0 0;font-size:12px}.position-card{box-shadow:var(--shadow);background:#fffdf7bd;border:1px solid #173a3333;padding:42px;position:relative;overflow:hidden}.position-card:after{content:"𝄞";z-index:0;color:#173a330a;font-family:serif;font-size:220px;position:absolute;bottom:-70px;right:-8px}.position-card>*{z-index:1;position:relative}.position-card h2,.needs-card h2{font-family:var(--display-stack);margin:0 0 20px;font-size:38px;font-weight:600;line-height:1}.position-card>p:not(.eyebrow){color:var(--soft);font-size:14px;line-height:1.6}.octave-note{border-top:1px solid var(--line);padding-top:14px}.neck-map{border-block:1px solid var(--ink);background:linear-gradient(#0000 19%,#173a3340 20%,#0000 21%),linear-gradient(#0000 39%,#173a3340 40%,#0000 41%),linear-gradient(#0000 59%,#173a3340 60%,#0000 61%),linear-gradient(#0000 79%,#173a3340 80%,#0000 81%);grid-template-columns:3px repeat(12,1fr);height:148px;margin:28px 0 24px;display:grid;position:relative}.neck-map .nut{background:var(--ink)}.neck-map .fret{z-index:2;color:var(--soft);text-align:center;border-right:1px solid #173a3359;font-size:9px}.neck-zone{height:29px;color:var(--white);font-family:var(--display-stack);letter-spacing:.08em;place-items:center;font-weight:700;display:grid;position:absolute;bottom:9px}.neck-zone.low{background:var(--coral);width:33.3%;left:3px}.neck-zone.middle{background:var(--gold);width:33.3%;left:calc(33.3% + 3px)}.neck-zone.high{background:var(--ink);width:calc(33.4% - 3px);right:0}.site-footer{min-height:64px;color:var(--soft);letter-spacing:.08em;text-transform:uppercase;border-top:1px solid #173a332e;justify-content:space-between;align-items:center;font-size:10px;display:flex}.center-card{width:min(690px,100%);box-shadow:var(--shadow);text-align:center;background:#fffdf7cc;border:1px solid #173a3333;margin:auto;padding:68px}.center-card h1{font-size:clamp(48px,6vw,72px)}.center-card>p:not(.eyebrow,.technical-note,.active-device-line){max-width:520px;color:var(--soft);margin:22px auto 30px;line-height:1.65}.pulse-rings{place-items:center;width:130px;height:130px;margin:0 auto 30px;display:grid;position:relative}.pulse-rings span:not(.mic-dot){border:1px solid var(--mint);border-radius:50%;animation:1.8s ease-out infinite pulse;position:absolute;inset:0}.pulse-rings span:nth-child(2){animation-delay:.6s}.pulse-rings .mic-dot{color:var(--coral);font-size:28px}@keyframes pulse{50%{opacity:.5}}.meter-wrap{align-items:center;gap:10px;display:flex}.meter-track{background:#ddd6c8;border-radius:999px;width:220px;height:8px;position:relative;overflow:hidden}.meter-fill{border-radius:inherit;background:var(--coral);transition:width 80ms linear;position:absolute;inset:0 auto 0 0}.meter-threshold{background:var(--ink);width:3px;height:100%;position:absolute;top:0;box-shadow:0 0 0 1px #fffdf7bf}.meter-label{color:var(--soft);text-transform:uppercase;font-size:10px}.calibration-card .meter-wrap,.ready-card .meter-wrap{justify-content:center;margin:26px auto}.active-device-line{color:var(--soft);margin:-12px auto 20px;font-size:11px}.active-device-line strong{color:var(--ink)}.calibration-progress{background:var(--line);height:3px;margin:28px 0 10px;overflow:hidden}.calibration-progress span{background:var(--ink);height:100%;transition:width .1s linear;display:block}.status-orb{width:68px;height:68px;color:var(--white);background:var(--ink);font-family:var(--display-stack);border-radius:50%;place-items:center;margin:0 auto 26px;font-size:32px;display:grid}.status-orb.warn{background:var(--gold)}.status-orb.error{background:var(--coral)}.technical-note{color:var(--soft);font-size:11px}.button-row{justify-content:center;gap:14px;margin-top:34px;display:flex}.ready-card{width:min(860px,100%);padding:48px 54px}.ready-card>.status-orb{margin-bottom:18px}.ready-card>p:not(.eyebrow,.technical-note,.active-device-line){margin-block:16px 20px}.device-control{border:1px solid var(--line);text-align:left;background:#fffdf7b8;grid-template-columns:minmax(140px,.75fr) minmax(220px,1.25fr) auto;align-items:end;gap:14px;margin:24px 0 8px;padding:16px;display:grid}.device-control>div span,.device-control>div strong,.device-control label>span{display:block}.device-control>div span,.device-control label>span{color:var(--soft);letter-spacing:.08em;margin-bottom:5px;font-size:9px;font-weight:700}.device-control>div strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.device-control select{border:1px solid var(--line);width:100%;height:38px;color:var(--ink);background:var(--white);border-radius:2px;padding:0 32px 0 10px;font-size:12px}.compact-button{min-height:38px;padding:0 12px;font-size:11px}.processing-status{border:1px solid var(--line);text-align:left;background:#eef5f09e;grid-template-columns:repeat(4,1fr);margin:-1px 0 8px;display:grid}.processing-status>div{border-right:1px solid var(--line);padding:11px 13px}.processing-status>div:nth-child(4){border-right:0}.processing-status span,.processing-status strong{display:block}.processing-status span{color:var(--soft);font-size:9px}.processing-status strong{margin-top:4px;font-size:11px}.processing-status strong.processing-on{color:var(--coral)}.processing-status>p{border-top:1px solid var(--line);color:var(--soft);grid-column:1/-1;margin:0;padding:9px 13px;font-size:9px;line-height:1.45}.sensitivity-control{border:1px solid var(--line);text-align:left;background:#fffdf799;justify-content:space-between;align-items:center;gap:24px;padding:14px 16px;display:flex}.sensitivity-control strong,.sensitivity-control small{display:block}.sensitivity-control strong{font-size:12px}.sensitivity-control small{color:var(--soft);margin-top:3px;font-size:10px}.sensitivity-control>div:last-child{border:1px solid var(--line);border-radius:999px;flex-shrink:0;padding:3px;display:flex}.sensitivity-control button{cursor:pointer;background:0 0;border:0;border-radius:999px;min-width:58px;padding:6px 10px;font-size:11px}.sensitivity-control button.selected{color:var(--white);background:var(--ink)}.tuner-panel{border:1px solid var(--line);text-align:left;background:#f8f4ea;margin-top:26px;padding:24px;transition:border-color .16s,background .16s}.tuner-panel.sound-detected{background:#fff8e8;border-color:#d4b363}.tuner-panel.pitch-detected{border-color:var(--mint);background:#eef5f0}.tuner-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding-bottom:18px;display:flex}.tuner-heading>div:first-child span,.tuner-heading>div:first-child strong{display:block}.tuner-heading>div:first-child span{color:var(--coral);letter-spacing:.13em;margin-bottom:5px;font-size:10px;font-weight:800}.tuner-heading>div:first-child strong{font-size:15px}.reference-control{grid-template-columns:auto 32px auto 32px;align-items:center;gap:8px;display:grid}.reference-control>span{color:var(--soft);font-size:10px;font-weight:700}.reference-control button{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:50%;width:32px;height:32px;font-size:18px;line-height:1}.reference-control button:disabled{opacity:.35;cursor:not-allowed}.reference-control strong{text-align:center;min-width:58px;font-size:13px}.tuner-readout{justify-content:center;align-items:center;min-height:120px;padding:16px 12px 8px;display:flex}.tuner-readout>div:not(.tuner-waiting){border-right:1px solid var(--line);text-align:center;min-width:150px;padding-right:34px}.tuner-readout>div:not(.tuner-waiting)>span{color:var(--soft);letter-spacing:.12em;font-size:10px;font-weight:700;display:block}.tuner-readout>div:not(.tuner-waiting)>strong{font-family:var(--display-stack);margin-top:2px;font-size:58px;line-height:1;display:block}.tuner-readout .tuner-details{text-align:left;border:0;min-width:190px;padding:0 0 0 34px}.tuner-details span,.tuner-details strong,.tuner-details small{display:block}.tuner-details span{color:var(--soft);font-size:11px}.tuner-details strong{margin:6px 0 3px;font-size:18px}.tuner-details small{color:var(--coral);font-size:11px;font-weight:700}.tuner-waiting{align-items:center;gap:20px;display:flex}.tuner-waiting strong,.tuner-waiting small{display:block}.tuner-waiting strong{font-size:18px}.tuner-waiting small{color:var(--soft);margin-top:5px;font-size:11px}.tuner-scale{border-top:1px solid var(--line);height:30px;color:var(--soft);justify-content:space-between;align-items:flex-end;margin:0 8px;font-size:9px;display:flex;position:relative}.tuner-scale i{background:var(--line);align-self:flex-start;width:1px;height:9px;margin-top:-1px}.tuner-scale i:nth-of-type(3){background:var(--ink);height:15px}.tuner-scale b{background:var(--coral);border-radius:50%;width:12px;height:12px;transition:left 80ms linear;position:absolute;top:-7px;transform:translate(-50%);box-shadow:0 0 0 4px #d86f5229}.tuner-panel>p{color:var(--soft);text-align:center;margin:10px 0 0;font-size:10px;line-height:1.5}.diagnostic-panel{text-align:left;background:#fffdf794;border:1px dashed #173a3357;margin-top:18px;padding:16px}.diagnostic-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.diagnostic-heading>div:first-child span,.diagnostic-heading>div:first-child strong{display:block}.diagnostic-heading>div:first-child span{color:var(--coral);letter-spacing:.12em;font-size:9px;font-weight:800}.diagnostic-heading>div:first-child strong{margin-top:3px;font-size:12px}.diagnostic-heading>div:last-child{gap:6px;display:flex}.diagnostic-heading button{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:2px;min-height:30px;padding:0 10px;font-size:10px}.diagnostic-heading button:last-child{color:var(--white);background:var(--ink)}.diagnostic-heading button.capture-armed{color:var(--white);background:var(--coral);border-color:var(--coral);animation:.7s ease-in-out infinite alternate acknowledge}.diagnostic-heading button:disabled{opacity:.38;cursor:not-allowed}.diagnostic-panel>p{color:var(--soft);margin:9px 0 0;font-size:9px;line-height:1.45}.diagnostic-panel>p.waveform-captured{border-left:3px solid var(--mint);color:var(--ink);background:#eef5f0;padding:8px 10px;font-weight:700}.diagnostic-latest{border-top:1px solid var(--line);grid-template-columns:1.35fr .75fr 1fr 1.4fr;align-items:center;gap:10px;margin-top:12px;padding-top:12px;display:grid}.diagnostic-latest span,.diagnostic-latest strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.diagnostic-latest span{color:var(--soft)}.practice-view>.diagnostic-panel{margin-top:20px}.practice-view{flex:1;padding:30px 0 50px}.practice-toolbar{color:var(--soft);text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:28px;font-size:12px;font-weight:700;display:flex}.practice-toolbar>div{align-items:center;gap:18px;display:flex}.session-progress{background:var(--line);width:190px;height:4px;overflow:hidden}.session-progress span{background:var(--coral);height:100%;display:block}.text-button{border:0;border-bottom:1px solid var(--ink);cursor:pointer;text-transform:uppercase;background:0 0;padding:8px 0;font-size:11px}.practice-toolbar .practice-toolbar-actions{gap:14px}.session-action{border:1px solid var(--ink);text-transform:none;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;font-size:14px;font-weight:700;line-height:1.4;transition:background-color .15s,box-shadow .15s;display:inline-flex}.session-action-save{color:var(--white);background:var(--ink)}.session-action-save:hover{box-shadow:0 0 0 3px var(--mint)}.session-action-discard{color:var(--ink);background:var(--white)}.session-action-discard:hover{color:#9a3f2b;background:#f8ece6;border-color:#9a3f2b}.session-action-discard.confirming{color:var(--white);background:#9a3f2b;border-color:#9a3f2b}.session-action:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.session-action:active{box-shadow:inset 0 0 0 2px}.discard-button{color:var(--soft);border-bottom-color:var(--soft)}.discard-button.confirming{border:1px solid var(--coral);color:var(--white);background:var(--coral);border-radius:2px;padding:8px 10px}.prompt-layout{background:var(--white);min-height:570px;box-shadow:var(--shadow);border:1px solid #173a3333;grid-template-columns:minmax(250px,.34fr) minmax(0,1fr);display:grid}.position-cue{min-height:100%;color:var(--white);background:var(--coral);padding:52px 42px;position:relative;overflow:hidden}.position-cue.middle{background:var(--gold)}.position-cue.high{background:var(--ink)}.position-index{color:#ffffff1a;font-family:var(--display-stack);font-size:170px;font-weight:700;line-height:1;position:absolute;top:-30px;right:-4px}.position-cue p{letter-spacing:.25em;margin:100px 0 12px;font-size:11px;font-weight:700;position:relative}.position-cue h2{font-family:var(--display-stack);margin:0;font-size:clamp(42px,4vw,62px);font-weight:600;line-height:.95;position:relative}.position-cue>strong{margin-top:18px;font-size:14px;display:block;position:relative}.position-lines{height:72px;margin:54px 0 30px;position:relative}.position-lines span{background:#ffffff61;height:1px;margin-bottom:13px;display:block}.position-lines i{background:var(--white);border-radius:50%;width:30px;height:50px;position:absolute;top:-10px;left:58%}.position-cue small{color:#ffffffbf;max-width:230px;font-size:12px;line-height:1.55;display:block}.notation-card{flex-direction:column;min-width:0;padding:38px 44px 34px;transition:box-shadow .18s;display:flex}.notation-card.correct{box-shadow:inset 0 5px 0 var(--mint)}.notation-card.wrong,.notation-card.timeout{box-shadow:inset 0 5px 0 var(--coral)}.notation-topline{color:var(--soft);letter-spacing:.13em;text-transform:uppercase;justify-content:space-between;align-items:flex-start;gap:18px;font-size:10px;font-weight:700;display:flex}.countdown{min-width:116px;color:var(--white);background:var(--ink);letter-spacing:0;text-transform:none;border-radius:3px;grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:end;column-gap:5px;padding:10px 13px;font-style:normal;display:grid}.countdown>span{opacity:.72;letter-spacing:.12em;grid-column:1/-1;font-size:9px}.countdown strong{font-family:var(--display-stack);font-size:30px;line-height:.85}.countdown small{padding-bottom:2px;font-size:10px}.countdown.urgent{background:var(--coral);animation:1s ease-in-out infinite deadline}.countdown.unlimited{background:var(--heat-fluent);min-width:150px}.countdown.unlimited strong{font-size:25px}@keyframes deadline{50%{transform:scale(1.035)}}.prompt-time-track{background:var(--line);border-radius:999px;height:6px;margin-top:12px;overflow:hidden}.prompt-time-track span{border-radius:inherit;background:var(--mint);height:100%;transition:width .2s linear,background .2s;display:block}.prompt-time-track.urgent span{background:var(--coral)}.prompt-time-track.unlimited span{background:repeating-linear-gradient(120deg, var(--heat-fluent) 0 16px, var(--mint) 16px 30px)}.staff{flex:1;place-items:center;width:100%;min-height:330px;display:grid;overflow:hidden}.staff svg{width:min(100%,620px);height:auto;overflow:visible}.listen-strip{border:1px solid var(--line);border-left:5px solid var(--mint);background:#f8f4ea;grid-template-columns:16px minmax(140px,1fr) auto;align-items:center;gap:18px;min-height:116px;padding:22px 24px;transition:border-color .16s,background .16s;display:grid}.listen-strip.sound-detected{border-color:#d4b363;border-left-color:var(--gold);background:#fff8e8}.listen-strip.pitch-detected,.listen-strip.correct{border-color:var(--mint);border-left-color:var(--ink);background:#eef5f0}.listen-strip.release{border-color:#d4b363;border-left-color:var(--gold);background:#fff8e8}.listen-strip.wrong,.listen-strip.timeout{border-color:#dfb0a3;border-left-color:var(--coral);background:#fff3ee}.listen-dot{background:var(--mint);border-radius:50%;width:12px;height:12px;animation:1.3s ease-in-out infinite listen;box-shadow:0 0 0 6px #9dbfb140}.listen-dot.sound-detected{background:var(--gold);animation:.55s ease-in-out infinite alternate acknowledge;box-shadow:0 0 0 8px #aa833533}.listen-dot.pitch-detected{background:var(--ink);animation:none;box-shadow:0 0 0 8px #173a3324}.listen-dot.correct{background:var(--ink);animation:none}.listen-dot.release{background:var(--gold);animation:.7s ease-in-out infinite alternate acknowledge;box-shadow:0 0 0 8px #aa833533}.listen-dot.wrong,.listen-dot.timeout{background:var(--coral);animation:none}@keyframes listen{50%{box-shadow:0 0 0 10px #9dbfb114}}@keyframes acknowledge{to{transform:scale(1.3)}}.listen-badge{color:var(--coral);letter-spacing:.12em;margin-bottom:6px;font-size:10px;font-weight:800;display:inline-block}.listen-strip strong,.listen-strip small{display:block}.listen-strip strong{font-size:19px;line-height:1.2}.listen-strip small{color:var(--soft);margin-top:6px;font-size:11px}.practice-footnote{color:var(--soft);text-align:center;margin:20px 0 0;font-size:11px}.summary-view{flex:1;width:min(1160px,100%);margin:auto;padding:64px 0 80px}.summary-heading{max-width:720px;margin-bottom:48px}.summary-heading h1{font-size:clamp(52px,6vw,78px)}.summary-heading>p:last-child{color:var(--soft)}.stats-grid{border:1px solid var(--line);background:var(--white);grid-template-columns:repeat(4,1fr);display:grid}.stats-grid article{border-right:1px solid var(--line);min-height:180px;padding:26px}.stats-grid article:last-child{border:0}.stats-grid span,.stats-grid small{color:var(--soft);font-size:11px;display:block}.stats-grid strong{font-family:var(--display-stack);margin:28px 0 14px;font-size:46px;display:block}.fretboard-card,.note-review-section{border:1px solid var(--line);background:#fffdf7b8;margin-top:24px;padding:34px}.review-section-heading{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:26px;display:flex}.review-section-heading h2{font-family:var(--display-stack);margin:4px 0 0;font-size:clamp(30px,3.5vw,46px);font-weight:600;line-height:1}.review-section-heading>p{max-width:310px;color:var(--soft);text-align:right;margin:0;font-size:11px;line-height:1.55}.performance-legend{flex-wrap:wrap;justify-content:flex-end;gap:7px 14px;max-width:560px;display:flex}.performance-legend span{color:var(--soft);white-space:nowrap;align-items:center;gap:6px;font-size:10px;display:inline-flex}.performance-legend i{background:var(--heat-unseen);border-radius:50%;width:10px;height:10px}.performance-legend i.needs-work{background:var(--heat-needs)}.performance-legend i.review{background:var(--heat-review)}.performance-legend i.warming{background:var(--heat-warming)}.performance-legend i.fluent{background:var(--heat-fluent)}.fretboard-scroll{scrollbar-color:var(--line) transparent;padding-bottom:6px;overflow-x:auto}.fretboard-grid{background:#e9dec9;border:1px solid #b9ac94;border-radius:4px;min-width:900px;overflow:hidden}.fretboard-row{grid-template-columns:76px repeat(13,minmax(52px,1fr));display:grid}.fretboard-header{min-height:34px;color:var(--soft);background:#f7f1e6;border-bottom:1px solid #b9ac94}.fretboard-header span{border-right:1px solid #53463329;place-items:center;font-size:9px;font-weight:800;display:grid}.fretboard-header span:last-child{border-right:0}.guitar-string-row{min-height:58px}.string-label{z-index:2;background:#f7f1e6;border-bottom:1px solid #5346331f;border-right:5px solid #6f604b;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.string-label strong{font-size:11px}.string-label small{color:var(--soft);margin-top:2px;font-size:9px}.fret-cell{border-bottom:1px solid #5346331f;border-right:2px solid #53463361;place-items:center;min-width:0;display:grid;position:relative}.fret-cell.zone-low{background:#ffffff14}.fret-cell.zone-middle{background:#aa83350b}.fret-cell.zone-high{background:#173a3309}.fret-cell:after{z-index:0;content:"";background:#7c7468;height:1px;position:absolute;top:50%;left:0;right:0;box-shadow:0 1px #ffffff57}.string-6 .fret-cell:after{height:4px}.string-5 .fret-cell:after{height:3px}.string-4 .fret-cell:after,.string-3 .fret-cell:after{height:2px}.open-cell{background:#f2eadb!important}.fret-cell.position-end{border-right-width:5px;border-right-color:#5346339e}.fret-cell:last-child{border-right:0}.guitar-string-row:last-child .fret-cell,.guitar-string-row:last-child .string-label{border-bottom:0}.fret-note{z-index:1;width:29px;height:29px;color:var(--white);background:var(--heat-unseen);font-family:var(--display-stack);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid;position:relative;box-shadow:0 2px 6px #372c1c2e}.fret-note.needs-work{background:var(--heat-needs)}.fret-note.review{background:var(--heat-review)}.fret-note.warming{background:var(--heat-warming)}.fret-note.fluent{background:var(--heat-fluent)}.fret-note.unseen{color:#7b7163;background:var(--heat-unseen);width:24px;height:24px;box-shadow:none;border:1px solid #c8bdab;font-size:11px}.fretboard-note{color:var(--soft);margin:13px 0 0;font-size:10px;line-height:1.55}.note-review-section{margin-top:24px}.note-review-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;display:grid}.note-review-card{border:1px solid var(--line);border-top:6px solid var(--heat-fluent);background:var(--white);padding:17px 18px 19px;position:relative;overflow:hidden}.note-review-card.needs-work{border-top-color:var(--heat-needs)}.note-review-card.review{border-top-color:var(--heat-review)}.note-review-card.warming{border-top-color:var(--heat-warming)}.note-review-card.fluent{border-top-color:var(--heat-fluent)}.note-review-status{justify-content:space-between;align-items:center;gap:10px;display:flex}.note-review-status span{letter-spacing:.08em;font-size:10px;font-weight:800}.note-review-status small{color:var(--soft);font-size:9px}.summary-note-staff{flex:none;height:150px;min-height:150px;margin:4px 0 0}.summary-note-staff svg{width:min(100%,230px)}.note-review-name{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.note-review-name>div{padding:11px 0}.note-review-name>div+div{border-left:1px solid var(--line);padding-left:16px}.note-review-name small,.note-review-name strong{display:block}.note-review-name small{color:var(--soft);font-size:9px}.note-review-name strong{font-family:var(--display-stack);margin-top:2px;font-size:23px}.note-review-card>p{margin:13px 0 4px;font-size:12px;font-weight:700}.note-review-detail{color:var(--soft);font-size:9px}.summary-actions{justify-content:flex-end}.stream-link-button{color:var(--ink);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.stream-shell .site-header{margin-bottom:0}.stream-loading{margin-top:auto;margin-bottom:auto}.stream-loading h1{font-size:clamp(44px,5vw,68px)}.stream-intro{flex:1;grid-template-columns:minmax(0,1fr) minmax(290px,.45fr);gap:28px;padding:64px 0 78px;display:grid}.stream-hero{box-shadow:var(--shadow);background:#fffdf7c2;border:1px solid #173a3333;padding:44px}.stream-hero h1{max-width:760px;font-family:var(--display-stack);letter-spacing:-.05em;margin:0;font-size:clamp(56px,6.5vw,88px);font-weight:600;line-height:.9}.stream-principles{border-block:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:30px 0;display:grid}.stream-principles span{min-height:105px;color:var(--soft);border-right:1px solid var(--line);padding:20px 18px;font-size:11px;line-height:1.55}.stream-principles span:first-child{padding-left:0}.stream-principles span:last-child{border-right:0;padding-right:0}.stream-principles strong{color:var(--ink);margin-bottom:8px;font-size:13px;display:block}.stream-algorithm-picker{border:0;margin:4px 0 28px;padding:0}.stream-algorithm-picker legend{justify-content:space-between;align-items:baseline;width:100%;margin-bottom:12px;display:flex}.stream-algorithm-picker legend>strong{font-size:12px}.stream-algorithm-picker>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.stream-algorithm-picker label{border:1px solid var(--line);cursor:pointer;background:#ffffff85;min-height:142px;padding:18px;transition:border-color .15s,background .15s;display:block;position:relative}.stream-algorithm-picker label:hover{border-color:var(--gold)}.stream-algorithm-picker label.selected{border-color:var(--ink);box-shadow:inset 0 -4px 0 var(--gold);background:#fffaf0}.stream-algorithm-picker input{width:16px;height:16px;accent-color:var(--ink);position:absolute;top:17px;right:17px}.stream-algorithm-picker label>span{padding-right:25px;display:block}.stream-algorithm-picker label strong,.stream-algorithm-picker label em,.stream-algorithm-picker label small{display:block}.stream-algorithm-picker label strong{font-family:var(--display-stack);font-size:22px;line-height:1}.stream-algorithm-picker label strong small{color:var(--coral);font-family:var(--sans-stack);letter-spacing:.08em;text-transform:uppercase;font-size:9px;display:inline}.stream-algorithm-picker label em{color:var(--soft);margin-top:10px;font-size:10px;font-style:normal;line-height:1.5}.stream-algorithm-picker label>span>small{margin-top:9px;font-size:8px;font-weight:700;line-height:1.45}.stream-algorithm-picker>p{color:var(--soft);margin:9px 0 0;font-size:8px}.stream-constraint-card{color:var(--white);background:var(--ink);align-self:stretch;padding:38px}.stream-constraint-card h2{font-family:var(--display-stack);margin:0 0 24px;font-size:38px;font-weight:600;line-height:1.05}.stream-constraint-card p:last-child{color:#ffffffb8;font-size:13px;line-height:1.65}.stream-intro>.stream-map-card{grid-column:1/-1}.stream-map-card{border:1px solid var(--line);background:#fffdf7c2;margin-top:26px;padding:32px}.stream-map-heading{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:24px;display:flex}.stream-map-heading h2{font-family:var(--display-stack);margin:4px 0 0;font-size:clamp(30px,3.5vw,44px);font-weight:600;line-height:1}.stream-unavailable{background:repeating-linear-gradient(135deg,#53463306 0 5px,#53463314 5px 6px)}.stream-unavailable:after{opacity:.45}.stream-fret-button{appearance:none;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border-top:0;border-left:0;border-radius:0;padding:0}.stream-fret-button:hover{background:#ffffff57}.stream-fret-button:focus-visible{z-index:4;outline:3px solid var(--ink);outline-offset:-3px}.stream-current-cell{z-index:2;outline:4px solid var(--coral);outline-offset:-4px;background:#d86f522e!important}.stream-selected-cell .fret-note{box-shadow:0 0 0 4px var(--white), 0 0 0 7px var(--ink)}.stream-judgment-layout{grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);gap:18px;margin-top:22px;display:grid}.stream-judgment-card,.stream-priority-card{border:1px solid var(--line);background:#ffffffa3}.stream-judgment-card{padding:24px}.stream-judgment-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:18px;padding-bottom:17px;display:flex}.stream-judgment-title h3,.stream-priority-card h3{font-family:var(--display-stack);margin:4px 0 0;font-size:27px;font-weight:600;line-height:1}.stream-judgment-title>strong{color:var(--coral);font-family:var(--display-stack);font-size:42px;line-height:.85}.stream-core-metrics{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.stream-core-metrics>div{border-right:1px solid var(--line);min-width:0;padding:18px 14px}.stream-core-metrics>div:first-child{padding-left:0}.stream-core-metrics>div:last-child{border-right:0;padding-right:0}.stream-core-metrics span,.stream-core-metrics strong,.stream-core-metrics small{display:block}.stream-core-metrics span{color:var(--soft);letter-spacing:.04em;font-size:9px;font-weight:800}.stream-core-metrics strong{min-height:30px;margin-top:7px;font-size:20px;line-height:1.15}.stream-core-metrics small{color:var(--soft);margin-top:5px;font-size:9px;line-height:1.35}.stream-score-parts{gap:9px;padding:18px 0;display:grid}.stream-score-parts>div{grid-template-columns:132px minmax(80px,1fr) 34px;align-items:center;gap:10px;display:grid}.stream-score-parts span{font-size:10px;font-weight:700}.stream-score-parts span small{color:var(--soft);font-weight:500}.stream-score-parts i{background:#e7dfd1;border-radius:999px;height:7px;overflow:hidden}.stream-score-parts i b{border-radius:inherit;background:linear-gradient(90deg,var(--mint),var(--gold),var(--coral));height:100%;display:block}.stream-score-parts>div>strong{font-variant-numeric:tabular-nums;text-align:right;font-size:10px}.stream-need-result{color:var(--white);background:var(--ink);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:14px 16px;display:grid}.stream-need-result span{font-size:11px;font-weight:800}.stream-need-result span small{color:#fff9;margin-top:3px;font-size:8px;font-weight:500;display:block}.stream-need-result>strong{color:#f2c17b;font-family:var(--display-stack);font-size:28px}.stream-need-result em{border-left:1px solid #fff3;padding-left:16px;font-size:9px;font-style:normal}.stream-priority-card{padding:24px 20px}.stream-priority-card ol{margin:17px 0 0;padding:0;list-style-position:inside}.stream-priority-card li{border-top:1px solid var(--line);color:var(--soft);font-size:10px}.stream-priority-card li:last-child{border-bottom:1px solid var(--line)}.stream-priority-card li::marker{font-weight:800}.stream-priority-card li button{appearance:none;width:calc(100% - 18px);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:12px 4px}.stream-priority-card li button:hover,.stream-priority-card li button[aria-pressed=true]{color:var(--coral)}.stream-priority-card li button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.stream-priority-card li button,.stream-priority-card li button>span{justify-content:space-between;align-items:center;gap:8px;display:flex}.stream-priority-card li button>span{justify-content:flex-start}.stream-priority-card li button strong,.stream-priority-card li button small{display:block}.stream-priority-card li button small{color:var(--soft);font-size:8px}.stream-priority-card li button em{color:inherit;text-align:right;font-size:9px;font-style:normal;font-weight:700}.stream-priority-card li button em small{display:inline}.stream-priority-empty,.stream-priority-note{color:var(--soft);font-size:9px;line-height:1.55}.stream-priority-empty{margin:18px 0 0}.stream-priority-note{margin:14px 0 0}.stream-practice>.stream-map-card{margin-top:24px}.stream-mode-badge{border:1px solid var(--line);text-transform:none;background:#fffdf7b8;border-radius:999px;align-items:baseline;gap:10px;padding:8px 12px;display:flex}.stream-mode-badge strong{color:var(--ink);font-size:11px}.stream-mode-badge small{color:var(--soft);font-size:9px;font-weight:500}.stream-algorithm-select{border:1px solid var(--line);background:#fffdf7b8;grid-template-columns:auto minmax(120px,auto);align-items:center;column-gap:8px;padding:7px 10px;display:grid}.stream-algorithm-select>span{color:var(--soft);grid-row:1/3;font-size:8px;font-weight:800}.stream-algorithm-select select{max-width:170px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:800}.stream-algorithm-select small{color:var(--soft);font-size:7px;line-height:1}.stream-summary-algorithms{border:1px solid var(--line);padding:7px 10px;font-weight:800;display:inline-block;color:var(--ink)!important;margin-top:12px!important;font-size:9px!important}.stream-mode-focus{border-color:var(--coral);background:#fff3ee}.stream-mode-verify{border-color:var(--gold);background:#fff8e8}.stream-device{max-width:230px;color:var(--soft);text-overflow:ellipsis;white-space:nowrap;text-transform:none;font-size:9px;overflow:hidden}.stream-target-cue{min-height:100%;color:var(--white);background:var(--coral);padding:52px 42px;position:relative;overflow:hidden}.stream-target-cue.middle{background:var(--gold)}.stream-target-cue.high{background:var(--ink)}.stream-target-cue p{letter-spacing:.22em;margin:108px 0 12px;font-size:11px;font-weight:700;position:relative}.stream-target-cue h2{font-family:var(--display-stack);margin:0;font-size:clamp(48px,4vw,66px);font-weight:600;line-height:.9;position:relative}.stream-target-cue>strong{margin-top:18px;font-size:22px;display:block;position:relative}.stream-string-number{color:#ffffff1a;font-family:var(--display-stack);font-size:240px;font-weight:700;line-height:1;position:absolute;top:-55px;right:12px}.stream-target-rule{border-block:1px solid #ffffff80;width:70%;height:5px;margin:58px 0 28px;position:relative}.stream-target-cue small{color:#ffffffbf;max-width:240px;font-size:11px;line-height:1.65;display:block;position:relative}.stream-meter{background:var(--line);border-radius:999px;width:116px;height:8px;position:relative;overflow:hidden}.stream-meter>span{border-radius:inherit;background:var(--mint);height:100%;transition:width .1s linear;display:block}.stream-meter>i{background:var(--coral);width:2px;position:absolute;top:-2px;bottom:-2px}@media (width<=900px){.intro-grid{grid-template-columns:1fr;padding-top:54px}.position-card{max-width:620px}.prompt-layout{grid-template-columns:1fr}.position-cue{min-height:220px;padding:34px}.position-cue p{margin-top:20px}.position-lines,.position-cue small{display:none}.notation-card{min-height:470px}.stats-grid{grid-template-columns:repeat(2,1fr)}.stats-grid article:nth-child(2){border-right:0}.review-section-heading{flex-direction:column;align-items:flex-start}.performance-legend{justify-content:flex-start}.review-section-heading>p{text-align:left}.stream-intro{grid-template-columns:1fr}.stream-intro>.stream-map-card{grid-column:auto}.stream-constraint-card{min-height:260px}.stream-map-heading{flex-direction:column;align-items:flex-start}.stream-judgment-layout,.stream-principles,.stream-algorithm-picker>div{grid-template-columns:1fr}.stream-principles span{border-right:0;border-bottom:1px solid var(--line);min-height:0;padding:16px 0}.stream-principles span:last-child{border-bottom:0}.stream-target-cue{min-height:230px;padding:34px}.stream-target-cue p{margin-top:24px}.stream-target-rule{display:none}}@media (width<=620px){.app-shell{width:calc(100% - 24px)}.site-header{min-height:78px}.natural-badge{display:none}.intro-grid{padding:46px 0 60px}.intro-copy h1{font-size:58px}.position-card,.center-card{padding:34px 24px}.session-picker{flex-direction:column;align-items:flex-start;gap:7px}.session-picker>span{min-width:0}.session-picker>div{width:100%}.session-picker button{flex:1;min-width:0}.session-picker .picker-note{flex-basis:auto;max-width:100%;margin-left:0}.intro-actions{flex-direction:column}.intro-actions .secondary-button{width:100%}.ready-card{padding:30px 18px}.ready-card .meter-wrap{flex-direction:column;align-items:flex-start}.ready-card .meter-track{width:100%}.device-control{grid-template-columns:1fr;align-items:stretch}.device-control>div strong{white-space:normal}.processing-status{grid-template-columns:repeat(2,1fr)}.processing-status>div{border-bottom:1px solid var(--line)}.processing-status>div:nth-child(2){border-right:0}.sensitivity-control{flex-direction:column;align-items:stretch;gap:12px}.sensitivity-control>div:last-child{width:100%}.sensitivity-control button{flex:1;min-width:0}.tuner-panel{padding:18px 14px}.diagnostic-heading{flex-direction:column;align-items:stretch}.diagnostic-heading>div:last-child{grid-template-columns:repeat(2,1fr);display:grid}.diagnostic-latest{grid-template-columns:1fr 1fr}.tuner-heading{flex-direction:column;align-items:flex-start;gap:14px}.reference-control{grid-template-columns:1fr 32px auto 32px;width:100%}.tuner-readout>div:not(.tuner-waiting){min-width:110px;padding-right:18px}.tuner-readout>div:not(.tuner-waiting)>strong{font-size:48px}.tuner-readout .tuner-details{min-width:145px;padding-left:18px}.button-row{flex-direction:column}.primary-button{width:100%}.session-progress{width:90px}.practice-toolbar{align-items:flex-start;gap:12px}.practice-toolbar .practice-toolbar-actions{flex-direction:column-reverse;align-items:flex-end;gap:10px}.position-cue{min-height:190px;padding:26px}.position-cue p{margin-top:12px}.position-index{font-size:130px}.notation-card{min-height:420px;padding:26px 18px 20px}.staff{min-height:250px}.listen-strip{grid-template-columns:12px 1fr}.listen-strip .meter-wrap{display:none}.stats-grid{grid-template-columns:1fr}.stats-grid article{border-right:0;border-bottom:1px solid var(--line);min-height:135px}.summary-view{padding-top:44px}.summary-heading{margin-bottom:34px}.summary-heading h1{font-size:48px}.fretboard-card,.note-review-section{padding:24px 16px}.note-review-grid{grid-template-columns:1fr}.stream-intro{padding-top:40px}.stream-hero,.stream-constraint-card,.stream-map-card{padding:26px 20px}.stream-hero h1{font-size:54px}.stream-core-metrics{grid-template-columns:repeat(2,1fr)}.stream-core-metrics>div{border-bottom:1px solid var(--line)}.stream-core-metrics>div:nth-child(2){border-right:0;padding-right:0}.stream-core-metrics>div:nth-child(3){border-bottom:0;padding-left:0}.stream-core-metrics>div:nth-child(4){border-bottom:0}.stream-score-parts>div{grid-template-columns:112px minmax(60px,1fr) 32px}.stream-need-result{grid-template-columns:1fr auto}.stream-need-result em{border-top:1px solid #fff3;border-left:0;grid-column:1/-1;padding:8px 0 0}.stream-mode-badge{flex-direction:column;align-items:flex-start;gap:2px}.stream-device{display:none}.stream-algorithm-select{width:100%}.stream-algorithm-select select{width:100%;max-width:none}.stream-target-cue{min-height:195px;padding:26px}.stream-target-cue p{margin-top:14px}.stream-target-cue small{display:none}.stream-string-number{font-size:180px}.stream-meter{display:none}.site-footer{text-align:center;flex-direction:column;justify-content:center;gap:4px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.training-navigation{flex-wrap:wrap;align-items:center;gap:16px;font-size:14px;display:flex}.training-navigation a{text-underline-offset:4px}.app-shell>.site-header{flex-wrap:wrap;gap:16px}[lang=en] .session-picker>span{min-width:0}[lang=en] .session-picker>div{flex-wrap:wrap}[lang=en] .stream-principles span{overflow-wrap:break-word;min-width:0}.microphone-guide,.microphone-pending{border:1px solid var(--line);margin:12px 0;padding:16px 20px;font-size:16px;line-height:1.6}.microphone-guide summary{cursor:pointer;font-weight:600}.microphone-guide li+li{margin-top:8px}.microphone-pending progress{width:min(100%,320px);display:block}.microphone-cancel-button{border:1px solid var(--line);width:fit-content;max-width:100%;min-height:36px;color:var(--soft);cursor:pointer;background:0 0;border-radius:6px;margin:16px 0 0;padding:6px 12px;font-size:13px;line-height:1.4;display:block}.microphone-cancel-button:hover{color:var(--ink);border-color:var(--ink)}.calibration-card .microphone-cancel-button{margin:20px auto 0}.scope-picker{border:1px solid var(--line);margin:12px 0;padding:16px 20px;line-height:1.6}.scope-picker label{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.scope-picker select{font:inherit;max-width:100%;padding:10px}.scope-picker nav{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.scope-picker summary{cursor:pointer;font-weight:600}.scope-current{padding:10px 0;font-weight:600}.intro-grid{align-items:start;gap:40px;padding:28px 0 40px}.intro-copy h1,.stream-hero h1{font-size:clamp(36px,3.5vw,52px);line-height:1.1}.intro-copy .lede{margin:16px 0 22px;font-size:16px}.intro-copy .steps{margin-top:28px}.stream-intro{align-items:start;padding:20px 0 40px}.stream-hero{padding:28px}.stream-hero>.intro-actions{margin-top:24px}@media (width<=620px){.practice-supplement{width:calc(100% - 24px)}.intro-grid{gap:24px}.stream-hero{padding:24px 20px}}.practice-review{border:1px solid var(--line);margin:24px 0;padding:24px;font-size:16px;line-height:1.7}.practice-review h2,.practice-review h3{line-height:1.3}.practice-review h3{margin-top:28px}.site-info-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:20px;max-width:1240px;margin:24px auto 0;padding:24px 28px;font-size:14px;display:flex}.site-info-footer nav{flex-wrap:wrap;gap:16px;display:flex}@media (width<=620px){.site-header{padding-block:12px}.language-switcher select,.device-control select,.stream-algorithm-select select{min-height:44px;font-size:16px}.session-picker>div{border-radius:16px;flex-wrap:wrap}.session-picker button{min-height:44px;font-size:14px}[lang=en] .session-picker button{flex-basis:72px}.sound-setting{gap:12px}.sound-setting button{flex-shrink:0;min-height:44px;font-size:14px}.session-picker,.sound-setting>span strong{font-size:14px}.session-picker .picker-note,.sound-setting>span small{font-size:12px}.text-button,.compact-button,.sensitivity-control button,.microphone-cancel-button{min-height:44px;font-size:14px}.practice-toolbar,.practice-toolbar>div,.notation-topline{flex-wrap:wrap}.stream-judgment-layout{grid-template-columns:minmax(0,1fr)}.stream-judgment-card,.stream-priority-card{min-width:0;padding:20px 14px}.stream-score-parts>div{grid-template-columns:minmax(0,1fr) minmax(30px,.6fr) 32px}.stream-algorithm-picker label em,.stream-algorithm-picker label>span>small,.stream-algorithm-picker>p{font-size:12px}.stream-algorithm-picker label strong{line-height:1.2}.tuner-readout{flex-wrap:wrap;gap:16px}.tuner-readout>div:not(.tuner-waiting),.tuner-readout .tuner-details{border:0;min-width:0;padding:0}}.analytics-controls{flex-basis:100%;max-width:52rem;font-size:.875rem}.analytics-controls p{margin:.5rem 0}.analytics-controls>div{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.analytics-controls button{cursor:pointer;min-height:44px;color:inherit;background:0 0;border:1px solid;border-radius:.5rem;padding:.5rem 1rem}.diagnostic-panel>summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:600;display:list-item}.analytics-controls{width:100%}.analytics-controls>span{margin-inline-start:.75rem}.analytics-controls>.analytics-banner{z-index:100;inset-inline:16px;bottom:max(16px, env(safe-area-inset-bottom));box-sizing:border-box;color:#193b32;background:#f8f5ed;border:1px solid #b9c5bc;border-radius:12px;flex-wrap:nowrap;align-items:center;gap:24px;width:auto;max-width:960px;max-height:50dvh;margin-inline:auto;padding:20px 24px;display:flex;position:fixed;overflow-y:auto;box-shadow:0 6px 30px #193b3226}.analytics-banner-copy{flex:1;min-width:0}.analytics-banner h2{font-family:var(--font-sans), sans-serif;margin:0 0 6px;font-size:18px;line-height:1.4}.analytics-banner p{margin:0;font-size:14px;line-height:1.6}.analytics-banner a{text-underline-offset:3px;text-decoration:underline}.analytics-banner-actions{flex-shrink:0;gap:10px;display:flex}.analytics-banner-actions button{background:#fffdf7;font-weight:600}.analytics-controls button:focus-visible,.analytics-banner a:focus-visible{outline-offset:3px;outline:3px solid #a15f28}@media (width<=640px){.analytics-controls>.analytics-banner{inset-inline:10px;bottom:max(10px, env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:12px;padding:16px}.analytics-banner-actions{grid-template-columns:1fr 1fr;display:grid}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
