/*! 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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@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}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.hidden{display:none}.table{display:table}.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}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#142a32;--muted:#60747b;--paper:#f7f4ec;--white:#fffefb;--teal:#116b68;--teal-dark:#0a4d4b;--teal-pale:#dcecea;--coral:#d96a4a;--line:#d8dfdc}.multitrack-menu-action{color:#fff;background:linear-gradient(125deg,#0b6d67,#15948a);border:3px solid #0c625d;box-shadow:0 15px 34px #0b6d673d}.multitrack-menu-action:hover{background:linear-gradient(125deg,#085c57,#0d7b73);border-color:#074c49}.multitrack-backdrop{z-index:1560;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#081b1fd1;place-items:center;padding:14px;display:grid;position:fixed;inset:0}.multitrack-dialog{background:#f3f7f5;border:1px solid #ffffff6b;border-radius:24px;grid-template-rows:auto auto minmax(0,1fr);width:min(1540px,100%);height:min(940px,100dvh - 28px);display:grid;overflow:hidden;box-shadow:0 30px 90px #0000006b}.multitrack-header{color:#fff;background:radial-gradient(circle at 80% 20%,#ffffff29,#0000 28%),linear-gradient(125deg,#084f4c,#0c7770);justify-content:space-between;align-items:center;gap:20px;min-height:110px;padding:22px 28px;display:flex}.multitrack-header p,.multitrack-header h2,.multitrack-header span{margin:0}.multitrack-header p{letter-spacing:.13em;font-size:11px;font-weight:950}.multitrack-header h2{font-family:var(--font-display);margin-top:4px;font-size:clamp(27px,3vw,42px);line-height:1.05}.multitrack-header span{color:#dcefeb;margin-top:6px;display:block}.multitrack-header>button{color:#fff;cursor:pointer;background:#00000024;border:1px solid #ffffff85;border-radius:50%;flex:none;width:48px;height:48px;font-size:29px}.multitrack-notice{z-index:2;color:#fff;background:#8d345a;margin:0;padding:11px 24px;font-size:13px;font-weight:850}.multitrack-library-view{grid-template-columns:minmax(280px,.72fr) minmax(320px,.9fr) minmax(400px,1.38fr);align-items:start;gap:16px;padding:20px;display:grid;overflow:auto}.multitrack-import-card,.multitrack-individual-import,.multitrack-project-library{background:#fff;border:1px solid #c9dbd7;border-radius:17px;gap:15px;padding:20px;display:grid}.multitrack-import-card{color:#fff;background:radial-gradient(circle at 85% 12%,#fff3,#0000 28%),linear-gradient(145deg,#173f50,#0a6d67)}.multitrack-import-card p,.multitrack-import-card h3,.multitrack-import-card span,.multitrack-section-heading p,.multitrack-section-heading h3{margin:0}.multitrack-import-card p,.multitrack-section-heading p{letter-spacing:.13em;font-size:10px;font-weight:950}.multitrack-import-card h3,.multitrack-section-heading h3{font-family:var(--font-display);margin-top:3px;font-size:25px}.multitrack-import-card span{color:#d9efeb;margin-top:10px;font-size:13px;line-height:1.55;display:block}.multitrack-primary{color:#fff;letter-spacing:.04em;cursor:pointer;background:#d96040;border:0;border-radius:10px;min-height:48px;padding:10px 15px;font-size:12px;font-weight:950}.multitrack-primary:disabled{opacity:.55;cursor:wait}.multitrack-individual-import label{gap:5px;display:grid}.multitrack-individual-import label>span{color:#3e5d62;font-size:12px;font-weight:850}.multitrack-individual-import input{color:#17393e;min-width:0;font:inherit;background:#fbfdfc;border:1px solid #bcd0cc;border-radius:9px;padding:10px 11px}.multitrack-individual-import small{color:#74868a}.multitrack-project-library{min-height:320px}.multitrack-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.multitrack-project-grid article{background:#f9fcfb;border:1px solid #d1dfdc;border-radius:12px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:8px 10px;padding:13px;display:grid}.multitrack-project-grid article>span{color:#fff;background:#0b6d67;border-radius:50%;grid-row:1;place-items:center;width:42px;height:42px;font-size:20px;display:grid}.multitrack-project-grid article>div{min-width:0}.multitrack-project-grid strong,.multitrack-project-grid small{display:block}.multitrack-project-grid strong{color:#17393e;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.multitrack-project-grid small{color:#6d8185;margin-top:3px}.multitrack-project-grid button{color:#fff;cursor:pointer;background:#29486e;border:0;border-radius:8px;padding:8px;font-size:11px;font-weight:900}.multitrack-project-grid button:not(.multitrack-delete){grid-column:1/-1}.multitrack-project-grid button.multitrack-delete{color:#9a3038;background:0 0;grid-column:1/-1}.multitrack-empty{color:#677c80;background:#eef4f2;border-radius:11px;margin:0;padding:18px;line-height:1.5}.multitrack-player{grid-template-rows:auto minmax(0,1fr) auto;min-height:0;display:grid}.multitrack-player-toolbar{color:#546c70;background:#fff;border-bottom:1px solid #cbdad7;align-items:center;gap:14px;padding:10px 16px;display:flex}.multitrack-player-toolbar button{color:#0b655f;cursor:pointer;background:#f3f8f6;border:1px solid #b8ccc7;border-radius:9px;padding:9px 12px;font-weight:850}.multitrack-player-toolbar strong{color:#17393e;font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:21px;overflow:hidden}.multitrack-player-toolbar span{margin-left:auto;font-size:12px}.multitrack-workspace{grid-template-columns:minmax(0,1fr) 360px;gap:12px;min-height:0;padding:12px;display:grid}.multitrack-score-panel,.multitrack-mixer{background:#fff;border:1px solid #c9d8d5;border-radius:14px;min-height:0;overflow:hidden}.multitrack-score-panel{grid-template-rows:auto minmax(0,1fr);display:grid}.multitrack-score-tools{border-bottom:1px solid #dbe5e3;justify-content:space-between;align-items:end;gap:10px;padding:10px 12px;display:flex}.multitrack-score-tools label{gap:3px;display:grid}.multitrack-score-tools span{color:#5e7579;font-size:10px;font-weight:900}.multitrack-score-tools select{color:#17393e;min-width:220px;font:inherit;background:#fff;border:1px solid #b9ceca;border-radius:8px;padding:8px 10px}.multitrack-score-tools a{color:#fff;background:#29486e;border-radius:8px;padding:9px 11px;font-size:12px;font-weight:850;text-decoration:none}.multitrack-score-panel iframe{background:#e7ecea;border:0;width:100%;height:100%;min-height:420px}.multitrack-mixer{background:#173238;grid-template-rows:auto minmax(0,1fr);display:grid}.multitrack-mixer-heading{color:#fff;border-bottom:1px solid #38545a;grid-template-columns:minmax(0,1fr) minmax(120px,.8fr);align-items:end;gap:12px;padding:14px;display:grid}.multitrack-mixer-heading p,.multitrack-mixer-heading h3{margin:0}.multitrack-mixer-heading p{color:#83c7c0;letter-spacing:.14em;font-size:10px;font-weight:950}.multitrack-mixer-heading h3{font-family:var(--font-display);margin-top:2px;font-size:23px}.multitrack-mixer-heading label,.multitrack-channel-list label{gap:4px;display:grid}.multitrack-mixer-heading label span,.multitrack-channel-list label span{color:#d3e2df;font-size:10px;font-weight:850}.multitrack-mixer input[type=range]{accent-color:#ef7b58;width:100%}.multitrack-channel-list{padding:10px;overflow:auto}.multitrack-channel-list article{color:#fff;border-bottom:1px solid #365158;grid-template-columns:minmax(0,1fr) minmax(100px,.8fr);gap:10px;padding:11px;display:grid}.multitrack-channel-list strong,.multitrack-channel-list small{display:block}.multitrack-channel-list small{color:#9db1b4;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10px;overflow:hidden}.multitrack-channel-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:7px;display:grid}.multitrack-channel-actions button{color:#dce8e6;cursor:pointer;background:#243f45;border:1px solid #537078;border-radius:7px;min-height:32px;font-size:10px;font-weight:950}.multitrack-channel-actions button.mute.active{color:#fff;background:#a83d3d;border-color:#d95f55}.multitrack-channel-actions button.solo.active{color:#253236;background:#f1c75b;border-color:#f1c75b}.multitrack-transport{color:#dbe7e5;background:#10292e;grid-template-columns:auto auto auto minmax(150px,1fr) auto;align-items:center;gap:10px;padding:11px 15px;display:grid}.multitrack-transport button{color:#fff;cursor:pointer;background:#29434a;border:1px solid #49666c;border-radius:9px;min-height:42px;padding:9px 13px;font-weight:900}.multitrack-transport button.multitrack-play{background:#d96040;border-color:#dc785b}.multitrack-transport input{accent-color:#e66b49;width:100%}@media (width<=1120px){.multitrack-library-view{grid-template-columns:1fr 1fr}.multitrack-project-library{grid-column:1/-1}.multitrack-workspace{grid-template-columns:minmax(0,1fr) 310px}}@media (width<=760px){.multitrack-backdrop{padding:0}.multitrack-dialog{border:0;border-radius:0;width:100%;height:100dvh}.multitrack-header{min-height:96px;padding:14px 16px}.multitrack-header h2{font-size:25px}.multitrack-header span{display:none}.multitrack-library-view{grid-template-columns:1fr;padding:12px}.multitrack-project-library{grid-column:auto}.multitrack-project-grid{grid-template-columns:1fr}.multitrack-player-toolbar span{display:none}.multitrack-workspace{grid-template-rows:62vh auto;grid-template-columns:1fr;overflow:auto}.multitrack-mixer{min-height:420px}.multitrack-transport{grid-template-columns:1fr 1fr}.multitrack-transport span,.multitrack-transport input{grid-column:span 1}.multitrack-transport input{grid-area:2/1/auto/-1}}.management-menu-action{color:#fff;background:linear-gradient(125deg,#6f2850,#8d345a);border:3px solid #5b2344;box-shadow:0 15px 34px #5b234442}.management-menu-action:hover{background:linear-gradient(125deg,#59203f,#762947);border-color:#461830}.choir-management-backdrop{z-index:1500;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#081b1fc7;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.choir-management-dialog{color:#173239;background:#f4f7f5;border:3px solid #0a5b58;border-radius:28px;grid-template-rows:auto auto auto minmax(0,1fr) auto;width:min(1560px,100%);height:min(940px,100vh - 32px);display:grid;overflow:hidden;box-shadow:0 30px 90px #0414176b}.choir-management-header{color:#fff;background:radial-gradient(circle at 80% -40%,#fff3,#0000 38%),linear-gradient(125deg,#063f3d,#0a6e67 62%,#6f2850);justify-content:space-between;align-items:center;gap:30px;min-height:112px;padding:23px 30px;display:flex}.choir-management-header p,.choir-management-header h2,.choir-management-header span{margin:0}.choir-management-header p{color:#d8f0ec;letter-spacing:.13em;margin-bottom:4px;font-size:12px;font-weight:900}.choir-management-header h2{color:#fff;font-family:var(--font-display);font-size:clamp(30px,4vw,48px);line-height:1}.choir-management-header span{color:#effaf8;margin-top:8px;font-weight:700;display:block}.choir-management-close{color:#fff;cursor:pointer;background:#0000002e;border:2px solid #fff;border-radius:50%;flex:none;place-items:center;width:50px;height:50px;font-size:30px;display:grid}.choir-management-close:hover{background:#00000059}.choir-management-tabs{background:#fff;border-bottom:1px solid #cbdad6;grid-template-columns:repeat(6,minmax(0,1fr));padding:0 24px;display:grid}.choir-management-tabs button{color:#526a70;cursor:pointer;background:0 0;border:0;border-bottom:4px solid #0000;justify-content:center;align-items:center;gap:9px;min-height:66px;padding:10px 14px;font-size:14px;font-weight:850;display:flex}.choir-management-tabs button span{color:#73878b;font-size:19px}.choir-management-tabs button:hover{color:#075b57;background:#f0f7f5}.choir-management-tabs button.active{color:#075b57;background:#e6f3f0;border-bottom-color:#0b746d}.choir-management-tabs button.active span{color:#8d345a}.management-notice{z-index:2;color:#fff;text-align:center;background:#8d345a;margin:0;padding:11px 24px;font-weight:800}.choir-management-content{min-height:0;padding:26px;overflow:auto}.choir-management-footer{color:#5f7378;background:#fff;border-top:1px solid #cbdad6;justify-content:space-between;align-items:center;gap:20px;padding:12px 24px;font-size:13px;display:flex}.choir-management-footer button{color:#fff;cursor:pointer;background:#0b6c66;border:0;border-radius:10px;padding:10px 21px;font-weight:850}.management-choir-name{background:#fff;border:1px solid #c8dad6;border-radius:18px;justify-content:space-between;align-items:end;gap:25px;padding:20px 24px;display:flex}.management-choir-name label{gap:6px;width:min(620px,100%);display:grid}.management-choir-name label span,.management-section-heading p,.management-form-heading p,.management-list-heading p,.management-backup-panel p{color:#8d345a;letter-spacing:.12em;margin:0;font-size:11px;font-weight:950}.management-choir-name input{color:#12383b;width:100%;font-family:var(--font-display);background:0 0;border:0;border-bottom:2px solid #b7cac5;outline:0;padding:3px 0 7px;font-size:clamp(25px,3vw,37px);font-weight:800}.management-choir-name input:focus{border-bottom-color:#0b746d}.management-choir-name p{color:#61777b;max-width:440px;margin:0;line-height:1.45}.management-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.management-summary-grid button{color:#17383e;text-align:left;cursor:pointer;background:#fff;border:1px solid #ccdcd8;border-radius:18px;grid-template-rows:1fr auto;grid-template-columns:auto 1fr;align-items:center;gap:0 15px;min-height:142px;padding:20px;display:grid;box-shadow:0 8px 23px #0a3c3a0f}.management-summary-grid button:hover{border-color:#0b746d;transform:translateY(-2px)}.management-summary-grid button span{color:#fff;background:#0b746d;border-radius:50%;grid-row:1/3;place-items:center;width:47px;height:47px;font-size:22px;display:grid}.management-summary-grid button:nth-child(2) span,.management-summary-grid button:nth-child(4) span{background:#8d345a}.management-summary-grid button strong{color:#143e42;font-family:var(--font-display);align-self:end;font-size:35px}.management-summary-grid button small{color:#64797d;align-self:start;font-size:13px;font-weight:750}.management-overview-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.management-overview-columns>section{background:#fff;border:1px solid #cbdad6;border-radius:18px;min-height:260px;padding:22px}.management-section-heading,.management-list-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.management-section-heading h3,.management-list-heading h3,.management-form-heading h3,.management-backup-panel h3{color:#17383e;font-family:var(--font-display);margin:4px 0 0;font-size:26px}.management-section-heading>button{color:#0a625d;cursor:pointer;background:#fff;border:1px solid #0b746d;border-radius:9px;padding:9px 14px;font-weight:800}.voice-distribution{gap:13px;display:grid}.voice-distribution>div{grid-template-columns:88px 34px 1fr;align-items:center;gap:10px;display:grid}.voice-distribution span{color:#3f5c61;font-weight:750}.voice-distribution b{color:#0b625e;text-align:center;font-size:18px}.voice-distribution i{background:linear-gradient(90deg,#0b746d,#76b9ab);border-radius:99px;min-width:0;max-width:100%;height:10px;display:block}.next-rehearsal-card{color:#fff;background:linear-gradient(130deg,#6f2850,#91395d);border-radius:15px;gap:9px;padding:23px;display:grid}.next-rehearsal-card strong{font-family:var(--font-display);font-size:24px}.next-rehearsal-card span{color:#ffeefa;font-weight:700}.next-rehearsal-card p{border-top:1px solid #ffffff42;margin:7px 0 0;padding-top:12px;line-height:1.45}.management-backup-panel{background:#fff9ea;border:1px solid #ddcba3;border-radius:18px;justify-content:space-between;align-items:center;gap:25px;margin-top:18px;padding:22px 24px;display:flex}.management-backup-panel>div:first-child{max-width:760px}.management-backup-panel span{color:#6c634f;margin-top:5px;line-height:1.45;display:block}.management-backup-panel>div:last-child{flex:none;gap:10px;display:flex}.management-backup-panel button{color:#fff;cursor:pointer;background:#8d345a;border:0;border-radius:10px;padding:12px 17px;font-weight:850}.management-backup-panel button.secondary{color:#7b294d;background:#fff;border:1px solid #8d345a}.management-section-layout{grid-template-columns:minmax(280px,390px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.management-form,.management-list-panel{background:#fff;border:1px solid #cbdad6;border-radius:18px}.management-form{gap:15px;padding:22px;display:grid}.management-form-heading{margin-bottom:2px}.management-form label{gap:6px;display:grid}.management-form label>span,.repertoire-grid label>span{color:#4e666b;font-size:12px;font-weight:850}.management-form input,.management-form select,.management-form textarea,.repertoire-grid select{color:#18373c;width:100%;font:inherit;background:#fbfdfc;border:1px solid #bdcfca;border-radius:10px;outline:0;padding:11px 12px}.management-form input:focus,.management-form select:focus,.management-form textarea:focus,.repertoire-grid select:focus{border-color:#0b746d;box-shadow:0 0 0 3px #0b746d1f}.management-form textarea{resize:vertical;line-height:1.45}.management-form-row{grid-template-columns:1.4fr 1fr;gap:10px;display:grid}.management-primary{color:#fff;cursor:pointer;background:#0b6d67;border:0;border-radius:11px;min-height:48px;font-weight:900}.management-primary:hover{background:#075550}.management-form>small{color:#718286;line-height:1.4}.management-list-panel{min-height:520px;padding:22px}.member-voice-chips{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.member-voice-chips span{color:#0a5f5a;background:#e6f3f0;border-radius:99px;padding:7px 9px;font-size:12px;font-weight:850}.management-card-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.management-card-list article{background:#fbfdfc;border:1px solid #d4e0dd;border-radius:13px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;display:grid}.management-card-list article.is-inactive{opacity:.58;background:#f0f2f1}.member-avatar{color:#fff;background:#0b746d;border-radius:50%;place-items:center;width:43px;height:43px;font-weight:900;display:grid}.member-avatar.Άλτο{background:#8d345a}.member-avatar.Τενόρος{background:#9a640c}.member-avatar.Μπάσο{background:#304d69}.management-card-list article>div:nth-child(2){min-width:0;display:grid}.management-card-list strong{color:#173a3e;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.management-card-list article span{color:#5c7377;font-size:13px}.management-card-list article small{color:#7a898c;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;overflow:hidden}.member-inline-editor{gap:5px;display:grid}.member-inline-editor input,.member-inline-editor select{color:#17393e;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #b9ccc7;border-radius:7px;padding:7px 8px;font-size:12px}.member-card-actions{gap:5px;display:grid}.member-card-actions button{color:#0a615c;cursor:pointer;background:#e2f0ed;border:0;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:850}.status-active{color:#075f45;background:#dff2e8}.status-muted{color:#5c686b;background:#e4e8e7}.management-empty{color:#657a7e;text-align:center;background:#f7faf9;border:1px dashed #b8cbc6;border-radius:13px;margin:0;padding:28px;line-height:1.5}.rehearsal-list{gap:11px;display:grid}.rehearsal-list details{background:#fff;border:1px solid #d0dedb;border-radius:14px;overflow:hidden}.rehearsal-list summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px;list-style:none;display:grid}.rehearsal-list summary::-webkit-details-marker{display:none}.rehearsal-date-tile{color:#fff;text-align:center;background:#8d345a;border-radius:10px;place-content:center;width:56px;height:58px;display:grid}.rehearsal-date-tile b{font-size:21px;line-height:1}.rehearsal-date-tile span{text-transform:uppercase;font-size:11px;font-weight:850}.rehearsal-list summary>div:nth-child(2){gap:3px;display:grid}.rehearsal-list summary strong{color:#153a3e;font-size:16px}.rehearsal-list summary span{color:#647a7e;font-size:13px}.rehearsal-list summary>b{color:#0b6a64;font-size:13px}.rehearsal-details{background:#f8fbfa;border-top:1px solid #d5e2df;padding:16px}.rehearsal-edit-grid{grid-template-columns:2fr 1fr .8fr 1.5fr;gap:8px;margin-bottom:16px;display:grid}.rehearsal-edit-grid label{gap:4px;display:grid}.rehearsal-edit-grid label span{color:#5c7478;font-size:10px;font-weight:850}.rehearsal-edit-grid input,.rehearsal-edit-grid textarea{color:#17383d;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #c6d6d2;border-radius:7px;padding:8px 9px;font-size:12px}.rehearsal-notes-field{grid-column:1/-1}.rehearsal-edit-grid textarea{resize:vertical}.rehearsal-details h4{color:#173a3e;margin:0 0 10px}.attendance-list{gap:7px;display:grid}.attendance-list>div{background:#fff;border:1px solid #dce6e3;border-radius:10px;grid-template-columns:minmax(140px,1fr) auto;align-items:center;gap:12px;padding:9px 10px;display:grid}.attendance-list>div>span{display:grid}.attendance-list small{color:#6d8184}.attendance-list>div>div{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.attendance-list button{color:#566d71;cursor:pointer;background:#f8faf9;border:1px solid #c7d5d2;border-radius:7px;padding:7px 8px;font-size:11px;font-weight:800}.attendance-list button.selected.present{color:#fff;background:#188152;border-color:#188152}.attendance-list button.selected.absent{color:#fff;background:#a92f36;border-color:#a92f36}.attendance-list button.selected.excused{color:#fff;background:#9a640c;border-color:#9a640c}.management-delete{color:#952c34;cursor:pointer;background:#fff;border:1px solid #aa3b42;border-radius:8px;margin-top:14px;padding:8px 11px;font-weight:800}.repertoire-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.repertoire-grid article{background:#fbfdfc;border:1px solid #d0dedb;border-radius:14px;gap:13px;padding:17px;display:grid}.repertoire-grid article>div{gap:4px;display:grid}.repertoire-grid article strong{color:#17393e;font-family:var(--font-display);font-size:22px}.repertoire-grid article small{color:#647a7e}.repertoire-status{color:#5a3e08;letter-spacing:.08em;text-transform:uppercase;background:#f7e8bd;border-radius:99px;width:max-content;padding:5px 8px;font-size:10px;font-weight:950}.repertoire-status.Ενεργό{color:#075a55;background:#dcefeb}.repertoire-status.Έτοιμο{color:#0b673d;background:#dcf0e3}.repertoire-status.Αρχείο{color:#58676a;background:#e7eceb}.repertoire-grid label{gap:5px;display:grid}.repertoire-grid article>p{color:#51686c;background:#fff;border-radius:8px;margin:0;padding:10px;line-height:1.45}.repertoire-grid footer{justify-content:space-between;align-items:center;gap:10px;margin-top:auto;display:flex}.repertoire-grid footer a,.repertoire-grid footer span{color:#0a6762;font-size:12px;font-weight:800}.repertoire-grid footer button{color:#9a3038;cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:800}.announcement-list{gap:12px;display:grid}.announcement-list article{background:#fbfdfc;border:1px solid #d0dedb;border-radius:14px;padding:18px}.announcement-list header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.announcement-list header>div{gap:4px;display:grid}.announcement-list header strong{color:#17393e;font-family:var(--font-display);font-size:21px}.announcement-list header span{color:#718286;font-size:12px}.announcement-list header button{color:#fff;cursor:pointer;background:#0b6d67;border:0;border-radius:8px;padding:9px 12px;font-weight:800}.announcement-list article>p{color:#455f64;white-space:pre-wrap;background:#fff;border-left:4px solid #8d345a;margin:15px 0 0;padding:14px;line-height:1.55}.material-source-switch{border:0;grid-template-columns:1fr 1fr;gap:7px;margin:0;padding:0;display:grid}.material-source-switch legend{color:#4e666b;margin-bottom:6px;font-size:12px;font-weight:850}.material-source-switch button{color:#4e666b;cursor:pointer;background:#f7faf9;border:1px solid #bdcfca;border-radius:9px;min-height:43px;font-weight:850}.material-source-switch button.active{color:#fff;background:#0b746d;border-color:#0b746d}.management-form label small{color:#718286;font-size:11px}.materials-heading{align-items:end}.material-filters{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.material-filters label{gap:3px;display:grid}.material-filters span{color:#61777b;font-size:10px;font-weight:850}.material-filters select{color:#18373c;min-width:120px;font:inherit;background:#fff;border:1px solid #bdcfca;border-radius:8px;padding:8px 10px;font-size:12px}.materials-local-warning{color:#6c5632;background:#fff8e8;border-left:5px solid #9a640c;border-radius:9px;gap:3px;margin-bottom:14px;padding:12px 14px;display:grid}.materials-local-warning span{font-size:12px;line-height:1.4}.material-pack-actions{flex-wrap:wrap;gap:9px;margin:-2px 0 16px;display:flex}.material-pack-actions button{color:#fff;cursor:pointer;background:#29486e;border:0;border-radius:9px;padding:10px 13px;font-size:11px;font-weight:900}.material-pack-actions button.secondary{color:#29486e;background:#e5edf5}.material-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.material-grid article{background:#fbfdfc;border:1px solid #d0dedb;border-radius:13px;gap:8px;padding:16px;display:grid}.material-grid header{justify-content:space-between;align-items:center;gap:10px;display:flex}.material-grid header span,.material-grid header b{border-radius:99px;padding:5px 8px;font-size:10px;font-weight:900}.material-grid header span{color:#075a55;background:#dcefeb}.material-grid header b{color:#6d2747;background:#f3e2eb}.material-grid article>strong{color:#17393e;font-family:var(--font-display);font-size:21px}.material-grid article>small{overflow-wrap:anywhere;color:#687c80}.material-grid article>small.material-score-details{color:#0b645e;background:#e5f3f0;border-radius:8px;padding:7px 9px;font-weight:800}.material-grid article>p{color:#51686c;background:#fff;border-radius:8px;margin:0;padding:9px;line-height:1.45}.material-grid footer{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:5px;display:flex}.material-grid footer button{color:#9a3038;cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:850}.material-grid footer button.material-open{color:#fff;background:#0b6d67;border-radius:8px;padding:8px 10px}.material-grid footer button.material-play{color:#fff;background:#d75f3f;border-radius:8px;width:100%;padding:10px}@media (width<=980px){.choir-management-dialog{border-radius:20px;height:calc(100vh - 18px)}.choir-management-tabs{grid-template-columns:repeat(6,minmax(150px,1fr));padding:0 8px;overflow-x:auto}.management-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.management-overview-columns,.management-section-layout,.management-card-list,.repertoire-grid,.material-grid{grid-template-columns:1fr}}@media (width<=640px){.choir-management-backdrop{padding:0}.choir-management-dialog{border:0;border-radius:0;width:100%;height:100dvh}.choir-management-header{min-height:94px;padding:17px 16px}.choir-management-header h2{font-size:29px}.choir-management-header span{text-overflow:ellipsis;white-space:nowrap;max-width:250px;overflow:hidden}.choir-management-close{width:44px;height:44px}.choir-management-tabs button{min-height:57px;padding:8px 11px}.choir-management-content{padding:14px}.choir-management-footer{padding:9px 12px}.choir-management-footer span{display:none}.choir-management-footer button{width:100%}.management-choir-name,.management-backup-panel{flex-direction:column;align-items:stretch}.management-choir-name input{font-size:28px}.management-summary-grid{grid-template-columns:1fr 1fr;gap:9px}.management-summary-grid button{grid-template-columns:38px 1fr;gap:0 9px;min-height:122px;padding:14px}.management-summary-grid button span{width:38px;height:38px}.management-summary-grid button strong{font-size:29px}.management-overview-columns>section,.management-form,.management-list-panel{padding:16px}.management-backup-panel>div:last-child{grid-template-columns:1fr;width:100%;display:grid}.materials-heading{flex-direction:column;align-items:stretch}.material-filters{grid-template-columns:1fr 1fr;display:grid}.management-form-row{grid-template-columns:1fr}.management-card-list article{grid-template-columns:auto minmax(0,1fr)}.member-card-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.rehearsal-list summary{grid-template-columns:auto minmax(0,1fr)}.rehearsal-list summary>b{grid-column:1/-1;padding-left:69px}.attendance-list>div{grid-template-columns:1fr}.rehearsal-edit-grid{grid-template-columns:1fr 1fr}.rehearsal-edit-grid label:first-child,.rehearsal-edit-grid label:nth-child(4),.rehearsal-notes-field{grid-column:1/-1}.attendance-list>div>div{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.attendance-list button{padding:8px 4px;font-size:10px}.announcement-list header{flex-direction:column}.announcement-list header button{width:100%}}.musicxml-menu-action{color:#fff;background:#123f5a;border:3px solid #082f49;box-shadow:0 15px 34px #082f4947}.musicxml-menu-action:hover{background:#082f49;border-color:#061f32}.solfege-menu-action{color:#fff;background:#8a5d0a;border:3px solid #66460b;box-shadow:0 15px 34px #66460b40}.solfege-menu-action:hover{background:#6f4a08;border-color:#4f3507}.musicxml-backdrop{z-index:1200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a1f22bd;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.musicxml-dialog{background:#fff;border:3px solid #064f49;border-radius:26px;width:min(1500px,100%);max-height:calc(100vh - 36px);overflow:auto;box-shadow:0 28px 90px #0516175c}.musicxml-header{z-index:4;color:#fff;background:linear-gradient(120deg,#043f3c,#006a5e);justify-content:space-between;gap:30px;padding:24px 30px;display:flex;position:sticky;top:0}.musicxml-header p,.musicxml-header h2,.musicxml-header span{margin:0}.musicxml-header p{color:#fff;letter-spacing:.12em;margin-bottom:5px;font-size:12px;font-weight:900}.musicxml-header h2{font-family:var(--font-display);font-size:clamp(28px,4vw,44px);line-height:1}.musicxml-header span{color:#fff;margin-top:8px;font-weight:650;display:block}.musicxml-header>button{color:#fff;cursor:pointer;background:#0000002e;border:2px solid #fff;border-radius:50%;flex:none;width:48px;height:48px;font-size:28px}.musicxml-empty{text-align:center;background:#fff;flex-direction:column;justify-content:center;align-items:center;min-height:560px;padding:50px 24px;display:flex}.musicxml-library-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:min(1060px,100%);margin:4px auto 28px;display:grid}.musicxml-library-card{color:#102f35;text-align:left;cursor:pointer;background:linear-gradient(145deg,#fff,#e8f4f1);border:2px solid #0a615b;border-radius:18px;flex-direction:column;align-items:flex-start;min-height:210px;padding:22px;display:flex;position:relative;box-shadow:0 10px 24px #064f491f}.musicxml-library-card:hover{border-color:#d96643;transform:translateY(-2px);box-shadow:0 14px 28px #064f492e}.musicxml-library-card:disabled{cursor:wait;opacity:.72}.musicxml-library-card>span{color:#fff;background:#0a615b;border-radius:50%;place-items:center;width:38px;height:38px;margin-bottom:15px;font-size:13px;font-weight:950;display:grid}.musicxml-library-card strong{color:#0a403e;font-family:var(--font-display);font-size:27px}.musicxml-library-card small{color:#385458;margin-top:8px;font-size:13px;font-weight:700;line-height:1.45;display:block}.musicxml-library-card b{color:#a23f29;letter-spacing:.04em;margin-top:auto;padding-top:18px;font-size:12px;font-weight:950}.musicxml-library-card em{color:#fff;background:#0a615b;border-radius:8px;padding:6px 8px;font-size:11px;font-style:normal;font-weight:850;position:absolute;inset:auto 14px 14px auto}.musicxml-library-card.local-score{background:linear-gradient(145deg,#fffdf9,#fff0e9);border-color:#c75d3f}.musicxml-library-card.local-score>span{background:#c75d3f;border-radius:99px;width:auto;min-width:52px;padding:0 10px}.local-warmup-grid{margin-top:18px}.musicxml-or-divider{color:#6e7f82;letter-spacing:.08em;margin:2px 0 18px;font-size:11px;display:block}.musicxml-own-file-divider{color:#425b60;letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:14px;width:min(720px,100%);margin:0 auto 18px;font-size:12px;font-weight:900;display:flex}.musicxml-own-file-divider:before,.musicxml-own-file-divider:after{content:"";background:#adc3bf;flex:1;height:1px}.musicxml-file-mark{color:#fff;background:#d96643;border-radius:50%;place-items:center;width:94px;height:94px;font-size:46px;display:grid;box-shadow:0 14px 28px #d9664347}.musicxml-empty h3{color:#123237;font-family:var(--font-display);margin:25px 0 10px;font-size:clamp(27px,4vw,42px)}.musicxml-empty>p{color:#263d42;max-width:690px;margin:0 0 25px;font-size:18px;line-height:1.6}.musicxml-file-button,.musicxml-replace-file{color:#fff;letter-spacing:.04em;cursor:pointer;background:#d96643;border-radius:14px;justify-content:center;align-items:center;min-height:56px;padding:0 24px;font-weight:950;display:inline-flex;position:relative;box-shadow:0 10px 24px #d966433d}.musicxml-file-button input,.musicxml-replace-file input{opacity:0;width:1px;height:1px;position:absolute}.musicxml-empty>small{color:#34494d;margin-top:13px;font-weight:750}.musicxml-error,.musicxml-inline-error{color:#8d261e;background:#fff0ee;border:1px solid #e8b1aa;border-radius:12px;margin:16px 0 0;padding:13px 16px;font-weight:800}.musicxml-body{color:#0b1518;background:#fff;padding:24px}.musicxml-score-summary{background:#fff;border:2px solid #6f9893;border-radius:18px;grid-template-columns:minmax(260px,1fr) auto auto;align-items:center;gap:24px;margin-bottom:16px;padding:22px;display:grid;box-shadow:0 5px 16px #073f3b1a}.musicxml-score-summary p,.musicxml-score-summary h3,.musicxml-score-summary span{margin:0}.musicxml-score-summary p{color:#d05e3d;letter-spacing:.12em;font-size:11px;font-weight:950}.musicxml-score-summary h3{color:#16383c;font-family:var(--font-display);margin:4px 0;font-size:30px}.musicxml-score-summary span{color:#344c50;font-weight:650}.musicxml-score-summary dl{grid-template-columns:repeat(5,minmax(100px,1fr));gap:8px;margin:0;display:grid}.musicxml-score-summary.member-summary dl{grid-template-columns:repeat(3,minmax(100px,1fr))}.musicxml-score-summary dl>div{background:#fff;border:1px solid #8eaaa6;border-radius:10px;padding:10px 12px}.musicxml-score-summary dt{color:#284c4b;font-size:11px;font-weight:850}.musicxml-score-summary dd{color:#073f3b;margin:3px 0 0;font-size:13px;font-weight:900}.musicxml-score-summary dl small{color:#50666a;margin-top:2px;font-size:9px;font-weight:700;line-height:1.25;display:block}.musicxml-score-summary dl>.musicxml-duration-card{background:#fff7ee;border-color:#d69b6f}.musicxml-score-summary dl>.musicxml-duration-card dd{color:#9d3f27;font-variant-numeric:tabular-nums;font-size:18px}.musicxml-replace-file{color:#fff;min-height:44px;box-shadow:none;background:#075f57;border:2px solid #075f57;font-size:13px}.musicxml-controls{background:#fff;border:2px solid #5e8f89;border-radius:18px;grid-template-columns:repeat(4,minmax(140px,1fr));align-items:end;gap:12px;margin-bottom:16px;padding:18px;display:grid;box-shadow:0 5px 16px #073f3b17}.musicxml-control{color:#0b1518;flex-direction:column;gap:8px;font-size:12px;font-weight:950;display:flex}.musicxml-control select{color:#092f32;min-height:43px;font:inherit;background:#fff;border:2px solid #477a75;border-radius:10px;padding:0 10px}.musicxml-control input[type=range]{accent-color:#0b7163;width:100%}.musicxml-mixer-control{grid-column:1/-1;gap:13px}.musicxml-mixer-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.musicxml-mixer-heading>div:first-child{gap:3px;display:grid}.musicxml-mixer-heading>div:first-child>span{color:#b14831;letter-spacing:.13em;font-size:11px}.musicxml-mixer-heading>div:first-child>strong{color:#063f3b;font-size:18px}.musicxml-mixer-heading>div:first-child>small{color:#49615f;font-size:11px;font-weight:700}.musicxml-mixer-presets{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.musicxml-mixer-presets button{color:#063f3b;cursor:pointer;background:#f4faf8;border:1px solid #477a75;border-radius:9px;min-height:36px;padding:0 12px;font-size:11px;font-weight:900}.musicxml-mixer-presets button:hover{color:#fff;background:#075f57}.musicxml-mixer-presets button:disabled{cursor:not-allowed;opacity:.45}.musicxml-mixer-table{background:#e7efed;border:2px solid #173f42;border-radius:14px;display:grid;overflow:hidden}.musicxml-mixer-row{background:#fff;border-bottom:1px solid #b9cbc7;grid-template-columns:minmax(240px,1.25fr) 62px 68px minmax(150px,1fr) 49px;align-items:center;gap:9px;min-height:66px;padding:7px 10px;display:grid}.musicxml-mixer-row:last-child{border-bottom:0}.musicxml-mixer-row.selected{background:#e5f4f0;box-shadow:inset 6px 0 #047165}.musicxml-mixer-row.muted{background:#eef1f0}.musicxml-mixer-row.metronome{background:#fff7ec}.musicxml-channel-identity{color:#15383b;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;display:flex}.musicxml-mixer-row>div.musicxml-channel-identity{cursor:default}.musicxml-channel-identity>b{color:#fff;letter-spacing:.05em;background:#153f42;border-radius:9px;flex:none;place-items:center;width:50px;height:40px;font-size:11px;display:grid}.musicxml-channel-identity span,.musicxml-channel-identity strong,.musicxml-channel-identity small{display:block}.musicxml-channel-identity strong{font-size:14px}.musicxml-channel-identity small{color:#506967;margin-top:3px;font-size:10px;font-weight:700}.musicxml-channel-switch,.musicxml-channel-solo{color:#526260;cursor:pointer;background:#fff;border:2px solid #829794;border-radius:9px;min-height:36px;font-size:10px;font-weight:950}.musicxml-channel-switch.active{color:#fff;background:#087165;border-color:#087165}.musicxml-channel-solo.active{color:#fff;background:#bc5d21;border-color:#bc5d21}.musicxml-mixer-row label{align-items:center;display:flex}.musicxml-mixer-row output,.musicxml-master-volume output{color:#123f40;font-variant-numeric:tabular-nums;text-align:right;font-size:11px;font-weight:900}.musicxml-master-volume{color:#fff;background:#153f42;border-radius:11px;grid-template-columns:100px 1fr 50px;align-items:center;gap:10px;padding:10px 12px;display:grid}.musicxml-master-volume input{accent-color:#f3a84d!important}.musicxml-master-volume output{color:#fff}.musicxml-transport{background:#fff;border:2px solid #ba704f;border-radius:18px;margin-bottom:16px;padding:19px 21px;box-shadow:0 5px 16px #5b301d17}.musicxml-now-playing{color:#263c3d;align-items:center;gap:22px;font-size:12px;font-weight:850;display:flex}.musicxml-now-playing strong{color:#003f3a;margin-left:4px;font-size:20px}.musicxml-current-lyric{color:#8d2f1d;min-width:100px;font-size:22px;font-weight:900}.musicxml-progress{background:#cbd6d3;border:1px solid #78938e;border-radius:99px;height:14px;margin:13px 0 15px;overflow:hidden}.musicxml-progress span{border-radius:inherit;background:linear-gradient(90deg,#006c60,#d04d2b);height:100%;transition:width 80ms linear;display:block}.musicxml-transport-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.musicxml-transport-actions>button{color:#073f3b;cursor:pointer;background:#fff;border:2px solid #3f726d;border-radius:11px;min-height:47px;padding:0 18px;font-weight:950}.musicxml-transport-actions>button.primary{color:#fff;background:#005f55;border-color:#003f39;min-width:190px}.musicxml-transport-actions>button:disabled{cursor:wait;opacity:.72}.musicxml-transport-actions label{color:#173b3d;align-items:center;gap:8px;margin-left:auto;font-size:13px;font-weight:850;display:flex}.musicxml-transport-actions input{accent-color:#0b7163;width:19px;height:19px}.musicxml-transport>p{color:#2f4b4d;margin:12px 0 0;font-size:12px;font-weight:650}.musicxml-score-frame{background:#fff;border:4px solid #102f35;border-radius:18px;min-height:430px;padding:20px;overflow:auto;box-shadow:0 8px 24px #052e2b24}.musicxml-score{color:#000;background:#fff;min-width:760px;position:relative}.musicxml-score svg{color:#000!important;opacity:1!important;background:#fff!important}.musicxml-score svg *{opacity:1!important}.musicxml-score svg text{fill:#000!important;stroke:none!important;opacity:1!important}.musicxml-score svg path,.musicxml-score svg line,.musicxml-score svg polyline{fill:#000!important;stroke:#000!important;opacity:1!important}.musicxml-score-heading{color:#fff;background:#102f35;justify-content:space-between;align-items:center;gap:16px;margin:-20px -20px 18px;padding:13px 18px;display:flex}.musicxml-score-heading strong{letter-spacing:.08em}.musicxml-score-heading span{font-size:13px;font-weight:800}.musicxml-score img{filter:saturate(1.4)contrast(1.35);opacity:1!important}.musicxml-score img[id^=cursorImg-]{z-index:60!important;visibility:visible!important;opacity:1!important;object-fit:fill!important;filter:none!important;background:#d3132a!important;border-radius:0!important;width:4px!important;min-width:4px!important;min-height:78px!important;display:block!important;box-shadow:0 0 0 1px #fff,0 0 8px #d3132acc!important}.musicxml-playback-cursor{z-index:70;pointer-events:none;will-change:transform;contain:strict;background:#d3132a;border-radius:0;width:4px;min-height:78px;display:block;position:absolute;top:0;left:0;box-shadow:0 0 0 1px #fff,0 0 8px #d3132acc}.musicxml-footer{color:#2e4548;justify-content:space-between;gap:18px;padding:14px 4px 0;font-size:11px;font-weight:700;display:flex}@media (width<=1100px){.musicxml-controls{grid-template-columns:repeat(2,1fr)}.musicxml-mixer-row{grid-template-columns:minmax(210px,1fr) 58px 64px minmax(120px,.8fr) 45px}.musicxml-score-summary{grid-template-columns:1fr auto}.musicxml-score-summary dl{grid-area:2/1/auto/-1;grid-template-columns:repeat(5,minmax(100px,1fr))}}@media (width<=720px){.musicxml-backdrop{padding:0}.musicxml-dialog{border:0;border-radius:0;width:100vw;height:100vh;max-height:100vh}.musicxml-header{padding:max(18px, env(safe-area-inset-top)) 16px 18px}.musicxml-header h2{font-size:27px}.musicxml-header span{font-size:12px}.musicxml-body{padding:12px}.musicxml-empty{justify-content:flex-start;padding:30px 14px}.musicxml-library-grid{grid-template-columns:1fr}.musicxml-library-card{min-height:176px}.musicxml-score-summary,.musicxml-controls{grid-template-columns:1fr}.musicxml-score-summary dl{grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.musicxml-score-summary dl>div:nth-child(-n+3){grid-column:span 2}.musicxml-replace-file{width:100%}.musicxml-controls{padding:14px}.musicxml-mixer-heading{flex-direction:column;align-items:stretch}.musicxml-mixer-presets{justify-content:stretch}.musicxml-mixer-presets button{flex:120px}.musicxml-mixer-row{grid-template-columns:minmax(0,1fr) 58px 62px;padding:10px}.musicxml-mixer-row label{grid-column:1/3}.musicxml-mixer-row output{grid-area:2/3}.musicxml-channel-identity>b{width:44px}.musicxml-master-volume{grid-template-columns:75px 1fr 45px}.musicxml-now-playing{flex-wrap:wrap;align-items:flex-start;gap:8px 16px}.musicxml-current-lyric{flex-basis:100%}.musicxml-transport-actions{grid-template-columns:1fr .6fr;display:grid}.musicxml-transport-actions>button.primary{min-width:0}.musicxml-transport-actions label{grid-column:1/-1;margin-left:0}.musicxml-score-frame{padding:10px}.musicxml-score{min-width:650px}.musicxml-footer{flex-direction:column}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 12% 15%, #d96a4a14, transparent 24rem), var(--paper);color:var(--ink);margin:0;font-family:Segoe UI,Noto Sans,Arial,sans-serif}button,select{font:inherit}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible{outline-offset:3px;outline:4px solid #d96a4a73}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}main{min-height:100vh}.role-gate-shell{background:radial-gradient(circle at 12% 18%,#d96a4a2e,#0000 32%),radial-gradient(circle at 88% 84%,#116b6833,#0000 34%),#eef4f1;place-items:center;min-height:100vh;padding:32px;display:grid}.role-gate-card{background:#fffefbf7;border:2px solid #8eb4ae;border-radius:32px;width:min(980px,100%);padding:clamp(26px,5vw,54px);box-shadow:0 30px 90px #142a322b}.role-gate-loading{text-align:center;max-width:480px}.role-gate-loading .role-gate-logo{margin:0 auto}.role-gate-loading h1{cursor:default;margin:18px auto 6px;padding:0;font-size:42px}.role-gate-loading p{color:var(--muted);margin:0}.role-gate-header{align-items:center;gap:20px;display:flex}.role-gate-logo{color:#fff;background:var(--teal);border-radius:22px;flex:none;place-items:center;width:70px;height:70px;font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:900;display:grid;box-shadow:0 12px 28px #116b683d}.role-gate-header p,.role-gate-header h1{margin:0}.role-gate-header p{color:var(--coral);letter-spacing:.13em;font-size:11px;font-weight:950}.role-gate-header h1{max-width:none;color:var(--ink);cursor:default;padding:0;font-size:clamp(32px,5vw,52px);line-height:1.05}.role-gate-lead{max-width:740px;color:var(--muted);margin:24px 0;font-size:17px;line-height:1.6}.role-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.role-choice{color:#fff;cursor:pointer;text-align:left;border:3px solid #0000;border-radius:26px;flex-direction:column;align-items:flex-start;min-height:280px;padding:28px;transition:transform .16s,box-shadow .16s;display:flex}.role-choice:hover{transform:translateY(-3px)}.role-choice.member{background:linear-gradient(145deg,#0b746d,#07534f);box-shadow:0 18px 38px #07534f3d}.role-choice.conductor{background:linear-gradient(145deg,#315579,#1b3552);box-shadow:0 18px 38px #1b355240}.role-choice>span{background:#ffffff24;border-radius:18px;place-items:center;width:58px;height:58px;margin-bottom:22px;font-family:Georgia,Times New Roman,serif;font-size:31px;display:grid}.role-choice strong,.role-choice small,.role-choice b{display:block}.role-choice strong{font-family:Georgia,Times New Roman,serif;font-size:30px}.role-choice small{color:#ffffffdb;margin-top:10px;font-size:14px;line-height:1.55}.role-choice b{letter-spacing:.08em;margin-top:auto;padding-top:24px;font-size:12px}.role-lock-form{gap:16px;width:min(520px,100%);margin:34px auto 0;display:grid}.role-lock-form>p{color:var(--muted);margin:0 0 4px;line-height:1.55}.role-lock-form label{gap:7px;display:grid}.role-lock-form label span{color:var(--ink);font-size:13px;font-weight:850}.role-lock-form input{width:100%;min-height:56px;color:var(--ink);letter-spacing:.12em;background:#fff;border:2px solid #a9c1bd;border-radius:14px;padding:0 16px;font-size:24px;font-weight:850}.role-lock-form input:focus{border-color:var(--teal);outline:4px solid #116b6821}.role-primary-action{color:#fff;background:var(--teal);cursor:pointer;border:0;border-radius:14px;min-height:56px;font-size:15px;font-weight:950}.role-primary-action:hover{background:var(--teal-dark)}.role-gate-error,.role-gate-message{color:#8d261e;background:#fff0ee;border-radius:10px;margin:0;padding:11px 13px;font-size:13px;font-weight:800}.role-gate-message{color:#07534f;background:#e4f3ef}.role-gate-secondary-actions{justify-content:space-between;gap:12px;display:flex}.role-gate-secondary-actions button,.role-copy-code{color:var(--teal-dark);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;font-weight:850;text-decoration:underline}.recovery-code-card{text-align:center}.recovery-code-card output{color:#143e3b;letter-spacing:.08em;background:#edf7f4;border:2px dashed #2c6662;border-radius:16px;padding:20px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(24px,5vw,36px);font-weight:900;display:block}.role-gate-security-note{border-top:1px solid var(--line);color:#748489;text-align:center;margin:26px 0 0;padding-top:18px;font-size:11px;line-height:1.5}.topbar{justify-content:space-between;align-items:center;gap:20px;max-width:1240px;margin:0 auto;padding:24px 28px;display:flex}.brand{color:inherit;align-items:center;gap:13px;text-decoration:none;display:flex}.brand-mark{background:var(--teal);color:#fff;border-radius:16px;place-items:center;width:48px;height:48px;font-family:Georgia,serif;font-size:18px;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand strong{font-family:Georgia,Times New Roman,serif;font-size:24px}.brand small{color:var(--muted);margin-top:2px;font-size:12px}.privacy-pill{color:var(--teal-dark);background:#ffffff8c;border:1px solid #bed6d2;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;display:inline-flex}.privacy-pill span{color:#31a46c;font-size:10px}.role-session-controls{align-items:center;gap:8px;display:flex}.active-role-badge{color:#fff;letter-spacing:.08em;border-radius:999px;padding:9px 11px;font-size:10px;font-weight:950}.active-role-badge.member{background:var(--teal)}.active-role-badge.conductor{background:#29496f}.role-session-controls>button{min-height:38px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #b9c9cc;border-radius:999px;padding:0 12px;font-size:11px;font-weight:850}.role-session-controls>button:hover{border-color:var(--teal);color:var(--teal-dark)}.hero{grid-template-columns:1fr;align-items:start;gap:28px;max-width:1080px;margin:40px auto 70px;padding:0 28px;display:grid}.hero-copy{max-width:860px}.eyebrow{color:var(--coral);letter-spacing:.14em;margin:0 0 18px;font-size:12px;font-weight:900}h1{letter-spacing:-.045em;max-width:720px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(48px,6vw,78px);font-weight:600;line-height:.98}h1 span{color:var(--teal);display:block}.lead{color:#4d6269;max-width:670px;margin:26px 0 28px;font-size:18px;line-height:1.72}.part-selector{margin:0 0 22px}.part-selector>p{margin:0 0 10px;font-size:15px;font-weight:800}.part-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.part{min-height:50px;color:var(--ink);cursor:pointer;background:#ffffffa6;border:1px solid #bdcac7;border-radius:13px;font-size:15px;font-weight:750}.part:hover{border-color:var(--teal)}.part.active{border-color:var(--teal);background:var(--teal);color:#fff;box-shadow:0 8px 22px #116b682e}.cue-sound-selector{background:#edf7f4c2;border:1px solid #b9d4cf;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 16px;margin:0 0 18px;padding:15px;display:grid}.cue-sound-selector strong,.cue-sound-selector span{display:block}.cue-sound-selector strong{color:var(--teal-dark);font-size:14px}.cue-sound-selector span{color:var(--muted);margin-top:4px;font-size:12px}.cue-sound-actions{grid-template-columns:repeat(2,minmax(110px,1fr));gap:7px;display:grid}.cue-sound-actions button{min-height:40px;color:var(--teal-dark);cursor:pointer;background:#fff;border:1px solid #91b8b3;border-radius:11px;padding:7px 10px;font-size:11px;font-weight:900}.cue-sound-actions button.active{border-color:var(--teal);background:var(--teal);color:#fff}.cue-sound-selector>small{color:#52696d;grid-column:1/-1;font-size:11px;line-height:1.45}.primary-action{background:var(--coral);color:#fff;cursor:pointer;border:0;border-radius:16px;width:100%;min-height:62px;font-size:18px;font-weight:900;box-shadow:0 12px 30px #a8462a33}.primary-action:hover{background:#c85637}.primary-action:disabled:hover{background:var(--coral)}.microcopy{color:var(--muted);text-align:center;margin:11px 0 0;font-size:13px}.pwa-card{background:#edf7f4e0;border:1px solid #b9d4cf;border-radius:18px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:13px;margin-top:22px;padding:15px;display:grid;box-shadow:0 10px 26px #116b6814}.pwa-card.installed{background:#edf8f1;border-color:#91c7ad}.pwa-icon{background:var(--teal);color:#fff;border-radius:15px;place-items:center;width:52px;height:52px;font-family:Georgia,serif;font-size:27px;font-weight:900;display:grid}.pwa-copy strong,.pwa-copy span{display:block}.pwa-copy strong{color:var(--teal-dark);font-size:15px}.pwa-copy span{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.45}.install-action{background:var(--teal);color:#fff;cursor:pointer;border:0;border-radius:12px;min-height:44px;padding:0 16px;font-size:12px;font-weight:950}.install-action:hover{background:var(--teal-dark)}.installed-badge,.manual-install{max-width:180px;color:var(--teal-dark);text-align:center;border-radius:10px;padding:8px 11px;font-size:11px;font-weight:900;line-height:1.35}.installed-badge{background:#cfeada}.manual-install{background:#fff;border:1px dashed #8ebdb5}.install-help-backdrop{z-index:1000;background:#091f23b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.install-help-dialog{background:var(--white);border-radius:24px;width:min(100%,560px);padding:30px;position:relative;box-shadow:0 30px 90px #00000059}.install-help-dialog .pwa-icon{margin-bottom:18px}.install-help-dialog h2{color:var(--teal-dark);margin:0;font-family:Georgia,Times New Roman,serif;font-size:32px}.install-help-dialog>p{color:var(--muted);margin:14px 0;line-height:1.55}.install-help-dialog ol{color:var(--ink);margin:20px 0;padding-left:25px}.install-help-dialog li{margin:12px 0;padding-left:6px;line-height:1.5}.install-help-dialog .install-help-note{border-left:4px solid var(--coral);color:#704a3e;background:#fff3ee;border-radius:6px 12px 12px 6px;padding:13px 15px;font-size:13px;font-weight:750}.install-help-close{width:42px;height:42px;color:var(--ink);cursor:pointer;background:#edf2f0;border:0;border-radius:50%;place-items:center;font-size:28px;line-height:1;display:grid;position:absolute;top:14px;right:14px}.install-help-dialog .primary-action{margin-top:8px}.manual-backdrop{z-index:2000;background:#081c22c7;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.manual-dialog{background:var(--white);border:1px solid #b9cbc7;border-radius:28px;grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,1160px);max-height:calc(100vh - 40px);display:grid;overflow:hidden;box-shadow:0 34px 100px #0006}.manual-header{background:var(--teal);color:#fff;justify-content:space-between;align-items:center;gap:24px;padding:24px 28px;display:flex}.manual-header p,.manual-header h2,.manual-header span{margin:0}.manual-header p{color:#bfe1dd;letter-spacing:.14em;font-size:10px;font-weight:950}.manual-header h2{margin-top:5px;font-family:Georgia,Times New Roman,serif;font-size:36px;font-weight:600}.manual-header span{color:#d7ece9;margin-top:3px;font-size:12px;display:block}.manual-header button{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #fff6;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;font-size:30px;line-height:1;display:grid}.manual-header button:hover{background:#ffffff38}.manual-body{grid-template-columns:250px minmax(0,1fr);min-height:0;display:grid}.manual-body>nav{border-right:1px solid var(--line);background:#f1f7f5;flex-direction:column;gap:5px;padding:24px 20px;display:flex;overflow-y:auto}.manual-body>nav>strong{color:var(--teal-dark);letter-spacing:.08em;text-transform:uppercase;margin:0 10px 10px;font-size:12px}.manual-body>nav a{color:#3d555d;border-radius:9px;padding:9px 10px;font-size:13px;font-weight:750;line-height:1.25;text-decoration:none}.manual-body>nav a:hover{background:var(--teal-pale);color:var(--teal-dark)}.manual-content{scroll-behavior:smooth;padding:28px 34px 40px;overflow-y:auto}.manual-content>section{border-bottom:1px solid var(--line);margin-bottom:30px;padding:0 0 30px 58px;scroll-margin-top:20px;position:relative}.manual-content>section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.manual-section-number{background:var(--teal-pale);width:42px;height:42px;color:var(--teal-dark);border-radius:14px;place-items:center;font-size:12px;font-weight:950;display:grid;position:absolute;top:0;left:0}.manual-content h3{color:var(--teal-dark);margin:0 0 13px;font-family:Georgia,Times New Roman,serif;font-size:27px;font-weight:600}.manual-content p,.manual-content li,.manual-content dd{color:#465e66;font-size:15px;line-height:1.65}.manual-content p{margin:10px 0}.manual-content ol,.manual-content ul{margin:12px 0;padding-left:23px}.manual-content li{margin:7px 0}.manual-content dl{margin:0}.manual-content dt{color:var(--ink);margin-top:18px;font-size:15px;font-weight:900}.manual-content dd{margin:4px 0 0}.manual-dialog .manual-footer{border-top:1px solid var(--line);width:100%;max-width:none;color:var(--muted);background:#f8faf9;justify-content:space-between;align-items:center;margin:0;padding:14px 22px;display:flex}.manual-footer button{background:var(--teal);color:#fff;cursor:pointer;border:0;border-radius:12px;min-height:44px;padding:0 18px;font-weight:900}.conductor-manual-entry-action{background:linear-gradient(135deg,#6f2731,#8d3b3d);box-shadow:0 16px 38px #571c243d}.conductor-manual-entry-action:hover{background:linear-gradient(135deg,#5d2029,#7d3034)}.conductor-manual-dialog{border-color:#cfb36f;width:min(100%,1320px)}.conductor-manual-header{background:linear-gradient(115deg,#ffffff0d,#0000 42%),#183b4b}.conductor-manual-header-actions{flex:none;align-items:center;gap:10px;display:flex}.conductor-manual-header .conductor-manual-print{border-radius:13px;justify-content:center;align-items:center;width:auto;height:46px;padding:0 18px;font-size:13px;font-weight:900;display:inline-flex}.conductor-manual-body{grid-template-columns:290px minmax(0,1fr)}.conductor-manual-body>nav{background:#f6f1e7}.conductor-manual-body>nav a:hover{color:#6f2731;background:#efe2c3}.conductor-manual-intro,.conductor-manual-note,.conductor-manual-warning{border-radius:16px;padding:18px 20px}.conductor-manual-intro{background:#edf8f5;border:1px solid #9cc9c2;margin-bottom:30px}.conductor-manual-note{background:#eef7f5;border-left:5px solid #267f72;margin:16px 0}.conductor-manual-warning{background:#fff0ed;border-left:5px solid #a33d3d;margin:16px 0}.conductor-manual-intro strong,.conductor-manual-note strong,.conductor-manual-warning strong{color:#183b4b;font-size:16px}.conductor-manual-content h4{color:#6f2731;margin:22px 0 8px;font-size:17px}.conductor-manual-content code{color:#183b4b;background:#edf1f0;border-radius:5px;padding:2px 6px;font-size:.92em}.conductor-glossary{gap:10px;display:grid}.conductor-term{background:#fbfcfc;border:1px solid #d7dfdc;border-radius:13px;padding:14px 16px}.conductor-term dt{color:#183b4b;margin:0}.conductor-term dt span{color:#6f777a;margin-top:2px;font-size:12px;font-weight:700;display:block}.conductor-term dd{margin-top:7px}.conductor-manual-footer{border-top-color:#d6c79f}@media print{body *{visibility:hidden}.conductor-manual-backdrop,.conductor-manual-backdrop *{visibility:visible}.conductor-manual-backdrop{background:#fff;padding:0;display:block;position:absolute;inset:0}.conductor-manual-dialog{width:100%;max-height:none;box-shadow:none;border:0;border-radius:0;overflow:visible}.conductor-manual-header{color:#000;background:#fff}.conductor-manual-header p,.conductor-manual-header span{color:#39494f}.conductor-manual-header-actions,.conductor-manual-body>nav,.conductor-manual-footer{display:none!important}.conductor-manual-body{display:block}.conductor-manual-content{padding:18px;overflow:visible}.conductor-manual-content>section{break-inside:avoid}}.mode-actions{grid-template-columns:1.25fr .75fr;gap:10px;display:grid}.warmup-entry-action{background:var(--teal);margin-bottom:10px;box-shadow:0 12px 30px #116b6833}.warmup-entry-action:hover{background:var(--teal-dark)}.calibration-action{min-height:62px}.timbre-action{width:100%;color:var(--teal-dark);cursor:pointer;text-underline-offset:4px;background:0 0;border:0;margin-top:10px;padding:12px;font-size:14px;font-weight:850;text-decoration:underline}.home-selection-status{text-align:left}.home-exercise-menu{background:var(--white);border:1px solid #116b682b;border-radius:30px;padding:34px;box-shadow:0 24px 70px #223e431c}.home-menu-heading{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);align-items:end;gap:34px;margin-bottom:24px;display:grid}.home-menu-heading .eyebrow{margin-bottom:8px}.home-menu-heading h2{letter-spacing:-.03em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(32px,4vw,46px);font-weight:600}.home-menu-heading>p{color:var(--muted);margin:0;font-size:15px;line-height:1.6}.home-primary-exercises{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.home-menu-action{color:#fff;cursor:pointer;text-align:left;border:0;border-radius:22px;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:126px;padding:22px;display:grid}.warmup-menu-action{background:var(--teal);box-shadow:0 15px 34px #116b6833}.warmup-menu-action:hover{background:var(--teal-dark)}.pitch-menu-action{background:var(--coral);box-shadow:0 15px 34px #a8462a2e}.pitch-menu-action:hover{background:#c85637}.tuner-menu-action{color:#fff;background:linear-gradient(135deg,#27466f,#173250);box-shadow:0 15px 34px #1732503d}.tuner-menu-action:hover{background:linear-gradient(135deg,#1f3c62,#102941)}.home-menu-number{background:#ffffff1f;border:1px solid #ffffff59;border-radius:17px;place-items:center;width:54px;height:54px;font-family:Georgia,serif;font-size:20px;font-weight:800;display:grid}.home-menu-action>span:nth-child(2){min-width:0}.home-menu-action strong,.home-menu-action small{display:block}.home-menu-action strong{font-size:21px}.home-menu-action small{color:#ffffffd1;margin-top:6px;font-size:13px;line-height:1.45}.home-menu-action>b{font-size:28px}.home-menu-subheading{justify-content:space-between;align-items:baseline;gap:20px;margin:30px 0 13px;display:flex}.home-menu-subheading span{color:var(--teal-dark);letter-spacing:.1em;font-size:12px;font-weight:950}.home-menu-subheading small{color:var(--muted);font-size:12px}.home-timbre-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.home-timbre-card{background:#f8fbfa;border:1px solid #c9d7d4;border-radius:20px;grid-template-rows:1fr auto;min-height:190px;padding:18px;display:grid}.home-timbre-card-heading{grid-template-columns:38px minmax(0,1fr) auto;align-items:start;gap:11px;display:grid}.home-timbre-card-heading .exercise-number{width:38px;height:38px}.home-timbre-card-heading strong,.home-timbre-card-heading small{display:block}.home-timbre-card-heading strong{font-size:16px;line-height:1.25}.home-timbre-card-heading small{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.45}.home-timbre-card-heading>b{color:var(--muted);font-size:12px}.home-timbre-card>button{border:1px solid var(--teal);width:100%;min-height:48px;color:var(--teal-dark);cursor:pointer;background:#fff;border-radius:13px;justify-content:space-between;align-items:center;padding:0 15px;font-weight:900;display:flex}.home-timbre-card>button:hover{background:var(--teal-pale)}.home-support-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.home-support-action{min-height:96px;color:var(--ink);cursor:pointer;text-align:left;background:#f4f8f7;border:1px solid #c7d9d5;border-radius:18px;grid-template-columns:40px minmax(0,1fr);align-content:center;align-items:center;gap:2px 12px;padding:18px;text-decoration:none;display:grid}.home-support-action:hover{border-color:var(--teal);background:var(--teal-pale)}.home-support-action>span{color:var(--teal);text-align:center;grid-row:1/3;font-size:28px}.home-support-action strong,.home-support-action small{grid-column:2}.home-support-action strong{font-size:15px}.home-support-action small{color:var(--muted);font-size:12px;line-height:1.4}.manual-entry-action{color:#fff;cursor:pointer;text-align:left;background:#29496f;border:0;border-radius:20px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;min-height:98px;margin-top:14px;padding:18px 22px;display:grid;box-shadow:0 14px 34px #1933522e}.manual-entry-action:hover{background:#1f3b5e}.manual-entry-action>span:first-child{border:1px solid #ffffff59;border-radius:50%;place-items:center;width:52px;height:52px;font-family:Georgia,serif;font-size:28px;font-weight:800;display:grid}.manual-entry-action strong,.manual-entry-action small{display:block}.manual-entry-action strong{letter-spacing:.025em;font-size:20px}.manual-entry-action small{color:#d7e2ee;margin-top:5px;font-size:13px;line-height:1.4}.manual-entry-action>b{font-size:28px}.home-safe-note{margin:16px 0 0}.session-card{background:var(--white);border:1px solid #116b6824;border-radius:30px;overflow:hidden;box-shadow:0 26px 70px #223e431f}.session-heading{background:var(--teal);color:#fff;justify-content:space-between;align-items:center;gap:20px;padding:28px 30px 24px;display:flex}.session-heading p{color:#bfe1dd;letter-spacing:.14em;margin:0 0 5px;font-size:11px;font-weight:900}.session-heading h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:26px;font-weight:600}.duration{background:#ffffff1a;border:1px solid #ffffff59;border-radius:50%;place-items:center;width:62px;height:62px;font-size:23px;font-weight:800;display:grid}.exercise-list{padding:12px 28px 4px}.exercise-row{border-bottom:1px solid var(--line);padding:18px 0;display:block}.exercise-row-main{grid-template-columns:44px 1fr auto;align-items:center;gap:12px;display:grid}.exercise-number{background:var(--teal-pale);width:36px;height:36px;color:var(--teal-dark);border-radius:50%;place-items:center;font-size:12px;font-weight:900;display:grid}.exercise-row h3,.exercise-row p{margin:0}.exercise-row h3{font-size:16px}.exercise-row p{color:var(--muted);margin-top:4px;font-size:13px}.exercise-duration{color:var(--muted);font-size:12px;font-weight:700}.safe-note{color:#6f473c;background:#fff3ee;border-radius:16px;align-items:flex-start;gap:13px;margin:22px 28px 28px;padding:17px;display:flex}.safe-note>span{font-size:25px;line-height:1}.safe-note p{margin:0;font-size:13px;line-height:1.5}.safe-note strong{margin-bottom:3px;display:block}.practice-shell{max-width:1180px;margin:0 auto 58px;padding:0 22px;scroll-margin-top:24px}.wake-lock-status{width:fit-content;max-width:100%;color:var(--muted);text-align:center;background:#ffffffc2;border:1px solid #c5d1cf;border-radius:999px;align-items:center;gap:8px;margin:0 auto 12px;padding:9px 13px;font-size:12px;font-weight:800;display:flex}.wake-lock-status span{color:#a8b3b1;font-size:9px}.wake-lock-status.active{color:#17623f;background:#edf8f1;border-color:#9bcab3}.wake-lock-status.active span{color:#31a46c}.practice-card{background:var(--white);border:1px solid #116b6829;border-radius:30px;padding:clamp(24px,3vw,38px);box-shadow:0 24px 70px #223e431f}.practice-card h2{letter-spacing:-.025em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(32px,5vw,46px);font-weight:600}.step-label{color:var(--coral);letter-spacing:.13em;margin:0 0 8px;font-size:12px;font-weight:900}.practice-intro{max-width:720px;color:var(--muted);margin:12px 0 20px;font-size:18px;line-height:1.55}.warmup-screen{background:linear-gradient(145deg, #dcecea5c, transparent 42%), var(--white)}.warmup-progress{grid-template-columns:repeat(7,minmax(42px,1fr));gap:9px;margin:24px 0;display:grid}.warmup-progress button{min-height:46px;color:var(--muted);cursor:pointer;background:#fff;border:1px solid #b9cbc7;border-radius:12px;font-weight:900}.warmup-progress button.current{border-color:var(--coral);background:var(--coral);color:#fff;box-shadow:0 8px 20px #d96a4a33}.warmup-progress button.done{border-color:var(--teal);background:var(--teal);color:#fff}.warmup-note-panel{background:#edf7f4;border:1px solid #b8d4cf;border-radius:18px;grid-template-columns:minmax(180px,.8fr) minmax(230px,1.2fr) auto;align-items:center;gap:12px;margin:18px 0;padding:16px;display:grid}.warmup-note-panel>div:first-child span,.warmup-note-panel>div:first-child strong{display:block}.warmup-note-panel>div:first-child span{color:var(--muted);font-size:12px;font-weight:800}.warmup-note-panel>div:first-child strong{color:var(--teal-dark);margin-top:3px;font-size:20px}.warmup-note-panel select{width:100%;min-height:48px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #91bdb5;border-radius:12px;padding:0 38px 0 13px;font-weight:850}.warmup-note-buttons{grid-template-columns:repeat(2,58px);gap:7px;display:grid}.warmup-note-buttons button{border:1px solid var(--teal);min-height:48px;color:var(--teal-dark);cursor:pointer;background:#fff;border-radius:12px;font-size:18px;font-weight:900}.warmup-note-buttons button:last-child{background:var(--teal);color:#fff}.warmup-exercise-card{background:#fff;border:1px solid #116b682e;border-radius:24px;margin-top:20px;padding:clamp(22px,4vw,34px);box-shadow:0 18px 46px #223e4317}.warmup-exercise-heading{grid-template-columns:54px 1fr auto;align-items:center;gap:16px;display:grid}.warmup-exercise-heading>span{background:var(--teal-pale);width:54px;height:54px;color:var(--teal-dark);border-radius:50%;place-items:center;font-weight:950;display:grid}.warmup-exercise-heading small{color:var(--coral);letter-spacing:.12em;font-size:10px;font-weight:900}.warmup-exercise-heading h3{margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(23px,3vw,32px)}.warmup-exercise-heading>strong{min-width:94px;color:var(--teal-dark);text-align:right;font-family:Georgia,Times New Roman,serif;font-size:38px}.warmup-exercise-card>p{color:#40575e;margin:24px 0 16px;font-size:18px;line-height:1.65}.warmup-cue{border-left:4px solid var(--coral);color:#704336;background:#fff3ee;border-radius:8px 14px 14px 8px;align-items:flex-start;gap:11px;padding:14px 16px;line-height:1.5;display:flex}.warmup-cue>span{color:var(--coral);font-size:22px}.warmup-pattern{background:#f4f8f7;border:1px solid #c6d9d5;border-radius:16px;grid-template-columns:1fr auto;align-items:center;gap:16px;margin-top:18px;padding:16px;display:grid}.warmup-pattern span,.warmup-pattern strong,.warmup-pattern small{display:block}.warmup-pattern span{color:var(--muted);font-size:11px;font-weight:850}.warmup-pattern strong{color:var(--teal-dark);margin-top:3px;font-size:18px}.warmup-pattern small{color:var(--muted);margin-top:4px}.warmup-pattern .secondary-action{min-width:190px}.warmup-timer-actions,.warmup-navigation{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:10px;margin-top:14px;display:grid}.warmup-navigation{grid-template-columns:repeat(2,minmax(0,1fr))}.warmup-navigation .next{border-color:var(--coral);color:#8a341f}.warmup-safety{color:#654b20;background:#fff8ea;border:1px solid #e7c88f;border-radius:16px;margin-top:20px;padding:17px 18px}.warmup-safety strong,.warmup-safety span{display:block}.warmup-safety p{margin:6px 0 10px;line-height:1.55}.warmup-safety span{font-size:12px}.warmup-safety a{color:var(--teal-dark);font-weight:850}.warmup-complete{text-align:center}.warmup-mode{background:radial-gradient(circle at 8% 12%, #116b681a, transparent 26rem), radial-gradient(circle at 92% 90%, #d96a4a1a, transparent 28rem), var(--paper);min-height:100vh}.warmup-mode .hero,.warmup-mode .reference-section,.warmup-mode .principles,.warmup-mode .progress-section,.warmup-mode footer{display:none}.practice-topbar{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#faf8f3eb;border-bottom:1px solid #b9cbc7b3;padding-top:18px;padding-bottom:14px;position:sticky;top:0}.warmup-exit-action{color:#4c6066;cursor:pointer;background:#ffffffc7;border:1px solid #c7d2cf;border-radius:999px;min-height:44px;padding:0 16px;font-size:13px;font-weight:850}.warmup-mode .practice-shell{max-width:1240px;min-height:calc(100vh - 92px);margin-bottom:0;padding-bottom:30px}.warmup-mode .practice-card{padding:clamp(22px,3vw,36px)}.warmup-session-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:22px;display:grid}.warmup-session-heading h2{max-width:800px;font-size:clamp(34px,5vw,54px)}.warmup-session-heading>div:first-child>p:last-child{color:var(--muted);margin:10px 0 0;font-weight:750}.warmup-total-progress{min-width:126px;color:var(--teal-dark);background:#edf7f4;border:1px solid #b9d4cf;border-radius:18px;justify-content:center;align-items:baseline;padding:14px 18px;display:flex}.warmup-total-progress strong{font-family:Georgia,Times New Roman,serif;font-size:42px;line-height:1}.warmup-total-progress span{color:var(--muted);font-size:15px;font-weight:850}.warmup-workspace{grid-template-columns:minmax(0,1fr) minmax(250px,.34fr);align-items:start;gap:18px;display:grid}.warmup-exercise-card{margin-top:0}.warmup-exercise-kicker{color:var(--teal-dark);letter-spacing:.08em;align-items:center;gap:10px;font-size:12px;display:flex}.warmup-exercise-kicker span{background:var(--teal);color:#fff;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:950;display:grid}.warmup-visual{background:linear-gradient(145deg,#dceceac2,#fffefbe0);border:1px solid #c4d9d5;border-radius:22px;justify-content:center;align-items:center;gap:24px;min-height:190px;margin-top:18px;padding:22px;display:flex;overflow:hidden}.breath-visual{flex-direction:column}.breath-circle{width:132px;height:132px;color:var(--teal-dark);text-align:center;background:#fffc;border:2px solid #116b686b;border-radius:50%;place-items:center;display:grid;box-shadow:0 0 0 15px #116b6812,0 0 0 30px #116b6809}.breath-circle span,.breath-circle strong,.breath-circle small{grid-area:1/1}.breath-circle span{font-size:11px;font-weight:850;transform:translateY(-25px)}.breath-circle strong{font-family:Georgia,Times New Roman,serif;font-size:23px}.breath-circle small{color:var(--muted);transform:translateY(26px)}.breath-visual.active .breath-circle{animation:8s ease-in-out infinite warmup-breathe}.breath-reminders{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.breath-reminders span{color:#486068;background:#fff;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}@keyframes warmup-breathe{0%,to{background:#fffefb;transform:scale(.78)}45%{background:#dcecea;transform:scale(1.08)}}.airflow-visual{flex-direction:column}.airflow-meter{background:#fff;border:1px solid #9fc8c0;border-radius:999px;width:min(600px,100%);height:76px;position:relative;overflow:hidden}.airflow-meter span{z-index:2;color:var(--teal-dark);letter-spacing:.12em;place-items:center;font-family:Georgia,Times New Roman,serif;font-size:clamp(22px,5vw,38px);font-weight:700;display:grid;position:absolute;inset:0}.airflow-meter i{background:linear-gradient(90deg, #b8ded5, var(--teal));border-radius:999px;width:12%;position:absolute;inset:7px auto 7px 7px}.airflow-visual.active .airflow-meter i{animation:7s linear infinite warmup-airflow}.airflow-visual p{color:var(--muted);text-align:center;margin:0}@keyframes warmup-airflow{0%{width:8%}to{width:calc(100% - 14px)}}.sovt-visual,.resonance-visual{justify-content:center}.sovt-visual>div:last-child strong,.sovt-visual>div:last-child span,.resonance-visual>div:last-child strong,.resonance-visual>div:last-child span{display:block}.sovt-visual>div:last-child strong,.resonance-visual>div:last-child strong{font-family:Georgia,Times New Roman,serif;font-size:24px}.sovt-visual>div:last-child span,.resonance-visual>div:last-child span{color:var(--muted);margin-top:7px}.sovt-symbol{width:112px;height:112px;color:var(--teal);background:#fff;border-radius:50%;place-items:center;font-size:52px;display:grid;position:relative;box-shadow:0 10px 30px #116b681f}.sovt-symbol i{background:var(--coral);border-radius:999px;width:66px;height:9px;position:absolute;transform:translate(55px,18px)rotate(-8deg)}.sovt-visual.active .sovt-symbol{animation:1.4s ease-in-out infinite warmup-pulse}.resonance-rings{place-items:center;width:126px;height:126px;display:grid;position:relative}.resonance-rings span{z-index:2;background:var(--teal);color:#fff;border-radius:50%;place-items:center;width:74px;height:74px;font-family:Georgia,Times New Roman,serif;font-size:38px;display:grid;position:relative}.resonance-rings i{border:2px solid #116b6857;border-radius:50%;width:98px;height:98px;position:absolute}.resonance-rings i:last-child{border-color:#116b682e;width:124px;height:124px}.resonance-visual.active .resonance-rings i{animation:1.8s ease-out infinite warmup-resonance}.resonance-visual.active .resonance-rings i:last-child{animation-delay:.45s}@keyframes warmup-pulse{50%{transform:scale(1.06)}}@keyframes warmup-resonance{0%{opacity:.8;transform:scale(.62)}to{opacity:0;transform:scale(1.15)}}.pattern-visual{align-items:flex-end;gap:8px}.warmup-note-chip{min-width:54px;min-height:54px;color:var(--teal-dark);background:#fff;border-radius:15px;place-items:center;padding:7px;display:grid;box-shadow:0 8px 22px #116b6817}.warmup-note-chip small{color:var(--coral);text-transform:uppercase;font-size:9px;font-weight:900}.warmup-note-chip strong{font-size:14px}.warmup-note-chip.interval-2{transform:translateY(-18px)}.warmup-note-chip.interval-4{transform:translateY(-36px)}.warmup-note-chip.interval-5{transform:translateY(-54px)}.warmup-note-chip.interval-7{background:var(--teal);color:#fff;transform:translateY(-72px)}.pattern-visual.active .warmup-note-chip{animation:1.5s ease-in-out infinite alternate warmup-note-glow}.pattern-visual.active .warmup-note-chip:nth-child(2){animation-delay:.12s}.pattern-visual.active .warmup-note-chip:nth-child(3){animation-delay:.24s}.pattern-visual.active .warmup-note-chip:nth-child(4){animation-delay:.36s}.pattern-visual.active .warmup-note-chip:nth-child(5){animation-delay:.48s}@keyframes warmup-note-glow{to{box-shadow:0 9px 26px #d96a4a42}}.glissando-visual{padding-bottom:42px;position:relative}.glissando-visual>span{width:58px;height:58px;color:var(--teal-dark);background:#fff;border-radius:50%;place-items:center;font-weight:900;display:grid}.glissando-visual>span:nth-of-type(2){background:var(--teal);color:#fff;transform:translateY(-55px)}.glissando-path{width:min(390px,58vw);height:88px;color:var(--coral);justify-content:space-around;align-items:center;font-size:64px;display:flex;position:relative}.glissando-path i{border-top:4px solid var(--coral);border-radius:50%;width:100%;height:70px;position:absolute;transform:translateY(38px)}.glissando-path strong,.glissando-path b{z-index:2;font-weight:500;position:relative}.glissando-visual small{color:var(--muted);position:absolute;bottom:16px}.glissando-visual.active .glissando-path{animation:1.8s ease-in-out infinite warmup-glissando}@keyframes warmup-glissando{50%{transform:translateY(-8px)}}.warmup-exercise-card>.warmup-note-panel{margin-top:20px;margin-bottom:0}.warmup-control-rail{background:#ffffffd1;border:1px solid #c7d5d2;border-radius:24px;padding:18px;position:sticky;top:16px;box-shadow:0 14px 38px #223e4314}.warmup-timer-card{background:var(--teal-dark);color:#fff;text-align:center;border-radius:18px;padding:20px 14px}.warmup-timer-card span,.warmup-timer-card strong,.warmup-timer-card small{display:block}.warmup-timer-card span{letter-spacing:.12em;font-size:10px;font-weight:900}.warmup-timer-card strong{margin:10px 0 5px;font-family:Georgia,Times New Roman,serif;font-size:54px;line-height:1}.warmup-timer-card small{color:#cbe3df;line-height:1.4}.warmup-control-rail .warmup-timer-actions{grid-template-columns:1fr}.warmup-control-rail .warmup-timer-actions button{min-height:54px}.warmup-control-rail .warmup-safety{margin-top:14px}.warmup-sources{border-top:1px solid #654b202e;margin-top:10px;padding-top:9px}.warmup-navigation{margin-top:18px}.warmup-navigation button{min-height:84px;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border:1px solid #b9cbc7;border-radius:18px;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 13px;padding:14px 18px;display:grid}.warmup-navigation button>span{grid-row:1/-1;font-size:28px}.warmup-navigation button>small,.warmup-navigation button>strong{grid-column:2}.warmup-navigation button>small{color:var(--muted);letter-spacing:.12em;font-size:9px;font-weight:950}.warmup-navigation button>strong{white-space:normal;line-height:1.3}.warmup-navigation .warmup-next{border-color:var(--coral);color:#84351f;text-align:right;background:#fff5f1;grid-template-columns:minmax(0,1fr) auto}.warmup-navigation .warmup-next>span{grid-column:2}.warmup-navigation .warmup-next>small,.warmup-navigation .warmup-next>strong{grid-column:1}@media (prefers-reduced-motion:reduce){.breath-visual.active .breath-circle,.airflow-visual.active .airflow-meter i,.sovt-visual.active .sovt-symbol,.resonance-visual.active .resonance-rings i,.pattern-visual.active .warmup-note-chip,.glissando-visual.active .glissando-path{animation:none}}.check-row{border:1px solid var(--line);cursor:pointer;background:#fbfcfa;border-radius:16px;align-items:center;gap:15px;min-height:70px;margin:12px 0;padding:16px 18px;font-size:17px;font-weight:700;line-height:1.45;display:flex}.check-row:has(input:checked){border-color:var(--teal);background:#edf7f4}.check-row input{width:25px;height:25px;accent-color:var(--teal);flex:0 0 25px}.medical-note{border-left:5px solid var(--coral);color:#704a3e;background:#fff3ee;border-radius:6px 14px 14px 6px;margin:24px 0;padding:16px 18px;font-size:14px;font-weight:650;line-height:1.55}.exercise-topline{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.exercise-topline .step-label{margin:0}.exercise-topline>span{color:var(--muted);font-size:13px;font-weight:800}.tone-box{background:#edf7f4;border:1px solid #bcd7d3;border-radius:18px;justify-content:space-between;align-items:center;gap:22px;margin:26px 0;padding:18px;display:flex}.tone-box strong,.tone-box span{display:block}.tone-box strong{color:var(--teal-dark);font-size:16px}.tone-box span{color:var(--muted);margin-top:5px;font-size:13px;line-height:1.4}.secondary-action{border:1px solid var(--teal);min-height:48px;color:var(--teal-dark);cursor:pointer;background:#fff;border-radius:13px;padding:0 20px;font-weight:900}.secondary-action:hover{background:var(--teal-pale)}.note-control-panel{background:#f3f8f6;border:2px solid #9fc9c2;border-radius:20px;margin-top:18px;padding:18px}.note-control-panel.practice{margin:24px 0;padding:22px}.note-control-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.note-control-heading>div:first-child>strong,.note-control-heading>div:first-child>span{display:block}.note-control-heading>div:first-child>strong{color:var(--teal-dark);font-size:17px}.note-control-heading>div:first-child>span{color:var(--muted);margin-top:5px;font-size:13px;line-height:1.45}.note-value-badge{background:var(--teal);color:#fff;text-align:center;border-radius:15px;min-width:150px;padding:11px 14px}.note-value-badge strong,.note-value-badge span{display:block}.note-value-badge strong{font-family:Georgia,serif;font-size:30px}.note-value-badge span{color:#d9efeb;margin-top:2px;font-size:12px;font-weight:800}.note-control-select{margin-top:18px;display:block}.note-control-select>span{color:var(--muted);margin:0 0 6px 3px;font-size:12px;font-weight:850;display:block}.note-control-select select{width:100%;min-height:52px;color:var(--ink);cursor:pointer;background:#fff;border:2px solid #8ebdb5;border-radius:13px;padding:0 38px 0 14px;font-size:16px;font-weight:850}.pitch-shift-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.pitch-shift-group{background:#fff;border:1px solid #c7d9d5;border-radius:16px;padding:12px}.pitch-shift-title{color:var(--muted);letter-spacing:.05em;text-align:center;margin-bottom:8px;font-size:11px;font-weight:900;display:block}.pitch-shift-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.pitch-shift-button{border:2px solid var(--teal);min-height:72px;color:var(--teal-dark);cursor:pointer;background:#fff;border-radius:14px;place-items:center;padding:10px 8px;font-weight:900;display:grid}.pitch-shift-button strong,.pitch-shift-button span{display:block}.pitch-shift-button strong{font-size:27px;line-height:1}.pitch-shift-button span{letter-spacing:.025em;margin-top:5px;font-size:11px;line-height:1.2}.octave-lower,.octave-higher{border-color:var(--coral);color:#8a341f}.octave-higher{background:var(--coral);color:#fff}.semitone-higher{background:var(--teal);color:#fff}.pitch-shift-button:hover,.note-control-select select:hover{background:var(--teal-pale);color:var(--teal-dark)}.pitch-shift-button:disabled,.note-control-select select:disabled,.note-control-listen:disabled{cursor:not-allowed;opacity:.55}.note-control-listen{white-space:nowrap;width:100%;min-height:52px;margin-top:12px}.range-warning{color:#7b4e08;background:#fff4e4;border:1px solid #e7c88f;border-radius:13px;margin:14px 0 0;padding:12px 14px;font-size:13px;font-weight:800;line-height:1.45}.microphone-button span{color:#ffd2c5;margin-right:8px;display:inline-block}.safe-start{min-height:72px;line-height:1.35}.recording-panel{background:var(--ink);color:#fff;border-radius:20px;grid-template-columns:86px 1fr;align-items:center;gap:22px;min-height:150px;padding:24px;display:grid}.countdown{border:2px solid #ffffff59;border-radius:50%;place-items:center;width:78px;height:78px;font-family:Georgia,serif;font-size:38px;display:grid}.recording-panel strong{font-size:20px}.recording-panel small{color:#c2d0d3}.calibration-steps{justify-content:center;align-items:center;gap:18px;margin:24px 0;display:flex}.calibration-steps span{border:2px solid var(--line);width:52px;height:52px;color:var(--muted);border-radius:50%;place-items:center;font-size:18px;font-weight:900;display:grid}.calibration-steps span.current{border-color:var(--coral);color:var(--coral);background:#fff3ee}.calibration-steps span.done{border-color:var(--teal);background:var(--teal);color:#fff}.baseline-grid,.pitch-result-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0;display:grid}.pitch-result-grid{grid-template-columns:repeat(4,1fr)}.baseline-grid article,.pitch-result-grid article{border:1px solid var(--line);text-align:center;background:#fbfcfa;border-radius:17px;padding:20px}.baseline-grid span,.pitch-result-grid span{min-height:38px;color:var(--muted);font-size:13px;font-weight:750;display:block}.baseline-grid strong,.pitch-result-grid strong{color:var(--teal-dark);margin-top:7px;font-family:Georgia,serif;font-size:34px;display:block}.pitch-result-grid .accent{border-color:var(--teal);background:var(--teal-pale)}.pitch-result-grid small{color:var(--muted);margin-top:7px;font-size:11px;font-weight:750;display:block}.note-picker{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.suggested-note-row{margin-top:18px}.suggested-note-row>span{color:var(--muted);margin-left:3px;font-size:12px;font-weight:850;display:block}.suggested-note-row .note-picker{margin:7px 0 0}.note-picker button{min-width:74px;min-height:48px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #bdcac7;border-radius:13px;font-weight:850}.note-picker button.active{border-color:var(--teal);background:var(--teal);color:#fff}.pitch-target{background:#edf7f4;border:1px solid #bcd7d3;border-radius:18px;justify-content:space-between;align-items:center;gap:20px;margin:14px 0;padding:15px 18px;display:flex}.pitch-target span,.pitch-target strong,.pitch-target small{display:block}.pitch-target span{color:var(--muted);font-size:12px;font-weight:800}.pitch-target strong{color:var(--teal-dark);margin:3px 0;font-family:Georgia,serif;font-size:34px}.pitch-target small{color:var(--muted)}.live-pitch{text-align:center;background:#f8faf9;border:2px solid #d5dfdc;border-radius:22px;padding:16px}.live-pitch.idle{background:#f2f9f7;border-color:#9fc7c0}.live-pitch+.primary-action{margin-top:18px}.pitch-preview-copy strong,.pitch-preview-copy span{display:block}.pitch-preview-copy strong{color:var(--teal-dark);font-family:Georgia,Times New Roman,serif;font-size:22px}.pitch-preview-copy span{max-width:560px;color:var(--muted);margin:7px auto 0;font-size:13px;line-height:1.5}.live-pitch.correct{background:#edf8f1;border-color:#4aa57d}.live-pitch.adjust{background:#fff8e9;border-color:#e4aa56}.live-pitch.off{background:#fff0ed;border-color:#c85d50}.pitch-live-top{text-align:left;justify-content:center;align-items:center;gap:24px;max-width:370px;margin:0 auto;display:flex}.pitch-live-top span,.pitch-live-top strong{display:block}.pitch-live-top span{color:var(--muted);font-size:12px;font-weight:800}.pitch-live-top strong{margin-top:3px;font-family:Georgia,serif;font-size:30px}.pitch-visualizer{background:linear-gradient(#f5c3b9 0% 16%,#f8ddb0 17% 33%,#bfe2ce 34% 66%,#f8ddb0 67% 83%,#f5c3b9 84% 100%);border:1px solid #c8d4d1;border-radius:22px;max-width:600px;height:230px;margin:28px auto 16px;position:relative;overflow:hidden}.pitch-visualizer:before,.pitch-visualizer:after{content:"";background:#142a3224;height:1px;position:absolute;left:0;right:0}.pitch-visualizer:before{top:33%}.pitch-visualizer:after{top:67%}.pitch-target-line{z-index:2;background:#087747;border:2px solid #fff;border-radius:999px;height:9px;position:absolute;top:50%;left:26px;right:26px;transform:translateY(-50%);box-shadow:0 2px 9px #0a4d3447,0 0 0 2px #08774721}.pitch-target-name{z-index:4;color:#fff;background:#116542;border-radius:8px;padding:4px 8px;font-size:11px;font-weight:900;line-height:1;position:absolute;top:50%;left:34px;transform:translateY(-50%)}.pitch-trace{z-index:3;width:calc(100% - 52px);height:100%;position:absolute;inset:0 26px;overflow:visible}.pitch-trace polyline{fill:none;stroke:#164f91;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px;vector-effect:non-scaling-stroke}.pitch-trace circle{fill:#164f91;stroke:#fff;stroke-width:1.5px;vector-effect:non-scaling-stroke}.pitch-voice-line{z-index:3;background:#164f91;border:2px solid #fff;border-radius:999px;height:6px;transition:top .18s ease-out;position:absolute;left:26px;right:26px;transform:translateY(-50%);box-shadow:0 2px 9px #164f914d,0 0 0 2px #164f911f}.pitch-voice-line span{color:#fff;letter-spacing:.05em;background:#164f91;border-radius:7px;padding:3px 7px;font-size:9px;font-weight:900;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.pitch-time-label{z-index:4;color:#142a32b3;font-size:11px;font-weight:850;position:absolute;bottom:7px;right:12px}.pitch-scale{z-index:1;color:#142a329e;font-size:11px;font-weight:850;position:absolute;left:8px}.pitch-scale-top{top:7px}.pitch-scale-centre{top:50%;transform:translateY(-50%)}.pitch-scale-bottom{bottom:7px}.pitch-line-key{color:var(--muted);justify-content:center;align-items:center;gap:24px;margin:0 auto 12px;font-size:12px;font-weight:800;display:flex}.pitch-line-key span:before{vertical-align:middle;content:"";border-radius:99px;width:30px;height:4px;margin-right:7px;display:inline-block}.target-key:before{background:#168057}.voice-key:before{background:#164f91}.pitch-display-switch{text-align:left;background:#edf7f4;border:1px solid #c8d9d5;border-radius:15px;justify-content:space-between;align-items:center;gap:14px;margin-top:14px;padding:10px 12px;display:flex}.pitch-display-switch strong,.pitch-display-switch span{display:block}.pitch-display-switch strong{color:var(--teal-dark);font-size:13px}.pitch-display-switch span{color:var(--muted);margin-top:2px;font-size:10px}.pitch-display-switch-actions{flex:none;gap:6px;display:flex}.pitch-display-switch-actions button{min-height:38px;color:var(--teal-dark);letter-spacing:.03em;cursor:pointer;background:#fff;border:1px solid #94b6b0;border-radius:10px;padding:8px 12px;font-size:10px;font-weight:900}.pitch-display-switch-actions button.active{border-color:var(--teal-dark);background:var(--teal-dark);color:#fff}.analysis-dual-grid{grid-template-columns:minmax(0,1.75fr) minmax(285px,.9fr);align-items:stretch;gap:14px;margin-top:14px;display:grid}.analysis-panel{text-align:left;background:#ffffffd1;border:1px solid #c8d4d1;border-radius:18px;min-width:0;padding:14px}.analysis-panel>header{justify-content:space-between;align-items:center;gap:12px;min-height:42px;display:flex}.analysis-panel>header span,.analysis-panel>header strong{display:block}.analysis-panel>header span{color:var(--coral);letter-spacing:.12em;font-size:10px;font-weight:900}.analysis-panel>header strong{color:var(--ink);margin-top:2px;font-family:Georgia,Times New Roman,serif;font-size:21px}.analysis-panel>header b{background:var(--teal-pale);color:var(--teal-dark);border-radius:10px;padding:6px 10px;font-size:14px}.analysis-panel>p{min-height:18px;color:var(--muted);text-align:center;margin:7px 0 0;font-size:11px;font-weight:750;line-height:1.45}.voice-spectrum{color:#fff;background:#102f3a;border:1px solid #b9cdd1;border-radius:14px;margin-top:12px;padding:12px}.voice-spectrum-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.voice-spectrum-heading strong,.voice-spectrum-heading span{display:block}.voice-spectrum-heading strong{font-family:Georgia,Times New Roman,serif;font-size:16px}.voice-spectrum-heading span,.voice-spectrum-heading small{color:#a9d5d4;letter-spacing:.09em;font-size:8px;font-weight:850}.voice-spectrum-bars{background:linear-gradient(#ffffff14,#0000),repeating-linear-gradient(#0000 0 26px,#ffffff14 27px);border-radius:9px;align-items:flex-end;gap:3px;height:108px;margin-top:10px;padding:7px 7px 0;display:flex}.voice-spectrum-bars span{background:linear-gradient(#69d5e5 0%,#2788c3 45%,#164f91 100%);border-radius:4px 4px 1px 1px;flex:1 1 0;min-width:2px;transition:height .1s linear;box-shadow:0 0 8px #4ab4dc33}.voice-spectrum-axis{color:#a9c1c8;justify-content:space-between;margin-top:5px;font-size:8px;font-weight:750;display:flex}.voice-spectrum>p{color:#c5d7db;text-align:center;margin:8px 0 0;font-size:9px;line-height:1.35}.analysis-dual-grid .pitch-visualizer{border-radius:16px;width:100%;height:240px;margin:12px auto 8px}.analysis-dual-grid .pitch-line-key{margin-bottom:4px}.analysis-dual-grid .dynamics-visualizer{--dynamics-meter-height:245px;border-radius:16px;grid-template-columns:42px 30px minmax(72px,1fr) 86px;gap:7px;min-height:270px;margin:12px auto 8px;padding:12px 10px}.analysis-dual-grid .dynamics-scale,.analysis-dual-grid .dynamics-rail{height:245px}.analysis-dual-grid .dynamics-scale{font-size:13px}.analysis-dual-grid .dynamics-scale span{min-height:16px}.analysis-dual-grid .dynamics-rail{width:25px}.analysis-dual-grid .dynamics-marker{left:-9px;right:-9px}.analysis-dual-grid .dynamics-reading span{font-size:9px}.analysis-dual-grid .dynamics-reading strong{margin-top:4px;font-size:35px}.analysis-dual-grid .dynamics-reading em{margin-top:9px;font-size:9px;line-height:1.35}.analysis-dual-grid .dbfs-meter{padding:7px 5px}.analysis-dual-grid .dbfs-heading span{font-size:7px}.analysis-dual-grid .dbfs-heading strong{font-size:16px}.analysis-dual-grid .dbfs-heading small,.analysis-dual-grid .dbfs-peak,.analysis-dual-grid .dbfs-meter p{font-size:7px}.analysis-session-status{background:var(--ink);color:#fff;text-align:left;border-radius:15px;justify-content:center;align-items:center;gap:14px;margin-bottom:12px;padding:10px 14px;font-size:14px;font-weight:800;display:flex}.analysis-session-status .countdown{flex:0 0 54px;width:54px;height:54px;font-size:28px}.exercise-analysis-live{background:#f8faf9;border:2px solid #d5dfdc;border-radius:20px;margin-top:15px;padding:14px}.exercise-analysis-live.idle{background:#f2f9f7;border-color:#9fc7c0}.exercise-analysis-live.correct{background:#edf8f1;border-color:#4aa57d}.exercise-analysis-live.adjust{background:#fff8e9;border-color:#e4aa56}.exercise-analysis-live.off{background:#fff0ed;border-color:#c85d50}.exercise-analysis-live+.primary-action{margin-top:14px}.inline-calibration-note{color:#705d37;text-align:center;background:#fff8e8;border-radius:11px;margin:10px 0 0;padding:10px 12px;font-size:11px;line-height:1.45}.dynamics-visualizer{--dynamics-meter-height:340px;background:linear-gradient(#fff1ed,#fff9e9 48%,#eef8f4);border:1px solid #c8d4d1;border-radius:22px;grid-template-columns:74px 62px minmax(150px,1fr) 118px;align-items:stretch;gap:15px;max-width:720px;min-height:390px;margin:25px auto 17px;padding:22px 28px;display:grid}.dynamics-scale{height:340px;color:var(--muted);text-align:right;flex-direction:column;justify-content:space-between;font-family:Georgia,Times New Roman,serif;font-size:16px;font-style:italic;font-weight:800;display:flex}.dynamics-scale span{min-height:22px;transition:color .12s,transform .12s}.dynamics-scale span.active{color:#8f2e27;transform:scale(1.15)}.dynamics-rail{background:repeating-linear-gradient(0deg,#0000 0 calc(11.111% - 1px),#142a3233 calc(11.111% - 1px) 11.111%),#d8e2df;border:2px solid #fff;border-radius:999px;width:34px;height:340px;margin:0 auto;position:relative;overflow:visible;box-shadow:0 0 0 1px #b7c5c2}.dynamics-fill{background:linear-gradient(#d15c4c,#e9b544 34%,#168057);border-radius:999px;min-height:0;transition:height .12s linear;position:absolute;bottom:0;left:0;right:0}.dynamics-marker{z-index:2;background:#164f91;border:2px solid #fff;border-radius:999px;height:7px;transition:bottom .12s linear;position:absolute;left:-13px;right:-13px;box-shadow:0 2px 8px #164f9159}.dynamics-reading{text-align:left;flex-direction:column;align-self:center;display:flex}.dynamics-reading span,.dynamics-reading small,.dynamics-reading em{color:var(--muted)}.dynamics-reading span{text-transform:uppercase;font-size:12px;font-weight:850}.dynamics-reading strong{color:var(--teal-dark);margin:7px 0 3px;font-family:Georgia,Times New Roman,serif;font-size:52px;font-style:italic}.dynamics-reading small{font-weight:800}.dynamics-reading em{max-width:240px;margin-top:18px;font-size:12px;font-style:normal;line-height:1.5}.dynamics-visualizer.uncalibrated .dynamics-rail,.dynamics-visualizer.uncalibrated .dynamics-scale{opacity:.58}.dbfs-meter{background:#ffffffb8;border:1px solid #b9c8c5;border-radius:15px;flex-direction:column;align-items:stretch;min-width:0;padding:10px 8px;display:flex}.dbfs-heading{text-align:center}.dbfs-heading span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:900;line-height:1.15;display:block}.dbfs-heading strong{color:var(--teal-dark);font-variant-numeric:tabular-nums;margin-top:3px;font-size:21px;line-height:1;display:block}.dbfs-heading small{color:var(--muted);margin-top:2px;font-size:9px;display:block}.dbfs-scale-wrap{height:var(--dynamics-meter-height);grid-template-columns:27px 25px;gap:5px;min-height:0;margin:7px auto;display:grid}.dbfs-labels{color:#63777a;text-align:right;flex-direction:column;justify-content:space-between;height:100%;font-size:8px;font-weight:850;line-height:1;display:flex}.dbfs-rail{background:linear-gradient(#eaa69e 0%,#f4d99b 12%,#dce7e4 25% 100%);border:2px solid #fff;border-radius:999px;width:25px;height:100%;position:relative;overflow:visible;box-shadow:0 0 0 1px #b6c5c2,inset 0 0 0 1px #17353b14}.dbfs-fill{background:linear-gradient(#d34f45 0%,#e9b544 20%,#168057 100%);border-radius:999px;transition:height .1s linear;position:absolute;bottom:0;left:0;right:0}.dbfs-current-marker,.dbfs-peak-marker{z-index:2;transition:bottom .1s linear;position:absolute}.dbfs-current-marker{background:#164f91;border:1px solid #fff;border-radius:999px;height:5px;left:-5px;right:-5px;box-shadow:0 1px 5px #164f916b}.dbfs-peak-marker{background:#111f25;height:2px;left:-8px;right:-8px;box-shadow:0 0 0 1px #fff}.dbfs-peak{color:var(--muted);text-align:center;gap:1px;font-size:9px;font-weight:800;display:grid}.dbfs-peak strong{color:var(--ink);font-variant-numeric:tabular-nums}.dbfs-meter p{color:#36665a;text-align:center;min-height:2.5em;margin:5px 0 0;font-size:8px;font-weight:850;line-height:1.25}.dbfs-meter.near{background:#fff8e6;border-color:#d89d39}.dbfs-meter.near p{color:#8a5c10}.dbfs-meter.clip{background:#fff0ee;border-color:#c64b43}.dbfs-meter.clip p{color:#9a2f29}.dynamics-calibration-card{text-align:left;background:#fff8e8;border:1px solid #d6bc84;border-radius:17px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:18px;padding:18px;display:grid}.dynamics-calibration-card p{color:#6e6047;margin:5px 0;font-size:13px;line-height:1.5}.dynamics-calibration-card small{color:var(--muted);font-size:11px;display:block}.pitch-calibration-card{background:#f0faf7;border-color:#aac9c1}.dynamics-warning{color:#705d37;background:#fff8e8;border:1px solid #d6bc84;border-radius:13px;margin-top:12px;padding:13px 15px;font-size:12px;font-weight:750;line-height:1.5}.live-pitch>small{color:var(--muted);font-weight:750}.pitch-result-trace{background:#f4f9f7;border:1px solid #c6d9d5;border-radius:20px;margin:24px 0 30px;padding:22px}.pitch-result-trace h3,.pitch-result-trace>p{text-align:center;margin:0}.pitch-result-trace h3{font-family:Georgia,Times New Roman,serif;font-size:25px}.pitch-result-trace>p{color:var(--muted);margin-top:7px;font-size:13px}.pitch-result-trace .pitch-visualizer{margin-top:20px}.level-track{background:#ffffff29;border-radius:99px;height:14px;margin:14px 0 8px;overflow:hidden}.level-track span{border-radius:inherit;background:linear-gradient(90deg,#64c7a6,#ffd067);height:100%;transition:width .1s linear;display:block}.error-message{color:#8d2f29;background:#fff0ed;border:1px solid #e7aaa0;border-radius:14px;margin-top:18px;padding:16px 18px;font-size:14px;font-weight:750;line-height:1.5}.mic-diagnostic{color:var(--teal-dark);text-align:center;background:#f3f7f5;border:1px solid #b9cac7;border-radius:12px;margin-top:10px;padding:12px 15px;font-size:13px;font-weight:800}.local-note{color:var(--muted);text-align:center;margin:15px 0 0;font-size:12px}.score-heading{grid-template-columns:150px 1fr;align-items:center;gap:26px;margin:20px 0 30px;display:grid}.main-score{background:var(--teal);color:#fff;border-radius:50%;align-content:center;place-items:center;width:140px;height:140px;display:grid}.main-score strong{font-family:Georgia,serif;font-size:56px;line-height:.95}.main-score span{color:#bfe1dd;margin-top:7px;font-size:13px;font-weight:800}.score-heading p{color:var(--muted);margin:10px 0 0;line-height:1.5}.metric-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.metric-grid article{border:1px solid var(--line);background:#fbfcfa;border-radius:16px;padding:18px}.metric-grid span{min-height:38px;color:var(--muted);font-size:13px;font-weight:750;line-height:1.4;display:block}.metric-grid strong{margin:8px 0;font-family:Georgia,serif;font-size:30px;display:block}.metric-grid article>div{background:var(--line);border-radius:99px;height:7px;overflow:hidden}.metric-grid i{border-radius:inherit;background:var(--teal);height:100%;display:block}.coach-note{background:#fff3ee;border-radius:18px;gap:15px;margin:24px 0;padding:20px;display:flex}.coach-note>span{color:var(--coral);font-family:Georgia,serif;font-size:31px}.coach-note p{color:#6f473c;margin:5px 0 0;line-height:1.55}.result-actions{grid-template-columns:.55fr 1fr;gap:12px;display:grid}.complete-screen{text-align:center}.complete-screen .practice-intro{margin-left:auto;margin-right:auto}.complete-mark{background:var(--teal);color:#fff;border-radius:50%;place-items:center;width:74px;height:74px;margin:0 auto 22px;font-size:40px;font-weight:900;display:grid}.session-summary{text-align:left;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0;display:grid}.session-summary article{border:1px solid var(--line);border-radius:15px;align-items:center;gap:12px;padding:16px;display:flex}.session-summary article>span{background:var(--teal-pale);width:35px;height:35px;color:var(--teal-dark);border-radius:50%;flex:0 0 35px;place-items:center;font-size:12px;font-weight:900;display:grid}.session-summary strong,.session-summary small{display:block}.session-summary strong{font-size:13px}.session-summary small{color:var(--teal);margin-top:4px;font-weight:850}.reference-section{background:linear-gradient(135deg, #dceceac7, #fffefbeb), var(--white);border:1px solid #116b682e;border-radius:30px;max-width:1184px;margin:0 auto 76px;padding:42px;box-shadow:0 20px 56px #223e4314}.reference-heading{grid-template-columns:minmax(0,.8fr) minmax(320px,1.2fr);align-items:end;gap:42px;margin-bottom:28px;display:grid}.reference-heading .eyebrow{margin-bottom:10px}.reference-heading h2{letter-spacing:-.025em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,4vw,48px);font-weight:600}.reference-heading>p{color:#4d6269;margin:0;font-size:15px;line-height:1.7}.reference-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.reference-card{background:#fffefbe6;border:1px solid #cbd8d5;border-radius:20px;flex-direction:column;min-width:0;padding:20px;display:flex}.reference-card.selected{border-color:var(--teal);box-shadow:inset 0 0 0 2px #116b681f}.reference-card-title{align-items:center;gap:11px;display:flex}.reference-card-title>span{background:var(--teal);color:#fff;border-radius:12px;flex:0 0 39px;place-items:center;width:39px;height:39px;font-size:19px;display:grid}.reference-card h3,.reference-card p{margin:0}.reference-card h3{font-family:Georgia,Times New Roman,serif;font-size:22px}.reference-card small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.reference-card>p{min-height:66px;color:var(--muted);margin:16px 0 14px;font-size:13px;line-height:1.55}.reference-card audio{width:100%;min-width:0;height:42px}.reference-practice-action{border:1px solid var(--teal);width:100%;min-height:44px;color:var(--teal-dark);cursor:pointer;background:0 0;border-radius:12px;margin-top:14px;padding:9px 10px;font-size:12px;font-weight:850}.reference-practice-action:hover{background:var(--teal);color:#fff}.sample-verification{background:#edf8f1;border:1px solid #94c9b0;border-radius:16px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:14px;margin-top:22px;padding:18px 20px;display:grid}.sample-verification>span{color:#fff;background:#167548;border-radius:50%;place-items:center;width:42px;height:42px;font-size:22px;font-weight:900;display:grid}.sample-verification strong{color:#115d3b}.sample-verification p{color:#456159;margin:4px 0 0;font-size:12px;line-height:1.55}.reference-guidance{color:#fff;background:#142a32f0;border-radius:16px;grid-template-columns:210px 1fr;gap:20px;margin-top:22px;padding:18px 20px;display:grid}.reference-guidance strong{color:#bfe1dd}.reference-guidance p{color:#ffffffd1;margin:0;font-size:13px;line-height:1.55}.reference-attribution{color:var(--muted);margin:17px 2px 0;font-size:11px;line-height:1.55}.reference-attribution a{color:var(--teal-dark);font-weight:800}.principles{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:22px;max-width:1184px;margin:0 auto 70px;padding:34px;display:grid}.principles article{align-items:flex-start;gap:15px;display:flex}.principles article>span{background:var(--ink);color:#fff;border-radius:10px;flex:0 0 34px;place-items:center;width:34px;height:34px;font-family:Georgia,serif;font-weight:800;display:grid}.principles h2,.principles p{margin:0}.principles h2{font-family:Georgia,serif;font-size:20px}.principles p{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.55}.progress-section{max-width:1184px;margin:0 auto 70px;padding:0 28px;scroll-margin-top:24px}.progress-overview{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.progress-overview article{border:1px solid var(--line);background:#ffffffb8;border-radius:16px;padding:18px}.progress-overview span,.progress-overview strong,.progress-overview small{display:block}.progress-overview span{color:var(--muted);font-size:12px;font-weight:800}.progress-overview strong{color:var(--teal-dark);margin:8px 0 5px;font-family:Georgia,serif;font-size:25px}.progress-overview small{color:var(--muted);font-size:10px;line-height:1.35}.progress-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:20px;display:flex}.progress-heading .eyebrow{margin-bottom:7px}.progress-heading h2{margin:0;font-family:Georgia,serif;font-size:34px;font-weight:600}.text-button{border:0;border-bottom:1px solid var(--muted);color:var(--muted);cursor:pointer;background:0 0;padding:8px 0;font-size:13px}.history-list{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.history-list article{border:1px solid var(--line);background:#ffffffab;border-radius:17px;grid-template-columns:58px 1fr auto;align-items:center;gap:14px;min-height:92px;padding:16px;display:grid}.history-score{background:var(--teal);color:#fff;border-radius:16px;place-items:center;width:54px;height:54px;font-family:Georgia,serif;font-size:24px;font-weight:800;display:grid}.history-list strong{font-size:15px}.history-list p{color:var(--muted);margin:5px 0 0;font-size:12px}.history-list article>span{color:var(--muted);text-align:right;font-size:11px}.empty-history{color:var(--muted);text-align:center;border:1px dashed #b8c7c4;border-radius:18px;padding:28px}.tuner-screen{max-width:1040px}.tuner-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;display:flex}.tuner-heading h2{margin:5px 0 8px}.tuner-heading p:last-child{max-width:720px;color:var(--muted);margin:0;line-height:1.6}.tuner-home-action{color:var(--teal-dark);cursor:pointer;background:#fff;border:1px solid #a9bfba;border-radius:12px;flex:none;padding:11px 16px;font-weight:850}.tuner-mode-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.tuner-mode-selector button{min-height:76px;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border:2px solid #c9d6d3;border-radius:16px;flex-direction:column;justify-content:center;align-items:flex-start;padding:14px 18px;display:flex}.tuner-mode-selector button.active{border-color:var(--teal);color:var(--teal-dark);box-shadow:inset 0 0 0 1px var(--teal);background:#e9f5f2}.tuner-mode-selector strong,.tuner-mode-selector span{display:block}.tuner-mode-selector strong{font-size:18px}.tuner-mode-selector span{color:var(--muted);margin-top:4px;font-size:12px}.tuner-display{background:linear-gradient(145deg,#f8fbfa,#e9efed);border:3px solid #aebfbb;border-radius:28px;grid-template-columns:minmax(220px,.72fr) minmax(360px,1.28fr);align-items:center;gap:clamp(24px,5vw,58px);padding:clamp(22px,4vw,38px);display:grid;box-shadow:inset 0 1px #fff,0 15px 34px #142a321a}.tuner-display.correct{background:linear-gradient(145deg,#f6fff9,#dff4e8);border-color:#168058}.tuner-display.adjust{background:linear-gradient(145deg,#fffdf7,#fff0d2);border-color:#d38b26}.tuner-display.off{background:linear-gradient(145deg,snow,#fbe4e1);border-color:#c64f45}.tuner-note-readout{text-align:center}.tuner-note-readout>span,.tuner-note-readout>strong,.tuner-note-readout>b,.tuner-note-readout>small{display:block}.tuner-listening-state{color:var(--muted);letter-spacing:.08em;font-size:11px;font-weight:900}.tuner-running .tuner-listening-state,.tuner-display.correct .tuner-listening-state{color:#116b4a}.tuner-note-readout>strong{color:var(--ink);margin:8px 0 0;font-family:Georgia,serif;font-size:clamp(78px,12vw,132px);font-weight:700;line-height:.95}.tuner-note-readout>b{color:var(--teal-dark);margin-top:8px;font-size:clamp(22px,3vw,32px)}.tuner-note-readout>small{color:var(--muted);margin-top:9px;font-size:13px;font-weight:750}.tuner-meter{min-width:0}.tuner-meter-labels{color:var(--muted);justify-content:space-between;padding:0 4px;font-size:11px;font-weight:850;display:flex}.tuner-meter-track{background:linear-gradient(90deg,#e88b80 0 20%,#f2c36f 20% 40%,#75c9a5 40% 60%,#f2c36f 60% 80%,#e88b80 80% 100%);border:2px solid #8fa7a2;border-radius:18px;height:68px;margin-top:7px;position:relative;box-shadow:inset 0 4px 11px #142a321f}.tuner-meter-track:before,.tuner-meter-track:after{content:"";background:#142a323d;width:1px;position:absolute;top:0;bottom:0}.tuner-meter-track:before{left:25%}.tuner-meter-track:after{right:25%}.tuner-centre-line{background:#0b5f4a;width:3px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.tuner-needle{background:#173f70;border:2px solid #fff;border-radius:999px;width:8px;transition:left 90ms linear;position:absolute;top:7px;bottom:7px;transform:translate(-50%);box-shadow:0 2px 8px #0a1c306b}.tuner-reading{justify-content:space-between;align-items:baseline;gap:18px;margin-top:13px;display:flex}.tuner-reading strong{color:var(--ink);font-family:Georgia,serif;font-size:clamp(25px,4vw,38px)}.tuner-reading span{color:var(--teal-dark);font-size:clamp(19px,3vw,27px);font-weight:900}.tuner-meter>p{color:var(--muted);text-align:center;margin:6px 0 0;font-size:11px}.tuner-reference-card{background:#f3f8f7;border:1px solid #b8cbc7;border-radius:20px;margin:18px 0;padding:20px}.tuner-reference-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.tuner-reference-heading span,.tuner-reference-heading strong{display:block}.tuner-reference-heading span{color:var(--muted);letter-spacing:.07em;font-size:11px;font-weight:900}.tuner-reference-heading strong{color:var(--teal-dark);margin-top:4px;font-family:Georgia,serif;font-size:27px}.tuner-reference-heading button{color:var(--teal-dark);cursor:pointer;background:#fff;border:1px solid #8ca8a1;border-radius:10px;padding:9px 13px;font-weight:800}.tuner-reference-controls{grid-template-columns:60px minmax(0,1fr) 60px;align-items:start;gap:13px;margin-top:18px;display:grid}.tuner-reference-controls>button{color:#fff;background:var(--teal);cursor:pointer;border:0;border-radius:13px;min-height:48px;font-size:17px;font-weight:950}.tuner-reference-controls label{min-width:0;display:block}.tuner-reference-controls input{width:100%;accent-color:var(--coral)}.tuner-reference-scale{color:var(--muted);justify-content:space-between;margin-top:5px;font-size:10px;display:flex}.tuner-reference-card>p{color:var(--muted);margin:13px 0 0;font-size:12px;line-height:1.55}.chromatic-tuning-fork{background:linear-gradient(145deg,#f8fbff,#e7eef7);border:2px solid #27466f;border-radius:22px;margin:18px 0;padding:22px}.chromatic-tuning-fork-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;display:flex}.chromatic-tuning-fork-heading span,.chromatic-tuning-fork-heading h3,.chromatic-tuning-fork-heading p{margin:0}.chromatic-tuning-fork-heading span{color:#4f647e;letter-spacing:.08em;font-size:11px;font-weight:950}.chromatic-tuning-fork-heading h3{color:#173250;margin-top:4px;font-family:Georgia,serif;font-size:clamp(24px,3vw,33px)}.chromatic-tuning-fork-heading p{color:var(--muted);margin-top:5px;font-size:13px}.chromatic-tuning-fork-heading>strong{color:#fff;background:#27466f;border-radius:11px;flex:none;padding:9px 13px;font-size:14px}.chromatic-tuning-fork-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;display:grid}.chromatic-tuning-fork-key{color:#173250;cursor:pointer;background:#fff;border:2px solid #9aabbc;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:100px;padding:12px 7px;display:flex;box-shadow:0 5px 12px #1732501a}.chromatic-tuning-fork-key.accidental{color:#fff;background:#173250;border-color:#173250}.chromatic-tuning-fork-key:hover{border-color:var(--coral);transform:translateY(-2px)}.chromatic-tuning-fork-key.playing{border-color:var(--coral);color:#fff;background:var(--coral);box-shadow:0 0 0 4px #d96a4a33}.chromatic-tuning-fork-key strong,.chromatic-tuning-fork-key span,.chromatic-tuning-fork-key small{max-width:100%;display:block}.chromatic-tuning-fork-key strong{font-family:Georgia,serif;font-size:22px}.chromatic-tuning-fork-key span{margin-top:4px;font-size:12px;font-weight:850}.chromatic-tuning-fork-key small{opacity:.78;white-space:nowrap;margin-top:6px;font-size:9px}.chromatic-tuning-fork-note{color:#4f647e;margin:14px 0 0;font-size:12px;line-height:1.55}.tuner-stop-action{background:#9e3f3a}.tuner-local-note{margin-bottom:0}footer{max-width:1184px;color:var(--muted);justify-content:space-between;gap:24px;margin:0 auto;padding:0 0 36px;font-size:12px;display:flex}footer p{margin:0}@media (width<=920px){.home-menu-heading{grid-template-columns:1fr;gap:12px}.home-timbre-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-body{grid-template-columns:210px minmax(0,1fr)}.warmup-workspace{grid-template-columns:1fr}.warmup-control-rail{grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr);gap:14px;display:grid;position:static}.warmup-control-rail .warmup-timer-actions{align-content:center;margin-top:0}.warmup-control-rail .warmup-safety{grid-column:1/-1;margin-top:0}.pitch-result-grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr;gap:40px;margin-top:20px}.session-card{max-width:640px}.reference-section{margin-left:28px;margin-right:28px}.reference-heading{grid-template-columns:1fr;gap:16px}.reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.principles,.metric-grid,.session-summary,.history-list{grid-template-columns:1fr}.progress-overview{grid-template-columns:repeat(2,1fr)}}@media (width<=820px){.analysis-dual-grid,.warmup-note-panel{grid-template-columns:1fr}.warmup-note-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-dual-grid .dynamics-visualizer{width:100%;max-width:none}}@media (width<=600px){.role-gate-shell{padding:12px}.role-gate-card{border-radius:24px;padding:24px 18px}.role-gate-header{align-items:flex-start}.role-gate-logo{border-radius:17px;width:54px;height:54px;font-size:19px}.role-choice-grid{grid-template-columns:1fr}.role-choice{min-height:220px;padding:22px}.role-choice strong{font-size:26px}.role-gate-secondary-actions{flex-direction:column;align-items:flex-start}.topbar{padding:max(18px, env(safe-area-inset-top)) 18px 18px}.brand small,.privacy-pill{display:none}.role-session-controls{margin-left:auto}.active-role-badge{display:none}.role-session-controls>button{min-height:40px}.cue-sound-selector{grid-template-columns:1fr}.cue-sound-actions{grid-template-columns:1fr 1fr}.practice-topbar{gap:10px}.warmup-exit-action{padding:0 12px;font-size:12px}.warmup-mode .practice-shell{padding-left:12px;padding-right:12px}.warmup-mode .practice-card{border-radius:22px;padding:18px 14px}.warmup-session-heading{grid-template-columns:1fr;gap:12px}.warmup-session-heading h2{font-size:34px}.warmup-total-progress{width:fit-content;min-width:110px;padding:10px 14px}.warmup-total-progress strong{font-size:34px}.hero{margin-bottom:48px;padding:0 18px}.home-exercise-menu{border-radius:23px;padding:22px 16px}.home-menu-heading h2{font-size:32px}.home-primary-exercises,.home-timbre-grid,.home-support-actions{grid-template-columns:1fr}.home-menu-action{grid-template-columns:46px minmax(0,1fr) auto;gap:12px;min-height:112px;padding:18px 15px}.home-menu-number{border-radius:14px;width:46px;height:46px;font-size:17px}.home-menu-action strong{font-size:18px}.home-menu-subheading{flex-direction:column;align-items:flex-start;gap:5px}.home-timbre-card{min-height:164px}.manual-entry-action{grid-template-columns:46px minmax(0,1fr);gap:12px;min-height:92px;padding:16px}.manual-entry-action>span:first-child{width:46px;height:46px}.manual-entry-action strong{font-size:17px}.manual-entry-action>b{display:none}.manual-backdrop{padding:0}.manual-dialog{border:0;border-radius:0;width:100%;max-height:100vh}.manual-header{padding:max(17px, env(safe-area-inset-top)) 16px 17px}.manual-header h2{font-size:29px}.manual-header button{width:44px;height:44px}.conductor-manual-header{align-items:flex-start}.conductor-manual-header .conductor-manual-print{display:none}.manual-body{grid-template-columns:1fr;overflow:hidden}.manual-body>nav{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;padding:12px;overflow:auto hidden}.manual-body>nav>strong{display:none}.manual-body>nav a{background:#fff;border:1px solid #c7d9d5;flex:none}.manual-content{padding:22px 16px 34px}.manual-content>section{padding-left:50px}.manual-section-number{width:38px;height:38px}.manual-content h3{font-size:24px}.manual-content p,.manual-content li,.manual-content dd{font-size:14px}.manual-dialog .manual-footer{padding:10px 14px max(10px, env(safe-area-inset-bottom))}.manual-footer>span{display:none}.manual-footer button{width:100%}.reference-section{border-radius:24px;margin:0 18px 52px;padding:26px 18px}.reference-heading h2{font-size:34px}.reference-grid{grid-template-columns:1fr}.reference-card>p{min-height:0}.reference-guidance{grid-template-columns:1fr;gap:8px}h1{font-size:45px}.lead{font-size:16px}.part-grid{grid-template-columns:repeat(2,1fr)}.mode-actions,.baseline-grid,.pitch-result-grid{grid-template-columns:1fr}.warmup-progress{grid-template-columns:repeat(7,minmax(36px,1fr));gap:5px}.warmup-progress button{min-height:42px}.warmup-exercise-card{padding:18px 14px}.warmup-visual{gap:10px;min-height:170px;padding:18px 10px}.sovt-visual,.resonance-visual{text-align:center;flex-direction:column}.pattern-visual{gap:3px;min-height:210px}.warmup-note-chip{border-radius:10px;min-width:34px;min-height:44px;padding:5px 3px}.warmup-note-chip strong{font-size:11px}.glissando-path{width:min(230px,53vw);font-size:48px}.warmup-control-rail{grid-template-columns:1fr;padding:14px}.warmup-control-rail .warmup-safety{grid-column:1}.warmup-exercise-heading{grid-template-columns:46px 1fr}.warmup-exercise-heading>span{width:46px;height:46px}.warmup-exercise-heading>strong{border-top:1px solid var(--line);text-align:left;grid-column:1/-1;padding-top:10px}.warmup-pattern,.warmup-timer-actions,.warmup-navigation{grid-template-columns:1fr}.warmup-navigation button{min-height:76px}.warmup-pattern .secondary-action{width:100%;min-width:0}.pwa-card{grid-template-columns:48px minmax(0,1fr)}.pwa-icon{width:48px;height:48px}.install-action,.installed-badge,.manual-install{grid-column:1/-1;width:100%;max-width:none}.install-action{min-height:50px}.install-help-backdrop{padding:12px}.install-help-dialog{border-radius:20px;padding:25px 20px 20px}.install-help-dialog h2{padding-right:38px;font-size:28px}.pitch-target{flex-direction:column;align-items:stretch}.analysis-panel{padding:10px}.pitch-display-switch{flex-direction:column;align-items:stretch}.pitch-display-switch-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pitch-display-switch-actions button{min-height:44px}.analysis-dual-grid .pitch-visualizer{height:205px}.pitch-voice-line span{display:none}.analysis-dual-grid .dynamics-visualizer{--dynamics-meter-height:275px;grid-template-columns:44px 32px minmax(80px,1fr) 82px;gap:7px;min-height:300px;padding:14px 12px}.analysis-dual-grid .dynamics-scale,.analysis-dual-grid .dynamics-rail{height:275px}.analysis-dual-grid .dynamics-reading strong{font-size:41px}.analysis-session-status{justify-content:flex-start;align-items:center}.dynamics-calibration-card{grid-template-columns:1fr}.note-picker button{flex:28%}.session-heading{padding:22px 20px}.session-heading h2{font-size:22px}.duration{width:54px;height:54px}.exercise-list{padding:8px 18px}.exercise-row-main{grid-template-columns:42px 1fr}.exercise-duration{display:none}.safe-note{margin:18px}.principles{margin:0 18px 40px;padding:28px 0}.practice-shell{padding:0 18px}.practice-card{border-radius:22px;padding:26px 20px}.practice-intro{font-size:16px}.check-row{font-size:15px}.tone-box,.note-control-heading{flex-direction:column;align-items:stretch}.note-value-badge{width:auto}.pitch-shift-groups{grid-template-columns:1fr}.recording-panel{grid-template-columns:70px 1fr;padding:18px}.countdown{width:62px;height:62px;font-size:31px}.score-heading{text-align:center;grid-template-columns:1fr}.main-score{margin:0 auto}.result-actions{grid-template-columns:1fr}.progress-section{padding:0 18px}.progress-heading{flex-direction:column;align-items:flex-start}.history-list article{grid-template-columns:58px 1fr}.history-list article>span{display:none}.progress-overview{grid-template-columns:1fr}footer{padding-bottom:max(36px, env(safe-area-inset-bottom));flex-direction:column;margin:0 18px}}@media (width<=700px){.tuner-heading{flex-direction:column;align-items:stretch}.tuner-home-action{align-self:flex-start}.tuner-mode-selector{grid-template-columns:1fr}.tuner-display{grid-template-columns:1fr;gap:28px;padding:22px 15px}.tuner-note-readout>strong{font-size:88px}.tuner-reference-heading{flex-direction:column;align-items:flex-start}.tuner-reference-heading button{align-self:stretch}.tuner-reference-controls{grid-template-columns:50px minmax(0,1fr) 50px;gap:8px}.chromatic-tuning-fork{padding:18px 14px}.chromatic-tuning-fork-heading{flex-direction:column;align-items:flex-start}.chromatic-tuning-fork-heading>strong{text-align:center;align-self:stretch}.chromatic-tuning-fork-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.chromatic-tuning-fork-key{min-height:92px}.tuner-reading{text-align:center;flex-direction:column;align-items:center;gap:2px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.routine-heading{margin-top:34px}.routine-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.routine-preset-card{min-height:112px;color:var(--ink);cursor:pointer;text-align:left;background:#f7faf9;border:1px solid #c9d7d4;border-radius:18px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:4px 13px;padding:18px;display:grid}.routine-preset-card:hover{border-color:var(--teal);background:var(--teal-pale);transform:translateY(-1px)}.routine-preset-card>span{background:var(--teal);color:#fff;border-radius:13px;grid-row:1/3;place-items:center;width:42px;height:42px;font-family:Georgia,serif;font-size:16px;font-weight:800;display:grid}.routine-preset-card strong,.routine-preset-card small{display:block}.routine-preset-card strong{font-size:16px}.routine-preset-card small{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.4}.routine-preset-card>b{color:var(--teal-dark);grid-column:2;font-size:12px}.conductor-program-panel{background:linear-gradient(135deg,#edf3f8,#f7fafc);border:1px solid #bacbdb;border-radius:22px;margin-top:16px;padding:22px}.conductor-program-copy{grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:15px;display:grid}.conductor-mark{color:#fff;background:#29496f;border-radius:16px;place-items:center;width:50px;height:50px;font-family:Georgia,serif;font-size:28px;display:grid}.conductor-program-copy p,.conductor-program-copy h3,.conductor-program-copy div>span{margin:0}.conductor-program-copy p{color:#436383;letter-spacing:.1em;font-size:10px;font-weight:950}.conductor-program-copy h3{margin-top:4px;font-size:19px}.conductor-program-copy div>span{max-width:540px;color:var(--muted);margin-top:5px;font-size:12px;line-height:1.45;display:block}.conductor-program-copy>button{color:#fff;cursor:pointer;background:#29496f;border:0;border-radius:13px;min-height:48px;padding:0 17px;font-weight:900}.conductor-program-copy>button:hover{background:#1f3b5e}.member-program-panel{background:linear-gradient(135deg,#ecf7f3,#f8fbfa);border-color:#9fc8bf}.member-program-panel .conductor-program-copy{grid-template-columns:50px minmax(0,1fr)}.member-program-panel .conductor-mark{background:var(--teal)}.member-program-panel .saved-program-list>article{grid-template-columns:1fr}.conductor-empty{color:var(--muted);margin:15px 0 0 65px;font-size:12px}.saved-program-list{gap:9px;margin-top:16px;display:grid}.saved-program-list>article{background:#fff;border:1px solid #cbd8e3;border-radius:15px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.saved-program-open{min-width:0;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;padding:7px;display:grid}.saved-program-open>span{background:var(--teal-pale);width:32px;height:32px;color:var(--teal);border-radius:50%;place-items:center;font-size:11px;display:grid}.saved-program-open strong,.saved-program-open small{display:block}.saved-program-open small{color:var(--muted);margin-top:3px;font-size:11px}.saved-program-actions{gap:5px;display:flex}.saved-program-actions button{color:#29496f;cursor:pointer;background:#f3f7fa;border:1px solid #b8c9d7;border-radius:9px;min-height:36px;padding:0 10px;font-size:11px;font-weight:850}.saved-program-actions .delete,.builder-step-title .delete{color:#9c2f2f}.program-builder-dialog,.program-player-dialog{background:var(--white);border:1px solid #bbccc8;border-radius:28px;flex-direction:column;width:min(1180px,100vw - 28px);max-height:calc(100vh - 28px);display:flex;overflow:hidden;box-shadow:0 32px 90px #152c334d}.program-builder-header,.program-player-header{color:#fff;background:#29496f;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;display:flex}.program-builder-header p,.program-builder-header h2,.program-builder-header span,.program-player-header p,.program-player-header h2,.program-player-header span{margin:0}.program-builder-header p,.program-player-header p{color:#cfe0ef;letter-spacing:.12em;font-size:10px;font-weight:950}.program-builder-header h2,.program-player-header h2{margin-top:4px;font-family:Georgia,Times New Roman,serif;font-size:30px}.program-builder-header span,.program-player-header span{color:#d7e2ee;margin-top:4px;font-size:12px;display:block}.program-builder-header>button,.program-player-header>button{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-size:25px;display:grid}.program-builder-body{padding:24px 28px;overflow:auto}.program-details{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:14px;display:grid}.program-details label>span,.builder-part-selector>span{color:var(--teal-dark);margin-bottom:7px;font-size:12px;font-weight:900;display:block}.program-details input{width:100%;min-height:48px;color:var(--ink);font:inherit;background:#fff;border:1px solid #bfcfcb;border-radius:11px;padding:0 13px}.builder-part-selector{grid-column:1/-1}.builder-part-selector>div{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.builder-part-selector button{min-height:42px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #bdcac7;border-radius:10px;font-weight:800}.builder-part-selector button.active{border-color:var(--teal);background:var(--teal);color:#fff}.program-builder-columns{grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:20px;margin-top:24px;display:grid}.program-catalog,.builder-sequence{background:#f8faf9;border:1px solid #d2dcda;border-radius:18px;min-width:0;padding:18px}.builder-section-heading{align-items:flex-start;gap:11px;display:flex}.builder-section-heading>span{background:var(--teal);color:#fff;border-radius:10px;flex:none;place-items:center;width:32px;height:32px;font-weight:900;display:grid}.builder-section-heading h3,.builder-section-heading p{margin:0}.builder-section-heading h3{font-size:17px}.builder-section-heading p{color:var(--muted);margin-top:3px;font-size:11px}.program-catalog-list{gap:7px;margin-top:14px;display:grid}.program-catalog-list>button{min-height:58px;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border:1px solid #cbd8d5;border-radius:11px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;padding:9px;display:grid}.program-catalog-list>button:hover{border-color:var(--teal);background:var(--teal-pale)}.program-catalog-list>button>span{background:var(--teal-pale);width:30px;height:30px;color:var(--teal);border-radius:9px;place-items:center;font-size:20px;font-weight:800;display:grid}.program-catalog-list strong,.program-catalog-list small{display:block}.program-catalog-list strong{font-size:12px}.program-catalog-list small{color:var(--muted);margin-top:3px;font-size:10px}.builder-step-list{gap:9px;margin:14px 0 0;padding:0;list-style:none;display:grid}.builder-step-list>li{background:#fff;border:1px solid #cbd8d5;border-radius:13px;padding:12px}.builder-step-title{grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.builder-step-title>span{color:var(--teal);font-family:Georgia,serif;font-weight:900}.builder-step-title>strong{font-size:13px}.builder-step-title>div{gap:4px;display:flex}.builder-step-title button{cursor:pointer;background:#f5f8f7;border:1px solid #c7d4d1;border-radius:8px;width:30px;height:30px;font-weight:900}.builder-step-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px;display:grid}.builder-step-fields span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;font-size:9px;font-weight:900;display:block}.builder-step-fields select{width:100%;min-height:38px;color:var(--ink);background:#fff;border:1px solid #c3d1ce;border-radius:8px;padding:0 7px;font-size:11px}.builder-empty{min-height:170px;color:var(--muted);text-align:center;border:2px dashed #cad6d3;border-radius:14px;place-items:center;margin-top:14px;font-size:12px;display:grid}.program-notice{color:#17633e;background:#e6f4ec;border-radius:10px;margin:14px 0 0;padding:11px 13px;font-size:12px;font-weight:800}.program-builder-footer,.program-player-footer{background:#fff;border-top:1px solid #d5dfdd;grid-template-columns:minmax(140px,.4fr) minmax(220px,.6fr);gap:10px;padding:16px 28px;display:grid}.program-builder-footer .primary-action,.program-builder-footer .secondary-action,.program-player-footer .primary-action,.program-player-footer .secondary-action{min-height:52px}.program-player-backdrop{z-index:120;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a1f26a8;place-items:center;padding:14px;display:grid;position:fixed;inset:0}.program-player-dialog{width:min(1080px,100vw - 28px)}.program-player-header{background:var(--teal)}.program-player-progress{border-bottom:1px solid #d7e0de;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:14px 26px;display:grid}.program-player-progress>span{color:var(--teal-dark);letter-spacing:.08em;font-size:11px;font-weight:950}.program-player-progress>div{background:#dfe9e7;border-radius:999px;height:8px;overflow:hidden}.program-player-progress i{border-radius:inherit;background:var(--coral);height:100%;display:block}.program-player-layout{grid-template-columns:270px minmax(0,1fr);min-height:430px;display:grid;overflow:auto}.program-player-layout>nav{background:#f2f6f5;border-right:1px solid #d4dfdc;align-content:start;gap:6px;padding:16px;display:grid}.program-player-layout>nav button{min-height:48px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:31px minmax(0,1fr);align-items:center;gap:9px;padding:8px;display:grid}.program-player-layout>nav button:hover{background:#fff}.program-player-layout>nav button.active{background:#fff;border-color:#a9cbc5;box-shadow:0 6px 16px #116b6814}.program-player-layout>nav button.done{color:#55726b}.program-player-layout>nav button span{width:31px;height:31px;color:var(--teal);background:#dce9e6;border-radius:10px;place-items:center;font-size:11px;font-weight:900;display:grid}.program-player-layout>nav button.active span{background:var(--teal);color:#fff}.program-player-layout>nav button strong{font-size:12px;line-height:1.3}.program-current-step{padding:30px 34px;overflow:auto}.program-step-meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.program-step-meta>span{background:var(--teal-pale);color:var(--teal-dark);border-radius:9px;padding:8px 11px;font-size:12px;font-weight:900}.program-step-meta .dynamic-badge{color:#9d3e25;text-align:center;background:#f9ddd4;min-width:52px;font-family:Georgia,serif;font-size:22px;font-style:italic}.program-current-step>h3{margin:24px 0 9px;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,4vw,46px);font-weight:600;line-height:1.08}.program-current-step>p{color:var(--muted);margin:0;font-size:16px;line-height:1.65}.program-pattern-label{background:#f5f9f8;border:1px solid #c9d9d5;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding:12px 14px;display:flex}.program-pattern-label span{color:var(--muted);font-size:11px;font-weight:900}.program-pattern-label strong{color:var(--teal-dark)}.program-timer{background:#eef5f3;border-radius:17px;place-items:center;margin-top:20px;padding:20px;display:grid}.program-timer>span{color:var(--teal);letter-spacing:.11em;font-size:10px;font-weight:950}.program-timer>strong{font-variant-numeric:tabular-nums;margin-top:4px;font-family:Georgia,serif;font-size:52px}.program-timer>small{color:var(--muted)}.program-audio-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:13px;display:grid}.program-audio-actions>button:only-child{grid-column:1/-1}.program-audio-actions .primary-action,.program-audio-actions .secondary-action{min-height:54px}.program-player-footer{grid-template-columns:minmax(140px,.6fr) auto minmax(140px,.6fr)}.program-player-footer.preset{grid-template-columns:repeat(2,minmax(140px,1fr))}.share-program-action{color:#29496f;cursor:pointer;background:#fff;border:1px solid #29496f;border-radius:14px;min-height:52px;padding:0 15px;font-size:12px;font-weight:900}.program-complete{text-align:center;align-content:center;place-items:center;min-height:510px;padding:48px 28px;display:grid}.program-complete>span{background:var(--teal);color:#fff;border-radius:50%;place-items:center;width:80px;height:80px;font-size:42px;display:grid}.program-complete>p{color:var(--coral);letter-spacing:.12em;margin:20px 0 0;font-size:11px;font-weight:950}.program-complete>h3{margin:7px 0 24px;font-family:Georgia,serif;font-size:32px}.program-complete>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;width:min(720px,100%);display:grid}.program-complete .primary-action,.program-complete .secondary-action{min-height:52px}@media (width<=820px){.routine-preset-grid,.program-details,.program-builder-columns{grid-template-columns:1fr}.conductor-program-copy{grid-template-columns:44px minmax(0,1fr)}.conductor-program-copy>button{grid-column:1/-1}.program-player-layout{grid-template-columns:1fr}.program-player-layout>nav{border-bottom:1px solid #d4dfdc;border-right:0;max-width:100%;display:flex;overflow-x:auto}.program-player-layout>nav button{min-width:170px}}@media (width<=600px){.routine-preset-grid{grid-template-columns:1fr}.conductor-program-panel{padding:16px}.conductor-program-copy{grid-template-columns:1fr}.conductor-mark{width:42px;height:42px}.conductor-empty{margin-left:0}.saved-program-list>article{grid-template-columns:1fr}.saved-program-actions{justify-content:flex-end}.program-builder-dialog,.program-player-dialog{border:0;border-radius:0;width:100vw;max-height:100vh}.program-builder-header,.program-player-header{padding:max(18px, env(safe-area-inset-top)) 17px 18px}.program-builder-header h2,.program-player-header h2{font-size:24px}.program-builder-body{padding:18px 14px}.builder-part-selector>div{grid-template-columns:repeat(2,1fr)}.builder-step-fields,.program-audio-actions,.program-complete>div{grid-template-columns:1fr}.program-builder-footer,.program-player-footer{padding:12px 14px max(12px, env(safe-area-inset-bottom));grid-template-columns:1fr}.program-current-step{padding:22px 17px}.program-player-progress{grid-template-columns:1fr;gap:7px;padding:12px 16px}.program-player-footer .share-program-action{order:3}}.theory-menu-action{color:#fff;background:#5a477f;border:3px solid #3d315f;box-shadow:0 15px 34px #3d315f3d}.theory-menu-action:hover{background:#49376d;border-color:#30254d}.solfege-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:min(940px,100%);margin:8px auto 24px;display:grid}.solfege-section-card{color:#1b3036;text-align:left;cursor:pointer;background:linear-gradient(145deg,#fffdf7,#f5ead0);border:3px solid #745213;border-radius:22px;flex-direction:column;align-items:flex-start;min-height:250px;padding:28px;display:flex;box-shadow:0 16px 35px #5b3e0a29}.solfege-section-card.rhythmic-melodic{background:linear-gradient(145deg,#fff,#def0ec);border-color:#09645f;box-shadow:0 16px 35px #09645f29}.solfege-section-card:hover{transform:translateY(-3px);box-shadow:0 20px 42px #20383c33}.solfege-section-card>span{color:#fff;background:#745213;border-radius:15px;place-items:center;width:46px;height:46px;margin-bottom:22px;font-size:14px;font-weight:950;display:grid}.solfege-section-card.rhythmic-melodic>span{background:#09645f}.solfege-section-card strong,.solfege-section-card small,.solfege-section-card b{display:block}.solfege-section-card strong{color:#17373c;font-family:var(--font-display);font-size:clamp(25px,3vw,34px);line-height:1.08}.solfege-section-card small{color:#4b6064;margin-top:13px;font-size:15px;font-weight:700;line-height:1.5}.solfege-section-card b{color:#8c3e28;letter-spacing:.04em;margin-top:auto;padding-top:24px;font-size:13px}.musicxml-category-back{color:#0a514d;cursor:pointer;background:#fff;border:2px solid #0a615b;border-radius:12px;align-self:flex-start;min-height:44px;margin:0 auto 2px;padding:0 17px;font-weight:900}.musicxml-category-back:hover{color:#fff;background:#0a615b}.solfege-empty-library{color:#4a3d25;background:#fffaf0;border:2px dashed #9c7b3f;border-radius:20px;justify-items:center;width:min(680px,100%);padding:32px;display:grid}.solfege-empty-library>span{font-size:52px}.solfege-empty-library strong{margin-top:8px;font-size:20px}.solfege-empty-library small{color:#6d6048;margin-top:7px;font-size:14px}.theory-backdrop{z-index:1220;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#19132bc7;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.theory-dialog{background:#fffefb;border:3px solid #49376d;border-radius:28px;flex-direction:column;width:min(1180px,100%);height:min(820px,100vh - 36px);max-height:calc(100vh - 36px);display:flex;overflow:hidden;box-shadow:0 28px 90px #120c1f6b}.theory-header{z-index:3;color:#fff;background:linear-gradient(120deg,#382952,#69538f);flex:none;justify-content:space-between;align-items:flex-start;gap:30px;padding:26px 30px;display:flex;position:relative}.theory-header p,.theory-header h2,.theory-header span{margin:0}.theory-header p{letter-spacing:.12em;margin-bottom:6px;font-size:12px;font-weight:900}.theory-header h2{font-family:var(--font-display);font-size:clamp(30px,4vw,46px);line-height:1}.theory-header span{color:#ffffffdb;margin-top:9px;font-weight:650;display:block}.theory-header>button{color:#fff;cursor:pointer;background:#00000026;border:2px solid #ffffffbf;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;font-size:29px;display:grid}.theory-body{background:#f6f2f8;flex-direction:column;flex:1;gap:14px;min-height:0;padding:20px 24px 18px;display:flex}.theory-lesson-toolbar{flex:none;grid-template-columns:minmax(0,1fr) 210px;align-items:end;gap:20px;display:grid}.theory-lesson-toolbar label{gap:6px;display:grid}.theory-lesson-toolbar label>span{color:#6a4d8f;letter-spacing:.1em;font-size:11px;font-weight:950}.theory-lesson-toolbar select{color:#2d2440;cursor:pointer;background:#fff;border:2px solid #a998bd;border-radius:12px;width:100%;min-height:44px;padding:0 42px 0 14px;font-size:15px;font-weight:800}.theory-progress{gap:7px;display:grid}.theory-progress>span{color:#49376d;letter-spacing:.08em;justify-self:end;font-size:12px;font-weight:950}.theory-progress>i{background:#d8cfe2;border-radius:999px;height:8px;overflow:hidden}.theory-progress>i>b{border-radius:inherit;background:linear-gradient(90deg,#6a528d,#d96a4a);height:100%;transition:width .24s;display:block}.theory-mobile-tabs{display:none}.theory-lesson-layout{flex:1;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:16px;min-height:0;display:grid}.theory-reading-panel,.theory-example-panel{background:#fffefb;border:2px solid #d5ccdf;border-radius:20px;min-height:0;padding:23px 25px;overflow:auto;box-shadow:0 8px 22px #30254d14}.theory-example-panel{background:linear-gradient(145deg,#fff,#edf7f4);border-color:#9bbdb7;flex-direction:column;display:flex}.theory-reading-panel h3,.theory-example-panel h3,.theory-reading-panel p,.theory-example-panel p{margin:0}.theory-panel-kicker{color:#6a4d8f;letter-spacing:.1em;align-items:center;gap:9px;margin-bottom:13px;font-size:11px;font-weight:950;display:flex}.theory-panel-kicker>span{color:#fff;background:#5a477f;border-radius:10px;place-items:center;width:34px;height:34px;font-size:11px;display:grid}.theory-panel-kicker.example{color:#0b625b}.theory-panel-kicker.example>span{background:#0b6c63;font-size:20px}.theory-reading-panel h3,.theory-example-panel h3{color:#252037;font-family:var(--font-display);font-size:clamp(24px,2.4vw,34px);line-height:1.05}.theory-example-panel h3{color:#103e3b}.theory-summary{color:#6a4d8f;font-size:14px;font-weight:850;line-height:1.45;margin-top:10px!important}.theory-content{color:#34464b;font-size:15px;line-height:1.62;margin-top:15px!important}.theory-reading-panel ul{gap:9px;margin:16px 0;padding:0;list-style:none;display:grid}.theory-reading-panel li{color:#34464b;padding-left:25px;font-size:14px;line-height:1.42;position:relative}.theory-reading-panel li:before{color:#fff;content:"✓";background:#d96a4a;border-radius:50%;place-items:center;width:17px;height:17px;font-size:10px;font-weight:950;display:grid;position:absolute;top:.14em;left:0}.theory-reading-panel>aside{background:#fff2ec;border-left:4px solid #d96a4a;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;margin-top:auto;padding:12px 14px;display:grid}.theory-reading-panel>aside>span{color:#fff;background:#b84f34;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:950;display:grid}.theory-reading-panel>aside strong,.theory-reading-panel>aside small{display:block}.theory-reading-panel>aside strong{color:#863923;font-size:12px}.theory-reading-panel>aside small{color:#66564f;margin-top:2px;font-size:11px;line-height:1.35}.theory-example-panel>p{color:#49615f;margin-top:9px;font-size:14px;line-height:1.45}.theory-example-stage{background:#fffefb;border:1px solid #b9d2cd;border-radius:17px;flex:1;place-items:center;min-height:230px;margin-top:16px;display:grid;overflow:hidden}.theory-listen-action{color:#fff;cursor:pointer;background:#0b6c63;border:0;border-radius:13px;min-height:48px;margin-top:13px;padding:0 18px;font-weight:950;box-shadow:0 9px 20px #0b6c6333}.theory-listen-action:hover{background:#084f49}.theory-listen-action:disabled{cursor:wait;opacity:.65}.theory-lesson-footer{flex:none;grid-template-columns:170px minmax(0,1fr) 170px;align-items:center;gap:14px;display:grid}.theory-lesson-footer button{color:#fff;cursor:pointer;background:#5a477f;border:2px solid #5a477f;border-radius:12px;min-height:44px;font-weight:900}.theory-lesson-footer button:hover{background:#40315e}.theory-lesson-footer button:disabled{color:#807887;cursor:not-allowed;background:#e8e4eb;border-color:#cbc4d3}.theory-lesson-footer>span{color:#5d5664;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.theory-staff-visual{background:linear-gradient(#45585d,#45585d) 0 40%/100% 1px no-repeat,linear-gradient(#45585d,#45585d) 0 48%/100% 1px no-repeat,linear-gradient(#45585d,#45585d) 0 56%/100% 1px no-repeat,linear-gradient(#45585d,#45585d) 0 64%/100% 1px no-repeat,linear-gradient(#45585d,#45585d) 0 72%/100% 1px no-repeat;width:min(470px,94%);height:210px;position:relative}.theory-clef{z-index:2;color:#20383d;font-size:78px;line-height:1;position:absolute;top:31%;left:1%}.theory-staff-note{text-align:center;width:42px;position:absolute;transform:translate(-50%,-50%)}.theory-staff-note>i{background:#5a477f;border-radius:50%;width:21px;height:15px;margin:auto;display:block;transform:rotate(-18deg)}.theory-staff-note>i:after{content:"";background:#5a477f;width:2px;height:47px;margin-top:-40px;margin-left:19px;display:block}.theory-staff-note>b{color:#4f4658;margin-top:30px;font-size:11px;display:block}.theory-rhythm-visual{border-top:2px solid #32484c;border-bottom:2px solid #32484c;grid-template-columns:54px 1fr 1fr 1.5fr;align-items:center;gap:8px;width:min(430px,94%);min-height:190px;padding:25px 20px;display:grid;position:relative}.theory-time-signature{color:#253b40;text-align:center;font-family:Georgia,serif;font-size:32px;line-height:.78;display:grid}.rhythm-value{background:#f2edf7;border-radius:12px;place-items:center;min-height:110px;display:grid}.rhythm-value.long{background:#e1f0ed}.rhythm-value>b{color:#49376d;font-size:58px;line-height:1}.rhythm-value>small{color:#5a6264;font-weight:900}.theory-rhythm-visual>i{background:#32484c;width:3px;height:100%;position:absolute;right:0}.theory-accidental-visual{text-align:center;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:10px;width:min(460px,94%);display:grid}.theory-accidental-visual>span{color:#3a2f50;background:#f5f0fa;border:2px solid #b8adc7;border-radius:16px;align-content:center;place-items:center;min-height:116px;display:grid}.theory-accidental-visual>span.raised{color:#853a26;background:#fff1eb;border-color:#d96a4a;transform:translateY(-18px)}.theory-accidental-visual>span b{font-family:var(--font-display);font-size:30px}.theory-accidental-visual>span small{color:#6b6470;margin-top:5px;font-size:11px}.theory-accidental-visual>i{color:#9a879f;font-size:23px;font-style:normal}.theory-accidental-visual>div{color:#566367;word-spacing:5px;grid-column:1/-1;font-size:13px}.theory-accidental-visual>div strong{color:#5a477f;font-size:21px}.theory-scale-visual{width:min(470px,96%);height:220px;position:relative}.theory-scale-visual>span{left:calc(4% + (var(--scale-step,0) * 12%));color:#fff;background:linear-gradient(145deg,#6d5992,#49376d);border-radius:10px 10px 3px 3px;place-items:center;width:11.4%;min-height:50px;display:grid;position:absolute;box-shadow:0 7px 13px #49376d2e}.theory-scale-visual>span:first-child{left:1%}.theory-scale-visual>span:nth-child(2){left:13.4%}.theory-scale-visual>span:nth-child(3){left:25.8%}.theory-scale-visual>span:nth-child(4){left:38.2%}.theory-scale-visual>span:nth-child(5){left:50.6%}.theory-scale-visual>span:nth-child(6){left:63%}.theory-scale-visual>span:nth-child(7){left:75.4%}.theory-scale-visual>span:nth-child(8){left:87.8%}.theory-scale-visual>span b{font-size:12px}.theory-scale-visual>span small{font-size:10px}.theory-interval-visual{text-align:center;gap:18px;width:min(450px,94%);display:grid}.theory-interval-visual>div{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:9px;display:grid}.theory-interval-visual>div span{color:#0e514b;background:#eaf5f2;border:2px solid #afc8c3;border-radius:15px;align-content:center;place-items:center;min-height:82px;display:grid}.theory-interval-visual>div span small{font-size:11px}.theory-interval-visual>div span b{font-family:var(--font-display);font-size:25px}.theory-interval-visual>div i{color:#9a879f;font-style:normal}.theory-interval-visual>strong{color:#3d315f;letter-spacing:.1em;font-size:12px}.theory-interval-visual>p{justify-content:center;gap:8px;display:flex}.theory-interval-visual>p b{color:#fff;background:#5a477f;border-radius:10px;place-items:center;width:68px;height:54px;display:grid}.theory-dynamics-visual{gap:18px;width:min(450px,92%);display:grid}.dynamics-crescendo{height:72px;position:relative}.dynamics-crescendo i{transform-origin:0;background:#d96a4a;width:92%;height:4px;position:absolute;top:50%;left:4%}.dynamics-crescendo i:first-child{transform:rotate(-7deg)}.dynamics-crescendo i:last-child{transform:rotate(7deg)}.dynamics-marks{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.dynamics-marks span{color:#3d315f;background:#f1ebf6;border-radius:13px;align-content:center;place-items:center;min-height:76px;display:grid}.dynamics-marks span:nth-child(2){color:#0b625b;background:#e6f2ef}.dynamics-marks span:nth-child(3){color:#8d3c27;background:#fff0ea}.dynamics-marks b{font-family:Georgia,serif;font-size:30px;font-style:italic}.dynamics-marks small{font-size:10px}.theory-dynamics-visual>p{justify-content:center;gap:12px;display:flex}.theory-dynamics-visual>p span{color:#4c5f61;background:#fff;border:1px solid #b8c7c4;border-radius:999px;padding:7px 12px;font-family:Georgia,serif;font-style:italic}@media (width<=760px){.solfege-section-grid{grid-template-columns:1fr}.solfege-section-card{min-height:220px}.theory-backdrop{padding:0}.theory-dialog{border:0;border-radius:0;width:100vw;height:100dvh;max-height:100vh}.theory-header{padding:max(16px, env(safe-area-inset-top)) 16px 15px}.theory-header p,.theory-header span{display:none}.theory-header h2{font-size:29px}.theory-header>button{width:42px;height:42px}.theory-body{padding:12px 12px max(12px, env(safe-area-inset-bottom));gap:10px}.theory-lesson-toolbar{display:block}.theory-progress{display:none}.theory-lesson-toolbar select{min-height:42px;font-size:13px}.theory-mobile-tabs{background:#ddd4e6;border-radius:12px;flex:none;grid-template-columns:repeat(2,1fr);gap:4px;padding:4px;display:grid}.theory-mobile-tabs button{color:#5b5362;cursor:pointer;background:0 0;border:0;border-radius:9px;min-height:40px;font-size:12px;font-weight:950}.theory-mobile-tabs button.active{color:#fff;background:#5a477f;box-shadow:0 5px 13px #49376d38}.theory-lesson-layout{min-height:0;display:block;overflow:hidden}.theory-reading-panel,.theory-example-panel{height:100%;padding:18px;display:none}.theory-example-panel{flex-direction:column}.theory-reading-panel.mobile-active{display:block}.theory-example-panel.mobile-active{display:flex}.theory-reading-panel h3,.theory-example-panel h3{font-size:26px}.theory-content{font-size:14px}.theory-example-stage{min-height:190px}.theory-lesson-footer{grid-template-columns:1fr 1fr;gap:8px}.theory-lesson-footer>span{display:none}.theory-lesson-footer button{min-height:42px;font-size:12px}.theory-clef{font-size:58px}.theory-staff-note>b{font-size:9px}.theory-accidental-visual{gap:5px}.theory-accidental-visual>span b{font-size:22px}.theory-scale-visual{height:185px}}.melody-menu-action{color:#fff;background:linear-gradient(130deg,#8d3f37,#b6533d);border:3px solid #6f2f2b;box-shadow:0 15px 34px #6f2f2b40}.melody-menu-action:hover{background:linear-gradient(130deg,#73332e,#9b432f);border-color:#51211f}.melody-transcriber-backdrop{z-index:1300;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#081c1fc7;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.melody-transcriber-dialog{color:#172f36;background:#f5f8f6;border:3px solid #0b5f5b;border-radius:28px;width:min(1540px,100%);max-height:calc(100vh - 36px);overflow:auto;box-shadow:0 30px 96px #0416186b}.melody-transcriber-header{z-index:8;color:#fff;background:radial-gradient(circle at 82% 10%,#ffffff1f,#0000 34%),linear-gradient(125deg,#063f3c,#0b6962 58%,#8e4638);justify-content:space-between;align-items:flex-start;gap:28px;padding:24px 30px;display:flex;position:sticky;top:0}.melody-transcriber-header p,.melody-transcriber-header h2,.melody-transcriber-header span{margin:0}.melody-transcriber-header p{letter-spacing:.12em;margin-bottom:5px;font-size:12px;font-weight:950}.melody-transcriber-header h2{font-family:var(--font-display);font-size:clamp(30px,4vw,48px);line-height:1}.melody-transcriber-header span{color:#f4fffd;max-width:760px;margin-top:9px;font-weight:650;line-height:1.5;display:block}.melody-transcriber-header>button{color:#fff;cursor:pointer;background:#0000002b;border:2px solid #fff;border-radius:50%;flex:none;width:50px;height:50px;font-size:30px}.melody-transcriber-body{gap:22px;padding:26px;display:grid}.melody-settings-card,.melody-record-card,.melody-score-card,.melody-export-card,.melody-saved-card,.melody-notes-card{background:#fff;border:1px solid #cbdad6;border-radius:22px;box-shadow:0 10px 26px #153c3e14}.melody-settings-card,.melody-record-card,.melody-export-card,.melody-saved-card,.melody-notes-card{padding:23px}.melody-settings-heading{align-items:flex-start;gap:14px;display:flex}.melody-settings-heading>span{color:#fff;background:#0b6962;border-radius:14px;flex:none;place-items:center;width:44px;height:44px;font-size:13px;font-weight:950;display:grid}.melody-settings-heading h3,.melody-settings-heading p{margin:0}.melody-settings-heading h3{color:#17383d;font-size:22px}.melody-settings-heading p{color:#64777b;margin-top:5px;line-height:1.45}.melody-settings-grid{grid-template-columns:1.4fr 1fr .62fr 1.15fr;gap:13px;margin-top:20px;display:grid}.melody-settings-grid label{color:#385358;letter-spacing:.04em;text-transform:uppercase;align-content:start;gap:8px;font-size:12px;font-weight:900;display:grid}.melody-settings-grid input[type=text],.melody-settings-grid select{color:#18383d;width:100%;min-height:48px;font:inherit;letter-spacing:normal;text-transform:none;background:#fbfdfc;border:2px solid #c4d5d2;border-radius:12px;padding:0 13px;font-size:15px;font-weight:750}.melody-settings-grid input:focus,.melody-settings-grid select:focus{border-color:#0b6962;outline:3px solid #0b696221}.melody-system-field>span{color:#0b5f5b;letter-spacing:normal;text-transform:none;background:#eaf5f2;border:2px solid #8db9b2;border-radius:12px;align-items:center;min-height:48px;padding:0 13px;font-size:15px;font-weight:900;display:flex}.melody-tempo-control{background:#fbfdfc;border:2px solid #c4d5d2;border-radius:12px;align-items:center;gap:12px;min-height:48px;padding:0 13px;display:flex}.melody-tempo-control input{accent-color:#0b6962;flex:auto;min-width:0}.melody-tempo-control strong{color:#0b5f5b;letter-spacing:0;flex:none;font-size:14px}.melody-recorder{background:#f2f7f5;border:2px solid #c9d8d4;border-radius:18px;grid-template-columns:180px 1fr auto;align-items:center;gap:18px;margin-top:20px;padding:20px;display:grid;position:relative;overflow:hidden}.melody-recorder.active{background:#fff3ee;border-color:#ca563b;box-shadow:0 0 0 5px #ca563b14}.melody-live-note{color:#fff;text-align:center;background:#0b5f5b;border-radius:15px;place-items:center;min-height:110px;padding:13px;display:grid}.melody-recorder.active .melody-live-note{background:#a94330}.melody-live-note span{letter-spacing:.08em;font-size:10px;font-weight:950}.melody-live-note strong{font-family:var(--font-display);font-size:35px;line-height:1}.melody-live-note small{color:#e8fffc;font-weight:700}.melody-recorder-meter{background:#dae6e3;border:1px solid #b8cac6;border-radius:999px;height:24px;padding:4px;overflow:hidden}.melody-recorder-meter i{border-radius:inherit;background:linear-gradient(90deg,#168264,#e8b53e 70%,#cc5036);width:0;height:100%;transition:width 80ms linear;display:block}.melody-record-actions button{color:#fff;cursor:pointer;background:#0b6962;border:0;border-radius:14px;min-height:58px;padding:0 22px;font-size:15px;font-weight:950}.melody-record-actions{gap:8px;display:grid}.melody-record-actions .melody-example-button{color:#0b5f5b;background:#fff;border:2px solid #0b6962;min-height:42px}.melody-record-actions .melody-stop-button{background:#a83f2e}.melody-record-progress{background:#0f4b481f;height:5px;position:absolute;inset:auto 0 0}.melody-record-progress i{background:#d65e41;height:100%;transition:width .12s linear;display:block}.melody-recorder>small{color:#65777a;grid-column:1/-1;font-weight:700}.melody-status,.melody-error{border-radius:12px;margin:15px 0 0;padding:13px 15px;line-height:1.45}.melody-status{color:#265b58;background:#e7f3ef;font-weight:750}.melody-error{color:#8e2f25;background:#ffe8e2;font-weight:850}.melody-score-card{padding:23px 23px 25px;overflow:hidden}.melody-score-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.melody-score-heading span,.melody-score-heading h3,.melody-score-heading p{margin:0}.melody-score-heading>div:first-child>span{color:#b34a34;letter-spacing:.1em;font-size:11px;font-weight:950}.melody-score-heading h3{color:#15363a;font-family:var(--font-display);margin-top:4px;font-size:28px}.melody-score-heading p{color:#617478;margin-top:4px;font-weight:700}.melody-playback-actions{justify-items:end;gap:7px;display:grid}.melody-playback-actions button{color:#fff;cursor:pointer;background:#0b6962;border:0;border-radius:12px;min-height:46px;padding:0 18px;font-weight:900}.melody-playback-actions span{color:#627579;font-size:12px;font-weight:750}.melody-composer{background:linear-gradient(135deg,#edf6f3 0%,#f8fbf9 100%);border:1px solid #c4d5d1;border-radius:16px;margin-bottom:15px;padding:15px}.melody-composer-topline{justify-content:space-between;align-items:center;gap:16px;display:flex}.melody-composer-topline>div:first-child{gap:3px;display:grid}.melody-composer-topline span{color:#8f4939;letter-spacing:.09em;font-size:10px;font-weight:950}.melody-composer-topline strong{color:#133d40;font-size:17px}.melody-history-actions,.melody-entry-tools,.melody-duration-palette,.melody-accidental-palette,.melody-pencil-tools{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.melody-history-actions button,.melody-entry-tools button,.melody-duration-palette button,.melody-accidental-palette button,.melody-pencil-tools button{color:#164f4e;cursor:pointer;background:#fff;border:1.5px solid #8fb0aa;border-radius:10px;min-height:38px;padding:0 12px;font-weight:850}.melody-history-actions button:disabled,.melody-pencil-tools button:disabled{cursor:not-allowed;opacity:.42}.melody-entry-tools{border-top:1px solid #ccdbd7;margin-top:13px;padding-top:13px}.melody-entry-tools button{min-height:44px;font-size:14px}.melody-entry-tools button.active,.melody-duration-palette button.active,.melody-accidental-palette button.active{color:#fff;background:#0b6962;border-color:#0b6962;box-shadow:0 5px 13px #0b69622e}.melody-entry-tools button.pencil{color:#8f3928;border-color:#bd6953}.melody-entry-tools button.pencil.active{color:#fff;background:#b64d35}.melody-pencil-unavailable{color:#6c7c7e;letter-spacing:0;background:#e0e9e6;border-radius:9px;padding:8px 11px;font-size:11px;font-weight:750}.melody-entry-options{grid-template-columns:auto auto minmax(180px,1fr);align-items:center;gap:13px;margin-top:11px;display:grid}.melody-duration-palette,.melody-accidental-palette{background:#ffffffb8;border:1px solid #c5d7d2;border-radius:11px;padding:8px}.melody-duration-palette>span,.melody-accidental-palette>span{color:#5c7174;letter-spacing:.04em;margin-right:3px;font-size:10px;font-weight:900}.melody-duration-palette button,.melody-accidental-palette button{min-width:38px;padding:0 8px;font-family:Noto Music,Segoe UI Symbol,Georgia,serif;font-size:20px}.melody-entry-options p,.melody-entry-guidance{color:#586f72;margin:0;font-size:12px;font-weight:700;line-height:1.45}.melody-entry-guidance{margin-top:11px}.melody-pencil-tools{background:#fff2ed;border-left:4px solid #b64d35;border-radius:10px;margin-top:12px;padding:11px}.melody-pencil-tools strong{color:#833629;margin-right:auto;font-size:12px}.melody-pencil-tools label{color:#6c514b;align-items:center;gap:6px;font-size:11px;font-weight:850;display:flex}.melody-pencil-tools input[type=color]{background:#fff;border:1px solid #c99788;border-radius:8px;width:42px;height:36px;padding:2px}.melody-pencil-tools select{background:#fff;border:1px solid #c99788;border-radius:8px;min-height:36px}.melody-staff-scroll{scrollbar-color:#0b6962 #e1ebe8;scrollbar-width:thin;background:#fffdf8;border:2px solid #b9cbc7;border-radius:18px;overflow-x:auto}.melody-staff{width:auto;min-width:100%;height:250px;display:block}.choir-piano-system{gap:10px;display:grid}.choir-piano-staff{--staff-colour:#0b6962;opacity:.72;grid-template-columns:126px minmax(0,1fr);align-items:stretch;gap:10px;transition:opacity .15s,transform .15s;display:grid;position:relative}.choir-piano-staff.active{opacity:1}.choir-piano-staff.active .melody-staff-scroll{border-color:var(--staff-colour);box-shadow:0 0 0 4px var(--staff-colour)}@supports (color:color-mix(in lab, red, red)){.choir-piano-staff.active .melody-staff-scroll{box-shadow:0 0 0 4px color-mix(in srgb, var(--staff-colour) 13%, transparent)}}.choir-piano-staff.piano-start{margin-top:24px}.choir-piano-divider{color:#fff;letter-spacing:.1em;text-align:center;background:#38565a;border-radius:8px;padding:5px 12px;font-size:10px;font-weight:950;position:absolute;bottom:calc(100% + 6px);left:0;right:0}.choir-piano-staff-label{border:2px solid var(--staff-colour);min-height:100%;color:var(--staff-colour);text-align:center;cursor:pointer;background:#fff;border-radius:17px;place-content:center;gap:5px;padding:13px 10px;display:grid}.choir-piano-staff-label strong{font-family:var(--font-display);font-size:29px;line-height:1}.choir-piano-staff-label span,.choir-piano-staff-label small{display:block}.choir-piano-staff-label:disabled{cursor:not-allowed;opacity:.58}.choir-piano-staff-label span{font-size:12px;font-weight:900}.choir-piano-staff-label small{color:#617478;font-size:10px;font-weight:750}.choir-piano-staff.active .choir-piano-staff-label{color:#fff;background:var(--staff-colour)}.choir-piano-staff.active .choir-piano-staff-label small{color:#ffffffd1}.choir-piano-staff-canvas{min-width:0}.choir-piano-system .melody-staff{height:180px}.melody-staff-note,.melody-staff-rest{cursor:crosshair}.melody-staff-pencil{cursor:crosshair;-webkit-user-select:none;user-select:none}.melody-staff-pencil .staff-event{pointer-events:none}.melody-annotation-stroke{pointer-events:none;filter:drop-shadow(0 1px 1px #1b20211f)}.melody-clef{fill:#20343a;font-family:Noto Music,Segoe UI Symbol,serif;font-size:70px}.melody-clef-octave,.melody-time-signature{fill:#20343a;font-family:Georgia,serif;font-size:26px;font-weight:800}.staff-event{cursor:pointer;touch-action:none;outline:none}.staff-event:hover rect,.staff-event:focus rect{fill:#eef6f3}.staff-event.selected rect{fill:#fff0ea}.staff-accidental{fill:#20343a;font-family:Noto Music,Segoe UI Symbol,serif;font-size:23px}.staff-rest{fill:#0e625f;text-anchor:middle;font-family:Noto Music,Segoe UI Symbol,serif;font-size:34px}.staff-note-name{fill:#4c6367;text-anchor:middle;font-size:10px;font-weight:850}.melody-playback-cursor{stroke:#d84131;stroke-width:4px;stroke-linecap:round;filter:drop-shadow(0 0 3px #d8413170)}.melody-note-editor{background:#edf5f2;border:1px solid #c5d6d2;border-radius:16px;grid-template-columns:180px auto 1fr;align-items:center;gap:14px;margin-top:17px;padding:15px;display:grid}.melody-note-editor>div:first-child{display:grid}.melody-note-editor span{color:#6f7f82;letter-spacing:.08em;font-size:10px;font-weight:950}.melody-note-editor strong{color:#0b5f5b;font-size:23px}.melody-note-editor small{color:#596e72;font-weight:700}.melody-note-navigation,.melody-note-adjustments,.melody-export-actions{flex-wrap:wrap;gap:8px;display:flex}.melody-note-navigation button,.melody-note-adjustments button,.melody-export-actions button{color:#0a5753;cursor:pointer;background:#fff;border:2px solid #0b6962;border-radius:10px;min-height:42px;padding:0 13px;font-size:12px;font-weight:900}.melody-note-adjustments{justify-content:flex-end}.melody-note-adjustments button:disabled{cursor:not-allowed;opacity:.42}.melody-note-adjustments .melody-delete-note{color:#9c3428;border-color:#aa3f30}.melody-note-adjustments .melody-chord-button{color:#7f342d;background:#fff3ee;border-color:#8d3f37}.melody-notes-card label{color:#385358;letter-spacing:.04em;text-transform:uppercase;gap:8px;margin-top:18px;font-size:12px;font-weight:900;display:grid}.melody-notes-card textarea{resize:vertical;color:#18383d;letter-spacing:normal;text-transform:none;background:#fbfdfc;border:2px solid #c4d5d2;border-radius:14px;width:100%;min-height:190px;padding:16px;font:16px/1.65 system-ui,sans-serif}.melody-notes-card textarea:focus{border-color:#0b6962;outline:3px solid #0b696221}.melody-notes-card label small{color:#65777a;letter-spacing:normal;text-transform:none;justify-self:end;font-weight:750}.melody-export-actions{margin-top:20px}.melody-export-actions button{min-height:48px;padding:0 18px}.melody-export-actions button:first-child{color:#fff;background:#0b6962}.melody-save-notice{color:#176255;margin:14px 0 0;font-weight:850}.melody-saved-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.melody-saved-list article{background:#f7fbf9;border:1px solid #c6d7d3;border-radius:13px;display:flex;overflow:hidden}.melody-saved-list article>button:first-child{color:#17383d;text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;min-width:0;padding:13px 15px;display:grid}.melody-saved-list strong,.melody-saved-list span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.melody-saved-list span{color:#65777a;margin-top:3px;font-size:12px;font-weight:700}.melody-saved-list article>button:last-child{color:#9f382b;cursor:pointer;background:#ffebe5;border:0;width:46px;font-size:22px}.melody-privacy-note{color:#38565a;background:#e7f1ee;border-left:5px solid #0b6962;border-radius:14px;align-items:center;gap:12px;padding:17px 20px;display:flex}.melody-privacy-note strong{color:#0b5f5b;flex:none}@media (width<=980px){.melody-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.melody-recorder{grid-template-columns:160px 1fr}.melody-record-actions{grid-column:1/-1}.melody-record-actions button{width:100%}.melody-note-editor{grid-template-columns:1fr}.melody-note-adjustments{justify-content:flex-start}.melody-entry-options{grid-template-columns:1fr}.melody-duration-palette,.melody-accidental-palette{justify-content:flex-start}}@media (width<=700px){.melody-transcriber-backdrop{padding:0}.melody-transcriber-dialog{border:0;border-radius:0;width:100vw;max-height:100vh}.melody-transcriber-header{padding:max(19px, env(safe-area-inset-top)) 16px 18px}.melody-transcriber-header h2{font-size:31px}.melody-transcriber-header span{max-width:290px;font-size:13px}.melody-transcriber-header>button{width:44px;height:44px}.melody-transcriber-body{padding:14px 12px max(24px, env(safe-area-inset-bottom));gap:14px}.melody-settings-card,.melody-record-card,.melody-score-card,.melody-export-card,.melody-saved-card,.melody-notes-card{border-radius:17px;padding:16px}.melody-settings-grid{grid-template-columns:1fr}.melody-recorder{grid-template-columns:1fr;padding:14px}.melody-live-note{min-height:96px}.melody-record-actions{grid-column:auto}.melody-score-heading{flex-direction:column;align-items:flex-start}.melody-composer{padding:12px}.melody-composer-topline{flex-direction:column;align-items:flex-start}.melody-history-actions{width:100%}.melody-history-actions button{flex:140px}.melody-entry-tools{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.melody-entry-tools button,.melody-pencil-unavailable{width:100%}.melody-pencil-unavailable{grid-column:1/-1}.melody-duration-palette{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.melody-duration-palette>span{grid-column:1/-1}.melody-accidental-palette{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.melody-accidental-palette>span{grid-column:1/-1}.melody-duration-palette button,.melody-accidental-palette button{width:100%}.melody-pencil-tools{flex-direction:column;align-items:stretch}.melody-pencil-tools strong{margin-right:0}.melody-playback-actions{justify-items:stretch;width:100%}.melody-playback-actions button{width:100%}.melody-staff{height:205px}.choir-piano-staff{grid-template-columns:1fr;gap:6px}.choir-piano-staff-label{text-align:left;grid-template-columns:auto 1fr auto;place-content:stretch;align-items:center;min-height:58px;padding:8px 13px}.choir-piano-staff-label strong{font-size:23px}.choir-piano-staff-label small{text-align:right}.choir-piano-system .melody-staff{height:190px}.melody-note-navigation,.melody-note-adjustments,.melody-export-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.melody-note-adjustments .melody-delete-note,.melody-export-actions button:first-child{grid-column:1/-1}.melody-saved-list{grid-template-columns:1fr}.melody-privacy-note{flex-direction:column;align-items:flex-start}}.midi-studio-menu-action{color:#fff;background:linear-gradient(135deg,#286b94,#123f63);border:3px solid #12334d;box-shadow:0 15px 34px #123f634d}.midi-studio-menu-action:hover{background:linear-gradient(135deg,#205a80,#0b304e);border-color:#071e31}.midi-studio-menu-action small{color:#eef8ff}.midi-studio-backdrop{z-index:1700;background:#000;padding:18px;position:fixed;inset:0;overflow:auto}.midi-studio-dialog{color:#102f37;background:#e7eeee;border-radius:26px;width:min(1480px,100%);min-height:calc(100vh - 36px);margin:0 auto;overflow:hidden;box-shadow:0 28px 90px #00000075}.midi-studio-header{color:#fff;background:radial-gradient(circle at 80% 0,#59a7aa6b,#0000 36%),linear-gradient(120deg,#102f3a,#0a5d5a);justify-content:space-between;align-items:center;gap:24px;padding:32px 38px;display:flex}.midi-studio-header p,.midi-studio-header h2,.midi-studio-header span,.midi-import-panel p,.midi-import-panel h3,.midi-import-panel span,.midi-section-heading p,.midi-section-heading h3,.midi-section-heading span,.midi-export-panel p,.midi-export-panel h3,.midi-export-panel span{margin:0}.midi-studio-header p{letter-spacing:.14em;font-size:.78rem;font-weight:900}.midi-studio-header h2{font-family:var(--font-display), Georgia, serif;margin-top:5px;font-size:clamp(2rem,4vw,3.7rem);line-height:1}.midi-studio-header span{color:#fff;margin-top:10px;font-weight:650;display:block}.midi-studio-header>button{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff80;border-radius:50%;flex:0 0 58px;width:58px;height:58px;font-size:2.25rem;line-height:1}.midi-studio-body{background:linear-gradient(#e7eeee 0,#f2f5f5 45%,#e7eeee 100%);gap:20px;padding:24px;display:grid}.midi-import-panel,.midi-export-panel{background:#fff;border:2px solid #819b9d;border-radius:20px;justify-content:space-between;align-items:center;gap:24px;padding:24px 26px;display:flex;box-shadow:0 7px 18px #12373e1a}.midi-import-panel h3,.midi-export-panel h3{color:#17323a;margin-top:3px;font-size:1.45rem}.midi-import-panel span,.midi-export-panel span{color:#304b52;margin-top:8px;font-size:.96rem;font-weight:600;display:block}.midi-primary-action,.midi-export-panel button{color:#fff;cursor:pointer;background:#0c7069;border:0;border-radius:13px;min-height:52px;padding:0 23px;font-weight:900}.midi-primary-action:disabled,.midi-export-panel button:disabled,.midi-transport button:disabled{cursor:wait;opacity:.58}.midi-studio-error{color:#8d1d25;background:#fff0f0;border:1px solid #e4a7a7;border-radius:13px;margin:0;padding:14px 18px;font-weight:800}.midi-studio-empty{background:#fff;border:3px dashed #66898a;border-radius:22px;align-items:center;gap:26px;min-height:230px;padding:38px;display:flex;box-shadow:0 7px 18px #12373e1a}.midi-studio-empty>span{color:#fff;letter-spacing:.08em;background:#173f4c;border-radius:24px;flex:0 0 120px;place-items:center;width:120px;height:120px;font-weight:950;display:grid}.midi-studio-empty h3,.midi-studio-empty p{margin:0}.midi-studio-empty h3{color:#17323a;font-size:1.45rem}.midi-studio-empty p{color:#29454c;max-width:760px;margin-top:10px;font-weight:600;line-height:1.65}.midi-project-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.midi-project-summary div{background:#fff;border:2px solid #819b9d;border-radius:16px;padding:17px 16px;box-shadow:0 5px 12px #12373e14}.midi-project-summary strong,.midi-project-summary span{display:block}.midi-project-summary strong{color:#00665f;font-size:1.55rem;font-weight:950}.midi-project-summary span{color:#2f4a50;margin-top:3px;font-size:.86rem;font-weight:700}.midi-transport{color:#fff;background:#102f38;border:2px solid #0a242b;border-radius:18px;grid-template-columns:auto auto auto minmax(180px,1fr) auto minmax(180px,.45fr);align-items:center;gap:12px;padding:17px 20px;display:grid;box-shadow:0 8px 18px #0b232a33}.midi-transport button{color:#fff;cursor:pointer;background:#254a53;border:2px solid #ffffffb8;border-radius:10px;min-height:44px;padding:0 17px;font-weight:900}.midi-transport button.midi-play-action{background:#c94727;border-color:#ffbea9}.midi-transport label{gap:4px;font-size:.78rem;font-weight:800;display:grid}.midi-transport input[type=range],.midi-channel-strip input[type=range],.midi-automation-lane input[type=range]{accent-color:#c93f20;filter:saturate(1.35)contrast(1.12)}.midi-mixer-section,.midi-automation-section{background:#fff;border:2px solid #819b9d;border-radius:22px;padding:24px;box-shadow:0 8px 20px #12373e1c}.midi-section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.midi-section-heading h3{color:#17323a;font-size:1.55rem}.midi-section-heading>span{color:#2e4a51;text-align:right;max-width:560px;font-weight:650}.midi-channel-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;display:grid}.midi-channel-strip{background:#edf3f2;border:2px solid #819a9c;border-radius:18px;gap:13px;padding:16px;display:grid;box-shadow:0 5px 13px #12373e17}.midi-channel-strip.selected{background:#e0efec;border-color:#00665f;box-shadow:0 0 0 4px #00665f33,0 7px 18px #12373e24}.midi-channel-select{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:flex}.midi-channel-select>span{color:#fff;background:#173f4c;border-radius:11px;flex:0 0 42px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.midi-channel-select strong,.midi-channel-select small{display:block}.midi-channel-select strong{color:#17323a}.midi-channel-select small{color:#365159;margin-top:3px;font-weight:650}.midi-channel-strip label{color:#193940;gap:5px;font-size:.84rem;font-weight:900;display:grid}.midi-channel-strip input[type=text],.midi-channel-strip select{color:#0c272e;background:#fff;border:2px solid #718e91;border-radius:9px;width:100%;min-height:40px;padding:0 10px;font-weight:700}.midi-channel-buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.midi-channel-buttons button{color:#173c44;cursor:pointer;background:#fff;border:2px solid #607f83;border-radius:9px;min-height:40px;font-weight:900}.midi-channel-buttons button.mute.active{color:#fff;background:#a31d29;border-color:#a31d29}.midi-channel-buttons button.solo.active{color:#fff;background:#c8831c;border-color:#b97412}.midi-automation-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.midi-automation-lane{background:#fff;border:2px solid #819a9c;border-radius:16px;overflow:hidden}.midi-automation-lane.global{background:#e7f1ef;border-color:#4f817f;margin-bottom:16px}.midi-automation-lane header{color:#17343d;background:#d8e7e4;border-bottom:2px solid #9eb3b4;justify-content:space-between;align-items:center;gap:14px;padding:13px 15px;display:flex}.midi-automation-lane header span{color:#29474e;font-size:.82rem;font-weight:700}.midi-automation-lane>div{gap:8px;padding:14px;display:grid}.midi-automation-lane label{color:#243f46;grid-template-columns:56px minmax(80px,1fr) 48px;align-items:center;gap:8px;font-size:.82rem;font-weight:750;display:grid}.midi-automation-lane label b{color:#00665f;text-align:right;font-size:.86rem;font-weight:950}.midi-automation-selected{color:#1e3c43;margin:0 0 10px;font-weight:700}.midi-export-panel{background:#e1efec;border-color:#4f817f}.midi-export-panel>div:last-child{flex-wrap:wrap;justify-content:end;gap:10px;display:flex}.midi-export-panel button:last-child{background:#274b70}.midi-studio-footnote{color:#263f46;text-align:center;margin:0;padding:0 8px 12px;font-size:.88rem;font-weight:700}@media (width<=980px){.midi-project-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.midi-transport{grid-template-columns:auto auto 1fr}.midi-transport>input[type=range],.midi-transport label{grid-column:1/-1}.midi-automation-grid{grid-template-columns:1fr}}@media (width<=680px){.midi-studio-backdrop{padding:0}.midi-studio-dialog{border-radius:0;min-height:100vh}.midi-studio-header{padding:24px 20px}.midi-studio-header>button{flex-basis:48px;width:48px;height:48px}.midi-studio-body{padding:14px}.midi-import-panel,.midi-export-panel,.midi-section-heading,.midi-studio-empty{flex-direction:column;align-items:stretch}.midi-studio-empty>span{flex-basis:78px;width:78px;height:78px}.midi-project-summary{grid-template-columns:1fr 1fr}.midi-section-heading{display:flex}.midi-section-heading>span{text-align:left}.midi-transport{grid-template-columns:1fr 1fr}.midi-transport>span,.midi-transport>input[type=range],.midi-transport label{grid-column:1/-1}.midi-export-panel>div:last-child,.midi-export-panel button{width:100%}}.midi-studio-hardware{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;isolation:isolate;opacity:1;filter:none;color:#f7fbfc;background:#02080a;border:4px solid #a9c9cf;box-shadow:0 0 0 3px #000,0 34px 100px #000000c7}.midi-studio-hardware .midi-studio-header{background:linear-gradient(135deg,#06171c,#075653 72%,#08252b);border-bottom:4px solid #70eadc}.midi-studio-hardware .midi-studio-header p,.midi-studio-hardware .midi-studio-header h2,.midi-studio-hardware .midi-studio-header span{color:#fff;text-shadow:0 2px 3px #000000a6}.midi-studio-hardware .midi-studio-header>button{color:#fff;background:#071419;border:3px solid #fff}.midi-studio-hardware .midi-studio-body{background:#030c0f}.midi-studio-hardware .midi-import-panel,.midi-studio-hardware .midi-export-panel,.midi-studio-hardware .midi-mixer-section,.midi-studio-hardware .midi-automation-section{color:#f7fbfc;background:#0b2026;border:3px solid #91b1b7;box-shadow:inset 0 1px #ffffff2e,0 10px 24px #00000057}.midi-studio-hardware .midi-import-panel h3,.midi-studio-hardware .midi-export-panel h3,.midi-studio-hardware .midi-section-heading h3{color:#fff}.midi-studio-hardware .midi-import-panel span,.midi-studio-hardware .midi-import-panel small,.midi-studio-hardware .midi-export-panel span,.midi-studio-hardware .midi-section-heading>span{color:#fff;font-weight:800;display:block}.midi-studio-hardware .midi-import-panel small{margin-top:7px}.midi-studio-hardware .eyebrow{color:#ffb28f;letter-spacing:.12em}.midi-studio-hardware .midi-primary-action,.midi-studio-hardware .midi-export-panel button{color:#fff;background:#d54824;border:3px solid #fff;box-shadow:inset 0 1px #ffffff42,0 5px #682311}.midi-studio-hardware .midi-studio-error{color:#fff;background:#781c24;border:2px solid #ff7f7f}.midi-studio-hardware .midi-studio-empty{color:#fff;background:#07171c;border:4px dashed #b9d5d9}.midi-studio-hardware .midi-studio-empty>span{color:#07181d;background:#74d1c6}.midi-studio-hardware .midi-studio-empty h3,.midi-studio-hardware .midi-studio-empty p{color:#fff}.midi-studio-hardware .midi-project-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.midi-studio-hardware .midi-project-summary div{background:#0a2026;border:3px solid #8caeb4;box-shadow:inset 0 1px #ffffff14,0 6px 14px #00000042}.midi-studio-hardware .midi-project-summary strong{color:#8effef}.midi-studio-hardware .midi-project-summary span{color:#fff}.midi-studio-hardware .midi-transport{color:#fff;background:#000;border:3px solid #a3bdc2;grid-template-columns:auto auto auto auto minmax(160px,1fr) auto}.midi-studio-hardware .midi-transport button{color:#fff;background:linear-gradient(#486970,#172b30);border:3px solid #e7f2f4;box-shadow:inset 0 1px #fff3,0 3px #02090b}.midi-studio-hardware .midi-transport .midi-play-action{background:linear-gradient(#df6241,#a7351f);border-color:#ffb89f}.midi-studio-hardware .midi-record-action{color:#ffd9d9;background:#641c22;border-color:#ff8e91}.midi-studio-hardware .midi-record-action.active{color:#fff;background:#e5162d;animation:.9s ease-in-out infinite alternate midi-rec-pulse;box-shadow:0 0 0 3px #ff38494d,0 0 18px #ff2336ad}@keyframes midi-rec-pulse{0%{filter:brightness(.9)}to{filter:brightness(1.35)}}.midi-console-frame{background:linear-gradient(#263438,#060b0d);border:4px solid #aabdc1;border-radius:16px;padding:18px;overflow-x:auto;box-shadow:inset 0 0 0 2px #080e10,inset 0 10px 30px #0000008c}.midi-studio-hardware .midi-channel-grid{grid-template-columns:repeat(7,minmax(148px,1fr));gap:10px;min-width:1080px;display:grid}.midi-studio-hardware .midi-channel-strip{color:#fff;background:#122c34;border:3px solid #91aeb3;border-radius:9px;align-content:start;gap:10px;min-height:615px;padding:12px 10px;box-shadow:inset 0 1px #ffffff3d,inset 0 -6px 16px #00000052,0 4px 9px #0000005c}.midi-studio-hardware .midi-channel-strip.selected{background:#0d4146;border-color:#41ffe8;box-shadow:0 0 0 4px #41ffe861,0 0 20px #41ffe833,inset 0 1px #ffffff38}.midi-studio-hardware .midi-channel-strip.armed{border-color:#ff4f5d;box-shadow:0 0 0 3px #ff364642,0 0 18px #ff24362e}.midi-strip-number{color:#fff;letter-spacing:.08em;background:#000;border:2px solid #b7ccd0;border-radius:5px;justify-content:space-between;align-items:center;min-height:32px;padding:6px 8px;font-size:.78rem;font-weight:950;display:flex}.midi-strip-number i{background:#57de71;border-radius:50%;width:9px;height:9px;box-shadow:0 0 9px #57de71b8}.midi-channel-strip.armed .midi-strip-number i{background:#ff263e;box-shadow:0 0 12px #ff263ee6}.midi-studio-hardware .midi-channel-select{color:#fff;text-align:left;background:#020c0f;border:2px solid #a8c0c5;border-radius:6px;gap:2px;width:100%;min-height:60px;padding:8px;display:grid}.midi-studio-hardware .midi-channel-select strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.midi-studio-hardware .midi-channel-select small{color:#edf7f8;font-weight:800}.midi-instrument-select{color:#fff;background:#000;border:3px solid #a0bbc0;border-radius:5px;width:100%;min-height:38px;font-size:.76rem;font-weight:800}.midi-pan-control{color:#fff;text-align:center;gap:4px;font-size:.78rem;font-weight:900;display:grid}.midi-pan-control input[type=range]{accent-color:#76d9d0;width:100%}.midi-fader-bay{background:linear-gradient(90deg,#0000 48%,#000 49%,#8fa2a5 50%,#000 51%,#0000 52%),#02090b;border:2px solid #b0c1c4;border-radius:8px;flex:1;justify-content:center;align-items:center;min-height:300px;margin-top:2px;padding-left:30px;display:flex;position:relative;box-shadow:inset 0 8px 20px #000000a3,0 1px #ffffff1c}.midi-fader-scale{color:#fff;flex-direction:column;justify-content:space-between;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.65rem;font-weight:800;display:flex;position:absolute;inset:14px auto 14px 8px}.midi-vertical-fader{accent-color:#ff744d;cursor:ns-resize;writing-mode:vertical-lr;direction:rtl;width:48px;height:270px;margin:0}.midi-vertical-fader::-webkit-slider-runnable-track{background:linear-gradient(90deg,#03090b,#5d7074,#03090b);border:1px solid #02090b;border-radius:7px;width:12px}.midi-vertical-fader::-webkit-slider-thumb{-webkit-appearance:none;background:linear-gradient(#d7ddde 0 36%,#323e41 37% 47%,#ff744d 48% 54%,#323e41 55% 64%,#abb7b9 65%);border:2px solid #101719;border-radius:4px;width:42px;height:24px;box-shadow:0 4px 7px #000000a6}.midi-vertical-fader::-moz-range-track{background:#3f5358;border:1px solid #02090b;border-radius:7px;width:12px}.midi-vertical-fader::-moz-range-thumb{background:#d2d9da;border:2px solid #101719;border-radius:4px;width:42px;height:24px}.midi-fader-value{color:#9effef;text-align:center;background:#000;border:2px solid #9eb5b9;border-radius:4px;min-height:30px;padding:5px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.94rem;font-weight:900;display:block}.midi-studio-hardware .midi-channel-buttons{grid-template-columns:1.35fr 1fr 1fr;gap:5px;display:grid}.midi-studio-hardware .midi-channel-buttons button,.midi-replace-channel,.midi-empty-channel button{color:#fff;cursor:pointer;background:linear-gradient(#506c73,#15282d);border:3px solid #b8cbd0;border-radius:5px;min-height:38px;font-size:.72rem;font-weight:950}.midi-studio-hardware .midi-channel-buttons .arm.active{background:#d91f36;border-color:#ff8590}.midi-studio-hardware .midi-channel-buttons .mute.active{color:#fff;background:#bd3f1f;border-color:#ffb08c}.midi-studio-hardware .midi-channel-buttons .solo.active{color:#171300;background:#ffd23f;border-color:#ffe789}.midi-replace-channel{color:#fff;background:#020d11;width:100%}.midi-channel-strip.empty{opacity:1;background:#07161b}.midi-empty-channel{color:#fff;text-align:center;align-content:center;place-items:center;gap:14px;min-height:500px;display:grid}.midi-empty-channel strong{color:#fff;font-size:1.2rem}.midi-empty-channel span{color:#f1f8f9;max-width:110px;font-size:.82rem}.midi-empty-channel button{background:#075a56;border-color:#79d6cc;padding:0 16px}.midi-master-strip{background:linear-gradient(90deg,#ffa66014,#0000),#2b2522;border-color:#d18d5d}.midi-master-strip .midi-strip-number{color:#ffe1c9}.midi-master-readout{color:#ffb27f;background:#0a1113;border:1px solid #050708;border-radius:6px;place-items:center;min-height:118px;display:grid}.midi-master-readout strong{font-size:1.45rem}.midi-master-readout span{color:#fff;font-size:.7rem;font-weight:900}.midi-recorded-automation{background:#020b0e;border:3px solid #92afb4;border-radius:12px;margin:0;overflow:hidden}.midi-automation-track-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.midi-recorded-automation.selected{border-color:#ffb27f}.midi-recorded-automation.armed{border-color:#ff6247;box-shadow:0 0 0 2px #ff62472e}.midi-recorded-automation header{color:#fff;background:#0d3037;border-bottom:2px solid #9bb7bc;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.midi-recorded-automation header div,.midi-automation-channel-button{gap:3px;display:grid}.midi-recorded-automation header span{color:#fff;font-size:.8rem;font-weight:700}.midi-recorded-automation header button{color:#fff;background:#17353c;border:3px solid #c1d2d5;border-radius:6px;min-height:38px;font-weight:900}.midi-automation-channel-button{text-align:left;flex:1;justify-items:start;padding:6px 10px;background:#061b20!important;min-height:44px!important}.midi-automation-track-actions{grid-auto-flow:column;align-items:center;display:flex!important}.midi-automation-track-actions>b{color:#1a0704;text-align:center;background:#ffb27f;border-radius:5px;min-width:48px;padding:8px}.midi-automation-track-actions>b.recording{color:#fff;background:#d62424;box-shadow:0 0 12px #ff3030bf}.midi-automation-timeline{background:linear-gradient(#79d9d026 1px,#0000 1px) 0 0/100% 25%,linear-gradient(90deg,#79d9d03d 1px,#0000 1px) 0 0/10% 100%,#000;border:2px solid #9db5ba;border-radius:7px;height:150px;margin:18px;position:relative}.midi-automation-track-list .midi-automation-timeline{height:92px;margin:10px}.midi-automation-timeline>i{background:#ff6247;border:2px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;transform:translate(-50%,50%);box-shadow:0 0 8px #ff6247cc}.midi-automation-timeline>b{color:#fff;text-align:center;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.midi-automation-midline{color:#93aaae;font-size:.68rem;position:absolute;top:50%;left:5px;transform:translateY(-50%)}.midi-studio-hardware .midi-automation-grid{grid-template-columns:1fr 1fr}.midi-studio-hardware .midi-automation-lane,.midi-studio-hardware .midi-automation-lane.global{color:#fff;background:#020d10;border:3px solid #9ab5ba}.midi-studio-hardware .midi-automation-lane header{color:#fff;background:#0b3037;border-bottom-color:#a8c0c4}.midi-studio-hardware .midi-automation-lane header span,.midi-studio-hardware .midi-automation-lane label{color:#fff}.midi-studio-hardware .midi-automation-lane label b{color:#79e1d5}.midi-studio-hardware .midi-studio-footnote{color:#fff}.midi-studio-hardware button:focus-visible,.midi-studio-hardware select:focus-visible,.midi-studio-hardware input:focus-visible{outline-offset:3px;outline:4px solid #ffcf4a}@media (width<=980px){.midi-studio-hardware .midi-transport{grid-template-columns:repeat(3,1fr)}.midi-studio-hardware .midi-transport>input[type=range]{grid-column:1/-1}.midi-studio-hardware .midi-automation-grid{grid-template-columns:1fr}}@media (width<=680px){.midi-studio-hardware .midi-project-summary{grid-template-columns:1fr 1fr}.midi-studio-hardware .midi-transport{grid-template-columns:1fr}.midi-studio-hardware .midi-transport>span,.midi-studio-hardware .midi-transport>input[type=range]{grid-column:1}.midi-recorded-automation header{flex-direction:column;align-items:stretch}.midi-automation-track-list{grid-template-columns:1fr}}@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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
