:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f8f6f1;--color-surface:#fff;--color-surface-muted:#eeeae1;--color-text:#293b32;--color-muted:#65766c;--color-primary:#526a5b;--color-primary-hover:#3c5747;--color-primary-contrast:#fff;--color-border:#deded5;--color-soft-accent:#e7ede6;--color-gold:#c7a77a;font-family:Segoe UI,Arial,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#171d1b;--color-surface:#252d29;--color-surface-muted:#2b3730;--color-text:#f0ede5;--color-muted:#b0bbb1;--color-primary:#a8d8ba;--color-primary-hover:#c8f0d6;--color-primary-contrast:#10251a;--color-border:#3c4941;--color-soft-accent:#304238;--color-gold:#c7a77a}*{box-sizing:border-box}body{background:var(--color-bg);min-width:320px;color:var(--color-text);margin:0}button,input,textarea,select{font:inherit}:focus-visible{outline:3px solid var(--color-gold);outline-offset:3px}@media (prefers-reduced-motion:no-preference){body,.app,.app-sidebar,.app-main{transition:background-color .2s,color .2s}}:root{--select-chevron-inset:16px;--select-chevron-size:16px;--select-chevron-light:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23526a5b' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--select-chevron-dark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a8d8ba' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--select-chevron:var(--select-chevron-light)}:root[data-theme=dark]{--select-chevron:var(--select-chevron-dark)}:root select:not([multiple]):not([size]){appearance:none;cursor:pointer;max-width:100%;min-height:40px;padding-right:44px;transition:border-color .2s,box-shadow .2s,background-color .2s,color .2s;background-image:var(--select-chevron)!important;background-repeat:no-repeat!important;background-position:right var(--select-chevron-inset) center!important;background-size:var(--select-chevron-size)!important}:root select:not([multiple]):not([size]):hover:not(:disabled){border-color:var(--color-primary)}:root select:not([multiple]):not([size]):focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 14%, transparent)}:root select:not([multiple]):not([size]):disabled{opacity:.6;cursor:not-allowed}:root select:not([multiple]):not([size]) option{background:var(--color-surface);color:var(--color-text)}@media (prefers-reduced-motion:reduce){:root select:not([multiple]):not([size]){transition:none}}:where(button:not(:disabled):not([aria-disabled=true]):not([role=switch])){transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s,filter .12s}@media (hover:hover){:where(button:not(:disabled):not([aria-disabled=true]):not([role=switch]):not(.ui-button):not(.ui-icon-button)):hover{box-shadow:inset 0 0 0 999px color-mix(in srgb, currentColor 7%, transparent)}}:where(button:not(:disabled):not([aria-disabled=true]):not([role=switch])):active{filter:brightness(.88)}@media (prefers-reduced-motion:reduce){:where(button:not(:disabled):not([aria-disabled=true]):not([role=switch])){transition:none}}.app{background:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:Arial,sans-serif}.header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;padding:24px 8%;display:flex}.brand{color:var(--color-primary);font-size:26px;font-weight:700;text-decoration:none}.brand:hover{color:var(--color-primary-hover)}.subtitle{color:#6c756e}.hero{text-align:center;max-width:820px;margin:100px auto 80px;padding:0 24px}.eyebrow{color:#4d8064;font-weight:700}.hero h1{margin:20px 0;font-size:clamp(36px,5vw,58px);line-height:1.15}.description{color:var(--color-muted);font-size:19px;line-height:1.7}.actions{justify-content:center;gap:14px;margin-top:32px;display:flex}button,.actions a,.account-actions a{box-sizing:border-box;background:var(--color-primary);color:var(--color-primary-contrast);text-align:center;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;padding:14px 22px;font-family:inherit;font-size:15px;font-weight:400;line-height:1.3;text-decoration:none;display:inline-flex}button.secondary{color:var(--color-primary);border:1px solid var(--color-primary);background:0 0}button:disabled{opacity:.55;cursor:not-allowed}.actions a:hover,.account-actions a:hover{background:var(--color-primary-hover)}.features{grid-template-columns:repeat(3,1fr);gap:20px;max-width:1100px;margin:0 auto;padding:0 24px 80px;display:grid}.features article{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:28px}.features h2{color:var(--color-primary);font-size:20px}.features p{color:var(--color-muted);line-height:1.6}.api-status{color:var(--color-primary-hover);text-align:center;background:#eaf3ec;border-radius:10px;margin:16px 20px 0;padding:12px 16px;font-size:14px}.auth-container{box-sizing:border-box;width:100%;max-width:520px;margin:32px auto;padding:0 20px}.auth-switch{grid-template-columns:1fr 1fr;gap:8px;display:grid}.auth-switch a{box-sizing:border-box;min-height:48px;color:var(--color-primary);text-align:center;background:#e9eee9;border-radius:10px;justify-content:center;align-items:center;padding:12px;font-size:15px;text-decoration:none;display:flex}.auth-switch a.active,.auth-switch a[aria-current=page]{background:var(--color-primary);color:var(--color-primary-contrast)}.auth-switch a:hover:not(.active){background:#dce7dd}.auth-container .register{margin:20px auto}.auth-welcome{background:var(--color-surface);border:1px solid var(--color-border);text-align:center;border-radius:16px;padding:24px 20px}.auth-welcome h2{color:var(--color-primary)}.auth-welcome p{color:var(--color-muted);line-height:1.6}.auth-welcome button{min-height:48px;margin-top:12px}.auth-error{color:#a12626;text-align:center;margin-top:16px}.account-actions{flex-direction:column;gap:12px;margin-top:20px;display:flex}.account-actions a{min-height:48px}.back-button{box-sizing:border-box;min-height:44px;color:var(--color-primary);background:0 0;align-items:center;margin-bottom:16px;margin-left:48px;padding:10px 0;font-size:15px;text-decoration:none;display:inline-flex}.back-button:hover{color:var(--color-primary-hover);text-decoration:underline}.auth-container.auth-container--library{box-sizing:border-box;width:100%;max-width:1400px;padding:0 20px}@media (width>=768px){.api-status{max-width:400px;margin:20px auto 0}.auth-container{margin:48px auto}.auth-welcome{padding:32px}.account-actions{flex-flow:wrap;justify-content:center}}@media (width<=700px){.header{padding:20px}.hero{margin:60px auto 50px}.features{grid-template-columns:1fr}.actions{flex-direction:column}.actions a,.actions button{width:100%}}.account-actions>a,.account-actions>button{box-sizing:border-box;text-align:center;justify-content:center;align-items:center;min-height:48px;margin:0;padding:12px 20px;font-family:inherit;font-size:15px;font-weight:400;line-height:1.4;text-decoration:none;display:inline-flex}.app{background:var(--color-bg);color:var(--color-text)}.brand,.eyebrow,.features h2,.auth-welcome h2{color:var(--color-primary)}.description,.subtitle,.features p,.auth-welcome p{color:var(--color-muted)}.features article,.auth-welcome{background:var(--color-surface);border-color:var(--color-border)}button,.actions a,.account-actions a{background:var(--color-primary);color:var(--color-primary-contrast)}button.secondary{color:var(--color-primary);border-color:var(--color-primary);background:0 0}.auth-container:has(.community-readonly-library){max-width:1400px}.auth-switch{box-sizing:border-box;border:0;border-bottom:1px solid var(--color-border);width:100%;box-shadow:none;background:0 0;border-radius:0;flex-wrap:wrap;gap:8px;padding:0;display:flex}.auth-switch a{min-width:0;min-height:44px;color:var(--color-muted,var(--color-text));font:inherit;background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;flex:1 1 0;justify-content:center;align-items:center;padding:12px 15px;font-weight:700;text-decoration:none;transition:color .18s,border-color .18s;display:inline-flex}.auth-switch a.active,.auth-switch a[aria-current=page]{border-bottom-color:var(--color-primary);color:var(--color-primary);box-shadow:none;background:0 0}.auth-switch a:hover:not(.active){color:var(--color-primary);background:0 0}.auth-switch a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){.auth-switch a{transition:none}}.landing{font-family:Segoe UI,Arial,sans-serif;overflow:clip}.landing h1,.landing h2,.landing h3,.landing p{margin-top:0}.landing-kicker{letter-spacing:.16em;color:var(--color-primary);font-size:11px;font-weight:750;line-height:1.6}.landing-hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:64px;max-width:1240px;margin:auto;padding:90px 40px 100px;display:grid}.landing h1{letter-spacing:-.045em;margin-bottom:26px;font-family:Georgia,serif;font-size:clamp(44px,5.8vw,76px);font-weight:400;line-height:1.08}.landing h1 em{color:var(--color-primary);font-weight:400}.landing-lead{max-width:530px;color:var(--color-muted);font-size:18px;line-height:1.85}.landing-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:30px;display:flex}.landing a.landing-button{background:var(--color-primary);min-height:50px;color:var(--color-primary-contrast);border-radius:12px;justify-content:center;align-items:center;gap:30px;padding:15px 23px;font-size:15px;font-weight:650;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}.landing a.landing-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #172b1f18}.landing-text-link{color:var(--color-text);text-underline-offset:5px;font-size:14px}.landing-text-link span{margin-left:8px}.landing-caption{color:var(--color-muted);font-size:12px;line-height:1.6;margin-top:22px!important}.landing-hero-art{min-width:0;padding:35px 10px 45px;position:relative}.landing-orbit{border:1px solid var(--color-border);background:radial-gradient(ellipse, var(--color-soft-accent), transparent 70%);border-radius:50%;position:absolute;inset:-30px -70px;transform:rotate(-25deg)}.landing-orbit:after{content:"";border:1px dashed var(--color-border);border-radius:50%;position:absolute;inset:30px}.landing-session-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:20px;padding:30px;position:relative;transform:rotate(-3deg);box-shadow:0 25px 65px #172b1f0c}.landing-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.landing-pill{background:var(--color-soft-accent);color:var(--color-primary);white-space:nowrap;border-radius:20px;padding:6px 10px;font-size:11px}.landing-session-card h2{margin:28px 0 6px;font-family:Georgia,serif;font-size:32px;font-weight:400}.landing-session-card>p{color:var(--color-muted);font-size:13px}.landing-staff{background:repeating-linear-gradient(transparent 0 15px, var(--color-border) 15px 16px);height:85px;color:var(--color-primary);justify-content:space-around;align-items:center;margin:25px 0;font-family:Georgia,serif;font-size:45px;display:flex}.landing-staff span{animation:4s ease-in-out infinite alternate landing-note}.landing-staff span:nth-child(2n){animation-delay:-2s}.landing-session-meta{color:var(--color-muted);justify-content:space-between;gap:16px;font-size:11px;display:flex}.landing-session-meta strong{color:var(--color-text);margin-bottom:5px;font-size:14px;display:block}.landing-progress{background:var(--color-soft-accent);border-radius:5px;height:5px;margin:20px 0 12px;overflow:hidden}.landing-progress span{background:var(--color-primary);transform-origin:0;width:72%;height:100%;animation:3s both landing-progress;display:block}.landing-session-card .landing-card-note{margin-bottom:0;font-size:11px}.landing-floating-note{color:var(--color-gold);font-size:70px;position:absolute;top:-35px;right:0;transform:rotate(15deg)}.landing-floating-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;align-items:center;gap:12px;margin:-8px -12px 0 70px;padding:17px 20px;animation:5s ease-in-out infinite alternate landing-float;display:flex;position:relative;box-shadow:0 12px 30px #172b1f0c}.landing-floating-card>span{background:var(--color-soft-accent);width:34px;height:34px;color:var(--color-primary);border-radius:50%;place-items:center;display:grid}.landing-floating-card strong,.landing-floating-card small{font-size:12px;display:block}.landing-floating-card small{color:var(--color-muted);margin-top:4px;font-size:10px}.landing-example-label{text-align:center;color:var(--color-muted);font-size:10px;position:relative;margin:20px 0 0!important}.landing-discover{background:var(--color-soft-accent);padding:70px 40px;scroll-margin-top:20px}.landing-section-heading{text-align:center;max-width:680px;margin:0 auto 36px}.landing h2{letter-spacing:-.025em;font-family:Georgia,serif;font-weight:400;line-height:1.2}.landing-section-heading h2{margin-bottom:16px;font-size:clamp(30px,4vw,44px)}.landing-section-heading>p:last-child{color:var(--color-muted);line-height:1.7}.landing-demo{background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;max-width:1080px;margin:auto;overflow:hidden;box-shadow:0 20px 55px #172b1f08}.landing-demo-nav{border-bottom:1px solid var(--color-border);gap:8px;padding:16px 24px;display:flex}.landing-demo-nav button{color:var(--color-muted);background:0 0;border:1px solid #0000;flex:1;gap:10px;padding:13px;font-size:14px;font-weight:600}.landing-demo-nav button[aria-pressed=true]{background:var(--color-soft-accent);color:var(--color-primary);border-color:var(--color-border)}.landing-demo-nav button span{font-size:20px}.landing-demo-body{grid-template-columns:.9fr 1.1fr;align-items:center;gap:50px;min-height:355px;padding:45px;display:grid}.landing-step{letter-spacing:.15em;color:var(--color-muted);font-size:11px}.landing-demo-copy h3{margin:18px 0;font-family:Georgia,serif;font-size:29px;font-weight:400;line-height:1.25}.landing-demo-copy p{color:var(--color-muted);font-size:14px;line-height:1.8}.landing-demo-copy .landing-demo-hint{color:var(--color-primary);font-size:12px}.landing-preview{background:var(--color-bg);border:1px solid var(--color-border);border-radius:14px;min-width:0;padding:22px;animation:.3s both landing-enter}.landing-preview-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;font-size:14px;display:flex}.landing-library-rows{gap:12px;display:grid}.landing-piece{border:1px solid var(--color-border);background:var(--color-surface);border-radius:9px;align-items:center;gap:10px;padding:15px 10px 18px;display:flex;position:relative;overflow:hidden}.landing-piece-icon{color:var(--color-primary);font-size:23px}.landing-piece strong,.landing-work-title strong{font-size:12px;display:block}.landing-piece small,.landing-work-title small{color:var(--color-muted);margin-top:5px;font-size:10px;display:block}.landing-piece-status{color:var(--color-primary);white-space:nowrap;margin-left:auto;font-size:9px}.landing-piece-progress{background:var(--color-gold);transform-origin:0;height:3px;animation:1s both landing-progress;position:absolute;bottom:0;left:0}.landing-work-title{align-items:center;gap:12px;margin:24px 0;display:flex}.landing-work-title>span{color:var(--color-primary);font-size:32px}.landing-preview-muted{color:var(--color-muted);font-size:11px;line-height:1.6}.landing-journal-card,.landing-assignment-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:16px}.landing-session-details{border-top:1px solid var(--color-border);margin-top:12px}.landing-session-details summary{cursor:pointer;color:var(--color-primary);padding:14px 0;font-size:12px;font-weight:650}.landing-session-details p,.landing-assignment-instructions{font-size:12px;line-height:1.8}.landing-recording strong{font-size:11px}.landing-recording small{color:var(--color-muted);font-size:10px}.landing-assignment-card h4{margin:12px 0;font-size:15px}.landing-demo-action{gap:12px;min-height:42px;padding:10px 14px;font-size:12px;font-weight:650}.landing-session-form{border-top:1px solid var(--color-border);margin-top:18px;padding-top:8px}.landing-session-form label{gap:6px;margin:12px 0;font-size:11px;font-weight:650;display:grid}.landing-session-form input,.landing-session-form textarea{background:var(--color-bg);width:100%;min-width:0;color:var(--color-text);border:1px solid var(--color-border);border-radius:8px;padding:9px 10px;font-size:12px}.landing-session-form textarea{resize:vertical}.landing-session-form-actions{flex-wrap:wrap;gap:8px;display:flex}.landing-session-form-actions button{padding:10px;font-size:11px}.landing-session-form-actions button:last-child{background:var(--color-soft-accent);color:var(--color-primary)}.landing-waveform{justify-content:center;align-items:center;gap:4px;height:65px;margin-top:20px;display:flex}.landing-waveform span{background:var(--color-primary);opacity:.65;border-radius:4px;width:5px;animation:1.5s ease-in-out infinite alternate landing-wave}.landing-feedback{min-height:38px;color:var(--color-muted);font-size:11px;line-height:1.7;margin:8px 0 0!important}.landing-demo-footer{border-top:1px solid var(--color-border);color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;display:flex}.landing-demo-footer small{font-size:10px}.landing-demo-footer button{color:var(--color-primary);text-underline-offset:3px;background:0 0;padding:8px;font-size:11px;text-decoration:underline}.landing-features{grid-template-columns:repeat(3,1fr);gap:45px;max-width:1200px;margin:auto;padding:85px 40px;display:grid}.landing-feature-number{color:var(--color-primary);border-bottom:1px solid var(--color-gold);margin-bottom:22px;padding:0 20px 12px 0;font-size:12px;display:inline-block}.landing-features h3{font-size:18px;line-height:1.4}.landing-features p{color:var(--color-muted);font-size:14px;line-height:1.85}.landing-teaching{max-width:1200px;margin:0 auto;padding:15px 40px 85px}.landing-teaching-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.landing-teaching-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:22px;flex-direction:column;padding:32px;display:flex}.landing-teaching-card--student{background:var(--color-soft-accent)}.landing-teaching-role{align-items:center;gap:12px;margin-bottom:24px;display:flex}.landing-teaching-role>span{border:1px solid var(--color-border);width:42px;height:42px;color:var(--color-primary);background:var(--color-bg);border-radius:13px;place-items:center;font-size:25px;display:grid}.landing-teaching-role p{margin:0}.landing-teaching-card h3{letter-spacing:-.025em;margin-bottom:18px;font-family:Georgia,serif;font-size:28px;font-weight:400;line-height:1.25}.landing-teaching-card>p,.landing-teaching-card li{color:var(--color-muted);font-size:14px;line-height:1.8}.landing-teaching-card ul{margin:0 0 28px;padding-left:18px}.landing-teaching-card li{margin-bottom:9px;padding-left:4px}.landing-teaching-card li::marker{color:var(--color-primary)}.landing-teaching-example{border:1px solid var(--color-border);background:var(--color-bg);border-radius:14px;margin-top:auto;padding:20px}.landing-teaching-example-title{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.landing-teaching-example-title>strong{flex:150px;font-size:13px;line-height:1.6}.landing-teaching-example>p{color:var(--color-muted);margin:10px 0 16px;font-size:11px;line-height:1.7}.landing-teaching-students{gap:9px;display:grid}.landing-teaching-students>span{align-items:center;gap:10px;font-size:12px;display:flex}.landing-teaching-students i{background:var(--color-soft-accent);width:28px;height:28px;color:var(--color-primary);border-radius:50%;place-items:center;font-style:normal;display:grid}.landing-teaching-students small{color:var(--color-primary);margin-left:auto;font-size:10px}.landing-teaching-session{align-items:center;gap:12px;padding:12px 0;display:flex}.landing-teaching-session>span{color:var(--color-primary);font-size:30px}.landing-teaching-session strong,.landing-teaching-session small{font-size:12px;line-height:1.6;display:block}.landing-teaching-session small{color:var(--color-muted);margin-top:5px;font-size:10px}.landing-teaching-example-caption{color:var(--color-muted);border-top:1px solid var(--color-border);margin-top:16px;padding-top:12px;font-size:10px;line-height:1.6;display:block}.landing-teaching-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;display:flex}.landing-teaching-bottom p{color:var(--color-muted);margin:0;font-size:13px;line-height:1.8}.landing-teaching-bottom strong{color:var(--color-text);font-weight:600}@media (width<=650px){.landing-teaching{padding:15px 24px 50px}.landing-teaching-grid{grid-template-columns:1fr;gap:18px}.landing-teaching-card{padding:24px}.landing-teaching-example{padding:16px}.landing-teaching-bottom .landing-button{width:100%}}.landing-community{border:1px solid var(--color-border);border-radius:24px;grid-template-columns:.7fr 1fr;align-items:center;gap:60px;max-width:1120px;margin:0 auto 70px;padding:45px;display:grid}.landing-community h2{margin-bottom:20px;font-size:clamp(28px,3vw,36px)}.landing-community p:last-child{color:var(--color-muted);margin-bottom:0;font-size:15px;line-height:1.8}.landing-community-art{justify-content:center;align-items:center;min-height:200px;display:flex}.landing-community-art span{border:5px solid var(--color-bg);background:var(--color-soft-accent);width:95px;height:95px;color:var(--color-primary);border-radius:50%;place-items:center;margin:0 -7px;font-size:40px;display:grid}.landing-community-art span:nth-child(2){background:var(--color-primary);color:var(--color-primary-contrast);align-self:flex-start}.landing-cta{text-align:center;padding:65px 24px 85px}.landing-cta h2{margin-bottom:30px;font-size:clamp(32px,4vw,48px)}.landing-cta>p:last-child{color:var(--color-muted);margin-top:22px;font-size:12px}.landing-cta a:not(.landing-button),.landing-footer>a:last-child{color:var(--color-primary);text-underline-offset:4px}.landing-footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:24px;max-width:1200px;margin:auto;padding:28px 40px;display:flex}.landing-footer .brand{font-size:20px}.landing-footer p,.landing-footer>a:last-child{color:var(--color-muted);margin:0;font-size:12px}.public-header-nav{align-items:center;gap:10px;display:flex}.public-header-nav a{border:1px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-primary);border-radius:12px;justify-content:center;align-items:center;padding:11px 19px;font-size:14px;font-weight:650;line-height:1.3;text-decoration:none;transition:background-color .18s,border-color .18s,transform .18s,box-shadow .18s;display:inline-flex}.public-header-nav a:last-child{background:var(--color-primary);color:var(--color-primary-contrast);border-color:var(--color-primary);box-shadow:0 4px 12px #172b1f12}@media (hover:hover){.public-header-nav a:hover{border-color:var(--color-primary);background:var(--color-soft-accent);transform:translateY(-1px)}.public-header-nav a:last-child:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:0 6px 18px #172b1f20}}.public-header-nav a:active{box-shadow:none;transform:translateY(0)}@keyframes landing-note{to{transform:translateY(-6px)}}@keyframes landing-float{to{transform:translateY(-9px)rotate(1deg)}}@keyframes landing-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes landing-wave{to{transform:scaleY(.4)}}@keyframes landing-enter{0%{opacity:.3;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.landing--paused *,.landing--paused :before,.landing--paused :after{animation-play-state:paused!important}@media (width<=900px){.landing-hero{gap:30px;padding:65px 28px}.landing-session-card{padding:22px}.landing-demo-body{gap:28px;padding:28px}.landing-community{gap:30px;margin-inline:28px;padding:30px}}@media (width<=650px){.landing-hero{grid-template-columns:1fr;gap:40px;padding:50px 24px}.landing-lead{font-size:16px}.landing-hero-art{width:100%;max-width:420px;margin:auto}.landing-discover{padding:48px 16px}.landing-demo-nav{gap:4px;padding:10px}.landing-demo-nav button{flex-direction:column;gap:6px;padding:10px 5px;font-size:11px}.landing-demo-body{grid-template-columns:1fr;gap:18px;padding:24px 16px}.landing-demo-copy h3{font-size:27px}.landing-preview{padding:15px}.landing-demo-footer{padding:12px 16px}.landing-features{grid-template-columns:1fr;gap:24px;padding:50px 24px}.landing-features article{border-bottom:1px solid var(--color-border);padding-bottom:12px}.landing-feature-number{margin-bottom:16px}.landing-community{grid-template-columns:1fr;gap:10px;margin:0 16px 20px;padding:24px}.landing-community-art{min-height:135px}.landing-community-art span{width:80px;height:80px}.landing-footer{flex-wrap:wrap;gap:16px;padding:25px 24px}.landing-footer p{order:3;width:100%}.public-header-nav{gap:8px}.public-header-nav a{padding:10px 12px;font-size:12px}.public-header-nav a:last-child{padding:9px 10px}}@media (prefers-reduced-motion:reduce){.landing *,.landing :before,.landing :after{transition:none!important;animation:none!important}.public-header-nav a{transition:none}}@media (width<=380px){.header:has(.public-header-nav){flex-wrap:wrap;gap:14px;padding:16px}.public-header-nav{width:100%}.public-header-nav a{flex:1}}.legal-page{width:min(100%,850px);color:var(--text-primary,inherit);margin:3rem auto;padding:clamp(1.5rem,4vw,3rem);line-height:1.75}.legal-page h1{margin:.4rem 0 1.5rem;font-size:clamp(2rem,5vw,3rem);line-height:1.15}.legal-page h2{margin:2rem 0 .5rem;font-size:1.3rem}.legal-eyebrow{letter-spacing:.12em;text-transform:uppercase;opacity:.7;font-size:.8rem}.legal-warning{opacity:.8;border:1px solid;border-radius:12px;margin-top:2rem;padding:1rem}.app--authenticated{--sidebar-width:264px;min-height:100vh}.app--authenticated .app-main{margin-left:var(--sidebar-width);min-width:0;min-height:100vh}.app--authenticated .api-status{background:var(--color-soft-accent);border-radius:0;margin:0;padding:8px 16px;font-size:12px}.app--authenticated .auth-container.auth-container--library{max-width:1500px;padding:0 28px}.app--authenticated .auth-container{max-width:720px}.app--authenticated .hero{margin-top:56px}.app--authenticated .features{padding-bottom:48px}.dashboard-hint{color:var(--color-muted);line-height:1.6}.app-sidebar{z-index:100;box-sizing:border-box;background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;width:264px;padding:26px 14px 16px;transition:width .2s;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:2px 0 14px #263b2b08}.sidebar-header{justify-content:space-between;align-items:center;padding:2px 12px 34px;display:flex}.sidebar-brand{color:var(--color-primary);white-space:nowrap;align-items:center;gap:12px;font-size:22px;font-weight:700;text-decoration:none;display:flex}.sidebar-brand-icon{background:var(--color-primary);width:36px;height:36px;color:var(--color-primary-contrast);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;font-size:25px;display:inline-flex}.sidebar-section-label{letter-spacing:.13em;color:#8b978e;padding:0 14px 12px;font-size:11px;font-weight:700}.sidebar-nav{flex-direction:column;gap:5px;display:flex}.sidebar-link{box-sizing:border-box;min-height:46px;color:var(--color-muted);white-space:nowrap;border-radius:11px;align-items:center;gap:13px;padding:10px 13px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:flex}.sidebar-link:hover,.sidebar-link.is-active{background:var(--color-soft-accent);color:var(--color-primary-hover)}.sidebar-icon{text-align:center;flex-shrink:0;width:24px;font-size:22px;line-height:1}.sidebar-footer{border-top:1px solid var(--color-border);gap:5px;margin-top:auto;padding-top:15px;display:grid}.sidebar-user{color:var(--color-text);align-items:center;gap:12px;padding:10px;display:flex}.sidebar-avatar{background:var(--color-soft-accent);width:34px;height:34px;color:var(--color-primary);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.sidebar-user-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.app-sidebar .sidebar-logout,.app-sidebar .sidebar-collapse{width:100%;min-height:43px;color:var(--color-muted);text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:10px;justify-content:flex-start;align-items:center;gap:13px;padding:9px 13px;font-size:14px;display:flex}.app-sidebar .sidebar-logout:hover,.app-sidebar .sidebar-collapse:hover{background:var(--color-soft-accent);color:var(--color-primary-hover)}.app-sidebar .sidebar-collapse{border-top:1px solid var(--color-border);border-radius:0;margin-top:7px}.sidebar-close,.mobile-topbar,.sidebar-overlay{display:none}.app-sidebar.is-collapsed{width:76px}.app-sidebar.is-collapsed .sidebar-label{display:none}.app-sidebar.is-collapsed .sidebar-header{padding-left:6px}.app-sidebar.is-collapsed .sidebar-link{justify-content:center;padding:10px}.app-sidebar.is-collapsed .sidebar-user,.app-sidebar.is-collapsed .sidebar-logout,.app-sidebar.is-collapsed .sidebar-collapse{justify-content:center}.app--authenticated:has(.app-sidebar.is-collapsed){--sidebar-width:76px}@media (width<=800px){.app--authenticated .app-main{margin-left:0;padding-top:64px}.mobile-topbar{z-index:90;box-sizing:border-box;background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:14px;height:64px;padding:0 16px;display:flex;position:fixed;top:0;left:0;right:0}.mobile-topbar .brand{font-size:21px}.mobile-topbar .mobile-menu-button{background:var(--color-soft-accent);width:40px;height:40px;min-height:0;color:var(--color-primary);padding:0;font-size:23px}.app-sidebar,.app-sidebar.is-collapsed{width:min(290px,85vw);transition:transform .2s;transform:translate(-105%)}.app-sidebar.is-open{transform:translate(0)}.app-sidebar.is-collapsed .sidebar-label{display:initial}.app-sidebar.is-collapsed .sidebar-link,.app-sidebar.is-collapsed .sidebar-user,.app-sidebar.is-collapsed .sidebar-logout{justify-content:flex-start}.app-sidebar .sidebar-collapse{display:none}.app-sidebar .sidebar-close{width:36px;height:36px;color:var(--color-primary);background:0 0;justify-content:center;padding:0;font-size:28px;display:inline-flex}.sidebar-overlay{z-index:95;background:#172b1f70;border-radius:0;width:100%;height:100%;padding:0;display:block;position:fixed;inset:0}.app--authenticated .auth-container.auth-container--library{padding:0 16px}}html,body,#root,.app,.app-main,.app-content{background-color:var(--color-bg)}.app-sidebar,.mobile-topbar{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.sidebar-brand,.sidebar-link.is-active{color:var(--color-primary)}.sidebar-link{color:var(--color-muted)}.sidebar-link:hover,.sidebar-link.is-active{background:var(--color-soft-accent)}.sidebar-user{color:var(--color-text)}.theme-setting{color:var(--color-muted);padding:6px 13px 0;font-size:12px}.theme-select{border:1px solid var(--color-border);background:var(--color-surface-muted);width:100%;min-height:40px;color:var(--color-text);border-radius:10px;padding:8px 36px 8px 12px}.app-sidebar.is-collapsed .theme-select{width:100%;padding:5px 28px 5px 8px;font-size:11px}:root[data-theme=dark] .app-main input:not([type=checkbox]):not([type=radio]),:root[data-theme=dark] .app-main select,:root[data-theme=dark] .app-main textarea{background-color:var(--color-surface-muted);color:var(--color-text);border-color:var(--color-border)}:root[data-theme=dark] .app-main input::placeholder,:root[data-theme=dark] .app-main textarea::placeholder{color:var(--color-muted);opacity:1}:root[data-theme=dark] .app-main input:disabled,:root[data-theme=dark] .app-main select:disabled,:root[data-theme=dark] .app-main textarea:disabled{opacity:.65}:root[data-theme=dark] .app-main a:not([class]){color:var(--color-primary)}:root[data-theme=dark] .app-main hr{border-color:var(--color-border)}:root[data-theme=dark] .app-main .library-empty,:root[data-theme=dark] .app-main .dashboard-empty{color:var(--color-muted)}:root[data-theme=dark] .app-main .dashboard-primary-link,:root[data-theme=dark] .app-main .community-privacy-link,:root[data-theme=dark] .app-main .library-add-button:not(.is-added),:root[data-theme=dark] .app-main .library-save-button:not(:disabled),:root[data-theme=dark] .app-main .feed-comments form button,:root[data-theme=dark] .app-main .my-proposals__more{background:var(--color-primary);color:var(--color-primary-contrast);border-color:#0000}:root[data-theme=dark] .app-main .dashboard-primary-link:hover,:root[data-theme=dark] .app-main .library-add-button:hover:not(:disabled),:root[data-theme=dark] .app-main .library-save-button:hover:not(:disabled){background:var(--color-primary-hover)}:root[data-theme=dark] .app-main button.secondary{background:var(--color-surface-muted);color:var(--color-primary);border:1px solid var(--color-primary)}.theme-select,.app-sidebar.is-collapsed .theme-select{padding-right:52px}.harmonia-dropdown__trigger{background:var(--color-surface-muted);width:100%;min-height:40px;color:var(--color-text);border:1px solid var(--color-border);font:inherit;text-align:left;cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:9px 16px 9px 12px;transition:border-color .18s,box-shadow .18s,background-color .18s;display:flex}.harmonia-dropdown__trigger:hover,.harmonia-dropdown.is-open .harmonia-dropdown__trigger{border-color:var(--color-primary);background:var(--color-surface)}.harmonia-dropdown__chevron{color:var(--color-primary);flex:0 0 16px;transition:transform .22s}.harmonia-dropdown.is-open .harmonia-dropdown__chevron{transform:rotate(180deg)}.harmonia-dropdown__menu{z-index:120;background:var(--color-surface);border:1px solid var(--color-border);opacity:0;visibility:hidden;pointer-events:none;border-radius:12px;max-height:260px;padding:6px;transition:opacity .18s,transform .2s,visibility .2s;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;transform:translateY(-6px)scale(.985);box-shadow:0 14px 35px #0000002b}.harmonia-dropdown__option{width:100%;min-height:38px;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;padding:9px 11px;display:flex}.harmonia-dropdown__option:hover,.harmonia-dropdown__option:focus-visible{background:var(--color-soft-accent)}.harmonia-dropdown__option.is-selected{color:var(--color-primary);font-weight:650}.harmonia-dropdown.is-open .harmonia-dropdown__menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}@media (prefers-reduced-motion:reduce){.harmonia-dropdown__chevron,.harmonia-dropdown__trigger,.harmonia-dropdown__menu{transition:none}}.harmonia-dropdown__trigger>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.harmonia-dropdown__trigger:disabled{opacity:.65;cursor:not-allowed}.harmonia-dropdown__menu--searchable{max-height:none;padding:0;overflow:hidden}.harmonia-dropdown__search-wrap{border-bottom:1px solid var(--color-border);padding:9px}.harmonia-dropdown__search{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface-muted);width:100%;min-height:40px;color:var(--color-text);font:inherit;border-radius:8px;padding:9px 12px}.harmonia-dropdown__search:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.harmonia-dropdown__results{overscroll-behavior:contain;max-height:min(380px,55vh);padding:6px;overflow-y:auto}.harmonia-dropdown__empty{color:var(--color-muted);margin:0;padding:10px 12px;font-size:13px}.ui-toast{--toast-accent:#16866e;--toast-tint:#e6f6ef;z-index:9999;top:max(20px, env(safe-area-inset-top));box-sizing:border-box;border:1px solid var(--color-border,#dbe2ea);background:var(--color-surface,#fff);width:max-content;min-width:min(330px,100vw - 32px);max-width:min(480px,100vw - 32px);color:var(--color-text,#182133);border-radius:16px;align-items:flex-start;gap:12px;padding:15px 16px 17px;font-size:13px;line-height:1.45;animation:.24s ease-out both ui-toast-enter;display:flex;position:fixed;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 12px 40px #0000001c,0 2px 8px #0000000a}.ui-toast--error{--toast-accent:#d34848;--toast-tint:#fff0ef}.ui-toast--delete{--toast-accent:#c97738;--toast-tint:#fff1e4}.ui-toast__icon{background:var(--toast-tint);width:34px;height:34px;color:var(--toast-accent);border-radius:11px;flex:0 0 34px;place-items:center;display:grid}.ui-toast__icon svg{width:19px;height:19px}.ui-toast__body{flex-direction:column;flex:1;gap:2px;min-width:0;padding-top:1px;display:flex}.ui-toast__title{color:var(--color-text,#182133);font-size:13px;font-weight:750}.ui-toast__message{color:var(--color-muted,#596579);overflow-wrap:anywhere;font-size:13px}.ui-toast__close{width:28px;height:28px;color:var(--color-muted,#596579);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:0 0 28px;place-items:center;margin:1px -5px 0 0;padding:5px;transition:background .2s,color .2s;display:grid}.ui-toast__close svg{width:16px;height:16px}.ui-toast__close:hover{background:var(--color-border,#e2e8f0);color:var(--color-text,#182133)}.ui-toast__close:focus-visible{outline:2px solid var(--color-primary,#0d9488);outline-offset:2px}.ui-toast__timer{background:var(--toast-accent);transform-origin:0;width:100%;height:3px;animation:linear forwards ui-toast-countdown;position:absolute;bottom:0;left:0}@keyframes ui-toast-enter{0%{opacity:0;transform:translate(-50%,-10px)scale(.98)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes ui-toast-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (width<=520px){.ui-toast{top:max(12px, env(safe-area-inset-top));width:calc(100vw - 24px);min-width:0;max-width:none;padding:13px 14px 16px}}@media (prefers-reduced-motion:reduce){.ui-toast,.ui-toast__timer{animation:none}}.register{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;width:100%;max-width:440px;margin:32px auto;padding:24px 20px}.register h2{color:var(--color-primary);margin-top:0}.register>p{color:var(--color-muted);line-height:1.5}.register form{flex-direction:column;gap:10px;margin-top:24px;display:flex}.register label{font-size:14px;font-weight:600}.register input{border:1px solid var(--color-border);width:100%;min-height:44px;font:inherit;border-radius:8px;margin-bottom:8px;padding:12px}.register input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.register form button{min-height:48px;margin-top:12px}.register form button:disabled{opacity:.6;cursor:wait}.register-error{color:#a12626;font-size:14px}@media (width>=768px){.register{margin:48px auto;padding:32px}}.register{color:var(--color-text)}.register fieldset{border:1px solid var(--color-border);border-radius:12px;gap:12px;margin:8px 0;padding:16px;display:grid}.register fieldset legend{padding:0 6px;font-weight:700}.register fieldset p{color:var(--color-muted);margin:0;font-size:.875rem;line-height:1.5}.register fieldset label{cursor:pointer;align-items:center;gap:10px;display:flex}.register fieldset input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--color-primary);flex:none;margin:0;padding:0}.register .register-journey{background:var(--color-surface);min-width:0;margin:12px 0;padding:18px;display:block}.register .register-journey legend{color:var(--color-text);padding:0 8px;font-size:1rem}.register .register-journey-intro{color:var(--color-muted);margin:0 0 16px;line-height:1.55}.register-journey-options{gap:10px;display:grid}.register .register-journey-option{border:1.5px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:14px;align-items:center;gap:12px;min-width:0;padding:14px;transition:border-color .16s,background-color .16s,box-shadow .16s,transform .16s;display:flex;position:relative}.register .register-journey-option:hover{border-color:var(--color-primary);transform:translateY(-1px)}.register .register-journey-option:focus-within{outline:2px solid var(--color-primary);outline-offset:3px}.register .register-journey-option.is-selected{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));box-shadow:0 0 0 1px color-mix(in srgb, var(--color-primary) 20%, transparent)}.register .register-journey-option input[type=checkbox]{opacity:0;width:1px;height:1px;min-height:0;margin:0;padding:0;position:absolute}.register-journey-icon{width:42px;height:42px;color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface));border-radius:12px;flex:0 0 42px;place-items:center;font-size:25px;display:grid}.register-journey-copy{flex:1;gap:4px;min-width:0;display:grid}.register-journey-copy strong{color:var(--color-text);font-size:.92rem}.register-journey-copy>span{color:var(--color-muted);font-size:.8rem;font-weight:400;line-height:1.45}.register-journey-check{border:1.5px solid var(--color-border);color:#0000;border-radius:50%;flex:0 0 23px;place-items:center;width:23px;height:23px;font-size:13px;transition:background-color .16s,border-color .16s,color .16s;display:grid}.register .register-journey-option.is-selected .register-journey-check{color:var(--color-surface);background:var(--color-primary);border-color:var(--color-primary)}.register .register-journey-hint{color:var(--color-muted);margin:14px 0 0;font-size:.78rem;line-height:1.5}@media (prefers-reduced-motion:reduce){.register .register-journey-option,.register-journey-check{transition:none}.register .register-journey-option:hover{transform:none}}.register .register-legal-panel{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-primary) 3%, var(--color-surface));border-radius:14px;gap:16px;margin:14px 0 4px;padding:20px;display:grid}.register-legal-heading{align-items:flex-start;gap:12px;display:flex}.register-legal-symbol{background:color-mix(in srgb, var(--color-primary) 11%, var(--color-surface));width:42px;height:42px;color:var(--color-primary);border-radius:12px;flex:0 0 42px;place-items:center;display:grid}.register-legal-heading h3{color:var(--color-text);margin:0 0 6px;font-size:1rem;line-height:1.35}.register-legal-heading p{color:var(--color-muted);margin:0;font-size:.84rem;font-weight:400;line-height:1.55}.register .register-legal-acceptance{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:12px;align-items:flex-start;gap:12px;padding:16px;display:flex}.register .register-legal-acceptance:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}.register .register-legal-acceptance input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--color-primary);cursor:pointer;flex:0 0 20px;margin:1px 0 0;padding:0}.register-legal-copy{min-width:0;color:var(--color-text);font-size:.88rem;font-weight:450;line-height:1.65}.register-legal-copy a{color:var(--color-primary);text-underline-offset:3px;font-weight:700;text-decoration:underline}.register-legal-copy a:hover{text-decoration-thickness:2px}.register .register-legal-hint{color:var(--color-muted);margin:-4px 0 0;font-size:.78rem;line-height:1.5}@media (width<=480px){.register .register-legal-panel{padding:16px}.register .register-legal-acceptance{padding:13px}}.storage-usage{border:1px solid var(--color-border);background:var(--color-surface);border-radius:15px;margin:24px 0;padding:22px}.storage-usage-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.storage-usage-heading h3{color:var(--color-primary);margin:0;font-size:17px}.storage-usage-heading span,.storage-usage p{color:var(--color-muted);font-size:13px;line-height:1.7}.storage-usage p:last-child{margin-bottom:0}.storage-usage progress{appearance:none;background:var(--color-soft-accent);border:0;border-radius:8px;width:100%;height:8px;overflow:hidden}.storage-usage progress::-webkit-progress-bar{background:var(--color-soft-accent)}.storage-usage progress::-webkit-progress-value{background:var(--color-primary)}.storage-usage progress::-moz-progress-bar{background:var(--color-primary)}.storage-usage--warning{border-color:var(--color-gold)}.storage-usage--warning progress::-webkit-progress-value{background:var(--color-gold)}.storage-usage--warning progress::-moz-progress-bar{background:var(--color-gold)}.ui-button,.ui-icon-button{box-sizing:border-box;font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;font-size:15px;line-height:1.4;transition:background-color .15s,opacity .15s;display:inline-flex}.ui-button{border:1px solid #0000;min-height:44px;padding:10px 18px}.ui-button--primary{color:#fff;background:#37634f}.ui-button--primary:hover:not(:disabled){background:#28503d}.ui-button--secondary{color:#37634f;background:0 0;border-color:#37634f}.ui-button--secondary:hover:not(:disabled){background:#eaf3ec}.ui-button--danger{color:#fff;background:#a12626}.ui-button--danger:hover:not(:disabled){background:#821e1e}.ui-icon-button{color:#a12626;background:#fff7f7;border:1px solid #e9cece;width:44px;height:44px;padding:0}.ui-icon-button:hover:not(:disabled){background:#fbe7e7}.ui-button:disabled,.ui-icon-button:disabled{opacity:.55;cursor:not-allowed}.ui-button:focus-visible,.ui-icon-button:focus-visible{outline-offset:2px;outline:3px solid #87b89c}.profile-page{width:100%;max-width:760px;margin:32px auto;padding:0 20px}.profile-heading{margin-bottom:24px}.profile-eyebrow{color:var(--color-primary);font-weight:700}.profile-heading h2{margin:8px 0;font-size:30px}.profile-heading>p:last-child{color:var(--color-muted);line-height:1.6}.profile-form{flex-direction:column;gap:20px;display:flex}.profile-form fieldset{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;gap:12px;min-width:0;margin:0;padding:24px 20px;display:flex}.profile-form legend{color:var(--color-primary);padding:0 8px;font-weight:700}.profile-form label{font-size:14px;font-weight:600}.profile-form input:not([type=checkbox]),.profile-form select{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:48px;color:var(--color-text);font:inherit;border-radius:8px;margin-bottom:8px;padding:12px}.profile-checkbox{cursor:pointer;align-items:flex-start;gap:12px;padding:12px 0;display:flex}.profile-checkbox input{width:20px;height:20px;accent-color:var(--color-primary);flex-shrink:0}.profile-checkbox span{flex-direction:column;gap:6px;display:flex}.profile-checkbox small{color:var(--color-muted);font-weight:400;line-height:1.5}.profile-form :focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.profile-form>button{min-height:48px}.profile-form>button:disabled{opacity:.6;cursor:wait}.profile-error{color:#a12626}.profile-success{color:var(--color-primary-hover)}@media (width>=768px){.profile-page{margin:48px auto}.profile-form fieldset{padding:32px}}.profile-instrument-chips{flex-wrap:wrap;align-items:center;gap:10px;min-height:38px;padding:4px 0;display:flex}.profile-instrument-chip{color:#51418a;overflow-wrap:anywhere;background:#eeeafb;border:1px solid #d7cdf4;border-radius:999px;align-items:center;gap:9px;max-width:100%;min-height:36px;padding:4px 5px 4px 13px;font-size:14px;font-weight:600;line-height:1.35;transition:background-color .15s,border-color .15s,box-shadow .15s;display:inline-flex;box-shadow:0 1px 2px #51418a0f}.profile-instrument-chip:hover{background:#e4ddf8;border-color:#c3b5ea;box-shadow:0 2px 6px #51418a1a}.profile-instrument-chip button{color:#65528e;width:26px;height:26px;font:inherit;cursor:pointer;background:#ddd5f3;border:0;border-radius:50%;flex:0 0 26px;place-items:center;padding:0;font-size:19px;font-weight:400;line-height:1;transition:background-color .15s,color .15s;display:inline-grid}.profile-instrument-chip button:hover:not(:disabled){color:var(--color-primary-contrast);background:#c54d4d}.profile-instrument-chip button:disabled{opacity:.5;cursor:not-allowed}.profile-instrument-add{align-items:stretch;gap:10px;display:flex}.profile-form .profile-instrument-add input{flex:1;min-width:0;margin-bottom:0}.profile-instrument-add>button{border:1px solid var(--color-primary);background:var(--color-primary);min-height:48px;color:var(--color-primary-contrast);font:inherit;cursor:pointer;border-radius:9px;padding:0 20px;font-weight:650;transition:background-color .15s}.profile-instrument-add>button:hover:not(:disabled){background:var(--color-primary-hover)}.profile-instrument-add>button:disabled{opacity:.5;cursor:not-allowed}@media (width<=480px){.profile-instrument-add{flex-wrap:wrap}.profile-instrument-add>button{flex:100%}}.profile-page{color:var(--color-text)}.profile-form .profile-roles{gap:16px}.profile-roles-intro{color:var(--color-muted);margin:0;line-height:1.55}.profile-roles-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.profile-form .profile-role-card{border:1px solid var(--color-border);background:var(--color-surface);min-height:124px;color:var(--color-text);cursor:pointer;border-radius:14px;align-items:flex-start;gap:12px;padding:18px 15px;transition:border-color .18s,background-color .18s,box-shadow .18s,transform .18s;display:flex;position:relative}.profile-form .profile-role-card:hover{border-color:var(--color-primary);transform:translateY(-1px)}.profile-form .profile-role-card:focus-within{outline:2px solid var(--color-primary);outline-offset:3px}.profile-form .profile-role-card.is-selected{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 7%, var(--color-surface));box-shadow:0 0 0 1px color-mix(in srgb, var(--color-primary) 22%, transparent)}.profile-role-card input[type=checkbox]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.profile-role-icon{background:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface));width:38px;height:38px;color:var(--color-primary);border-radius:11px;flex:0 0 38px;place-items:center;font-size:24px;display:grid}.profile-role-copy{flex-direction:column;flex:1;gap:7px;min-width:0;display:flex}.profile-role-copy strong{font-size:15px;font-weight:750}.profile-role-copy small{color:var(--color-muted);font-size:12px;font-weight:400;line-height:1.5}.profile-role-indicator{border:1px solid var(--color-border);width:24px;height:24px;color:var(--color-muted);border-radius:50%;flex:0 0 24px;place-items:center;font-size:17px;line-height:1;display:grid}.is-selected .profile-role-indicator{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}.profile-roles-note{color:var(--color-muted);font-size:12px;line-height:1.55}.profile-role-card:has(input:disabled){opacity:.65;cursor:wait}@media (width<=600px){.profile-roles-grid{grid-template-columns:1fr}.profile-form .profile-role-card{min-height:96px}}@media (prefers-reduced-motion:reduce){.profile-form .profile-role-card{transition:none}}.profile-accordion{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;overflow:visible}.profile-accordion>summary{cursor:pointer;min-height:68px;color:var(--color-text);justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;font-size:1.04rem;font-weight:750;list-style:none;transition:background-color .18s;display:flex}.profile-accordion>summary::-webkit-details-marker{display:none}.profile-accordion>summary:hover{background:color-mix(in srgb, var(--color-primary) 5%, var(--color-surface))}.profile-accordion>summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:-3px}.profile-accordion-chevron{width:30px;height:30px;color:var(--color-muted);background:0 0;border-radius:9px;flex:0 0 30px;place-items:center;transition:transform .2s,background-color .2s,color .2s;display:grid}n.profile-accordion-chevron svg{display:block}n.profile-accordion>summary:hover .profile-accordion-chevron{background:color-mix(in srgb, var(--color-primary) 9%, var(--color-surface));color:var(--color-primary)}.profile-accordion[open] .profile-accordion-chevron{color:var(--color-primary);transform:rotate(180deg)}.profile-form .profile-accordion>fieldset{border:0;border-top:1px solid var(--color-border);border-radius:0;padding:22px}@media (width>=768px){.profile-form .profile-accordion>fieldset{padding:26px 30px 30px}}@media (prefers-reduced-motion:reduce){.profile-accordion>summary,.profile-accordion-chevron{transition:none}}.profile-accordion[open]{z-index:1;position:relative}.profile-accordion[open]:focus-within{z-index:5}.profile-accordion[open] .harmonia-dropdown.is-open{z-index:10}.profile-accordion>summary{border-radius:15px}.profile-accordion[open]>summary{border-radius:15px 15px 0 0}.profile-form .profile-privacy-accordion{margin-top:16px}.profile-form .profile-privacy-content{border-top:1px solid var(--color-border);padding:22px}.profile-privacy-content>p{color:var(--color-muted);margin:0 0 20px;line-height:1.65}.profile-form .profile-account-danger-button{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:#b42318;border:1px solid #b42318;border-radius:10px;justify-content:center;align-items:center;gap:9px;padding:11px 18px;font-weight:700;transition:background-color .15s,border-color .15s;display:inline-flex}.profile-form .profile-account-danger-button:hover:not(:disabled){background:#912018;border-color:#912018}.profile-form .profile-account-danger-button:focus-visible{outline-offset:3px;outline:3px solid #f6aaa5}.profile-form .profile-account-danger-button:disabled{opacity:.55;cursor:not-allowed}.profile-account-delete-form{gap:20px;width:100%;max-width:620px;display:grid}.profile-account-delete-warning{border:1px solid color-mix(in srgb, #b42318 30%, var(--color-border));background:color-mix(in srgb, #b42318 5%, var(--color-surface));border-radius:12px;padding:16px 18px}.profile-account-delete-warning strong{color:#b42318}.profile-account-delete-warning p{margin:8px 0 0;line-height:1.55}.profile-account-delete-field{gap:8px;display:grid}.profile-account-delete-field label{font-weight:700}.profile-account-delete-field p{color:var(--color-muted);margin:0;font-size:.9rem}.profile-account-delete-field input{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-text);font:inherit;border-radius:10px;padding:10px 13px}.profile-account-delete-field input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.profile-account-delete-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.profile-form .profile-account-cancel-button{border-radius:10px;min-height:44px;padding:11px 18px}.profile-account-delete-error{color:#b42318;margin:0;font-weight:650}@media (width>=768px){.profile-form .profile-privacy-content{padding:26px 30px 30px}}@media (width<=560px){.profile-account-delete-actions button{width:100%}}@media (prefers-reduced-motion:reduce){.profile-form .profile-account-danger-button{transition:none}}.profile-page .profile-privacy-accordion{margin-top:20px}.profile-page .profile-privacy-accordion>.profile-privacy-content{border-top:1px solid var(--color-border);flex-direction:column;align-items:flex-start;gap:24px;padding:30px 32px 34px;display:flex}.profile-page .profile-privacy-content>p{max-width:66ch;margin:0;line-height:1.75}.profile-page .profile-privacy-content>button{margin-top:2px}.profile-page button.profile-account-danger-button,.profile-page button.profile-account-danger-button:hover,.profile-page button.profile-account-danger-button:active,.profile-page button.profile-account-danger-button:focus,.profile-page button.profile-account-danger-button:disabled{color:#fff;background-color:#b42318;background-image:none;border-color:#b42318}.profile-page button.profile-account-danger-button:hover:not(:disabled){background-color:#912018;border-color:#912018}.profile-page .profile-account-delete-form{flex-direction:column;gap:26px;width:100%;max-width:650px;display:flex}.profile-page .profile-account-delete-warning{padding:20px 22px}.profile-page .profile-account-delete-field{flex-direction:column;gap:12px;display:flex}.profile-page .profile-account-delete-field input{margin:0}.profile-page .profile-account-delete-actions{gap:16px;padding-top:6px}@media (width<=560px){.profile-page .profile-privacy-accordion>.profile-privacy-content{gap:20px;padding:22px 20px 26px}}.profile-page .profile-form+.profile-privacy-accordion{margin-top:32px}.profile-page .profile-privacy-accordion+.profile-privacy-accordion,.profile-page .profile-privacy-accordion+.profile-privacy-accordion:not([open]){margin-top:20px}@media (width<=560px){.profile-page .profile-form+.profile-privacy-accordion{margin-top:28px}.profile-page .profile-privacy-accordion+.profile-privacy-accordion{margin-top:18px}}.profile-page .profile-account-danger-button svg{flex-shrink:0;margin-left:5px}.profile-weekly-goal{background:#fff;border:1px solid #e6e4dd;border-radius:16px;margin-top:24px;padding:24px}.profile-weekly-goal h3{color:#37634f;margin:0 0 8px}.profile-weekly-goal p{color:#667069;line-height:1.5}.profile-goal-form{flex-direction:column;align-items:flex-start;gap:12px;margin-top:18px;display:flex}.profile-goal-form label{font-weight:600}.profile-goal-form input{box-sizing:border-box;width:min(100%,260px);min-height:44px;font:inherit;border:1px solid #cbd5cd;border-radius:9px;padding:10px 12px}.profile-goal-form button{min-height:44px}.profile-weekly-goal .profile-goal-error{color:#a12626}.music-library{box-sizing:border-box;width:100%;max-width:1100px;margin:32px auto;padding:0 16px}.library-heading{margin-bottom:32px}.library-heading h2{color:var(--color-text);margin:8px 0 12px;font-size:28px;line-height:1.2}.library-heading p{color:var(--color-muted);margin:0 0 8px;line-height:1.6}.library-section{margin-bottom:40px}.library-section h3{color:var(--color-text);margin:0 0 20px;font-size:21px}.library-empty{background:var(--color-surface-muted);border:1px dashed var(--color-border);color:var(--color-muted);border-radius:14px;padding:24px 20px;line-height:1.6}.library-grid{grid-template-columns:minmax(0,1fr);gap:16px;width:100%;display:grid}.library-card{box-sizing:border-box;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;align-items:flex-start;gap:12px;width:100%;min-width:0;padding:20px;transition:box-shadow .2s,border-color .2s;display:flex;box-shadow:0 3px 12px #2341300d}.library-card:hover{border-color:var(--color-border);box-shadow:0 6px 20px #23413017}.library-card h4{max-width:100%;color:var(--color-text);overflow-wrap:anywhere;margin:0;font-size:18px;font-weight:700;line-height:1.4}.library-card p{max-width:100%;color:var(--color-muted);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.5}.library-status{box-sizing:border-box;background:var(--color-soft-accent);max-width:100%;color:var(--color-primary);white-space:nowrap;border-radius:999px;align-items:center;padding:7px 13px;font-size:13px;font-weight:600;line-height:1.3;display:inline-flex}.library-card .library-add-button{box-sizing:border-box;background:var(--color-primary);width:fit-content;max-width:100%;min-height:44px;color:var(--color-primary-contrast);text-align:center;white-space:nowrap;overflow-wrap:normal;word-break:normal;cursor:pointer;border:1px solid #0000;border-radius:999px;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;margin-top:auto;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.3;transition:background-color .2s,transform .2s;display:inline-flex}.library-card .library-add-button:hover:not(:disabled){background:var(--color-primary);transform:translateY(-1px)}.library-card .library-add-button:active:not(:disabled){transform:translateY(0)}.library-card .library-add-button.is-added{background:var(--color-soft-accent);color:var(--color-primary);border-color:var(--color-border)}.library-card .library-add-button:disabled{opacity:.8;cursor:default;transform:none}.library-card .library-add-button:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}.library-error,.library-success{border-radius:10px;margin:16px 0;padding:14px 16px;line-height:1.5}.library-error{color:#a12626;background:#fff0f0}.library-success{background:var(--color-soft-accent);color:var(--color-primary-hover)}@media (width>=768px){.music-library{margin:48px auto;padding:0 24px}.library-heading h2{font-size:34px}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.library-card{padding:24px}}@media (width>=1024px){.music-library{max-width:1200px;padding:0 32px}.library-heading{margin-bottom:40px}.library-heading h2{letter-spacing:-.5px;font-size:38px}.library-section{margin-bottom:56px}.library-section h3{margin-bottom:24px;font-size:24px}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-card{border-radius:20px;gap:14px;min-height:205px;padding:28px}.library-card h4{font-size:20px}.library-card p{font-size:15px}.library-card .library-add-button{padding:10px 20px}}@media (prefers-reduced-motion:reduce){.library-card,.library-card .library-add-button{transition:none}}.library-progress{flex-direction:column;align-items:flex-start;gap:8px;width:100%;margin-top:auto;display:flex}.library-progress label{color:var(--color-muted);font-size:13px;font-weight:600}.library-progress select{box-sizing:border-box;background-color:var(--color-surface-muted);width:100%;min-height:44px;color:var(--color-text);border:1px solid var(--color-border);font:inherit;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2337634f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:16px;border-radius:10px;padding:10px 40px 10px 14px;font-size:14px}.library-progress select:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.library-progress select:disabled{opacity:.65;cursor:wait}.library-progress small{color:var(--color-muted);font-size:12px}.library-notes{flex-direction:column;align-items:flex-start;gap:10px;width:100%;min-width:0;margin-top:8px;display:flex}.library-notes label{color:var(--color-muted);font-size:13px;font-weight:600}.library-notes textarea{box-sizing:border-box;background:var(--color-surface-muted);width:100%;min-height:110px;color:var(--color-text);border:1px solid var(--color-border);font:inherit;resize:vertical;border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.5;display:block}.library-notes textarea:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.library-card .library-save-button{box-sizing:border-box;background:var(--color-primary);max-width:100%;min-height:44px;color:var(--color-primary-contrast);font:inherit;cursor:pointer;border:none;border-radius:10px;align-self:flex-start;padding:10px 16px;font-size:14px;font-weight:600}.library-card .library-save-button:hover:not(:disabled){background:var(--color-primary)}.library-card .library-save-button:disabled{background:var(--color-soft-accent);color:var(--color-muted);cursor:default}.library-card .library-save-button:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}.library-remove{border-top:1px solid var(--color-border);width:100%;min-width:0;margin-top:12px;padding-top:16px}.library-card .library-remove-button{box-sizing:border-box;color:#c0392b;cursor:pointer;background:#fff1f1;border:1px solid #f0cece;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;transition:background-color .2s,border-color .2s,transform .2s;display:inline-flex}.library-card .library-remove-button svg{flex-shrink:0;width:20px;height:20px;display:block}.library-card .library-remove-button:hover:not(:disabled){background:#fce0e0;border-color:#d99a9a;transform:translateY(-1px)}.library-card .library-remove-button:active:not(:disabled){transform:translateY(0)}.library-remove-confirm{flex-direction:column;gap:12px;display:flex}.library-remove-confirm p{color:#7d3030;margin:0;font-size:13px;line-height:1.5}.library-remove-actions{flex-wrap:wrap;gap:10px;display:flex}.library-card .library-cancel-button,.library-card .library-confirm-button{min-height:42px;font:inherit;cursor:pointer;border-radius:10px;padding:9px 14px;font-size:13px;font-weight:600}.library-card .library-cancel-button{color:var(--color-text);border:1px solid var(--color-border);background:#f0f3f0}.library-card .library-confirm-button{color:var(--color-primary-contrast);background:#a43d3d;border:1px solid #a43d3d}.library-card .library-confirm-button:hover:not(:disabled){background:#872f2f}.library-card .library-remove button:disabled{opacity:.6;cursor:not-allowed}.library-card .library-remove button:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}.catalog-search{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:14px;grid-template-columns:minmax(0,1fr);gap:8px;margin:16px 0 24px;padding:16px;display:grid}.catalog-search label{color:var(--color-primary);font-size:13px;font-weight:600}.catalog-search input{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-width:0;min-height:42px;color:var(--color-text);font:inherit;border-radius:9px;padding:9px 12px}.catalog-search input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.catalog-search__actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.library-search{margin-bottom:20px}.library-search select{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:42px;color:var(--color-text);font:inherit;border-radius:9px;padding:9px 12px}.library-search-results-loading{box-sizing:border-box;min-height:180px;color:var(--color-muted);justify-content:center;align-items:flex-start;padding:48px 16px;font-weight:600;display:flex}.music-library{color:var(--color-text)}:root:not([data-theme=dark]) .catalog-search.library-search .harmonia-dropdown__trigger,:root:not([data-theme=dark]) .catalog-search.library-search .harmonia-dropdown__trigger:hover,:root:not([data-theme=dark]) .catalog-search.library-search .harmonia-dropdown.is-open .harmonia-dropdown__trigger{background:var(--color-surface)}.piece-tracking-link{width:fit-content;max-width:100%;color:inherit;font:inherit;background:0 0;border:1px solid;border-radius:.7rem;justify-content:center;align-items:center;gap:.65rem;margin-top:.85rem;padding:.7rem 1rem;font-weight:600;line-height:1.3;text-decoration:none;transition:background-color .15s,transform .15s;display:inline-flex}.piece-tracking-link:hover{background:#8080801a;transform:translateY(-1px)}.piece-tracking-link:focus-visible{outline-offset:3px;outline:3px solid}.piece-tracking-link__arrow{font-size:1.15em;transition:transform .15s}.piece-tracking-link:hover .piece-tracking-link__arrow{transform:translate(3px)}@media (prefers-reduced-motion:reduce){.piece-tracking-link,.piece-tracking-link__arrow{transition:none}}.library-modal-heading-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.library-modal-heading-row h3{margin:0}.library-modal-backdrop{z-index:1000;background:#00000094;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.library-modal{background:var(--surface,#fff);width:min(900px,100%);max-height:min(85vh,900px);color:var(--text,#222);border-radius:14px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 20px 70px #0000004d}.library-modal-header{border-bottom:1px solid #8080804d;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 1.5rem;display:flex}.library-modal-header h3{margin:0}.library-modal-close{color:inherit;cursor:pointer;background:0 0;border:0;padding:.25rem .5rem;font-size:2rem;line-height:1}.library-modal-content{overscroll-behavior:contain;padding:1.5rem;overflow-y:auto}@media (width<=600px){.library-modal-backdrop{padding:.5rem}.library-modal{max-height:92vh}.library-modal-content{padding:1rem}}.library-proposal-invite{border-bottom:1px solid #dce5dc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:0 0 1.25rem;display:flex}.library-proposal-form{flex-direction:column;gap:.75rem;display:flex}.library-proposal-form p{margin:0 0 .5rem;line-height:1.55}.library-proposal-form label{color:#293d32;font-weight:600}.library-proposal-form input,.library-proposal-form textarea{box-sizing:border-box;width:100%;font:inherit;color:#293d32;background:#fff;border:1px solid #cbd8ce;border-radius:10px;padding:.8rem}.library-proposal-form input:focus-visible,.library-proposal-form textarea:focus-visible{outline-offset:2px;outline:3px solid #87b89c}.library-proposal-actions{flex-wrap:wrap;gap:.75rem;margin-top:.75rem;display:flex}.library-proposal-error{color:#a12626;background:#fff0f0;border-radius:8px;padding:.8rem}.library-publication-badge{color:#765216;background:#fff4d8;border-radius:999px;padding:.35rem .7rem;font-size:.78rem;font-weight:600;display:inline-block}.library-publication-badge--rejected{color:#843333;background:#ffe8e8}.library-modal{height:min(85dvh,900px);max-height:min(85dvh,900px)}.library-modal-content{flex-direction:column;flex:auto;min-height:0;display:flex}.library-catalog-results{flex:1 0 auto;min-height:180px}.library-catalog-loading{color:#52685a;justify-content:center;align-items:center;min-height:180px;margin:0;font-weight:600;display:flex}@media (width<=600px){.library-modal{height:92dvh;max-height:92dvh}}.ui-confirm-delete{justify-content:flex-end;display:flex}.ui-confirm-delete__overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.ui-confirm-delete__dialog{border:1px solid var(--color-border);background:var(--color-surface);width:min(100%,430px);color:var(--color-text);border-radius:18px;padding:28px;animation:.18s ease-out ui-confirm-delete-enter;box-shadow:0 24px 72px #00000038}.ui-confirm-delete__icon{color:#b4232d;background:#b4232d1c;border-radius:50%;place-items:center;width:42px;height:42px;margin-bottom:16px;font-size:24px;font-weight:750;display:grid}.ui-confirm-delete__dialog h2{margin:0 0 10px;font-size:1.25rem}.ui-confirm-delete__dialog p{color:var(--color-muted);overflow-wrap:anywhere;margin:0 0 24px;line-height:1.55}.ui-confirm-delete__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.ui-confirm-delete__cancel{display:inline-flex}@keyframes ui-confirm-delete-enter{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.ui-confirm-delete__dialog{animation:none}}.audio-storage-notice{color:var(--color-muted);margin:10px 0 16px;font-size:12px;line-height:1.7}.recording-studio-backdrop{z-index:1100;background:#0a0f19b8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.recording-studio{box-sizing:border-box;scrollbar-width:none;background:var(--surface,#fff);width:min(1100px,92vw);max-height:90vh;color:var(--text-primary,#182133);border:1px solid var(--border,#cbd5e1);border-radius:20px;padding:24px;overflow-y:auto;box-shadow:0 24px 90px #0005}.recording-studio::-webkit-scrollbar{display:none}.recording-studio header,.recording-studio footer,.recording-studio-take-heading,.recording-studio-controls{justify-content:space-between;align-items:center;gap:12px;display:flex}.recording-studio header h2{margin:0}.recording-studio-subtitle{opacity:.7}.recording-studio button{cursor:pointer;border:1px solid var(--border,#cbd5e1);background:var(--surface-secondary,#f1f5f9);color:inherit;border-radius:10px;padding:10px 14px}.recording-studio button:disabled{opacity:.5;cursor:not-allowed}.recording-studio footer button:last-child,.recording-studio-controls button:first-child{color:#fff;background:#0d9488;border-color:#0d9488}.recording-studio-capture{background:var(--surface-secondary,#f1f5f9);border-radius:16px;flex-direction:column;align-items:center;gap:14px;margin:20px 0;padding:24px;display:flex}.recording-studio-clock{font-variant-numeric:tabular-nums;font-size:clamp(30px,5vw,50px)}.recording-studio-live{color:#dc2626}.recording-studio-takes{gap:12px;display:grid}.recording-studio-take{border:1px solid var(--border,#cbd5e1);border-radius:14px;gap:12px;padding:16px;display:grid}.recording-studio-take audio{width:100%}.recording-studio-take-heading input:not([type=checkbox]){flex:1;min-width:90px}.recording-studio-take input{border:1px solid var(--border,#cbd5e1);background:var(--surface,#fff);color:inherit;border-radius:8px;padding:8px}.recording-studio-trim{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.recording-studio-trim label{align-items:center;gap:8px;display:flex}.recording-studio-trim input{width:90px}.recording-studio footer{justify-content:flex-end;margin-top:22px}.recording-studio-error{color:#dc2626}@media (width<=600px){.recording-studio-backdrop{padding:0}.recording-studio{border-radius:0;width:100vw;height:100dvh;max-height:100dvh;padding:16px}.recording-studio-take-heading{flex-wrap:wrap}.recording-studio-take-heading input:not([type=checkbox]){flex-basis:100%;order:3}.recording-studio footer{background:var(--surface,#fff);padding:12px 0;position:sticky;bottom:0}}.recording-waveform{gap:12px;display:grid}.recording-waveform-bars{background:var(--surface-secondary,#f1f5f9);border-radius:10px;align-items:center;gap:1px;height:110px;padding:12px;display:flex;position:relative;overflow:hidden}.recording-waveform-bars>span:not(.recording-waveform-loading){background:#0d9488;border-radius:2px;flex:1;min-width:1px}.recording-waveform-bars>span.is-cut{opacity:.2}.recording-waveform-loading{font-size:12px;position:absolute;left:12px}.recording-waveform-sliders{grid-template-columns:1fr 1fr;gap:16px;display:grid}.recording-waveform-sliders label{gap:6px;font-size:13px;display:grid}.recording-waveform-sliders input{accent-color:#0d9488;width:100%}@media (width<=600px){.recording-waveform-sliders{grid-template-columns:1fr}}.recording-studio-backdrop{-webkit-backdrop-filter:blur(9px);background:#080d19c2;animation:.2s studio-fade}.recording-studio{background:var(--surface,#fff);border-radius:24px;flex-direction:column;width:min(1120px,96vw);max-height:min(92dvh,980px);padding:0;animation:.25s cubic-bezier(.2,.8,.2,1) studio-enter;display:flex;overflow:hidden;box-shadow:0 32px 110px #00000061}.recording-studio>header{border-bottom:1px solid var(--border,#dbe2ea);flex-shrink:0;padding:23px 30px 16px}.recording-studio-brand{align-items:center;gap:14px;display:flex}.recording-studio-brand-icon{color:#fff;background:linear-gradient(135deg,#0d9488,#155e75);border-radius:15px;place-items:center;width:48px;height:48px;font-size:30px;display:grid;box-shadow:0 7px 20px #0d948830}.recording-studio-eyebrow{letter-spacing:.16em;color:var(--text-secondary,#738093);font-size:10px;font-weight:800}.recording-studio header h2{letter-spacing:-.035em;margin-top:3px;font-size:clamp(21px,2.3vw,27px);line-height:1.15}.recording-studio .recording-studio-close{background:0 0;border-radius:50%;width:38px;height:38px;padding:0;font-size:19px}.recording-studio .recording-studio-close:hover{background:var(--surface-secondary,#f1f5f9)}.recording-studio-subtitle{margin:17px 0 0;padding:0 30px;font-size:13px;line-height:1.6}.recording-studio-capture{background:linear-gradient(145deg,var(--surface-secondary,#f1f5f9),var(--surface,#fff));border:1px solid var(--border,#dbe2ea);border-radius:20px;flex-shrink:0;gap:11px;margin:18px 30px 20px;padding:25px 18px 22px}.recording-studio-status{border:1px solid var(--border,#dbe2ea);background:var(--surface,#fff);border-radius:999px;align-items:center;gap:9px;padding:6px 13px;font-size:12px;font-weight:700;display:inline-flex}.recording-studio-status-dot{background:#0d9488;border-radius:50%;width:8px;height:8px}.recording-studio-live{color:#dc2626;border-color:#dc262644}.recording-studio-live .recording-studio-status-dot{background:#ef4444;animation:1.2s infinite studio-pulse;box-shadow:0 0 0 5px #ef444422}.recording-studio-clock{letter-spacing:.045em;font-size:clamp(40px,6vw,60px);font-weight:750;line-height:1.2}.recording-studio-controls{justify-content:center}.recording-studio-controls button{min-width:155px;font-weight:700}.recording-studio button{font-weight:650;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s}.recording-studio button:not(:disabled):active{transform:scale(.98)}.recording-studio button:focus-visible,.recording-studio input:focus-visible{outline-offset:2px;outline:3px solid #0d948888}.recording-studio-controls button:first-child,.recording-studio footer button:last-child{color:#fff;background:#0f8c80;border-color:#0f8c80}.recording-studio-controls button:first-child:not(:disabled):hover,.recording-studio footer button:last-child:not(:disabled):hover{background:#08766d;box-shadow:0 5px 16px #0d94882c}.recording-studio-section-heading{justify-content:space-between;align-items:end;gap:16px;padding:2px 30px 15px;display:flex}.recording-studio-section-heading h3{letter-spacing:-.025em;align-items:center;gap:10px;margin:4px 0 0;font-size:20px;display:flex}.recording-studio-count{background:var(--surface-secondary,#f1f5f9);border-radius:9px;padding:4px 9px;font-size:12px;font-weight:700}.recording-studio-selection{color:var(--text-secondary,#64748b);white-space:nowrap;font-size:12px}.recording-studio-takes{scrollbar-width:none;flex:1;align-content:start;min-height:80px;padding:0 30px 20px;overflow-y:auto}.recording-studio-takes::-webkit-scrollbar{display:none}.recording-studio-take{background:var(--surface,#fff);border-radius:17px;gap:16px;padding:20px;box-shadow:0 3px 12px #00000008}.recording-studio-take-heading{gap:12px}.recording-studio-take-heading label{white-space:nowrap;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.recording-studio-take-heading input[type=checkbox]{accent-color:#0d9488;width:17px;height:17px}.recording-studio-take-heading input:not([type=checkbox]){background:var(--surface-secondary,#f1f5f9);border-color:#0000;padding:10px 12px;font-size:15px;font-weight:700}.recording-studio-take-heading input:not([type=checkbox]):focus{border-color:#0d9488}.recording-studio .recording-studio-delete{color:#b91c1c;background:0 0;border-color:#0000;font-size:12px}.recording-studio .recording-studio-delete:hover{background:#ef444414}.recording-studio-take audio{height:40px}.recording-waveform-bars{border:1px solid var(--border,#dbe2ea);background:var(--surface-secondary,#f1f5f9);height:126px}.recording-waveform-bars>span:not(.recording-waveform-loading){background:linear-gradient(#14b8a6,#0f766e)}.recording-waveform-sliders{gap:24px}.recording-waveform-sliders label{color:var(--text-secondary,#64748b);font-weight:650}.recording-studio-trim{border-top:1px solid var(--border,#dbe2ea);padding-top:14px}.recording-studio-trim label{font-size:12px;font-weight:650}.recording-studio-trim>span{color:var(--text-secondary,#64748b);margin-left:auto;font-size:12px}.recording-studio-empty{text-align:center;border:1px dashed var(--border,#cbd5e1);background:var(--surface-secondary,#f1f5f9);border-radius:18px;justify-items:center;gap:10px;padding:38px 20px 42px;display:grid}.recording-studio-empty>span{color:#0d9488;background:#0d94881c;border-radius:16px;place-items:center;width:54px;height:54px;font-size:31px;display:grid}.recording-studio-empty strong{font-size:17px}.recording-studio-empty p{opacity:.75;max-width:420px;margin:0;font-size:13px;line-height:1.65}.recording-studio>footer{border-top:1px solid var(--border,#dbe2ea);background:var(--surface,#fff);flex-shrink:0;gap:10px;margin:0;padding:16px 30px}.recording-studio-footer-hint{color:var(--text-secondary,#64748b);margin-right:auto;font-size:12px}.recording-studio-error{background:#ef444412;border-radius:10px;margin:8px 30px;padding:10px 14px;font-size:13px}@keyframes studio-fade{0%{opacity:0}to{opacity:1}}@keyframes studio-enter{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:none}}@keyframes studio-pulse{50%{box-shadow:0 0 0 8px #ef444408}}@media (width<=600px){.recording-studio-backdrop{padding:0}.recording-studio{border-radius:0;width:100%;height:100dvh;max-height:100dvh}.recording-studio>header{padding:17px 18px 14px}.recording-studio-brand-icon{width:41px;height:41px;font-size:25px}.recording-studio-subtitle{margin-top:12px;padding:0 18px}.recording-studio-capture{margin:13px 18px 16px;padding:17px 12px}.recording-studio-clock{font-size:42px}.recording-studio-section-heading{padding:0 18px 12px}.recording-studio-takes{padding:0 18px 16px}.recording-studio-take{padding:14px}.recording-studio-take-heading{flex-wrap:wrap}.recording-studio-take-heading input:not([type=checkbox]){flex-basis:100%;order:3}.recording-studio>footer{flex-wrap:wrap;padding:12px 18px}.recording-studio-footer-hint{flex-basis:100%}.recording-studio>footer button:last-child{flex:1}.recording-waveform-bars{height:96px}}@media (prefers-reduced-motion:reduce){.recording-studio-backdrop,.recording-studio,.recording-studio-live .recording-studio-status-dot{animation:none}.recording-studio button{transition:none}}.recording-studio-inline{width:100%;min-width:0}.recording-studio-inline .recording-studio{width:100%;height:auto;max-height:none;box-shadow:none;border-radius:16px;padding:24px;overflow:visible}.recording-studio-inline .recording-studio footer{background:0 0;position:static}@media (width<=600px){.recording-studio-inline .recording-studio{border-radius:14px;width:100%;height:auto;max-height:none;padding:16px}}.practice-media-card{background:#fff;gap:16px;display:grid}.practice-media-item{border-bottom:1px solid #e2eae3;flex-direction:column;gap:9px;min-width:0;padding:14px 0;display:flex}.practice-media-item audio{width:100%;max-width:440px}.practice-media-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.practice-media-actions a{color:#37634f;font-weight:600}.practice-media-upload{gap:9px;margin-top:12px;display:grid}.practice-media-upload input{box-sizing:border-box;background:#fff;border:1px solid #cbd8ce;border-radius:10px;width:100%;min-width:0;padding:10px}.practice-media-upload button,.practice-media-item button:not(.ui-icon-button):not(.ui-button){color:#37634f;cursor:pointer;font:inherit;background:#fff;border:1px solid #37634f;border-radius:9px;padding:9px 12px}.practice-media-upload button{color:#fff;background:#37634f;justify-self:start}.practice-media-upload button:disabled,.practice-media-item button:not(.ui-icon-button):not(.ui-button):disabled{opacity:.5;cursor:not-allowed}.practice-media-badge{color:#37634f;background:#e7f2e9;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:600}.practice-media-error{color:#a12929}.practice-media-recordings{border-top:1px solid #e2eae3;margin-top:18px;padding-top:12px}.practice-media-recordings h5{margin:0 0 12px;font-size:14px}.practice-media-upload .practice-media-file-input{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.practice-media-upload .practice-media-file-button{box-sizing:border-box;color:#294d3c;cursor:pointer;background:#e7f2e9;border:1px solid #37634f;border-radius:11px;justify-content:center;align-items:center;width:fit-content;max-width:100%;padding:12px 18px;font-size:14px;font-weight:700;transition:background .15s,transform .15s;display:inline-flex}.practice-media-upload .practice-media-file-button:hover{background:#d3e8d8;transform:translateY(-1px)}.practice-media-upload .practice-media-file-input:focus-visible+.practice-media-file-button{outline-offset:3px;outline:3px solid #87b89c}.practice-media-file-name{color:#52685a;overflow-wrap:anywhere;font-size:13px}.practice-media-upload button[type=submit]{border-radius:11px;min-height:44px;padding:11px 18px;font-weight:700}.practice-media-card{border-radius:16px}.practice-media-score{background:#f8faf8;border:1px solid #e0e9e2;border-radius:12px;gap:12px;padding:14px 16px}.practice-media-score-heading{align-items:center;gap:12px;min-width:0;display:flex}.practice-media-pdf-icon{color:#a42d2d;background:#fce8e8;border-radius:9px;flex:0 0 42px;justify-content:center;align-items:center;height:48px;font-size:12px;font-weight:800;display:inline-flex}.practice-media-score-title{overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;display:flex}.practice-media-actions{padding-left:54px}.practice-media-actions .ui-confirm-delete{margin-left:auto}.practice-media-score .practice-media-actions>a{align-items:center;min-height:36px;display:inline-flex}.practice-media-item .ui-icon-button{color:#bd3030;background:#fff1f1;border-color:#efc4c4}.practice-media-item .ui-icon-button:hover:not(:disabled){background:#ffe2e2}.practice-media-item .ui-confirm-delete__panel button{width:auto}.practice-field select[id^=session-score-]{padding-right:42px}@media (width<=520px){.practice-media-actions{padding-left:0}}.practice-score-select{isolation:isolate;position:relative}.practice-score-label{color:#52685a;font-size:13px;font-weight:600}.practice-score-select .practice-score-trigger{appearance:none;color:#293d32;width:100%;min-height:46px;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #cbd8ce;border-radius:10px;justify-content:space-between;align-items:center;gap:18px;padding:11px 20px 11px 14px;font-size:14px;display:flex}.practice-score-trigger:hover{border-color:#69987a}.practice-score-trigger:focus-visible,.practice-score-option:focus-visible{outline-offset:2px;outline:3px solid #87b89c}.practice-score-trigger-text{overflow-wrap:anywhere;flex:1;min-width:0}.practice-score-chevron{border-bottom:2px solid #37634f;border-right:2px solid #37634f;flex:0 0 9px;width:9px;height:9px;transition:transform .15s;transform:translateY(-2px)rotate(45deg)}.practice-score-chevron.is-open{transform:translateY(3px)rotate(225deg)}.practice-score-popover{z-index:5;background:#fff;border:1px solid #d4e3d8;border-radius:14px;max-height:340px;margin-top:8px;padding:8px;position:relative;overflow-y:auto;box-shadow:0 10px 28px #20412e1f}.practice-score-popover-heading{color:#52685a;padding:8px 10px 12px;font-size:12px;font-weight:700}.practice-score-option{text-align:left;color:#293d32;width:100%;font:inherit;cursor:pointer;background:#fff;border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;padding:11px 12px;display:flex}.practice-score-option+.practice-score-option{margin-top:3px}.practice-score-option:disabled{opacity:.55;cursor:wait}.practice-score-option-icon{color:#a42d2d;background:#fce8e8;border-radius:9px;flex:0 0 40px;justify-content:center;align-items:center;height:42px;font-size:11px;font-weight:800;display:flex}.practice-score-option-icon--empty{color:#65756b;background:#edf1ee;font-size:20px}.practice-score-option-content{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.practice-score-option-content strong{overflow-wrap:anywhere;font-size:14px}.practice-score-option-content small{color:#60786a;font-size:12px}.practice-score-check{color:#37634f;font-size:20px;font-weight:800}.practice-score-hint{color:#60786a;margin:8px 10px;font-size:13px}.practice-media-load-audio{color:#294d3c;font:inherit;cursor:pointer;background:#e7f2e9;border:1px solid #37634f;border-radius:9px;align-self:flex-start;padding:9px 12px;font-size:13px;font-weight:600}.practice-media-load-audio:disabled{opacity:.55;cursor:wait}.practice-media-delete{justify-content:flex-end;width:100%;margin-top:8px;display:flex}.practice-media-score .practice-media-actions .practice-media-delete{flex-basis:100%}.practice-media-item .practice-media-delete{justify-content:flex-end;align-self:stretch;width:100%;display:flex}.practice-media-item .practice-media-delete .ui-confirm-delete{margin-left:auto}.practice-media-pending .practice-media-upload{margin-bottom:12px}.practice-media-pending .practice-media-item{gap:9px}.practice-media-pending .practice-media-pending-title{box-sizing:border-box;border:1px solid var(--color-border,#cbd8ce);background:var(--color-surface,#fff);width:100%;min-width:0;color:var(--color-text,#293d32);font:inherit;border-radius:10px;padding:10px}.practice-media-pending .practice-media-item>button{align-self:flex-end}.practice-media-pending .practice-media-upload button.practice-media-file-button{color:#294d3c;width:fit-content;font:inherit;cursor:pointer;background:#e7f2e9;border:1px solid #37634f;border-radius:11px;justify-self:start;padding:12px 18px;font-size:14px;font-weight:700}.practice-media-pending .practice-media-upload button.practice-media-file-button:hover:not(:disabled){background:#d3e8d8}.practice-media-pending .practice-media-upload button.practice-media-file-button:disabled{opacity:.5;cursor:wait}.practice-media-upload button.practice-media-file-button{color:#294d3c;background:#e7f2e9;border:1px solid #37634f}.practice-media-upload button.practice-media-file-button:hover:not(:disabled){background:#d3e8d8}.practice-media-recording-heading{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.practice-media-card{background:var(--color-surface);color:var(--color-text)}.practice-media-item{border-bottom-color:var(--color-border)}.practice-media-score{background:var(--color-surface-muted);border-color:var(--color-border)}.practice-media-score-title{color:var(--color-text)}.practice-media-actions a{color:var(--color-primary)}.practice-media-upload input:not([type=file]){background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.practice-media-upload input::placeholder,.practice-media-file-name,.practice-score-label,.practice-score-popover-heading,.practice-score-option-content small,.practice-score-hint{color:var(--color-muted)}.practice-media-upload .practice-media-file-button,.practice-media-upload button.practice-media-file-button,.practice-media-pending .practice-media-upload button.practice-media-file-button{background:var(--color-soft-accent);color:var(--color-primary);border-color:var(--color-primary)}.practice-media-upload .practice-media-file-button:hover,.practice-media-upload button.practice-media-file-button:hover:not(:disabled),.practice-media-pending .practice-media-upload button.practice-media-file-button:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 20%,var(--color-surface))}.practice-media-upload button[type=submit]{background:var(--color-primary);color:var(--color-primary-contrast);border-color:var(--color-primary)}.practice-media-upload button[type=submit]:hover:not(:disabled){background:var(--color-primary-hover)}.practice-media-item button:not(.ui-icon-button):not(.ui-button){background:var(--color-surface);color:var(--color-primary);border-color:var(--color-primary)}.practice-media-item button:not(.ui-icon-button):not(.ui-button):hover:not(:disabled){background:var(--color-soft-accent)}.practice-media-badge{background:var(--color-soft-accent);color:var(--color-primary)}.practice-media-recordings{border-top-color:var(--color-border)}.practice-score-select .practice-score-trigger,.practice-score-popover,.practice-score-option{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.practice-score-option:hover{background:var(--color-soft-accent)}.practice-score-option.is-selected{background:var(--color-soft-accent);border-color:var(--color-primary)}.practice-score-chevron{border-color:var(--color-primary)}.practice-score-check{color:var(--color-primary)}.practice-media-load-audio{background:var(--color-soft-accent);color:var(--color-primary);border-color:var(--color-primary)}.practice-media-load-audio:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 20%,var(--color-surface))}.practice-media-score .practice-media-actions>.practice-media-view-score,.practice-media-score .practice-media-actions>.practice-media-download-score{min-height:42px;font:inherit;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:9px;padding:10px 16px;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.practice-media-score .practice-media-actions>.practice-media-view-score{background:var(--color-primary);color:var(--color-primary-contrast);border:1px solid var(--color-primary);box-shadow:0 3px 12px #0000001f}.practice-media-score .practice-media-actions>.practice-media-view-score:hover:not(:disabled){background:var(--color-primary-hover);color:var(--color-primary-contrast);transform:translateY(-2px);box-shadow:0 6px 18px #00000029}.practice-media-score .practice-media-actions>.practice-media-download-score{background:var(--color-soft-accent);color:var(--color-primary);border:1px solid var(--color-border)}.practice-media-score .practice-media-actions>.practice-media-download-score:hover:not(:disabled){background:color-mix(in srgb, var(--color-primary) 16%, var(--color-surface));transform:translateY(-2px)}.practice-media-score .practice-media-actions>.practice-media-view-score:focus-visible,.practice-media-score .practice-media-actions>.practice-media-download-score:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}@media (prefers-reduced-motion:reduce){.practice-media-score .practice-media-actions>.practice-media-view-score,.practice-media-score .practice-media-actions>.practice-media-download-score{transition:none}}.practice-media-score-collection{box-sizing:border-box;border:1px solid var(--color-border);border-radius:12px;width:100%;min-width:0;overflow:visible}.practice-media-score-collection>summary{cursor:pointer;color:var(--color-text);border-radius:12px;align-items:center;gap:10px;padding:14px 16px;font-weight:700;list-style:none;display:flex}.practice-media-score-collection>summary::-webkit-details-marker{display:none}.practice-media-score-collection>summary:hover{background:var(--color-soft-accent)}.practice-media-score-collection>summary:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.practice-media-score-collection>summary:after{content:"";width:9px;height:9px;color:var(--color-muted);border-bottom:2px solid;border-right:2px solid;flex-shrink:0;margin-left:auto;margin-right:5px;transition:transform .2s;transform:rotate(45deg)}.practice-media-score-collection[open]>summary:after{color:var(--color-primary);transform:rotate(225deg)}.practice-media-score-collection[open]>summary{border-bottom:1px solid var(--color-border);background:var(--color-soft-accent);border-radius:12px 12px 0 0}.practice-media-score-collection-content{gap:12px;min-width:0;padding:14px;display:grid}.practice-media-score-collection-count{background:var(--color-soft-accent);min-width:24px;height:24px;color:var(--color-primary);border-radius:99px;place-items:center;padding:0 6px;font-size:12px;display:inline-grid}@media (prefers-reduced-motion:reduce){.practice-media-score-collection>summary:after{transition:none}}.recording-player{gap:12px;width:100%;display:grid}.recording-player-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.recording-player-controls button:not(.harmonia-dropdown__trigger):not(.harmonia-dropdown__option),.recording-player-controls select{border:1px solid var(--color-border);background:var(--color-surface,transparent);color:var(--color-text);font:inherit;cursor:pointer;border-radius:9px;padding:8px 11px}.recording-player-controls button:not(.harmonia-dropdown__trigger):not(.harmonia-dropdown__option):hover{border-color:var(--color-primary)}.recording-player-controls .recording-player-toggle{background:var(--color-primary);color:#fff;border-color:var(--color-primary);font-weight:700}.recording-player-controls label{align-items:center;gap:7px;margin-left:auto;font-size:13px;display:inline-flex}.recording-player-timeline{font-variant-numeric:tabular-nums;align-items:center;gap:10px;font-size:12px;display:flex}.recording-player-timeline input{min-width:0;accent-color:var(--color-primary);flex:1}@media (width<=480px){.recording-player-controls label{width:100%;margin-left:0}}.recording-player-advanced{gap:10px;min-width:0;margin:12px 0;display:grid}.recording-player-advanced>label{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.recording-player-advanced input[type=range]{flex:1;min-width:90px}.recording-player-loop{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.recording-player-loop button{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;border-radius:8px;padding:7px 10px}.recording-player-loop label{align-items:center;gap:5px;display:flex}.recording-player-waveform{cursor:crosshair;background:var(--color-surface,transparent);border-radius:8px;width:100%;height:76px;display:block}.recording-player-loop{border:1px solid var(--color-border);background:var(--color-surface,transparent);border-radius:12px;gap:9px;padding:10px}.recording-player-loop .recording-player-loop-marker{background:var(--color-surface,transparent);text-align:left;min-height:44px;font:inherit;border-radius:10px;align-items:center;gap:9px;padding:7px 12px;transition:border-color .18s,background-color .18s;display:inline-flex}.recording-player-loop-marker-icon{background:color-mix(in srgb, var(--color-primary) 13%, transparent);width:27px;height:27px;color:var(--color-primary);border-radius:7px;flex:none;place-items:center;font-weight:750;display:grid}.recording-player-loop-marker>span:last-child{gap:1px;display:grid}.recording-player-loop-marker small{opacity:.7;font-size:11px}.recording-player-loop-marker strong{font-variant-numeric:tabular-nums;font-size:13px}.recording-player-loop .recording-player-loop-switch{min-height:44px;font:inherit;border-radius:10px;align-items:center;gap:8px;padding:8px 11px;font-size:13px;font-weight:600;display:inline-flex}.recording-player-loop-switch[aria-checked=true]{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 9%, var(--color-surface,transparent))}.recording-player-loop-switch-track{box-sizing:border-box;background:var(--color-border);border-radius:20px;align-items:center;width:32px;height:19px;padding:2px;transition:background-color .18s;display:inline-flex}.recording-player-loop-switch-track>span{background:#fff;border-radius:50%;width:15px;height:15px;transition:transform .18s;box-shadow:0 1px 3px #0003}.recording-player-loop-switch[aria-checked=true] .recording-player-loop-switch-track{background:var(--color-primary)}.recording-player-loop-switch[aria-checked=true] .recording-player-loop-switch-track>span{transform:translate(13px)}.recording-player-loop .recording-player-loop-clear{min-height:44px;font:inherit;border-radius:10px;margin-left:auto;padding:8px 11px;font-size:13px}.recording-player-loop button:hover:not(:disabled){border-color:var(--color-primary)}.recording-player-loop button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.recording-player-loop button:disabled{opacity:.45;cursor:not-allowed}@media (width<=480px){.recording-player-loop .recording-player-loop-marker{flex:100px}.recording-player-loop .recording-player-loop-clear{margin-left:0}}@media (prefers-reduced-motion:reduce){.recording-player-loop button,.recording-player-loop-switch-track,.recording-player-loop-switch-track>span{transition:none}}.recording-player,.recording-player-advanced,.recording-player-controls,.recording-player-timeline{box-sizing:border-box;min-width:0;max-width:100%}.recording-player-controls button:not(.harmonia-dropdown__trigger):not(.harmonia-dropdown__option){min-height:44px}.recording-player-controls select{max-width:100%;min-height:44px}.recording-player-waveform{touch-action:none;max-width:100%}.recording-player-advanced>small{overflow-wrap:anywhere}@media (width<=480px){.recording-player{gap:10px}.recording-player-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.recording-player-controls button:not(.harmonia-dropdown__trigger):not(.harmonia-dropdown__option){width:100%;min-width:0}.recording-player-controls label{grid-column:1/-1;justify-content:space-between;width:100%;min-width:0;margin:0;display:flex}.recording-player-controls select{flex:1;min-width:0}.recording-player-advanced{margin:6px 0}.recording-player-loop{padding:8px}.recording-player-loop .recording-player-loop-marker{flex:calc(50% - 8px);min-width:0}.recording-player-loop .recording-player-loop-switch{flex:auto;justify-content:center}.recording-player-loop .recording-player-loop-clear{flex:0 auto}.recording-player-timeline{gap:7px}.recording-player-timeline span{flex:none}.recording-player-waveform{height:90px}}.recording-player-waveform-help{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.recording-player-help-wrap{display:inline-flex;position:relative}.recording-player-help-trigger{border:1px solid var(--color-border);background:var(--color-surface,transparent);width:24px;height:24px;color:var(--color-text);font:inherit;cursor:help;border-radius:50%;place-items:center;padding:0;font-size:13px;display:grid}.recording-player-help-trigger:hover,.recording-player-help-trigger:focus-visible{border-color:var(--color-primary);color:var(--color-primary);outline-offset:2px}.recording-player-help-tooltip{z-index:30;box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface,#fff);width:min(270px,70vw);color:var(--color-text);opacity:0;visibility:hidden;pointer-events:none;border-radius:10px;padding:10px 12px;font-size:12px;font-weight:400;line-height:1.45;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;bottom:calc(100% + 9px);left:0;transform:translateY(4px);box-shadow:0 8px 24px #0002}.recording-player-help-wrap:hover .recording-player-help-tooltip,.recording-player-help-wrap:focus-within .recording-player-help-tooltip{opacity:1;visibility:visible;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.recording-player-help-tooltip{transition:none}}.recording-player-speed{width:155px;min-width:0;margin-left:auto}.recording-player-speed .harmonia-dropdown{width:100%}.recording-player-speed .harmonia-dropdown__trigger{min-height:44px;font-size:13px;font-weight:600}@media (width<=480px){.recording-player-speed{grid-column:1/-1;justify-self:end;width:155px;margin-left:0}}.practice-layout{flex-direction:column;gap:32px;min-width:0;display:flex}.practice-form{box-sizing:border-box;flex-direction:column;align-items:stretch;gap:20px;width:100%;min-width:0;display:flex}.practice-field{flex-direction:column;gap:8px;min-width:0;display:flex}.practice-field label{color:var(--color-muted);font-size:13px;font-weight:600}.practice-field input,.practice-field select,.practice-field textarea,.practice-session-card .library-progress input{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface-muted);width:100%;min-width:0;min-height:44px;color:var(--color-text);font:inherit;border-radius:10px;padding:11px 14px;font-size:14px;line-height:1.5;display:block}.practice-field textarea{resize:vertical;min-height:120px}.practice-field input:focus-visible,.practice-field select:focus-visible,.practice-field textarea:focus-visible,.practice-session-card .library-progress input:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.practice-submit{background:var(--color-primary);max-width:100%;min-height:44px;color:var(--color-primary-contrast);font:inherit;cursor:pointer;border:0;border-radius:10px;align-self:flex-start;padding:12px 18px;font-size:14px;font-weight:600}.practice-submit:hover:not(:disabled){background:var(--color-primary)}.practice-submit:disabled{opacity:.6;cursor:wait}.practice-submit:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}.practice-card-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.practice-card-heading h4{min-width:0;margin:0}.practice-duration-badge{background:var(--color-soft-accent);color:var(--color-primary);white-space:nowrap;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:5px 11px;font-size:13px;font-weight:700;display:inline-flex}.practice-session-card .library-progress{min-width:0}@media (width>=768px){.practice-form{max-width:700px}}.library-grid>.practice-session-card{justify-content:flex-start;align-self:stretch;height:100%}.library-grid>.practice-session-card>.library-progress{flex:none;margin-top:0}.library-grid>.practice-session-card>.practice-card-heading{flex:none}.library-grid>.practice-session-card .practice-card-heading{align-items:center;gap:.75rem;width:100%;display:flex}.library-grid>.practice-session-card .piece-tracking__heading-actions{justify-content:flex-end;align-items:center;gap:.65rem;margin-left:auto;display:flex}.library-grid>.practice-session-card .piece-tracking__edit{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:1rem;width:100%;min-width:0;margin-top:1.15rem;display:grid}.library-grid>.practice-session-card .piece-tracking__edit .practice-field{gap:.4rem;width:100%;min-width:0;display:grid}.library-grid>.practice-session-card .piece-tracking__edit .practice-field:nth-child(3),.library-grid>.practice-session-card .piece-tracking__edit .practice-field:nth-child(4){grid-column:1/-1}.library-grid>.practice-session-card .piece-tracking__edit input,.library-grid>.practice-session-card .piece-tracking__edit select,.library-grid>.practice-session-card .piece-tracking__edit textarea{box-sizing:border-box;width:100%;min-width:0}.library-grid>.practice-session-card .piece-tracking__edit .practice-field>button{justify-self:start}.library-grid>.practice-session-card .practice-score-select{width:100%;min-width:0;margin-top:1.5rem}@media (width<=650px){.library-grid>.practice-session-card .piece-tracking__edit{grid-template-columns:minmax(0,1fr)}.library-grid>.practice-session-card .piece-tracking__edit .practice-field:nth-child(3),.library-grid>.practice-session-card .piece-tracking__edit .practice-field:nth-child(4){grid-column:auto}}.practice-layout{color:var(--color-text)}.practice-session-card{gap:12px}.practice-session-card>.practice-card-heading{border-bottom:1px solid var(--color-border);padding-bottom:12px}.practice-session-section{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;min-width:0;overflow:visible}.practice-session-section>summary{cursor:pointer;color:var(--color-text);align-items:center;gap:10px;padding:14px 16px;font-size:14px;font-weight:700;list-style:none;transition:background .2s;display:flex}.practice-session-section>summary::-webkit-details-marker{display:none}.practice-session-section>summary:after{content:"⌄";color:var(--color-muted);margin-left:auto;font-size:21px;line-height:1;transition:transform .2s}.practice-session-section[open]>summary:after{transform:rotate(180deg)}.practice-session-section>summary:hover{background:var(--color-soft-accent)}.practice-session-section>summary:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;border-radius:12px}.practice-session-section[open]>summary{border-bottom:1px solid var(--color-border)}.practice-session-section>.piece-tracking__edit,.practice-session-section>.practice-score-select,.practice-session-section>.practice-media-recordings{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:16px;margin:0!important}.library-grid>.practice-session-card .practice-session-section>.piece-tracking__edit{margin-top:0}.practice-session-card>.practice-session-delete{border-top:1px solid var(--color-border);padding-top:12px}@media (prefers-reduced-motion:reduce){.practice-session-section>summary,.practice-session-section>summary:after{transition:none}}.practice-session-card>.practice-card-heading{align-items:center;gap:10px;margin-bottom:2px;padding:2px 0 16px}.practice-session-card>.practice-card-heading h4{color:var(--color-text);font-size:clamp(15px,1.5vw,18px);font-weight:750;line-height:1.35}.practice-session-card>.practice-card-heading .practice-duration-badge{font-variant-numeric:tabular-nums;padding:7px 12px}.practice-session-section{transition:border-color .18s,box-shadow .18s}.practice-session-section[open]{border-color:var(--color-primary);box-shadow:0 3px 12px #00000008}.practice-session-section[open]>summary{color:var(--color-primary);background:var(--color-soft-accent);border-radius:11px 11px 0 0}.practice-session-section>summary:after{content:"⌄";flex-shrink:0}.practice-session-card>.practice-session-delete{margin-top:4px}@media (width<=520px){.practice-session-card>.practice-card-heading{align-items:flex-start}.practice-session-section>summary{padding:13px 12px}.practice-session-section>.piece-tracking__edit,.practice-session-section>.practice-score-select,.practice-session-section>.practice-media-recordings{padding:12px}}.practice-session-card>.practice-session-section{box-sizing:border-box;align-self:stretch;width:100%;max-width:100%;display:block}.practice-session-card>.practice-session-section>summary{box-sizing:border-box;width:100%}.practice-session-card>.practice-session-section>summary:after{content:"";width:9px;min-width:9px;height:9px;color:var(--color-muted);border-bottom:2px solid;border-right:2px solid;margin-left:auto;margin-right:5px;transition:transform .2s;display:block;transform:rotate(45deg)}.practice-session-card>.practice-session-section[open]>summary:after{color:var(--color-primary);transform:rotate(225deg)}@media (prefers-reduced-motion:reduce){.practice-session-card>.practice-session-section>summary:after{transition:none}}.practice-session-section>summary{border-radius:11px}.practice-session-section[open]>summary{border-radius:11px 11px 0 0}.ui-drag-handle{box-sizing:border-box;width:30px;min-width:30px;height:32px;color:var(--color-muted);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:0 0;border:0;border-radius:8px;flex:0 0 30px;justify-content:center;align-items:center;padding:0;font-weight:400;line-height:1;display:inline-flex}.ui-drag-handle:hover{color:var(--color-primary);background:var(--color-surface-muted)}.ui-drag-handle:active{cursor:grabbing}.ui-drag-handle:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.ui-drag-handle__icon{flex:0 0 18px;width:18px;min-width:18px;height:18px;min-height:18px;display:block}.practice-plan{max-width:1080px;color:var(--color-text);margin:0 auto;padding:clamp(20px,4vw,42px)}.practice-plan__heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;display:flex}.practice-plan__heading h1{margin:4px 0 8px;font-size:clamp(1.6rem,3vw,2.2rem)}.practice-plan__heading p{color:var(--color-muted);margin:0}.practice-plan__eyebrow{letter-spacing:.1em;font-size:.75rem;font-weight:700}.practice-plan button:not(.harmonia-dropdown__trigger):not(.harmonia-dropdown__option):not(.ui-icon-button):not(.ui-button){cursor:pointer;border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-primary-contrast);border-radius:10px;padding:10px 14px}.practice-plan button.secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.practice-plan button:disabled{opacity:.5;cursor:not-allowed}.practice-plan__week{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;display:flex}.practice-plan__week strong{text-align:center;flex:1;min-width:160px}.practice-plan__summary{color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:24px 0 12px;display:flex}.practice-plan__summary strong{color:var(--color-text)}.practice-plan__items{gap:12px;margin:0;padding:0;list-style:none;display:grid}.practice-plan__item,.practice-plan__empty,.practice-plan__form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:20px}.practice-plan__item-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.practice-plan__item-head h2{overflow-wrap:anywhere;margin:0;font-size:1.05rem}.practice-plan__item-head span{color:var(--color-muted);white-space:nowrap;font-size:.9rem}.practice-plan__item p{color:var(--color-muted);white-space:pre-wrap;overflow-wrap:anywhere}.practice-plan__item-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.practice-plan__item-actions .harmonia-dropdown{min-width:145px;max-width:210px}.practice-plan__empty{text-align:center;padding:38px 20px}.practice-plan__empty p{color:var(--color-muted)}.practice-plan__form{gap:10px;margin-top:20px;display:grid}.practice-plan__form h2{margin:0 0 8px}.practice-plan__form label{font-weight:600}.practice-plan__form input,.practice-plan__form textarea{background:var(--color-surface);width:100%;color:var(--color-text);border:1px solid var(--color-border);border-radius:10px;padding:12px}.practice-plan__form-actions{gap:10px;margin-top:10px;display:flex}.practice-plan__error{border:1px solid var(--color-border);color:var(--color-text);border-radius:10px;margin:12px 0;padding:12px}.practice-plan__footer{color:var(--color-muted);margin-top:26px;font-size:.9rem}.practice-plan__footer a{color:var(--color-primary)}@media (width<=640px){.practice-plan__heading{flex-direction:column;align-items:stretch}.practice-plan__item-head{flex-direction:column;align-items:flex-start;gap:6px}.practice-plan__item-actions .harmonia-dropdown{width:100%;max-width:none}}.practice-plan__start{background:var(--color-soft-accent);color:var(--color-text);border-radius:10px;align-items:center;padding:10px 14px;font-weight:600;text-decoration:none;display:inline-flex}.practice-plan__start:hover{background:var(--color-surface-muted)}.practice-plan__linked{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:.85rem;font-weight:650;display:inline-flex}.practice-plan__modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000007a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.practice-plan__modal{border-radius:18px;width:min(100%,620px);max-height:calc(100dvh - 40px);overflow:visible;box-shadow:0 24px 80px #00000040}.practice-plan__modal .practice-plan__form{gap:12px;margin:0;padding:clamp(18px,3vw,28px)}@media (height<=680px){.practice-plan__modal{scrollbar-width:thin;overflow-y:auto}}.practice-plan__item-actions .ui-confirm-delete{display:inline-flex}.practice-plan__item-actions .ui-confirm-delete button{background:0 0;border-color:#0000}.practice-plan__delete{justify-content:flex-end;margin-top:10px;display:flex}.practice-plan__score{font-size:.88rem;font-weight:600}.practice-plan__session-context{color:var(--color-muted);margin:0}.practice-plan__session-context strong{color:var(--color-text)}.practice-plan__session-error{color:#b4232d}.practice-plan .practice-plan__session-button{background:var(--color-primary);color:var(--color-primary-contrast)}.practice-plan__tracking-link{border:1px solid var(--color-border);background:var(--color-surface);min-height:40px;color:var(--color-primary);border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:9px 14px;font-size:.9rem;font-weight:650;text-decoration:none;transition:background-color .18s,border-color .18s,transform .18s;display:inline-flex}.practice-plan__tracking-link:hover{background:var(--color-soft-accent);border-color:var(--color-primary);transform:translateY(-1px)}.practice-plan__tracking-link:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.practice-plan__item{transition:border-color .18s,box-shadow .18s,opacity .18s}.practice-plan__item--dragging{opacity:.45}.practice-plan__item--drop-target{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary)}.practice-plan__item-head{justify-content:flex-start}.practice-plan__item-head h2{flex:1}.practice-plan__duration{background:var(--color-surface-muted);border-radius:999px;flex-shrink:0;padding:6px 10px}.practice-plan__item-actions{border-top:1px solid var(--color-border);justify-content:space-between;align-items:flex-end;gap:16px;padding-top:16px}.practice-plan__item-status{gap:6px;display:grid}.practice-plan__action-label{color:var(--color-muted);font-size:12px;font-weight:650}.practice-plan__item-main-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.practice-plan__item-footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:12px;display:flex}.practice-plan__delete{margin-top:0}@media (width<=640px){.practice-plan__item-actions{flex-direction:column;align-items:stretch}.practice-plan__item-main-actions{justify-content:flex-start}.practice-plan__item-head{flex-flow:wrap}}.practice-plan__session-media-step{box-sizing:border-box;background:var(--color-surface);color:var(--color-text);border-radius:18px;max-height:calc(100dvh - 40px);padding:clamp(18px,3vw,28px);overflow-y:auto}.practice-plan__session-media-step h2{margin:0 0 12px}.practice-plan__session-media-step .practice-media-recordings{margin-top:18px}.practice-plan__session-media-step .practice-plan__form-actions{justify-content:flex-end;margin-top:18px}.practice-plan__modal-backdrop:has(.practice-plan__session-media-step){z-index:1001}.practice-plan .practice-plan__linked-button{cursor:pointer;border:1px solid var(--color-border);background:var(--color-soft-accent);color:var(--color-text);font:inherit;border-radius:999px;align-items:center;gap:9px;padding:8px 13px;font-size:.85rem;font-weight:650;transition:background-color .18s,border-color .18s,transform .18s;display:inline-flex}.practice-plan .practice-plan__linked-button:hover:not(:disabled){background:var(--color-surface-muted);border-color:var(--color-primary);transform:translateY(-1px)}.practice-plan .practice-plan__linked-button:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}.practice-plan__session-edit-form{gap:10px;margin-top:16px;display:grid}.practice-plan__session-edit-form label{font-weight:650}.practice-plan__session-edit-form input,.practice-plan__session-edit-form textarea{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;border-radius:10px;padding:11px 12px}.practice-plan__session-edit-form>button{justify-self:start;margin-top:6px}.practice-plan__session-edit-footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:16px;display:flex}.practice-plan__session-edit-footer .ui-confirm-delete{margin-left:auto}.practice-plan__modal:has(.practice-media-pending){overscroll-behavior:contain;scrollbar-width:thin;overflow-y:auto}.practice-plan__form .practice-media-upload .practice-media-file-input{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.practice-plan__form .practice-media-upload .practice-media-file-button{color:#294d3c;cursor:pointer;background:#e7f2e9;border:1px solid #37634f;width:fit-content;padding:12px 18px}.practice-plan__week-tools{flex-wrap:wrap;gap:.75rem;margin:1rem 0;display:flex}.practice-plan__favorites{border:1px solid var(--border,#7775);border-radius:12px;margin:1rem 0;padding:1rem}.practice-plan__favorites h2{margin:0 0 .75rem;font-size:1.1rem}.practice-plan__favorites ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.practice-plan__favorites li{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.practice-plan__favorites li span{flex:200px}.practice-plan__item-footer{flex-wrap:wrap;justify-content:flex-start}.practice-plan__item-footer>.practice-plan__delete{margin-left:auto}.practice-plan__item[draggable=true]{cursor:grab}.practice-plan__item[draggable=true]:active{cursor:grabbing}.practice-plan__item button,.practice-plan__item a,.practice-plan__item [role=combobox]{cursor:pointer}.practice-plan__item-head{align-items:flex-start}.practice-plan__item-heading{flex-wrap:wrap;flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.practice-plan__item-head .ui-drag-handle{flex-shrink:0;margin-left:auto}.harmonia-segmented{box-sizing:border-box;border:0;border-bottom:1px solid var(--color-border);width:100%;max-width:100%;box-shadow:none;background:0 0;flex-wrap:wrap;gap:8px;margin:20px 0;padding:0;display:flex}.harmonia-segmented>button{min-width:0;color:var(--color-muted,var(--color-text));box-shadow:none;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;flex:none;justify-content:center;align-items:center;gap:9px;margin:0;padding:13px 18px;font-weight:700;transition:color .18s,border-color .18s;display:inline-flex}.harmonia-segmented>button.is-active,.harmonia-segmented>button[aria-pressed=true],.harmonia-segmented>button[aria-current=page]{color:var(--color-primary);border-bottom-color:var(--color-primary);box-shadow:none;background:0 0}.harmonia-segmented>button:not(.is-active):hover{color:var(--color-primary);background:0 0}.harmonia-segmented>button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.harmonia-segmented>button:disabled{opacity:.5;cursor:not-allowed}.harmonia-segmented__icon{place-items:center;min-width:22px;font-size:19px;line-height:1;display:inline-grid}@media (width<=600px){.harmonia-segmented>button{padding:11px 12px;font-size:13px}}@media (prefers-reduced-motion:reduce){.harmonia-segmented>button{transition:none}}@media (forced-colors:active){.harmonia-segmented>button.is-active{outline:2px solid highlight}}.practice-stats{box-sizing:border-box;width:100%;padding:8px 20px 48px}.stats-heading{text-align:center;margin-bottom:30px}.stats-heading>p:first-child{color:var(--color-primary);font-weight:700}.stats-heading h2{color:var(--color-primary);margin:8px 0;font-size:clamp(28px,4vw,38px)}.stats-heading>p:last-child{color:var(--color-muted);line-height:1.6}.stats-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px;display:grid}.stats-card,.stats-chart-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:24px}.stats-card h3{color:var(--color-muted);margin:0 0 12px;font-size:15px;font-weight:600}.stats-card strong{color:var(--color-primary);font-size:clamp(25px,3vw,38px);display:block}.stats-card p{color:var(--color-muted);margin-bottom:0;font-size:13px}.stats-chart-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.stats-chart-heading h3{color:var(--color-primary);margin:0}.stats-chart-heading p,.stats-chart-heading>span{color:var(--color-muted);font-size:13px}.stats-chart{grid-template-columns:repeat(8,minmax(0,1fr));gap:clamp(6px,2vw,20px);height:280px;padding-top:18px;display:grid}.stats-week{flex-direction:column;align-items:center;min-width:0;display:flex}.stats-week-value{height:32px;color:var(--color-primary);text-align:center;white-space:nowrap;font-size:12px}.stats-bar-track{border-bottom:1px solid var(--color-border);flex:1;justify-content:center;align-items:end;width:100%;min-height:0;display:flex}.stats-bar{background:var(--color-primary);border-radius:6px 6px 0 0;width:min(100%,54px);min-height:0;transition:height .2s}.stats-week-label{color:var(--color-muted);text-align:center;white-space:nowrap;margin-top:10px;font-size:12px}.stats-empty{text-align:center;color:var(--color-muted);margin-top:24px}.stats-empty a{color:var(--color-primary);font-weight:600}.stats-error{color:#a12626;text-align:center}.stats-loading{text-align:center;padding:30px}@media (width<=700px){.stats-summary{grid-template-columns:1fr;gap:12px}.stats-card,.stats-chart-card{padding:16px}.stats-chart{gap:5px;height:230px}.stats-week-label,.stats-week-value{font-size:10px}}.stats-filters{justify-content:flex-end;align-items:center;gap:12px;margin-bottom:24px;display:flex}.stats-filters label{color:var(--color-primary);font-size:14px;font-weight:600}.stats-filters select{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;border-radius:10px;padding:11px 14px}.stats-ranking{margin-top:24px}.stats-ranking>h3{color:var(--color-primary);margin:0 0 16px}.stats-ranking-list{margin:0;padding-left:28px;list-style:decimal}.stats-ranking-list li{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.stats-ranking-list li:last-child{border-bottom:0}.stats-ranking-description{flex-direction:column;gap:4px;min-width:0;display:flex}.stats-ranking-description strong{color:var(--color-text);overflow-wrap:anywhere}.stats-ranking-description span,.stats-ranking-description small{color:var(--color-muted)}.stats-ranking-duration{color:var(--color-primary);white-space:nowrap}@media (width<=700px){.stats-filters{flex-direction:column;align-items:stretch}.stats-filters select{width:100%}}.stats-chart{justify-content:stretch;gap:12px;display:grid;overflow:auto hidden}.stats-week{min-width:48px}.stats-goal{margin-bottom:24px}.stats-goal-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.stats-goal-heading h3{color:var(--color-primary);margin:0}.stats-goal-heading p,.stats-goal-message{color:var(--color-muted);font-size:13px}.stats-goal-heading>strong{color:var(--color-primary);white-space:nowrap}.stats-goal-amount{color:var(--color-muted)}.stats-goal-amount strong{color:var(--color-primary);font-size:27px}.stats-goal-track{background:#e5ece6;border-radius:999px;height:14px;overflow:hidden}.stats-goal-fill{background:var(--color-primary);border-radius:inherit;height:100%;transition:width .2s}.stats-goal-form{flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;display:flex}.stats-goal-form label{color:var(--color-primary);font-size:14px;font-weight:600}.stats-goal-form input{border:1px solid var(--color-border);width:115px;font:inherit;border-radius:10px;padding:10px}.stats-goal-form button{background:var(--color-primary);color:var(--color-primary-contrast);font:inherit;cursor:pointer;border:0;border-radius:10px;padding:11px 16px}.stats-goal-form button:disabled{opacity:.6;cursor:wait}.stats-goal-success{color:var(--color-primary)}@media (width<=700px){.stats-goal-form{flex-direction:column;align-items:stretch}.stats-goal-form input{box-sizing:border-box;width:100%}}.stats-goal-message{text-align:left;border:1px solid #0000;border-radius:14px;align-items:center;gap:14px;margin-top:18px;padding:16px 20px;animation:.3s ease-out goal-message-appear;display:flex}.stats-goal-message--progress{background:#6366f114;border-color:#6366f133}.stats-goal-message--success{background:#22c55e17;border-color:#22c55e40}.stats-goal-message__icon{background:#ffffff8c;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:23px;display:flex}.stats-goal-message__content{flex-direction:column;gap:4px;min-width:0;display:flex}.stats-goal-message__content strong{font-size:.98rem;font-weight:700}.stats-goal-message__content span{opacity:.8;font-size:.88rem;line-height:1.5}@keyframes goal-message-appear{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.practice-stats{color:var(--color-text)}@media (width>=701px) and (width<=1050px){.stats-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.stats-view-switch{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;gap:4px;width:fit-content;max-width:100%;margin:0 auto 24px;padding:5px;display:flex}.stats-view-switch button{color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:10px 20px;font-weight:600}.stats-view-switch button.is-active{background:var(--color-primary);color:var(--color-primary-contrast)}.stats-view-switch button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.stats-regularity{margin-bottom:24px}.stats-regularity h3{color:var(--color-primary);margin:0 0 8px}.stats-regularity p{color:var(--color-muted);font-size:13px}.stats-regularity-grid{grid-template-columns:repeat(14,minmax(0,1fr));gap:8px;max-width:560px;margin-top:18px;display:grid}.stats-regularity-day{aspect-ratio:1;background:var(--color-border);border-radius:6px}.stats-regularity-day.is-active{background:var(--color-primary)}.stats-cumulative-chart{border-bottom:1px solid var(--color-border);align-items:end;gap:8px;height:220px;padding-top:20px;display:flex;overflow-x:auto}.stats-cumulative-column{flex:1 0 14px;align-items:end;max-width:64px;height:100%;display:flex}.stats-cumulative-column span{background:var(--color-primary);border-radius:6px 6px 0 0;width:100%;min-height:2px;display:block}@media (width<=700px){.stats-regularity-grid{gap:5px}.stats-cumulative-chart{height:180px}}.stats-regularity-legend{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;font-size:13px;display:flex}.stats-regularity-legend .stats-regularity-day{flex:none;width:16px;height:16px;display:inline-block}.stats-cumulative-caption{text-align:right;color:var(--color-muted);margin:14px 0 0;font-size:13px}.stats-cumulative-caption strong{color:var(--color-primary)}.stats-regularity-grid{max-height:360px;padding:2px;overflow-y:auto}.stats-piece-statuses{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0;display:grid}.stats-piece-status{border:1px solid var(--color-border);text-align:center;border-radius:12px;flex-direction:column;gap:5px;padding:15px;display:flex}.stats-piece-status strong{color:var(--color-primary);font-size:1.6rem}.stats-piece-status span{color:var(--color-text);font-size:13px}.stats-piece-list{gap:9px;display:grid}.stats-piece-link{border:1px solid var(--color-border);color:var(--color-text);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:14px;text-decoration:none;transition:border-color .2s,transform .2s;display:flex}.stats-piece-link:hover{border-color:var(--color-primary);transform:translateY(-1px)}.stats-piece-link>.stats-piece-identity{flex-direction:column;gap:3px;min-width:0;display:flex}.stats-piece-link small{color:var(--color-muted)}.stats-piece-link>.stats-piece-arrow{color:var(--color-primary);flex-shrink:0;font-size:13px}@media (width<=700px){.stats-piece-statuses{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-piece-link{flex-wrap:wrap}}.stats-library-link{border:1px solid var(--color-primary);color:var(--color-primary);border-radius:12px;align-items:center;gap:10px;padding:10px 15px;font-weight:700;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.stats-library-link:hover{background:var(--color-primary);color:var(--color-primary-contrast);transform:translateY(-1px)}.stats-library-link:focus-visible,.stats-piece-more:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.stats-piece-identity{flex:180px}.stats-piece-metrics{text-align:right;flex-direction:column;gap:4px;font-size:13px;display:flex}.stats-piece-metrics strong{color:var(--color-primary);font-size:16px}.stats-piece-arrow{font-size:20px!important}.stats-piece-more{border:1px solid var(--color-border);width:100%;color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border-radius:12px;margin-top:12px;padding:11px;font-weight:600;display:block}.stats-piece-more:hover{border-color:var(--color-primary)}.stats-period-total{text-align:center;padding:28px}.stats-period-total>strong{color:var(--color-primary);margin:12px 0;font-size:clamp(2rem,5vw,3.5rem);display:block}@media (width<=700px){.stats-piece-metrics{text-align:left}.stats-library-link{width:fit-content}}.stats-progress-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width>=701px) and (width<=1050px){.stats-progress-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.stats-progress-metrics{grid-template-columns:1fr}}.stats-piece-sentinel{pointer-events:none;height:1px}.stats-piece-identity .stats-piece-chip{letter-spacing:.01em;border:1px solid;border-radius:999px;align-self:flex-start;align-items:center;width:fit-content;padding:3px 10px;font-size:11px;font-weight:700;line-height:1.5;display:inline-flex}.stats-piece-chip--to_learn{color:#64748b;background:#64748b1a}.stats-piece-chip--learning{color:#2563eb;background:#2563eb1a}.stats-piece-chip--mastered{color:#15803d;background:#15803d1a}.stats-piece-chip--paused{color:#a16207;background:#a162071a}.stats-piece-identity .stats-piece-title-row{flex-flow:wrap;justify-content:flex-start;align-items:center;gap:6px 10px;width:100%;min-width:0;display:flex}.stats-piece-title-row>strong{overflow-wrap:anywhere;text-align:left}.stats-piece-title-row .stats-piece-chip{flex-shrink:0}.stats-view-switch.harmonia-segmented{background:var(--color-surface);border:1px solid var(--color-border);scrollbar-width:none;border-radius:18px;flex-wrap:nowrap;gap:5px;width:fit-content;max-width:100%;margin:0 auto 24px;padding:6px;display:flex;overflow-x:auto;box-shadow:0 5px 20px #00000009}.stats-view-switch.harmonia-segmented button{min-width:max-content;color:var(--color-muted,var(--color-text));white-space:nowrap;background:0 0;border:0;border-radius:12px;flex:1 0 auto;justify-content:center;align-items:center;gap:9px;padding:12px 19px;font-size:13px;font-weight:700;display:flex}.stats-view-switch.harmonia-segmented button.is-active{background:var(--color-primary);color:var(--color-primary-contrast,#fff);box-shadow:0 4px 12px #0d948838}.stats-view-switch.harmonia-segmented button:not(.is-active):hover{background:var(--color-border);color:var(--color-text)}.stats-view-switch.harmonia-segmented{border:0;border-bottom:1px solid var(--color-border);width:100%;max-width:100%;box-shadow:none;background:0 0;border-radius:0;flex-wrap:wrap;gap:8px;padding:0;display:flex;overflow:visible}.stats-view-switch.harmonia-segmented>button,.stats-view-switch.harmonia-segmented>.community-profile-tab{min-width:0;color:var(--color-muted);box-shadow:none;font:inherit;background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;flex:none;justify-content:center;align-items:center;padding:12px 16px;font-weight:700;display:inline-flex}.stats-view-switch.harmonia-segmented>button.is-active,.stats-view-switch.harmonia-segmented>.community-profile-tab.is-active{border-bottom-color:var(--color-primary);color:var(--color-primary);box-shadow:none;background:0 0}.stats-view-switch.harmonia-segmented>button:not(.is-active):hover,.stats-view-switch.harmonia-segmented>.community-profile-tab:not(.is-active):hover{color:var(--color-primary);background:0 0}.score-viewer-backdrop{z-index:9999;box-sizing:border-box;background:#000000b3;justify-content:center;align-items:center;padding:2.5vh 2vw;display:flex;position:fixed;inset:0}.score-viewer-dialog{background:var(--color-surface,#fff);width:min(1200px,100%);height:95vh;max-height:95dvh;color:var(--color-text,#24382c);border-radius:16px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 24px 90px #0000004d}.score-viewer-header{border-bottom:1px solid var(--color-border,#ddd);justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;display:flex}.score-viewer-header h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.1rem;overflow:hidden}.score-viewer-header button{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:4px 10px;font-size:2rem;line-height:1}.score-viewer-header button:hover{background:var(--color-surface-muted,#eee)}.score-viewer-content{scrollbar-width:none;flex:1;min-height:0;overflow:auto}.score-viewer-content::-webkit-scrollbar{display:none}@media (width<=600px){.score-viewer-backdrop{padding:0}.score-viewer-dialog{border-radius:0;width:100%;height:100dvh;max-height:none}}.score-viewer-status{color:var(--color-text);text-align:center;margin:24px}.score-pdf-pages{background:#d9d9d9;gap:20px;padding:16px;display:grid}.score-pdf-page{aspect-ratio:.707;background:#fff;width:100%;position:relative;box-shadow:0 2px 8px #0003}.score-pdf-page canvas{width:100%;height:100%;display:block}.score-pdf-page-number{color:#444;background:#fffd;border-radius:4px;padding:2px 6px;font-size:.75rem;position:absolute;bottom:4px;right:8px}.score-pdf-page>p{color:#333;position:absolute;inset:20px}.score-pdf-pages{box-sizing:border-box;min-width:320px;margin-inline:auto}.score-viewer-toolbar{border-bottom:1px solid var(--color-border,#ddd);justify-content:space-between;align-items:center;gap:12px;padding:8px 20px;display:flex}.score-viewer-toolbar>div{align-items:center;gap:12px;display:flex}.score-viewer-toolbar button{cursor:pointer;border:1px solid var(--color-border,#ddd);background:var(--color-surface);color:inherit;border-radius:6px;width:32px;height:32px;font-size:1.2rem}.score-viewer-toolbar button:disabled{opacity:.4;cursor:default}.score-viewer-toolbar a{color:inherit;font-size:.85rem}.recording-comparison{border:1px solid var(--color-border);border-radius:16px;margin:24px 0;padding:20px}.recording-comparison h3{margin:0 0 8px}.recording-comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.recording-comparison-panel{border:1px solid var(--color-border);border-radius:12px;align-content:start;gap:12px;min-width:0;padding:16px;display:grid}.recording-comparison-panel select{border:1px solid var(--color-border);background:var(--color-surface,transparent);width:100%;min-width:0;color:var(--color-text);border-radius:10px;padding:10px}.recording-comparison-heading{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.recording-reference-chip{color:#9b7415;border:1px solid #b78b20;border-radius:999px;padding:3px 9px;font-size:12px}.recording-comparison-panel>button{border:1px solid var(--color-primary);color:var(--color-primary);cursor:pointer;background:0 0;border-radius:9px;justify-self:start;padding:9px 12px}@media (width<=720px){.recording-comparison-grid{grid-template-columns:1fr}.recording-comparison{padding:14px}}.recording-comparison-toolbar{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.recording-comparison-toolbar button,.recording-comparison-reference button{border:1px solid var(--color-border);background:var(--color-surface,transparent);color:var(--color-text);cursor:pointer;font:inherit;border-radius:10px;padding:9px 13px}.recording-comparison-toolbar button[aria-pressed=true]{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.recording-comparison-reference{border:1px solid #b78b20;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding:12px;display:flex}.recording-comparison-panel.is-reference{border-color:#b78b20}.recording-comparison-panel.is-active{outline:2px solid var(--color-primary);outline-offset:2px}.recording-comparison-add{border:1px solid var(--color-border);border-radius:12px;gap:9px;margin-top:18px;padding:16px;display:grid}.recording-comparison-add h4{margin:0 0 4px}.recording-comparison-add label{font-size:14px;font-weight:600}.recording-comparison-add input,.recording-comparison-add select{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface,transparent);width:100%;min-width:0;color:var(--color-text);border-radius:9px;padding:10px}.recording-comparison-add button{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;cursor:pointer;border-radius:9px;justify-self:start;padding:10px 14px}.recording-comparison-add button:disabled{opacity:.55;cursor:not-allowed}.recording-comparison-remove{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;border-radius:9px;justify-self:start;padding:8px 12px}.recording-comparison-picker{min-width:0;position:relative}.recording-comparison-add .recording-comparison-picker-trigger{text-align:left;background:var(--color-surface,transparent);width:100%;color:var(--color-text);border:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;display:flex}.recording-comparison-picker-trigger span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-arrow{font-size:20px;line-height:1;transition:transform .18s;display:inline-block}.picker-arrow.open{transform:rotate(180deg)}.recording-comparison-picker-menu{z-index:20;border:1px solid var(--color-border);background:var(--color-surface,#fff);border-radius:12px;padding:10px;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 12px 28px #00000024}.recording-comparison-picker-options{gap:3px;max-height:230px;margin-top:8px;display:grid;overflow-y:auto}.recording-comparison-add .recording-comparison-picker-options button{text-align:left;width:100%;color:var(--color-text);background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;font-weight:400;display:flex}.recording-comparison-picker-options button:hover,.recording-comparison-picker-options button[aria-selected=true]{background:var(--color-border)}.recording-comparison-picker-options small{white-space:nowrap;opacity:.7}.recording-comparison-picker-options p{margin:8px}.recording-comparison-notes{border:1px solid var(--color-border);border-radius:12px;gap:10px;margin-top:20px;padding:16px;display:grid}.recording-comparison-notes textarea,.recording-comparison-save input{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface,transparent);width:100%;min-width:0;color:var(--color-text);border-radius:9px;padding:10px}.recording-comparison-save{flex-wrap:wrap;gap:10px;display:flex}.recording-comparison-save input{flex:200px}.recording-comparison-notes button:not(.ui-icon-button){border:1px solid var(--color-border);background:var(--color-surface,transparent);color:var(--color-text);cursor:pointer;border-radius:9px;padding:9px 12px}.recording-comparison-notes button:not(.ui-icon-button):disabled{opacity:.5;cursor:not-allowed}.recording-comparison-saved{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:9px;padding:8px 0;display:flex}.recording-comparison-saved span{flex:1;min-width:120px}.recording-comparison-panel .recording-comparison-picker-trigger{text-align:left;border:1px solid var(--color-border);background:var(--color-surface,transparent);width:100%;color:var(--color-text);font:inherit;cursor:pointer;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.recording-comparison-panel .recording-comparison-picker-trigger span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recording-comparison-panel .recording-comparison-picker-menu input{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface,transparent);width:100%;min-width:0;color:var(--color-text);border-radius:9px;padding:10px}.recording-comparison-panel .recording-comparison-picker-options button{width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:10px;display:flex}.recording-comparison-panel .recording-comparison-picker-options button:hover,.recording-comparison-panel .recording-comparison-picker-options button[aria-pressed=true]{background:var(--color-border)}.recording-comparison-panel .recording-comparison-picker-options small{opacity:.7;white-space:nowrap}.recording-comparison-toolbar .recording-comparison-sync{border:1px solid var(--color-border);background:var(--color-surface,transparent);min-height:42px;color:var(--color-text);font:inherit;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:8px 12px;font-weight:600;transition:border-color .2s,background-color .2s,box-shadow .2s;display:inline-flex}.recording-comparison-toolbar .recording-comparison-sync:hover{border-color:var(--color-primary)}.recording-comparison-toolbar .recording-comparison-sync:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.recording-comparison-toolbar .recording-comparison-sync[aria-checked=true]{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 9%, var(--color-surface,transparent));color:var(--color-text)}.recording-comparison-sync-icon{color:var(--color-primary);display:inline-flex}.recording-comparison-sync-toggle{box-sizing:border-box;background:var(--color-border);border-radius:999px;flex:none;align-items:center;width:35px;height:21px;padding:2px;transition:background-color .2s;display:inline-flex}.recording-comparison-sync-thumb{background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .2s;box-shadow:0 1px 3px #00000038}.recording-comparison-sync[aria-checked=true] .recording-comparison-sync-toggle{background:var(--color-primary)}.recording-comparison-sync[aria-checked=true] .recording-comparison-sync-thumb{transform:translate(14px)}@media (prefers-reduced-motion:reduce){.recording-comparison-toolbar .recording-comparison-sync,.recording-comparison-sync-toggle,.recording-comparison-sync-thumb{transition:none}}@media (width<=480px){.recording-comparison-toolbar .recording-comparison-sync{justify-content:space-between;width:100%}}.recording-comparison-picker-trigger{border:1px solid var(--color-border);background:var(--color-surface,transparent);width:100%;min-width:0;min-height:44px;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;border-radius:11px;justify-content:space-between;align-items:center;gap:10px;padding:10px 13px;transition:border-color .18s,box-shadow .18s,background-color .18s;display:flex}.recording-comparison-picker-trigger:hover,.recording-comparison-picker-trigger[aria-expanded=true]{border-color:var(--color-primary)}.recording-comparison-picker-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.recording-comparison-picker-trigger .picker-arrow{flex:none;margin-right:3px}.recording-comparison-picker-menu{box-sizing:border-box;transform-origin:top;min-width:0;max-width:100%;animation:.17s cubic-bezier(.2,.8,.2,1) both comparison-picker-enter}@keyframes comparison-picker-enter{0%{opacity:0;transform:translateY(-5px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.recording-comparison-picker-search{border:1px solid var(--color-border);background:var(--color-surface,transparent);border-radius:9px;align-items:center;gap:7px;padding:0 10px;display:flex}.recording-comparison-picker-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 15%,transparent)}.recording-comparison-picker-search>span{color:var(--color-muted);font-size:20px}.recording-comparison-picker-search input{width:100%;min-width:0;height:40px;color:var(--color-text);font:inherit;background:0 0;border:0;outline:0}.recording-comparison-picker-options button{width:100%;min-width:0;min-height:44px;color:var(--color-text);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;display:flex}.recording-comparison-picker-options button>span{overflow-wrap:anywhere;min-width:0}.recording-comparison-picker-options button:hover,.recording-comparison-picker-options button.is-highlighted{background:color-mix(in srgb,var(--color-primary) 11%,var(--color-surface,transparent))}.recording-comparison-picker-options button[aria-selected=true]{color:var(--color-primary);font-weight:650}.recording-comparison-picker-options button:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.recording-comparison-picker-hint{color:var(--color-muted);margin:8px 3px 0;font-size:11px;display:block}.recording-comparison,.recording-comparison-panel,.recording-comparison-notes,.recording-comparison-save,.recording-comparison-saved{box-sizing:border-box;min-width:0;max-width:100%}.recording-comparison-saved>span,.recording-comparison-reference>strong,.recording-comparison-heading strong{overflow-wrap:anywhere;min-width:0}.recording-comparison-notes textarea,.recording-comparison-save input{box-sizing:border-box;min-width:0;max-width:100%}@media (width<=600px){.recording-comparison{margin:12px 0;padding:12px}.recording-comparison-panel{padding:12px}.recording-comparison-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.recording-comparison-toolbar .recording-comparison-sync{grid-column:1/-1;width:100%}.recording-comparison-toolbar>button{min-width:0;min-height:44px}.recording-comparison-save{flex-wrap:wrap;display:flex}.recording-comparison-save input{flex:180px}.recording-comparison-save button{flex:180px;min-height:44px}.recording-comparison-picker-menu{padding:8px}.recording-comparison-picker-hint{font-size:10px}}@media (prefers-reduced-motion:reduce){.recording-comparison-picker-menu{animation:none}.recording-comparison-picker-trigger{transition:none}}.recording-comparison-panel .recording-comparison-picker-menu .recording-comparison-picker-search input{background:0 0;border:0;border-radius:0;outline:none;width:100%;height:40px;padding:0}.recording-comparison-panel .recording-comparison-picker-options button:hover,.recording-comparison-panel .recording-comparison-picker-options button.is-highlighted{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface,transparent))}.recording-comparison-panel .recording-comparison-picker-options button[aria-selected=true]{color:var(--color-primary);font-weight:650}.recording-comparison-panel .recording-comparison-picker-trigger{border-radius:11px;min-height:44px}.recording-comparison-picker-options{overscroll-behavior:contain;scrollbar-width:thin}@media (width<=380px){.recording-comparison-saved{grid-template-columns:minmax(0,1fr) auto auto;display:grid}.recording-comparison-saved>span{overflow-wrap:anywhere;min-width:0}.recording-comparison-toolbar{gap:7px}.recording-comparison-toolbar>button{padding:8px;font-size:13px}}.recording-comparison-toolbar .recording-comparison-choice.harmonia-segmented{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;flex:260px;gap:5px;width:auto;max-width:420px;margin:0;padding:5px;display:flex}.recording-comparison-toolbar .recording-comparison-choice.harmonia-segmented>button{border:0;border-radius:11px;flex:1 1 0;min-width:0;padding:11px 14px;font-weight:700}.recording-comparison-toolbar .recording-comparison-choice.harmonia-segmented>button.is-active{background:var(--color-primary);color:#fff;box-shadow:0 4px 12px #0d948838}@media (width<=600px){.recording-comparison-toolbar .recording-comparison-choice.harmonia-segmented{grid-column:1/-1;width:100%;max-width:none}}.piece-recordings{gap:20px;max-width:1050px;margin:0 auto;padding:24px 0 40px;display:grid}.piece-recordings__intro h2{letter-spacing:-.035em;margin:4px 0 8px;font-size:clamp(23px,3vw,30px)}.piece-recordings__intro p{color:var(--color-muted,var(--text-secondary,#64748b));margin:0;font-size:14px}.piece-recordings__eyebrow{letter-spacing:.15em;color:#0d9488;font-size:10px;font-weight:800}.piece-recordings__list{gap:13px;display:grid}.piece-recordings__item{border:1px solid var(--color-border,var(--border,#cbd5e1));background:var(--color-surface,var(--surface,#fff));border-radius:17px;gap:15px;padding:20px;display:grid;box-shadow:0 3px 15px #00000008}.piece-recordings__details{align-items:center;gap:14px;min-width:0;display:flex}.piece-recordings__symbol{color:#0d9488;background:#0d94881a;border-radius:13px;flex-shrink:0;place-items:center;width:45px;height:45px;font-size:26px;display:grid}.piece-recordings__title{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:9px;font-weight:750;display:flex}.piece-recordings__reference{color:#0f766e;background:#0d94881a;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:750}.piece-recordings__date{color:var(--color-muted,var(--text-secondary,#64748b));margin-top:5px;font-size:12px;display:block}.piece-recordings__item audio{width:100%;height:42px}.piece-recordings__empty{border:1px dashed var(--color-border,var(--border,#cbd5e1));text-align:center;color:var(--color-muted,var(--text-secondary,#64748b));border-radius:16px;padding:44px 20px;line-height:1.6}.piece-recordings__status{text-align:center;color:var(--color-muted,var(--text-secondary,#64748b));padding:18px}.piece-recordings__status button{cursor:pointer;border:1px solid var(--color-border,var(--border,#cbd5e1));background:var(--color-surface,var(--surface,#fff));color:inherit;border-radius:8px;margin-left:8px;padding:7px 12px}@media (width<=600px){.piece-recordings{padding:18px 0 32px}.piece-recordings__item{padding:14px}.piece-recordings__symbol{width:39px;height:39px}}.piece-goals{min-width:0}.piece-goals__form{background:var(--color-surface);color:var(--color-text);gap:10px;padding:20px;display:grid}.piece-goals__form h4{margin:0 0 6px}.piece-goals__form label{font-size:14px;font-weight:600}.piece-goals__form input,.piece-goals__form textarea,.piece-goals__form select{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-width:0;color:var(--color-text);font:inherit;border-radius:10px;padding:11px 13px}.piece-goals__form input::placeholder,.piece-goals__form textarea::placeholder{color:var(--color-muted)}.piece-goals__form-actions,.piece-goals__actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.piece-goals__form-actions button,.piece-goals__actions>button{min-height:42px;padding:10px 14px}.piece-goals__list{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:12px;margin:12px 0 24px;display:grid}.piece-goals__item{background:var(--color-surface);min-width:0;color:var(--color-text);flex-direction:column;align-items:flex-start;gap:10px;padding:18px;display:flex}.piece-goals__item strong,.piece-goals__item p{overflow-wrap:anywhere}.piece-goals__item p{white-space:pre-wrap;margin:0}.piece-goals__item small{color:var(--color-muted)}.piece-goals__kind{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-block}.piece-goals__actions{margin-top:auto;padding-top:10px}.piece-goals__error{color:var(--color-danger,#c44)}@media (width<=520px){.piece-goals__form{padding:14px}.piece-goals__actions{width:100%}}.piece-goals__overlay{z-index:1100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000094;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.piece-goals__dialog{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);width:min(100%,540px);max-height:min(90vh,780px);color:var(--color-text);border-radius:18px;padding:24px;animation:.18s ease-out piece-goals-dialog-in;overflow-y:auto;box-shadow:0 20px 70px #00000040}.piece-goals__dialog h3{margin:0 0 16px}.piece-goals__dialog .piece-goals__form{box-shadow:none;border:0;padding:0}.piece-goals__dialog .piece-goals__form-actions{justify-content:flex-end;margin-top:12px}@keyframes piece-goals-dialog-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=520px){.piece-goals__overlay{padding:12px}.piece-goals__dialog{border-radius:14px;padding:18px}}@media (prefers-reduced-motion:reduce){.piece-goals__dialog{animation:none}}.piece-goals__progress{background:var(--color-surface);color:var(--color-text);padding:18px 20px}.piece-goals__progress>div{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:12px;display:flex}.piece-goals__progress span{color:var(--color-muted)}.piece-goals__progress progress{width:100%;height:12px;accent-color:var(--color-primary);display:block}.piece-goals__fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.piece-goals__fields>div{gap:6px;min-width:0;display:grid}.piece-goals__sessions{border:1px solid var(--color-border);border-radius:10px;min-width:0;padding:12px}.piece-goals__sessions legend{padding:0 6px;font-weight:600}.piece-goals__session-list{flex-wrap:wrap;gap:8px 16px;max-height:150px;display:flex;overflow-y:auto}.piece-goals__session-list label{align-items:center;gap:8px;font-weight:400;display:flex}.piece-goals__session-list input{width:auto;accent-color:var(--color-primary)}.piece-goals__filters{flex-wrap:wrap;gap:12px;margin:20px 0;display:flex}.piece-goals__filters label{flex:155px;gap:5px;font-weight:600;display:grid}.piece-goals__filters select{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);border-radius:10px;padding:10px}.piece-goals__badges{flex-wrap:wrap;gap:6px;display:flex}.piece-goals__actions button{min-width:0}@media (width<=520px){.piece-goals__fields{grid-template-columns:1fr}}.piece-goals__progress{margin-bottom:22px}.piece-goals__actions{width:100%}.piece-goals__status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.piece-goals__status>span{font-size:13px;font-weight:600}.piece-goals__status .harmonia-dropdown{min-width:138px}.piece-goals__delete{align-items:center;margin-left:auto;display:flex}.piece-goals__item{position:relative}.piece-goals__item--dragging{opacity:.45}.piece-goals__item--drop-target{outline:2px dashed var(--color-primary);outline-offset:2px}.piece-goals__hint{color:var(--color-muted);font-size:13px}@media (width<=520px){.piece-goals__status{flex:100%}.piece-goals__delete{margin-left:auto}}.piece-goals__actions{flex-wrap:nowrap;align-items:center;gap:10px;display:flex}.piece-goals__status{flex:0 auto;min-width:0}.piece-goals__actions>button{flex-shrink:0}.piece-goals__delete{flex-shrink:0;margin-left:auto}.piece-goals__item[draggable=true]{cursor:grab}.piece-goals__item[draggable=true]:active{cursor:grabbing}.piece-goals__item button,.piece-goals__item select,.piece-goals__item [role=combobox]{cursor:pointer}@media (width<=520px){.piece-goals__actions{flex-wrap:wrap}.piece-goals__status{flex:100%}.piece-goals__delete{margin-left:auto}}.piece-goals__actions{align-items:flex-end}.piece-goals__status{gap:6px;align-items:initial;display:grid}.piece-goals__status>span{color:var(--color-muted);font-size:12px;font-weight:650}.piece-goals__actions>button,.piece-goals__delete{align-self:flex-end}@media (width<=520px){.piece-goals__actions{align-items:flex-end}.piece-goals__status{flex:100%}}.piece-goals__item-head{justify-content:flex-end;align-items:center;width:100%;display:flex}.piece-goals__item-head .ui-drag-handle{flex-shrink:0}.piece-goals__item-head{justify-content:space-between;align-items:center;gap:10px}.piece-goals__item-head .piece-goals__badges{flex:auto;align-items:center;min-width:0}.piece-goals__item-head .ui-drag-handle{margin-left:auto}.piece-goals__title-row{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.piece-goals__indicator{border-radius:999px;align-items:center;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.piece-goals__indicator--completed{color:var(--color-primary);background:var(--color-soft-accent)}.piece-goals__indicator--overdue{color:var(--color-danger,#b4232d);border:1px solid}.piece-goals__item--completed{border-color:var(--color-primary)}.piece-goals__item .piece-goals__due-overdue{color:var(--color-danger,#b4232d);font-weight:700}.piece-goals__mobile-hint{color:var(--color-muted);font-size:13px}@media (width<=640px){.piece-goals__list{grid-template-columns:minmax(0,1fr)}.piece-goals__item{padding:14px}.piece-goals__actions{flex-wrap:wrap;width:100%}.piece-goals__status{flex:100%}.piece-goals__filters{gap:10px}.piece-goals__filters label{flex:100%;min-width:0}}.piece-goals__tabs{flex-wrap:wrap;gap:8px;margin:18px 0 8px;display:flex}.piece-goals__tab{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer;border-radius:10px;padding:10px 14px;font-weight:650}.piece-goals__tab--active{background:var(--color-soft-accent);border-color:var(--color-primary);color:var(--color-primary)}.piece-goals__tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.piece-goals__sentinel{min-height:1px}@media (width<=520px){.piece-goals__tab{flex:auto}}.piece-goals__placeholder{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;min-height:150px}.piece-goals__tabs.harmonia-segmented{background:var(--color-surface);border:1px solid var(--color-border);scrollbar-width:none;border-radius:18px;flex-wrap:nowrap;gap:5px;width:100%;margin:18px 0 12px;padding:6px;display:flex;overflow-x:auto}.piece-goals__tabs.harmonia-segmented .piece-goals__tab{min-width:max-content;color:var(--color-muted,var(--color-text));white-space:nowrap;background:0 0;border:0;border-radius:12px;flex:1 0 auto;justify-content:center;align-items:center;padding:12px 15px;font-size:13px;font-weight:700;display:flex}.piece-goals__tabs.harmonia-segmented .piece-goals__tab--active{background:var(--color-primary);color:var(--color-primary-contrast,#fff);box-shadow:0 4px 12px #0d948838}.piece-goals__tabs.harmonia-segmented .piece-goals__tab:not(.piece-goals__tab--active):hover{background:var(--color-border);color:var(--color-text)}@media (width<=520px){.piece-goals__tabs.harmonia-segmented .piece-goals__tab{flex:none}}.piece-goals__tabs.harmonia-segmented{border:0;border-bottom:1px solid var(--color-border);width:100%;box-shadow:none;background:0 0;border-radius:0;flex-wrap:wrap;gap:8px;margin:18px 0 12px;padding:0;display:flex;overflow:visible}.piece-goals__tabs.harmonia-segmented .piece-goals__tab{min-width:0;color:var(--color-muted);box-shadow:none;font:inherit;background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;flex:none;padding:12px 16px;font-weight:700;display:inline-flex}.piece-goals__tabs.harmonia-segmented .piece-goals__tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary);box-shadow:none;background:0 0}.piece-goals__tabs.harmonia-segmented .piece-goals__tab:not(.piece-goals__tab--active):hover{color:var(--color-primary);background:0 0}@media (width<=520px){.piece-goals__tabs.harmonia-segmented .piece-goals__tab{flex:none}}.piece-tracking__back{margin-bottom:1rem;display:inline-block}.piece-tracking__summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0 2rem;display:grid}.piece-tracking__summary article{flex-direction:column;gap:.5rem;display:flex}.piece-tracking__summary strong{font-size:1.4rem}.piece-tracking__summary span{opacity:.75}.piece-tracking__notes{white-space:pre-wrap;overflow-wrap:anywhere}.piece-tracking__actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.piece-tracking__edit{gap:1rem;margin-top:1rem;display:grid}.piece-tracking__edit .practice-field{gap:.4rem;display:grid}@media (width<=650px){.piece-tracking__summary{grid-template-columns:1fr}}.piece-tracking__heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.piece-tracking__edit{margin-top:1.15rem}.piece-tracking__edit .practice-field>button{justify-self:start}.piece-tracking .practice-session-card{min-width:0}.piece-tracking .practice-session-card .practice-card-heading{align-items:center;gap:.75rem;width:100%;display:flex}.piece-tracking .practice-session-card .practice-card-heading h4{min-width:0;margin:0}.piece-tracking .practice-session-card .piece-tracking__heading-actions{align-items:center;gap:.65rem;margin-left:auto;display:flex}.piece-tracking .practice-session-card .piece-tracking__edit{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:100%;min-width:0;margin-top:1.15rem;display:grid}.piece-tracking .practice-session-card .piece-tracking__edit .practice-field{gap:.4rem;width:100%;min-width:0;display:grid}.piece-tracking .practice-session-card .piece-tracking__edit .practice-field:nth-child(3){grid-column:1/-1}.piece-tracking .practice-session-card .piece-tracking__edit input,.piece-tracking .practice-session-card .piece-tracking__edit textarea{box-sizing:border-box;width:100%;min-width:0}.piece-tracking .practice-session-card .piece-tracking__edit .practice-field>button{justify-self:start}.piece-tracking .practice-session-card .practice-score-select{width:100%;min-width:0;margin-top:1.5rem}@media (width<=650px){.piece-tracking .practice-session-card .piece-tracking__edit{grid-template-columns:minmax(0,1fr)}.piece-tracking .practice-session-card .piece-tracking__edit .practice-field:nth-child(3){grid-column:auto}}.piece-tracking .practice-session-card{align-self:stretch;height:100%}.piece-tracking .practice-session-card .piece-tracking__edit{grid-auto-rows:max-content;align-content:start}.practice-plan__context{box-sizing:border-box;width:100%;max-width:none;margin:0 0 18px}.practice-plan__context p{margin:8px 0 0}.piece-tracking .library-section>.practice-plan__context,.piece-tracking .library-section>.practice-form{box-sizing:border-box;width:100%;min-width:0;max-width:none}.practice-session-delete{justify-content:flex-end;align-items:center;margin-top:auto;padding-top:16px;display:flex}.practice-session-card{flex-direction:column;display:flex}.practice-session-card>.practice-session-delete{box-sizing:border-box;justify-content:flex-end;align-self:stretch;width:100%;margin-top:auto;padding-top:18px;display:flex}.practice-session-card>.practice-session-delete>.ui-confirm-delete{margin-left:auto}.piece-tracking__view-switch{border:1px solid var(--color-border);border-radius:13px;flex-wrap:wrap;gap:8px;width:fit-content;max-width:100%;margin:20px 0 22px;padding:5px;display:flex}.piece-tracking__view-switch button{color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:11px 16px;font-weight:600;transition:background .18s,color .18s}.piece-tracking__view-switch button.is-active{background:var(--color-primary);color:#fff}.piece-tracking__view-switch button:not(.is-active):hover{background:var(--color-border)}@media (width<=650px){.piece-tracking__view-switch{box-sizing:border-box;width:100%}.piece-tracking__view-switch button{flex:100%}}.piece-tracking__view-switch{box-sizing:border-box;background:var(--color-surface,#fff);border:1px solid var(--color-border,#dbe2ea);border-radius:18px;flex-wrap:nowrap;gap:5px;width:100%;max-width:100%;margin:22px 0 26px;padding:6px;display:flex;box-shadow:0 5px 20px #00000009}.piece-tracking__view-switch button{min-width:0;color:var(--color-muted,var(--color-text));white-space:normal;text-align:center;border-radius:12px;flex:1 1 0;justify-content:center;align-items:center;gap:9px;padding:13px 12px;font-size:13px;font-weight:700;line-height:1.3;transition:background .2s,color .2s,box-shadow .2s,transform .2s;display:flex;position:relative}.piece-tracking__view-switch button.is-active{background:var(--color-primary,#0d9488);color:#fff;box-shadow:0 4px 12px #0d94883b}.piece-tracking__view-switch button:not(.is-active):hover{background:var(--color-border,#e2e8f0);color:var(--color-text,#182133)}.piece-tracking__view-switch button:not(:disabled):active{transform:scale(.98)}.piece-tracking__view-switch button:focus-visible{outline:3px solid var(--color-primary,#0d9488);outline-offset:2px}.piece-tracking__switch-icon{opacity:.8;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:21px;font-weight:700;line-height:1;display:grid}.piece-tracking__view-switch button.is-active .piece-tracking__switch-icon{opacity:1}@media (width<=850px){.piece-tracking__view-switch{scrollbar-width:none;justify-content:flex-start;overflow-x:auto}.piece-tracking__view-switch::-webkit-scrollbar{display:none}.piece-tracking__view-switch button{white-space:nowrap;flex:none;min-width:max-content;padding:12px 15px;font-size:12px}}@media (width<=650px){.piece-tracking__view-switch{flex-wrap:nowrap;gap:4px;width:100%}.piece-tracking__view-switch button{flex:none;min-width:max-content;padding:11px 13px}.piece-tracking__switch-icon{flex-basis:21px;width:21px;font-size:19px}}@media (prefers-reduced-motion:reduce){.piece-tracking__view-switch button{transition:none}}.piece-tracking__view-switch.harmonia-segmented{border:0;border-bottom:1px solid var(--color-border);width:100%;max-width:100%;box-shadow:none;background:0 0;border-radius:0;flex-wrap:wrap;gap:8px;margin:22px 0 26px;padding:0;display:flex;overflow:visible}.piece-tracking__view-switch.harmonia-segmented button{min-width:0;color:var(--color-muted);box-shadow:none;font:inherit;white-space:normal;background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;flex:none;justify-content:center;align-items:center;padding:12px 16px;font-weight:700;display:inline-flex;transform:none}.piece-tracking__view-switch.harmonia-segmented button.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary);box-shadow:none;background:0 0}.piece-tracking__view-switch.harmonia-segmented button:not(.is-active):hover{color:var(--color-primary);background:0 0}@media (width<=650px){.piece-tracking__view-switch.harmonia-segmented{flex-wrap:wrap;overflow:visible}.piece-tracking__view-switch.harmonia-segmented button{flex:none;min-width:0;padding:11px 12px}}.harmonia-dashboard{box-sizing:border-box;width:100%;max-width:1440px;color:var(--color-text);margin:0 auto;padding:42px 36px 70px}.dashboard-heading{justify-content:space-between;align-items:center;gap:22px;margin-bottom:28px;display:flex}.dashboard-eyebrow{color:var(--color-primary);letter-spacing:.13em;font-size:12px;font-weight:800}.dashboard-heading h1{margin:9px 0 10px;font-size:clamp(27px,3vw,38px);line-height:1.2}.dashboard-heading h1 span{color:var(--color-primary)}.dashboard-heading p:last-child{color:var(--color-muted);margin:0}.dashboard-primary-link,.dashboard-secondary-link{box-sizing:border-box;border-radius:10px;justify-content:center;align-items:center;padding:13px 18px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.dashboard-primary-link{color:var(--color-primary-contrast);background:var(--color-primary);white-space:nowrap}.dashboard-primary-link:hover{background:var(--color-primary-hover)}.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.dashboard-metric,.dashboard-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 4px 18px #273b2908}.dashboard-metric{min-width:0;padding:22px}.dashboard-metric-icon{background:var(--color-soft-accent);width:38px;height:38px;color:var(--color-primary);border-radius:11px;place-items:center;font-size:23px;display:grid}.dashboard-metric p{color:var(--color-muted);margin:16px 0 8px;font-size:13px}.dashboard-metric strong{font-size:clamp(25px,2.8vw,34px);line-height:1.2;display:block}.dashboard-metric small{color:var(--color-muted);margin-top:8px;display:block}.dashboard-progress{background:var(--color-surface-muted);border-radius:999px;height:8px;margin-top:16px;overflow:hidden}.dashboard-progress span{background:var(--color-primary);border-radius:inherit;height:100%;display:block}.dashboard-panels{grid-template-columns:1.15fr 1fr;align-items:start;gap:20px;margin-top:22px;display:grid}.dashboard-panel{min-width:0;padding:24px}.dashboard-panel-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.dashboard-panel-heading h2{margin:0;font-size:19px}.dashboard-panel-heading a{color:var(--color-primary);font-size:13px;font-weight:700;text-decoration:none}.dashboard-panel-heading a:hover{text-decoration:underline}.dashboard-session{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:15px 0;display:flex}.dashboard-session:last-child{border-bottom:0}.dashboard-session-note{background:var(--color-soft-accent);width:36px;height:36px;color:var(--color-primary);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.dashboard-session div{flex:1;min-width:0}.dashboard-session strong,.dashboard-piece strong{overflow-wrap:anywhere;font-size:14px;display:block}.dashboard-session small,.dashboard-piece small{color:var(--color-muted);margin-top:5px;font-size:12px;display:block}.dashboard-session-duration{color:var(--color-primary);white-space:nowrap;font-size:13px;font-weight:700}.dashboard-piece{color:var(--color-text);border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:15px 0;text-decoration:none;display:flex}.dashboard-piece>span:nth-child(2){flex:1;min-width:0}.dashboard-piece>span:first-child{color:var(--color-primary);font-size:23px}.dashboard-piece:hover strong{color:var(--color-primary)}.dashboard-secondary-link{color:var(--color-primary);background:var(--color-soft-accent);margin-top:18px}.dashboard-empty,.dashboard-panel-footnote{color:var(--color-muted);font-size:14px;line-height:1.6}.dashboard-panel-footnote{font-size:12px}.dashboard-notice{background:var(--color-soft-accent);color:var(--color-primary-hover);border-radius:10px;align-items:center;gap:14px;margin-bottom:20px;padding:14px 18px;display:flex}.dashboard-notice--error{color:#9d3a2c;background:#fff1ed}.dashboard-notice button{padding:8px 12px}@media (width<=1180px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.dashboard-panels{grid-template-columns:1fr}}@media (width<=600px){.harmonia-dashboard{padding:25px 16px 45px}.dashboard-heading{flex-direction:column;align-items:stretch}.dashboard-metrics{gap:10px}.dashboard-metric{padding:15px}.dashboard-panel{padding:18px}.dashboard-primary-link{width:100%}}.harmonia-dashboard{max-width:1400px;padding-top:clamp(28px,4vw,58px)}.dashboard-heading h1{letter-spacing:-.025em;font-family:inherit;font-size:clamp(30px,3.3vw,42px);font-weight:750}.dashboard-metric,.dashboard-panel{border-radius:20px}.dashboard-panel-heading h2{letter-spacing:-.015em;font-family:inherit;font-size:20px;font-weight:700}.dashboard-piece{color:var(--color-text)}.dashboard-primary-link{color:var(--color-primary-contrast)}.dashboard-notice{color:var(--color-text)}.practice-studio{width:100%;max-width:1200px;color:var(--color-text);margin:0 auto;padding:38px 30px 70px}.studio-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.studio-header h1{margin:8px 0;font-size:clamp(28px,3vw,38px);font-weight:750}.studio-header p{color:var(--color-muted);margin:0}.studio-header .studio-eyebrow{letter-spacing:.12em;color:var(--color-primary);font-size:12px;font-weight:800}.studio-back{color:var(--color-primary);font-weight:700;text-decoration:none}.studio-layout{grid-template-columns:1fr 1fr;gap:20px;display:grid}.studio-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;gap:18px;min-width:0;padding:26px;display:flex}.studio-card h2{margin:0;font-size:20px}.studio-card label{font-weight:600}.studio-card input[type=range]{width:100%;accent-color:var(--color-primary)}.studio-clock{font-variant-numeric:tabular-nums;letter-spacing:.02em;text-align:center;padding:20px 0;font-size:clamp(42px,6vw,70px);font-weight:750}.studio-controls{flex-wrap:wrap;gap:10px;display:flex}.studio-controls button,.studio-save{border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-primary-contrast);font:inherit;cursor:pointer;text-align:center;border-radius:10px;padding:11px 16px;font-weight:700;text-decoration:none}.studio-controls .studio-outline{color:var(--color-primary);background:0 0}.studio-controls button:disabled{opacity:.5;cursor:not-allowed}.studio-hint{color:var(--color-muted);margin:0;font-size:13px;line-height:1.6}.studio-notes{grid-column:1/-1}.studio-notes textarea{resize:vertical;border:1px solid var(--color-border);background:var(--color-bg);min-height:120px;color:var(--color-text);font:inherit;border-radius:10px;padding:13px}.studio-save{align-self:flex-start}@media (width<=720px){.practice-studio{padding:24px 16px 50px}.studio-header{flex-direction:column;align-items:flex-start}.studio-layout{grid-template-columns:1fr}.studio-notes{grid-column:auto}.studio-card{padding:20px}.studio-save{align-self:stretch}}.studio-piece input,.studio-piece select{border:1px solid var(--color-border);background:var(--color-bg);width:100%;min-height:42px;color:var(--color-text);font:inherit;border-radius:10px;padding:9px 12px}.studio-load{border:1px solid var(--color-border);color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border-radius:9px;align-self:flex-start;padding:9px 12px;font-weight:700}.studio-error{color:#b43a45;margin:0;font-size:14px}.studio-recording-area{grid-column:1/-1;gap:10px;min-width:0;display:grid}.studio-recording-area>.studio-hint{padding:0 8px}.studio-prepared{border:1px solid var(--border,#cbd5e1);background:var(--surface,#fff);border-radius:16px;gap:14px;padding:20px;display:grid}.studio-prepared-heading h3{margin:0 0 6px;font-size:1.15rem}.studio-prepared-heading h3 span{opacity:.65;font-weight:500}.studio-prepared-heading p{color:var(--text-secondary,#64748b);margin:0}.studio-prepared-list{gap:12px;display:grid}.studio-prepared-take{border:1px solid var(--border,#cbd5e1);border-radius:12px;gap:12px;padding:14px;display:grid}.studio-prepared-take-header{justify-content:space-between;align-items:end;gap:12px;display:flex}.studio-prepared-take-header label{flex:1;gap:5px;min-width:0;display:grid}.studio-prepared-take-header input{box-sizing:border-box;border:1px solid var(--border,#cbd5e1);background:var(--surface,#fff);width:100%;color:inherit;border-radius:8px;padding:9px}.studio-prepared-take audio{width:100%}.studio-prepared-remove{cursor:pointer;border-radius:9px;padding:9px 12px;color:#dc2626!important;background:0 0!important;border:1px solid #dc2626!important}@media (width<=600px){.studio-prepared{padding:14px}.studio-prepared-take-header{flex-direction:column;align-items:stretch}}.studio-accordion-toggle{text-align:left;border:1px solid var(--color-border,#cbd5e1);background:var(--color-surface,#fff);width:100%;color:var(--color-text,#182133);cursor:pointer;font:inherit;border-radius:16px;justify-content:space-between;align-items:center;gap:18px;padding:20px 24px;display:flex}.studio-accordion-toggle span:first-child{gap:5px;display:grid}.studio-accordion-toggle strong{font-size:20px}.studio-accordion-toggle small{color:var(--color-muted,#64748b);font-size:13px}.studio-accordion-chevron{width:30px;height:30px;color:var(--color-muted);background:0 0;border-radius:9px;flex:0 0 30px;place-items:center;transition:transform .2s,color .2s;display:grid}.studio-accordion-chevron svg{display:block}.studio-accordion-toggle[aria-expanded=true] .studio-accordion-chevron{color:var(--color-primary);transform:rotate(180deg)}.studio-accordion-toggle:hover .studio-accordion-chevron{color:var(--color-primary)}.studio-accordion-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}@media (prefers-reduced-motion:reduce){.studio-accordion-chevron,.studio-accordion-chevron svg{transition:none}}.studio-session-backdrop{z-index:1200;background:#0a0f19b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.studio-session-modal{box-sizing:border-box;background:var(--color-surface,#fff);width:min(600px,100%);max-height:90dvh;color:var(--color-text,#182133);border:1px solid var(--color-border,#cbd5e1);border-radius:18px;padding:24px;overflow:auto;box-shadow:0 24px 80px #0005}.studio-session-modal header,.studio-session-modal footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.studio-session-modal header h2{margin:0}.studio-session-modal form{gap:12px;margin-top:20px;display:grid}.studio-session-modal form>label{font-weight:600}.studio-session-modal input,.studio-session-modal textarea{box-sizing:border-box;border:1px solid var(--color-border,#cbd5e1);background:var(--color-bg,#fff);width:100%;color:inherit;font:inherit;border-radius:9px;padding:11px}.studio-session-modal button{border:1px solid var(--color-border,#cbd5e1);color:inherit;cursor:pointer;font:inherit;background:0 0;border-radius:9px;padding:10px 14px}.studio-session-modal footer{justify-content:flex-end;margin-top:12px}.studio-session-modal footer button[type=submit]{background:var(--color-primary,#0d9488);color:#fff;border-color:var(--color-primary,#0d9488)}.studio-session-modal button:disabled{opacity:.5;cursor:not-allowed}@media (width<=600px){.studio-session-backdrop{padding:10px}.studio-session-modal{max-height:95dvh;padding:16px}}.studio-recording-area>#studio-recorder-panel{border:1px solid var(--color-border);background:var(--color-surface);border-top:0;border-radius:0 0 16px 16px;min-width:0;margin-top:-10px;overflow:hidden}.studio-recording-area>.studio-accordion-toggle[aria-expanded=true]{border-radius:16px 16px 0 0}.studio-recording-area .recording-studio-inline .recording-studio{box-shadow:none;border:0;border-radius:0;padding:0}.studio-recording-area .recording-studio-inline .recording-studio>header{padding:22px 24px 16px}.studio-recording-area .recording-studio-inline .recording-studio-subtitle{padding-left:24px;padding-right:24px}.studio-recording-area .recording-studio-inline .recording-studio-capture{margin-left:24px;margin-right:24px}.studio-recording-area .recording-studio-inline .recording-studio-section-heading,.studio-recording-area .recording-studio-inline .recording-studio-takes{padding-left:24px;padding-right:24px}@media (width<=600px){.studio-recording-area .recording-studio-inline .recording-studio>header,.studio-recording-area .recording-studio-inline .recording-studio-subtitle{padding-left:20px;padding-right:20px}.studio-recording-area .recording-studio-inline .recording-studio-capture{margin-left:20px;margin-right:20px}.studio-recording-area .recording-studio-inline .recording-studio-section-heading,.studio-recording-area .recording-studio-inline .recording-studio-takes{padding-left:20px;padding-right:20px}}.studio-recording-area #studio-recorder-panel .audio-storage-notice{margin:12px 24px 20px}@media (width<=600px){.studio-recording-area #studio-recorder-panel .audio-storage-notice{margin-left:20px;margin-right:20px}}.catalog-moderation{max-width:1100px;color:var(--text,var(--color-text));margin:2rem auto;padding:0 1.5rem}.catalog-moderation header{margin-bottom:1.5rem}.catalog-moderation h1{margin:.4rem 0}.catalog-moderation h2{margin:0;font-size:1.2rem}.moderation-toolbar{margin:1rem 0}.moderation-list{gap:1rem;display:grid}.moderation-card{background:var(--surface,var(--color-surface));border:1px solid var(--color-border);border-radius:14px;grid-template-columns:minmax(0,1fr) minmax(240px,310px);gap:1.5rem;padding:1.25rem;display:grid}.moderation-card p{overflow-wrap:anywhere}.moderation-card small{color:var(--color-muted)}.moderation-actions{flex-direction:column;align-items:stretch;gap:.65rem;display:flex}.moderation-actions label{font-size:.85rem}.moderation-actions button,.moderation-toolbar button,.catalog-moderation>button{border:1px solid var(--color-primary);background:var(--color-primary);min-height:40px;color:var(--color-primary-contrast);cursor:pointer;border-radius:9px;padding:.5rem 1rem}.moderation-actions button:disabled{opacity:.55;cursor:wait}.moderation-merge{gap:.5rem;display:flex}.moderation-merge input{border:1px solid #bdcbbf;border-radius:8px;width:100%;min-width:0;padding:.5rem}.moderation-error{color:#922c2c}.moderation-success{color:#276345}@media (width<=720px){.moderation-card{grid-template-columns:minmax(0,1fr)}.catalog-moderation{padding:0 1rem}}.moderation-proposer{margin:.6rem 0;font-size:.95rem}.moderation-actions textarea{box-sizing:border-box;resize:vertical;width:100%;font:inherit;border-radius:8px;padding:.6rem}.catalog-moderation{color:var(--color-text)}.my-proposals{width:100%;max-width:920px;margin:0 auto}.my-proposals__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.my-proposals__header h1{margin:0 0 .4rem}.my-proposals__header p{opacity:.75;margin:0}.my-proposals__count{opacity:.7}.my-proposals__list{gap:1rem;display:grid}.my-proposals__item{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;padding:1.2rem}.my-proposals__title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.my-proposals__title-row h2{margin:0;font-size:1.15rem}.my-proposals__item time{opacity:.7;margin-top:.5rem;font-size:.85rem;display:block}.my-proposals__status{color:#344054;background:#e8ebf1;border-radius:999px;padding:.3rem .65rem;font-size:.8rem;font-weight:600}.my-proposals__status--published{color:#166534;background:#dcfce7}.my-proposals__status--pending{color:#92400e;background:#fef3c7}.my-proposals__status--rejected{color:#991b1b;background:#fee2e2}.my-proposals__status--merged{color:#1e40af;background:#dbeafe}.my-proposals__reason,.my-proposals__merged{margin-top:1rem}.my-proposals__error{color:#b42318}.my-proposals__more{cursor:pointer;margin-top:1.5rem;padding:.65rem 1.1rem}.my-proposals{color:var(--color-text)}.my-proposals__header p,.my-proposals__count,.my-proposals__item time{color:var(--color-muted);opacity:1}.my-proposals__item,.my-proposals__reason,.my-proposals__merged{color:var(--color-text)}.my-proposals__more{background:var(--color-primary);color:var(--color-primary-contrast)}:root[data-theme=dark] .my-proposals__status{color:#edf2fa;background:#3b4655}:root[data-theme=dark] .my-proposals__status--published{color:#b8f1d0;background:#193f30}:root[data-theme=dark] .my-proposals__status--pending{color:#ffe0a0;background:#4a371b}:root[data-theme=dark] .my-proposals__status--rejected{color:#ffc5c5;background:#4b292d}:root[data-theme=dark] .my-proposals__status--merged{color:#c5ddff;background:#243c59}:root[data-theme=dark] .my-proposals__error{color:#ffb5ae}.community-page{width:100%;max-width:820px;margin:32px auto;padding:0 20px}.community-page>p{color:var(--color-muted)}.community-layout{grid-template-columns:minmax(0,1fr);gap:20px;margin:24px 0;display:grid}.community-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;min-width:0;padding:24px}.community-panel h2{margin-top:0}.community-panel h3{margin-top:26px}.community-panel input{border:1px solid var(--color-border);border-radius:8px;width:100%;margin:8px 0 18px;padding:12px;display:block}.community-person{text-align:left;border:1px solid var(--color-border);background:var(--color-surface-muted);cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;width:100%;margin:5px 0;padding:12px;display:flex}.community-person small,.community-piece small{color:var(--color-muted)}.community-friend{border-bottom:1px solid var(--color-border);padding-bottom:12px}.community-actions{flex-wrap:wrap;gap:8px;display:flex}.community-actions button,.community-panel>button{cursor:pointer;border-radius:8px;padding:9px 14px}.community-tags{flex-wrap:wrap;gap:8px;display:flex}.community-tags span{color:#51418a;background:#eeeafb;border:1px solid #d7cdf4;border-radius:99px;padding:6px 12px}.community-piece{border-bottom:1px solid var(--color-border);flex-direction:column;gap:6px;padding:14px 0;display:flex}.community-piece audio{width:100%;margin-top:8px}.community-error{color:#a12626!important}@media (width<=760px){.community-layout{grid-template-columns:1fr}.community-panel{padding:18px}}.community-results{gap:9px;margin-top:12px;display:grid}.community-search-result{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;flex-direction:row;align-items:center;gap:12px;margin:0;padding:12px 14px;transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s;display:flex}.community-search-result:hover,.community-search-result.is-selected{background:var(--color-surface-muted);border-color:#a9c9b1;box-shadow:0 4px 14px #204e3014}.community-search-result:hover{transform:translateY(-1px)}.community-search-result:focus-visible,.community-privacy-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.community-avatar{color:#51418a;background:#eeeafb;border-radius:13px;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:18px;font-weight:750;display:grid}.community-person-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.community-person-info strong,.community-person-info small{overflow-wrap:anywhere}.community-person-info strong{color:var(--color-text);font-size:14px}.community-relationship{background:var(--color-soft-accent);color:var(--color-primary);border-radius:99px;padding:4px 9px;font-size:12px;font-weight:650}.community-person-arrow{color:#789281;font-size:25px;line-height:1}.community-empty{color:var(--color-muted);text-align:center;padding:14px}.community-privacy{background:var(--color-surface-muted);border:1px solid #dce8df;border-radius:16px;align-items:center;gap:15px;padding:18px 22px;display:flex}.community-privacy-icon{width:44px;height:44px;color:var(--color-primary);background:#e0eee4;border-radius:12px;flex:0 0 44px;place-items:center;font-size:24px;display:grid}.community-privacy-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.community-privacy-copy strong{color:var(--color-text)}.community-privacy-copy span{color:var(--color-muted);font-size:13px;line-height:1.45}.community-privacy-link{background:var(--color-primary);color:var(--color-primary-contrast);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:11px 15px;font-size:13px;font-weight:650;text-decoration:none;transition:background-color .18s;display:inline-flex}.community-privacy-link:hover{background:var(--color-primary-hover);color:var(--color-primary-contrast)}@media (width<=650px){.community-privacy{flex-wrap:wrap;align-items:flex-start;padding:16px}.community-privacy-link{width:100%}}@media (prefers-reduced-motion:reduce){.community-search-result,.community-privacy-link{transition:none}.community-search-result:hover{transform:none}}.community-results+h2{margin-top:36px}.community-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#13221994;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.community-modal{background:var(--color-surface);border:1px solid #e0e8e1;border-radius:20px;flex-direction:column;width:min(100%,680px);max-height:min(88dvh,900px);display:flex;overflow:hidden;box-shadow:0 24px 80px #0f20153d}.community-modal-header{border-bottom:1px solid var(--color-border);color:var(--color-primary);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;font-size:13px;font-weight:700;display:flex}.community-modal-close{color:#34543e;cursor:pointer;background:#edf2ee;border:0;border-radius:10px;place-items:center;width:36px;height:36px;padding:0;font-size:25px;line-height:1;display:grid}.community-modal-close:hover{background:#dfeae1}.community-modal-close:focus-visible,.community-modal-content button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.community-modal-content{overscroll-behavior:contain;min-height:0;padding:24px 28px 32px;overflow-y:auto}.community-modal-content>h2{margin:0 0 4px}.community-modal-content>h3{margin-top:30px}.community-modal-content>button{border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-primary-contrast);font:inherit;cursor:pointer;border-radius:10px;padding:11px 18px;font-weight:650}.community-modal-content>button:hover:not(:disabled){background:var(--color-primary-hover)}.community-modal-content>button:disabled{opacity:.6;cursor:wait}@media (width<=650px){.community-modal-backdrop{align-items:stretch;padding:8px}.community-modal{border-radius:16px;width:100%;max-height:100%}.community-modal-content{padding:20px 18px 28px}}.community-invitation-profile{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;width:100%;padding:10px;display:flex}.community-invitation-profile:hover{background:var(--color-soft-accent);border-color:#d7e7db}.community-invitation-profile:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.community-private-notice{color:#536457;background:#f4f6f4;border-radius:12px;padding:14px;line-height:1.5}.community-invitation-profile{color:var(--color-primary);background:0 0}.community-invitation-profile:hover{background:#e7f1e9}.community-invitation-profile .community-person-info strong{color:var(--color-primary)}.community-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:26px 0 16px;display:grid}.community-tabs button{border:1px solid var(--color-border);color:#41624b;min-height:48px;font:inherit;cursor:pointer;background:#f5f8f5;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:11px 12px;font-weight:650;display:flex}.community-tabs button:hover{background:#eaf3ec}.community-tabs button.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}.community-tabs button:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.community-tab-count{background:var(--color-surface);min-width:22px;height:22px;color:var(--color-primary);border-radius:99px;place-items:center;padding:0 6px;font-size:12px;font-weight:750;display:inline-grid}.community-view>h2{margin-top:0}@media (width<=650px){.community-tabs{gap:6px}.community-tabs button{padding:10px 5px;font-size:12px;line-height:1.3}}.community-delete-friend{color:#fff;cursor:pointer;background:#c92e39;border:1px solid #d74646;border-radius:10px;flex:0 0 40px;place-items:center;width:40px;height:40px;font-size:18px;display:inline-grid}.community-delete-friend:hover:not(:disabled){background:#a8202c}.community-delete-friend:focus-visible{outline-offset:3px;outline:2px solid #a8202c}.community-delete-friend:disabled{opacity:.55;cursor:not-allowed}.community-relation-row{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:14px 0;display:flex}.community-relation-row .community-friend-identity{min-width:0}.community-relation-row .community-friend-actions{flex-shrink:0}.community-friend-actions .ui-button,.community-friend-actions .ui-icon-button{box-sizing:border-box;height:42px;min-height:42px}.community-friend-actions .ui-confirm-delete__panel{max-width:280px}@media (width<=650px){.community-relation-row:has(.community-friend-identity){flex-wrap:wrap}}.community-feed-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:22px;display:flex}.community-feed-heading h2{margin:0 0 6px}.community-feed-heading p{color:var(--color-muted);margin:0;font-size:13px}.community-feed-heading button{background:var(--color-surface-muted);color:var(--color-primary);font:inherit;cursor:pointer;border:1px solid #d3e3d8;border-radius:9px;padding:9px 13px;font-weight:650}.community-feed-list{gap:15px;display:grid}.community-feed-card{background:var(--color-surface);border:1px solid #e2eae3;border-radius:15px;padding:19px 21px;box-shadow:0 3px 12px #23482f0a}.community-feed-card-header{align-items:center;gap:12px;display:flex}.community-feed-author{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.community-feed-author a{color:var(--color-primary);font-weight:750;text-decoration:none}.community-feed-author a:hover{text-decoration:underline}.community-feed-author small{color:var(--color-muted);overflow-wrap:anywhere}.community-feed-kind{background:var(--color-soft-accent);color:var(--color-primary);border-radius:99px;padding:6px 10px;font-size:12px;font-weight:700}.community-feed-content{margin:16px 0 12px 54px}.community-feed-intro{color:#394f40;margin:0 0 10px;line-height:1.55}.community-feed-content h3{color:var(--color-text);margin:6px 0;font-size:17px}.community-feed-muted{color:var(--color-muted);font-size:13px}.community-feed-duration{color:var(--color-primary);background:#f1f6f2;border-radius:9px;padding:7px 11px;font-size:13px;font-weight:650;display:inline-block}.community-feed-content audio{width:100%;max-width:500px;margin-top:10px}.community-feed-piece-link,.community-feed-profile-link{color:var(--color-primary);margin:6px 12px 0 0;font-size:13px;font-weight:650;text-decoration:none;display:inline-flex}.community-feed-piece-link:hover,.community-feed-profile-link:hover{text-decoration:underline}.community-feed-empty{text-align:center;background:#f7faf7;border:1px dashed #c9d9ce;border-radius:14px;padding:34px 20px}.community-feed-empty>span{color:var(--color-primary);font-size:34px}.community-feed-empty h3{margin:12px 0 6px}.community-feed-empty p{color:var(--color-muted);line-height:1.6}.community-feed-empty a{color:var(--color-primary);font-weight:650}@media (width<=650px){.community-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.community-feed-card{padding:15px}.community-feed-content{margin-left:0}.community-feed-heading{flex-wrap:wrap}}.feed-interactions{border-top:1px solid var(--color-soft-accent);margin-top:16px;padding-top:13px}.feed-interactions-actions{flex-wrap:wrap;gap:10px;display:flex}.feed-interactions-actions button{color:#476251;font:inherit;cursor:pointer;background:#f5f9f6;border:1px solid #e1ebe3;border-radius:9px;align-items:center;gap:7px;padding:8px 13px;font-size:13px;font-weight:650;display:inline-flex}.feed-interactions-actions button:hover{background:#e9f3ec}.feed-interactions-actions button.is-reacted{color:#aa4159;background:#fff0f2;border-color:#f4d9df}.feed-interactions-actions button>span:first-child{font-size:18px}.feed-interactions-actions button:disabled{opacity:.6;cursor:wait}.feed-comments{margin-top:14px}.feed-comments ul{gap:10px;margin:0 0 16px;padding:0;list-style:none;display:grid}.feed-comments li{background:#f7faf8;border-radius:10px;padding:12px 14px}.feed-comment-meta{flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.feed-comment-meta strong{color:#2e513b}.feed-comment-meta time{color:#829085}.feed-comment-meta .ui-confirm-delete{margin-left:auto}.feed-comment-meta .ui-icon-button{place-items:center;display:inline-grid}.feed-comment-meta .ui-confirm-delete__panel{max-width:260px}.feed-comments li p{white-space:pre-wrap;overflow-wrap:anywhere;color:#46594c;margin:8px 0 0;line-height:1.5}.feed-comments form{gap:9px;display:grid}.feed-comments label{color:#375640;font-size:13px;font-weight:650}.feed-comments textarea{box-sizing:border-box;width:100%;font:inherit;resize:vertical;border:1px solid #cddfd2;border-radius:9px;padding:11px}.feed-comments form button{background:var(--color-primary);color:var(--color-primary-contrast);font:inherit;cursor:pointer;border:0;border-radius:9px;justify-self:end;padding:9px 17px}.feed-comments form button:disabled{opacity:.5;cursor:not-allowed}.feed-comment-count{color:#637468;align-items:center;gap:7px;padding:8px 2px;font-size:13px;font-weight:650;display:inline-flex}.feed-comment-count strong{color:var(--color-primary)}.feed-comments-more{background:var(--color-surface-muted);width:100%;color:var(--color-primary);font:inherit;cursor:pointer;border:1px solid #d6e5d9;border-radius:9px;margin-top:12px;padding:11px 14px;font-size:13px;font-weight:700;display:block}.feed-comments-more:hover{background:#e8f2ea}.feed-comments-more:disabled{opacity:.6;cursor:wait}.feed-comments form{border-bottom:1px solid var(--color-soft-accent);margin-bottom:22px;padding-bottom:18px}.feed-comments form button{margin-top:4px}.feed-comments ul{margin-top:0}.community-feed-recording{background:var(--color-surface-muted);border:1px solid #e4ece6;border-radius:10px;gap:6px;margin-top:14px;padding:12px;display:grid}.community-feed-recording strong{color:#375640;font-size:13px}.community-feed-recording audio{margin-top:0}.community-feed-notes{white-space:pre-wrap;overflow-wrap:anywhere;color:#46594c;line-height:1.5}.community-feed-sentinel{text-align:center;min-height:20px;color:var(--color-muted);padding:10px}.community-page,.community-feed-intro,.feed-comments li p,.community-feed-notes,.feed-comment-meta strong,.feed-comments label,.community-feed-recording strong{color:var(--color-text)}.feed-comment-meta time,.feed-comment-count{color:var(--color-muted)}.community-feed-empty,.feed-comments li,.community-feed-duration{background:var(--color-surface-muted);color:var(--color-text)}.feed-interactions-actions button,.community-feed-heading button,.feed-comments-more,.community-tabs button:not(.is-active){background:var(--color-surface-muted);color:var(--color-text);border-color:var(--color-border)}.feed-interactions-actions button:hover,.community-tabs button:not(.is-active):hover{background:var(--color-soft-accent)}.community-feed-card,.community-feed-recording{border-color:var(--color-border)}.community-feed-kind,.community-relationship{background:var(--color-soft-accent);color:var(--color-primary)}.community-tab-count{background:var(--color-surface);color:var(--color-text)}.community-invitation-profile .community-person-info small{color:var(--color-muted)}.community-private-notice,.community-modal-close{background:var(--color-surface-muted);color:var(--color-text)}:root[data-theme=dark] .feed-interactions-actions button.is-reacted{color:#ffb8ca;background:#482c39;border-color:#815064}:root[data-theme=dark] .community-tags span,:root[data-theme=dark] .community-avatar{color:#ded0ff;background:#35314b;border-color:#514a70}:root[data-theme=dark] .community-profile-link{background:var(--color-surface-muted);color:var(--color-text);border-color:var(--color-border)}:root[data-theme=dark] .community-profile-link:hover,:root[data-theme=dark] .community-profile-link:focus-visible{background:var(--color-surface);color:var(--color-text);border-color:var(--color-primary)}:root[data-theme=dark] .community-privacy-icon{background:var(--color-primary);color:var(--color-primary-contrast);border:1px solid var(--color-primary)}.feed-comments li .feed-comment-delete{justify-content:flex-end;width:100%;margin-top:12px;display:flex}.feed-comments li .feed-comment-delete .ui-confirm-delete{margin-left:auto}.community-tabs.harmonia-segmented{border:0;border-bottom:1px solid var(--color-border);width:100%;box-shadow:none;background:0 0;border-radius:0;flex-wrap:wrap;grid-template-columns:none;gap:8px;margin:26px 0 16px;padding:0;display:flex;overflow:visible}.community-tabs.harmonia-segmented button{min-width:0;min-height:44px;color:var(--color-muted);box-shadow:none;font:inherit;white-space:normal;background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;flex:none;justify-content:center;align-items:center;gap:9px;padding:12px 14px;font-weight:700;display:inline-flex}.community-tabs.harmonia-segmented button.is-active{border-bottom-color:var(--color-primary);color:var(--color-primary);box-shadow:none;background:0 0}.community-tabs.harmonia-segmented button:not(.is-active):hover{color:var(--color-primary);background:0 0}.community-tabs.harmonia-segmented .community-tab-count{background:var(--color-soft-accent);color:var(--color-primary)}@media (width<=650px){.community-tabs.harmonia-segmented{gap:4px}.community-tabs.harmonia-segmented button{padding:10px 8px;font-size:12px}}.community-profile-page{box-sizing:border-box;width:100%;max-width:none;margin:28px auto;padding:0 20px 48px}.community-profile-back{color:var(--color-primary);margin-bottom:20px;font-weight:650;text-decoration:none;display:inline-flex}.community-profile-back:hover{text-decoration:underline}.community-profile-hero,.community-profile-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;margin-bottom:18px;padding:24px}.community-profile-hero{align-items:center;gap:20px;display:flex}.community-profile-avatar{border-radius:20px;flex-basis:72px;width:72px;height:72px;font-size:28px}.community-profile-hero h1{color:var(--color-text);margin:0 0 6px}.community-profile-eyebrow{color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 6px;font-size:12px}.community-profile-handle{color:#52715d;margin:0 0 12px}.community-profile-section h2{color:var(--color-text);margin:0 0 18px}.community-profile-section-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.community-profile-section-heading span{color:var(--color-muted)}.community-profile-filters{grid-template-columns:2fr 1fr;gap:14px;margin:16px 0 22px;display:grid}.community-profile-filters label{color:#405d48;flex-direction:column;gap:7px;font-size:13px;font-weight:650;display:flex}.community-profile-filters input,.community-profile-filters select{background:var(--color-surface);width:100%;min-height:44px;color:var(--color-text);font:inherit;border:1px solid #cddacf;border-radius:9px;padding:10px 12px}.community-profile-pieces{gap:10px;display:grid}.community-profile-piece{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:12px;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:17px;display:flex}.community-profile-piece h3{color:var(--color-text);margin:0 0 6px;font-size:16px}.community-profile-piece p{color:var(--color-muted);margin:0}.community-profile-piece details,.community-profile-piece audio{flex-basis:100%;width:100%}.community-profile-piece summary{cursor:pointer;color:var(--color-primary)}.community-profile-status{background:var(--color-soft-accent);color:var(--color-primary);border-radius:99px;align-self:start;padding:5px 9px;font-size:12px;font-weight:650}.community-profile-more{background:var(--color-primary);color:var(--color-primary-contrast);cursor:pointer;border:0;border-radius:10px;margin:18px auto 0;padding:11px 18px;font-weight:650;display:block}.community-friend-identity{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.community-friend-identity .community-person-info small{color:#52715d}.community-friend-actions{align-items:center;gap:10px;display:flex}.community-profile-link{white-space:nowrap;justify-content:center;align-items:center;min-height:40px;text-decoration:none;display:inline-flex}.community-friend-actions .ui-confirm-delete{align-items:center;display:flex}@media (width<=650px){.community-profile-hero,.community-profile-section{padding:17px}.community-profile-filters{grid-template-columns:1fr}.community-friend-actions{justify-content:flex-end;width:100%}}.community-profile-piece-button{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer}.community-profile-piece-button:hover{background:var(--color-soft-accent);border-color:#b5d0bd}.community-profile-piece-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.community-profile-piece-detail{background:var(--color-surface-muted);border:1px solid #cddfcf;border-radius:14px;margin-top:20px;padding:22px}.community-profile-piece-detail h4{margin:20px 0 8px}.community-profile-piece-detail audio{width:100%;max-width:440px}.community-session-overlay{z-index:1200;background:#112419a6;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.community-session-dialog{box-sizing:border-box;background:var(--color-surface);width:min(100%,600px);max-height:min(85vh,850px);color:var(--color-text);border-radius:16px;padding:24px;overflow-y:auto;box-shadow:0 18px 55px #00000040}.community-session-dialog .community-profile-section-heading button{cursor:pointer;background:#e9f1eb;border:0;border-radius:8px;padding:8px 12px}.community-session-dialog audio{width:100%}.community-session-notes{white-space:pre-wrap;overflow-wrap:anywhere}.community-session-dialog{border:1px solid #dce9df;flex-direction:column;padding:0;display:flex;overflow:hidden}.community-session-header{background:linear-gradient(135deg, #edf6ef, var(--color-surface-muted));border-bottom:1px solid #e0eae2;justify-content:space-between;align-items:flex-start;gap:18px;padding:24px 28px;display:flex}.community-session-header h2{color:#264e38;margin:5px 0 6px;font-size:23px}.community-session-header p{color:#647a69;margin:0}.community-session-eyebrow{color:#548064;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:750}.community-session-close{background:var(--color-surface);color:#42634c;cursor:pointer;border:1px solid #d9e5dc;border-radius:10px;flex-shrink:0;width:36px;height:36px}.community-session-close:hover{background:#e1efe4}.community-session-body{padding:24px 28px;overflow-y:auto}.community-session-summary{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px;display:grid}.community-session-summary>div{background:#f3f8f4;border:1px solid #e1ece4;border-radius:12px;gap:7px;padding:15px 17px;display:grid}.community-session-summary span{color:#687d6e;font-size:12px}.community-session-summary strong{color:#264e38;overflow-wrap:anywhere;font-size:17px}.community-session-block{border-top:1px solid #edf0ed;padding:18px 0}.community-session-block h3{color:#31553d;margin:0 0 10px;font-size:15px}.community-session-block h3 span{color:#748478;font-weight:500}.community-session-block p{color:#465c4d;margin:0;line-height:1.6}.community-session-notes{background:var(--color-surface-muted);border-radius:9px;padding:13px 15px}.community-session-recordings{gap:12px;display:grid}.community-session-recording{border:1px solid #e6ece7;border-radius:10px;gap:10px;padding:13px;display:grid}.community-session-footer{border-top:1px solid #e5ede7;justify-content:flex-end;padding:14px 28px;display:flex}.community-session-footer button{background:var(--color-primary);color:var(--color-primary-contrast);font:inherit;cursor:pointer;border:0;border-radius:9px;padding:10px 22px;font-weight:650}.community-shared-tracking{max-width:1000px}.community-shared-hint{color:#718277;font-size:12px}.community-shared-session-details{background:#fbfdfb;border:1px solid #dce8df;border-top:0;border-radius:0 0 12px 12px;padding:18px 22px}.community-shared-session-details h3{color:#31553d;margin:18px 0 8px}.community-shared-session-details audio{width:100%}@media (width<=560px){.community-session-header,.community-session-body{padding:18px}.community-session-footer{padding:12px 18px}.community-session-summary{grid-template-columns:1fr}}.community-shared-chevron{background:var(--color-soft-accent);width:34px;height:34px;color:var(--color-primary);border:1px solid #d9e9de;border-radius:10px;flex-shrink:0;place-items:center;transition:background .18s,border-color .18s;display:inline-grid}.community-shared-chevron svg{transition:transform .2s}.community-shared-chevron.is-open svg{transform:rotate(180deg)}.community-profile-piece-button:hover .community-shared-chevron{background:#deecdf;border-color:#bad4c1}@media (prefers-reduced-motion:reduce){.community-shared-chevron,.community-shared-chevron svg{transition:none}}.community-profile-page{color:var(--color-text)}:root[data-theme=dark] .community-session-dialog{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}:root[data-theme=dark] .community-session-header{background:linear-gradient(135deg, var(--color-surface-muted), var(--color-surface));border-bottom-color:var(--color-border)}:root[data-theme=dark] .community-session-header h2,:root[data-theme=dark] .community-session-summary strong,:root[data-theme=dark] .community-session-block h3,:root[data-theme=dark] .community-shared-session-details h3{color:var(--color-text)}:root[data-theme=dark] .community-session-header p,:root[data-theme=dark] .community-session-eyebrow,:root[data-theme=dark] .community-session-summary span,:root[data-theme=dark] .community-session-block h3 span,:root[data-theme=dark] .community-session-block p,:root[data-theme=dark] .community-shared-hint{color:var(--color-muted)}:root[data-theme=dark] .community-session-close,:root[data-theme=dark] .community-session-dialog .community-profile-section-heading button{background:var(--color-surface-muted);color:var(--color-text);border-color:var(--color-border)}:root[data-theme=dark] .community-session-close:hover{background:var(--color-soft-accent)}:root[data-theme=dark] .community-session-summary>div{background:var(--color-surface-muted);border-color:var(--color-border)}:root[data-theme=dark] .community-session-block,:root[data-theme=dark] .community-session-footer{border-color:var(--color-border)}:root[data-theme=dark] .community-session-notes{background:var(--color-surface-muted)}:root[data-theme=dark] .community-session-recording{border-color:var(--color-border)}:root[data-theme=dark] .community-shared-session-details{background:var(--color-surface-muted);border-color:var(--color-border)}:root[data-theme=dark] .community-profile-filters label,:root[data-theme=dark] .community-profile-handle,:root[data-theme=dark] .community-friend-identity .community-person-info small{color:var(--color-text)}.community-profile-tabs{flex-wrap:wrap;gap:8px;margin:0 0 18px;display:flex}.community-profile-tab{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer;border-radius:12px;padding:11px 16px;font-weight:650;transition:background .2s,border-color .2s}.community-profile-tab:hover{background:var(--color-surface-muted)}.community-profile-tab.is-active{border-color:var(--color-primary);background:var(--color-soft-accent);color:var(--color-primary)}.community-profile-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (width<=600px){.community-profile-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.community-profile-tab{padding:10px 8px;font-size:13px}}.community-profile-panel{min-height:210px;animation:.18s ease-out both community-panel-enter}@keyframes community-panel-enter{0%{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.community-profile-tabs{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:15px;padding:5px;position:relative}.community-profile-tab{background:0 0;border-color:#0000;flex:auto}.community-profile-tab.is-active{background:var(--color-surface);box-shadow:0 2px 8px #00000012}@media (prefers-reduced-motion:reduce){.community-profile-panel{animation:none}}.community-recording-piece{flex-wrap:wrap;align-items:baseline;gap:6px 10px;width:100%;display:flex}.community-recording-piece span{color:var(--color-muted);font-size:12px}.community-recording-piece strong{color:var(--color-text);font-size:14px}.community-plan-week{align-items:center;font-weight:650}.community-plan-chevron{background:var(--color-soft-accent);width:30px;height:30px;color:var(--color-primary);border-radius:9px;flex:none;place-items:center;font-size:21px;display:grid}.community-plan-detail{border:1px solid var(--color-border);background:var(--color-surface-muted);border-top:0;border-radius:0 0 14px 14px;margin-top:-4px;padding:20px;animation:.18s ease-out both community-panel-enter}.community-plan-summary{color:var(--color-muted);margin:0 0 15px;font-size:13px;font-weight:600}.community-plan-items{gap:14px;display:grid}.community-plan-task{border:1px solid var(--color-border);background:var(--color-surface);border-radius:13px;gap:13px;padding:20px;display:grid}.community-plan-task-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.community-plan-task h3{color:var(--color-text);overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.4}.community-plan-task-header .community-profile-status{flex:none}.community-plan-instructions{background:var(--color-surface-muted);color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:9px;margin:0;padding:12px 14px;line-height:1.55}.community-plan-task-meta{flex-wrap:wrap;gap:8px;display:flex}.community-plan-task-meta span{border:1px solid var(--color-border);color:var(--color-muted);overflow-wrap:anywhere;border-radius:8px;padding:6px 10px;font-size:12px}@media (width<=560px){.community-plan-detail{padding:12px}.community-plan-task{padding:15px}.community-plan-task-header{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.community-plan-detail{animation:none}}.community-readonly-library{max-width:none}.community-readonly-library .library-heading{margin-bottom:18px}.community-readonly-library .library-section{margin-bottom:0}.community-readonly-library .library-grid{margin-top:18px}.community-readonly-card{flex-direction:column;align-items:stretch;gap:0;min-width:0;display:flex}.community-readonly-card__heading{align-content:start;gap:6px;min-height:76px;display:grid}.community-readonly-card__heading h4,.community-readonly-card__heading p{margin:0}.community-readonly-card__status{border-top:1px solid var(--color-border);color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;padding:14px 0;font-size:14px;display:flex}.community-readonly-card__status .library-status{flex-shrink:0}.community-readonly-card .piece-tracking-link{align-self:flex-start;margin-top:auto}@media (width<=767px){.community-readonly-card__heading{min-height:0}.community-readonly-card .piece-tracking-link{margin-top:8px}}.community-readonly-journal{max-width:none}.community-readonly-journal .library-section{margin-bottom:0}.community-readonly-session{align-items:stretch;gap:0}.community-readonly-session .practice-card-heading{align-items:center}.community-readonly-session__details{border-top:1px solid var(--color-border);gap:7px;min-width:0;margin-top:20px;padding:16px 0;display:grid}.community-readonly-session__details>span{color:var(--color-muted);font-size:13px}.community-readonly-session__details>strong{overflow-wrap:anywhere;color:var(--color-text)}.community-readonly-session .community-readonly-session__action{align-self:flex-start;margin-top:auto}.community-shared-piece{max-width:1200px}.community-shared-piece .library-heading>div{display:contents}.community-shared-piece .community-shared-piece__section{background:0 0;border:0;margin-bottom:30px;padding:0}.community-shared-piece__section>h2{margin:0 0 20px}.community-shared-piece__section .library-grid>.library-card{min-width:0}.community-shared-piece__section .library-card audio{width:100%}.community-shared-piece__session-button{text-align:left;width:100%;color:var(--color-text);justify-content:space-between;align-items:center;gap:14px;display:flex}.community-shared-piece__session-button:hover{border-color:var(--color-primary);background:var(--color-surface-muted)}.community-shared-piece__session-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.community-shared-piece .community-shared-session-details{border:1px solid var(--color-border);border-radius:12px;margin-top:0}.community-shared-piece__scores{gap:9px;display:grid}.community-shared-piece__scores .community-shared-piece__score{flex-direction:row;justify-content:space-between;align-items:center;gap:14px;min-width:0;min-height:48px;padding:11px 16px;display:flex}.community-shared-piece__score-name{align-items:center;gap:11px;min-width:0;display:flex}.community-shared-piece__score-name strong{overflow-wrap:anywhere}.community-shared-piece__default{color:var(--color-primary);background:var(--color-soft-accent);border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:650}@media (width<=600px){.community-shared-piece__scores .community-shared-piece__score{flex-wrap:wrap}}.community-shared-piece .community-shared-piece__session{flex-direction:column;align-items:stretch;gap:0;min-width:0;padding:20px;display:flex}.community-shared-piece__session .practice-card-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.community-shared-piece__session-toggle{border:0;border-top:1px solid var(--color-border);width:100%;color:var(--color-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding:13px 0 0;font-size:14px;font-weight:650;display:flex}.community-shared-piece__session-toggle:hover{opacity:.8}.community-shared-piece__session-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}.community-shared-piece__session-toggle:disabled{opacity:.55;cursor:wait}.community-shared-piece__session-details{border-top:1px solid var(--color-border);gap:18px;margin-top:16px;padding-top:18px;display:grid}.community-shared-piece__session-field{gap:7px;min-width:0;display:grid}.community-shared-piece__session-field>span{color:var(--color-muted);font-size:13px;font-weight:600}.community-shared-piece__session-field>strong{color:var(--color-text);overflow-wrap:anywhere}.community-shared-piece__session-field p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.55}.community-shared-piece__session-recordings{gap:12px;display:grid}.community-shared-piece__session-recordings>div{gap:8px;min-width:0;display:grid}.community-shared-piece__session-recordings audio{width:100%;min-width:0;display:block}@media (width<=600px){.community-shared-piece .community-shared-piece__session{padding:16px}}.community-shared-goals{gap:20px;min-width:0;display:grid}.community-shared-goals__heading p{color:var(--color-muted);margin:0 0 6px;font-size:13px}.community-shared-goals__heading h2{color:var(--color-text);margin:0}.community-shared-goals__tabs{flex-wrap:wrap;gap:8px;padding-bottom:5px;display:flex}.community-shared-goals__tabs button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);font:inherit;cursor:pointer;border-radius:999px;padding:9px 17px;font-size:14px;font-weight:650;transition:background .18s,border-color .18s,color .18s}.community-shared-goals__tabs button:hover{border-color:var(--color-primary);color:var(--color-text)}.community-shared-goals__tabs button.is-active{background:var(--color-soft-accent);border-color:var(--color-primary);color:var(--color-primary)}.community-shared-goals__tabs button:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.community-shared-goals__grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;display:grid}.community-shared-goals__grid .community-shared-goals__card{border-radius:14px;flex-direction:column;align-items:stretch;gap:0;min-width:0;padding:21px;display:flex}.community-shared-goals__card-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:15px;display:flex}.community-shared-goals__state{background:var(--color-soft-accent);color:var(--color-primary);border-radius:999px;align-items:center;padding:5px 10px;font-size:12px;font-weight:650;display:inline-flex}.community-shared-goals__date{color:var(--color-muted);font-size:12px}.community-shared-goals__card h3{color:var(--color-text);overflow-wrap:anywhere;margin:0;font-size:17px;line-height:1.4}.community-shared-goals__notes{color:var(--color-muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0 0;font-size:14px;line-height:1.6}.community-shared-goals__meta{color:var(--color-muted);flex-wrap:wrap;gap:8px 14px;margin-top:auto;padding-top:18px;font-size:12px;display:flex}.community-shared-goals__meta:not(:empty){border-top:1px solid var(--color-border);margin-top:18px}.community-shared-goals__sentinel{height:1px}.community-shared-goals__loading{text-align:center;color:var(--color-muted)}@media (width<=600px){.community-shared-goals__grid{grid-template-columns:1fr}.community-shared-goals__grid .community-shared-goals__card{padding:17px}}@media (prefers-reduced-motion:reduce){.community-shared-goals__tabs button{transition:none}}.community-readonly-plan{box-sizing:border-box;width:100%;max-width:1080px}.community-readonly-plan .practice-plan__heading{margin-bottom:22px}.community-readonly-plan .practice-plan__item-actions{justify-content:flex-start}.community-readonly-plan__status{background:var(--color-soft-accent);width:fit-content;color:var(--color-primary);border-radius:999px;align-items:center;padding:7px 12px;font-size:13px;font-weight:650;display:inline-flex}.community-readonly-plan__piece{margin:10px 0 0}.community-readonly-plan__piece strong{color:var(--color-text)}.community-readonly-plan__weeks{border-top:1px solid var(--color-border);margin-top:32px;padding-top:22px}.community-readonly-plan__weeks h2{margin:0 0 14px;font-size:1.05rem}.community-readonly-plan__week-list{flex-wrap:wrap;gap:9px;display:flex}.community-readonly-plan .community-readonly-plan__week-list button{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border);font-size:13px;font-weight:600}.community-readonly-plan .community-readonly-plan__week-list button.is-active{background:var(--color-soft-accent);color:var(--color-primary);border-color:var(--color-primary)}.community-readonly-plan .community-readonly-plan__week-list button:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.community-readonly-plan__sentinel{height:1px}@media (width<=640px){.community-readonly-plan{padding:18px 4px 28px}.community-readonly-plan .practice-plan__week strong{flex-basis:100%;order:-1}}.community-readonly-plan__content{min-height:180px;position:relative}.community-readonly-plan__content[aria-busy=true]{opacity:.72}.community-readonly-plan__loading{z-index:1;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);border-radius:999px;margin:0;padding:7px 11px;font-size:12px;position:absolute;top:8px;right:8px}.community-profile-tabs.harmonia-segmented{background:var(--color-surface);border:1px solid var(--color-border);scrollbar-width:none;border-radius:18px;flex-wrap:nowrap;gap:5px;padding:6px;display:flex;overflow-x:auto}.community-profile-tabs.harmonia-segmented .community-profile-tab{min-width:max-content;color:var(--color-muted,var(--color-text));white-space:nowrap;background:0 0;border:0;border-radius:12px;flex:1 0 auto;justify-content:center;align-items:center;gap:9px;padding:12px 15px;font-size:13px;font-weight:700;display:flex}.community-profile-tabs.harmonia-segmented .community-profile-tab.is-active{background:var(--color-primary);color:var(--color-primary-contrast,#fff);box-shadow:0 4px 12px #0d948838}.community-profile-tabs.harmonia-segmented .community-profile-tab:not(.is-active):hover{background:var(--color-border);color:var(--color-text)}@media (width<=600px){.community-profile-tabs.harmonia-segmented{grid-template-columns:none;display:flex}.community-profile-tabs.harmonia-segmented .community-profile-tab{flex:none}}.community-shared-goals__tabs.harmonia-segmented{background:var(--color-surface);border:1px solid var(--color-border);scrollbar-width:none;border-radius:18px;flex-wrap:nowrap;gap:5px;width:100%;margin:0 0 20px;padding:6px;display:flex;overflow-x:auto}.community-shared-goals__tabs.harmonia-segmented button{min-width:max-content;color:var(--color-muted,var(--color-text));white-space:nowrap;background:0 0;border:0;border-radius:12px;flex:1 0 auto;justify-content:center;align-items:center;gap:9px;padding:12px 15px;font-size:13px;font-weight:700;display:flex}.community-shared-goals__tabs.harmonia-segmented button.is-active{background:var(--color-primary);color:var(--color-primary-contrast,#fff);box-shadow:0 4px 12px #0d948838}.community-shared-goals__tabs.harmonia-segmented button:not(.is-active):hover{background:var(--color-border);color:var(--color-text)}.community-profile-tabs.harmonia-segmented{border:0;border-bottom:1px solid var(--color-border);width:100%;max-width:100%;box-shadow:none;background:0 0;border-radius:0;flex-wrap:wrap;gap:8px;padding:0;display:flex;overflow:visible}.community-profile-tabs.harmonia-segmented>button,.community-profile-tabs.harmonia-segmented>.community-profile-tab{min-width:0;color:var(--color-muted);box-shadow:none;font:inherit;background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;flex:none;justify-content:center;align-items:center;padding:12px 16px;font-weight:700;display:inline-flex}.community-profile-tabs.harmonia-segmented>button.is-active,.community-profile-tabs.harmonia-segmented>.community-profile-tab.is-active{border-bottom-color:var(--color-primary);color:var(--color-primary);box-shadow:none;background:0 0}.community-profile-tabs.harmonia-segmented>button:not(.is-active):hover,.community-profile-tabs.harmonia-segmented>.community-profile-tab:not(.is-active):hover{color:var(--color-primary);background:0 0}.community-shared-goals__tabs.harmonia-segmented{border:0;border-bottom:1px solid var(--color-border);width:100%;max-width:100%;box-shadow:none;background:0 0;border-radius:0;flex-wrap:wrap;gap:8px;padding:0;display:flex;overflow:visible}.community-shared-goals__tabs.harmonia-segmented>button,.community-shared-goals__tabs.harmonia-segmented>.community-profile-tab{min-width:0;color:var(--color-muted);box-shadow:none;font:inherit;background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;flex:none;justify-content:center;align-items:center;padding:12px 16px;font-weight:700;display:inline-flex}.community-shared-goals__tabs.harmonia-segmented>button.is-active,.community-shared-goals__tabs.harmonia-segmented>.community-profile-tab.is-active{border-bottom-color:var(--color-primary);color:var(--color-primary);box-shadow:none;background:0 0}.community-shared-goals__tabs.harmonia-segmented>button:not(.is-active):hover,.community-shared-goals__tabs.harmonia-segmented>.community-profile-tab:not(.is-active):hover{color:var(--color-primary);background:0 0}.teaching-page{width:min(100% - 36px,1000px);color:var(--color-text);margin:34px auto 64px}.teaching-page header h1{margin:6px 0 12px;font-size:clamp(1.8rem,3vw,2.5rem)}.teaching-page header>p:last-child{max-width:700px;color:var(--color-muted);line-height:1.6}.teaching-eyebrow{color:var(--color-primary);letter-spacing:.04em;font-weight:700}.teaching-tabs{border-bottom:1px solid var(--color-border);gap:8px;margin:28px 0 20px;display:flex}.teaching-tabs button{color:var(--color-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:13px 18px;font-weight:700}.teaching-tabs button[aria-selected=true]{border-bottom-color:var(--color-primary);color:var(--color-primary)}.teaching-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;margin-bottom:18px;padding:24px}.teaching-panel h2{margin:0 0 12px;font-size:1.15rem}.teaching-panel>p{color:var(--color-muted);line-height:1.5}.teaching-panel form{flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0;display:flex}.teaching-panel form label{flex:100%;font-size:.9rem;font-weight:650}.teaching-panel input{border:1px solid var(--color-border);background:var(--color-surface);min-width:160px;min-height:43px;color:var(--color-text);font:inherit;border-radius:10px;flex:1;padding:10px}.teaching-panel button{border:1px solid var(--color-primary);background:var(--color-primary);min-height:43px;color:var(--color-primary-contrast);font:inherit;cursor:pointer;border-radius:10px;padding:9px 15px;font-weight:650}.teaching-panel button:disabled{opacity:.55;cursor:not-allowed}.teaching-panel .teaching-secondary,.teaching-panel .teaching-more{color:var(--color-primary);background:0 0}.teaching-items{gap:10px;margin-top:16px;display:grid}.teaching-item{border:1px solid var(--color-border);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:15px;display:flex}.teaching-item strong{display:block}.teaching-item small{color:var(--color-muted);margin-top:5px;display:block}.teaching-actions{flex-wrap:wrap;gap:8px;display:flex}.teaching-panel .teaching-more{margin-top:14px}.teaching-error{color:#c43e4c}.teaching-empty{padding:14px 0}@media (width<=540px){.teaching-panel{padding:18px}.teaching-panel form button{width:100%}}.teaching-switch{margin:18px 0 22px}.teaching-panel>label{margin:18px 0 8px;font-size:.9rem;font-weight:650;display:block}.teaching-panel>input[type=search]{width:100%}.teaching-person{align-items:center;gap:12px;min-width:0;display:flex}.teaching-avatar{background:color-mix(in srgb, var(--color-primary) 13%, var(--color-surface));width:42px;height:42px;color:var(--color-primary);border-radius:50%;flex:0 0 42px;place-items:center;font-weight:750;display:grid}.teaching-tabs{flex-wrap:wrap}.teaching-tabs button{align-items:center;gap:9px;transition:color .18s,border-color .18s;display:inline-flex}.teaching-tabs button:hover{color:var(--color-primary)}.teaching-tabs button.is-active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.teaching-tabs button svg{flex-shrink:0}.teaching-item-ineligible{opacity:.52;background:color-mix(in srgb, var(--color-muted) 5%, var(--color-surface))}.teaching-ineligible-label{font-weight:650;color:var(--color-text)!important}.teaching-tabs{border-bottom:1px solid var(--color-border);border-radius:0}.teaching-tabs button{border-radius:0}.teaching-panel .teaching-danger{color:#fff;background:#c53a45;border-color:#c53a45}.teaching-panel .teaching-danger:not(:disabled):hover{background:#a52a34;border-color:#a52a34}.teaching-panel .teaching-danger:focus-visible{outline-offset:3px;outline:2px solid #c53a45}.teaching-assignments{gap:24px;display:grid}.assignment-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.assignment-heading h2{letter-spacing:-.035em;margin:5px 0 7px;font-size:clamp(1.4rem,2.5vw,1.8rem)}.assignment-heading p,.assignment-composer-heading p{color:var(--color-muted);margin:0;line-height:1.55}.assignment-kicker{letter-spacing:.12em;color:var(--color-primary);font-size:.7rem;font-weight:800}.assignment-total{border:1px solid var(--color-border);color:var(--color-muted);border-radius:999px;flex-shrink:0;padding:8px 12px;font-size:.8rem}.assignment-composer{border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-primary) 3%,var(--color-surface));border-radius:16px;padding:22px}.assignment-composer-heading{border-bottom:1px solid var(--color-border);align-items:center;gap:13px;padding-bottom:20px;display:flex}.assignment-composer-heading h3,.assignment-list-heading h3{margin:0 0 5px;font-size:1.05rem}.assignment-composer-icon{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));width:42px;height:42px;color:var(--color-primary);border-radius:12px;place-items:center;font-size:1.6rem;display:grid}.teaching-panel .teaching-assignment-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:17px;margin:22px 0 0;display:grid}.assignment-field{flex-direction:column;gap:8px;min-width:0;display:flex}.assignment-field.assignment-wide,.assignment-form-footer{grid-column:1/-1}.assignment-field label{font-size:.85rem;font-weight:700}.assignment-field label span{color:var(--color-primary)}.assignment-field label small{color:var(--color-muted);font-weight:400}.teaching-assignment-form input,.teaching-assignment-form select,.teaching-assignment-form textarea{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-width:0;min-height:45px;color:var(--color-text);font:inherit;border-radius:10px;padding:11px 12px;transition:border-color .2s,box-shadow .2s}.teaching-assignment-form textarea{resize:vertical;line-height:1.5}.teaching-assignment-form :is(input,select,textarea):focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,transparent);outline:none}.assignment-unit{position:relative}.assignment-unit input{padding-right:54px}.assignment-unit>span{color:var(--color-muted);font-size:.8rem;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.assignment-form-footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:15px;padding-top:18px;display:flex}.assignment-form-footer>span{color:var(--color-muted);font-size:.83rem}.assignment-list-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.assignment-list-heading h3{margin:0}.assignment-list-heading>span{color:var(--color-muted);font-size:.8rem}.assignment-list{gap:12px;display:grid}.assignment-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;padding:19px 21px;transition:border-color .2s,transform .2s,box-shadow .2s}.assignment-card:hover{border-color:color-mix(in srgb,var(--color-primary) 38%,var(--color-border));box-shadow:0 6px 20px color-mix(in srgb,var(--color-text) 5%,transparent);transform:translateY(-1px)}.assignment-card-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.assignment-week{color:var(--color-primary);font-size:.76rem;font-weight:750}.assignment-card h4{letter-spacing:-.015em;margin:12px 0 7px;font-size:1.06rem}.assignment-instructions{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--color-muted);margin:0 0 16px;font-size:.9rem;line-height:1.6}.assignment-card-meta{border-top:1px solid var(--color-border);color:var(--color-muted);flex-wrap:wrap;gap:10px 20px;padding-top:12px;font-size:.8rem;display:flex}.assignment-status{background:color-mix(in srgb,var(--color-muted) 12%,var(--color-surface));color:var(--color-text);border-radius:999px;padding:5px 10px;font-size:.74rem;font-weight:750}.assignment-status--completed{background:color-mix(in srgb,#25936d 15%,var(--color-surface));color:#25845f}.assignment-status--in_progress{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary)}.assignment-empty{text-align:center;border:1px dashed var(--color-border);border-radius:14px;justify-items:center;gap:8px;padding:36px 18px;display:grid}.assignment-empty>span{width:48px;height:48px;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));border-radius:50%;place-items:center;font-size:1.5rem;display:grid}.assignment-empty p{max-width:340px;color:var(--color-muted);margin:0;line-height:1.5}.assignment-progress{gap:8px;display:grid}.assignment-progress-label{justify-content:space-between;font-size:.83rem;display:flex}.assignment-progress-track{background:var(--color-border);border-radius:99px;height:7px;overflow:hidden}.assignment-progress-track span{border-radius:inherit;background:var(--color-primary);height:100%;transition:width .25s;display:block}@media (width<=620px){.teaching-panel .teaching-assignment-form{grid-template-columns:1fr}.assignment-composer{padding:16px}.assignment-form-footer{flex-direction:column;align-items:stretch}.assignment-heading{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.assignment-card,.assignment-progress-track span{transition:none}.assignment-card:hover{transform:none}}.teaching-group-card{display:block}.teaching-group-members{border-top:1px solid var(--color-border);margin-top:14px;padding-top:12px}.teaching-panel .teaching-group-toggle{align-items:center;gap:10px;min-height:36px;padding:7px 12px;font-size:.85rem;display:inline-flex}.teaching-group-content{gap:18px;padding-top:17px;display:grid}.teaching-group-add{gap:9px;display:grid}.teaching-group-add label{font-size:.85rem;font-weight:700}.teaching-group-add-row{flex-wrap:wrap;gap:9px;display:flex}.teaching-group-add-row select{border:1px solid var(--color-border);background:var(--color-surface);min-width:0;min-height:43px;color:var(--color-text);font:inherit;border-radius:10px;flex:220px;padding:9px 12px}.teaching-group-list{gap:9px;display:grid}.teaching-group-list>strong{font-size:.85rem}.teaching-group-member{border:1px solid var(--color-border);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.teaching-group-member>span{overflow-wrap:anywhere}.teaching-panel .teaching-group-member button{min-height:34px;padding:5px 10px;font-size:.8rem}.teaching-group-toggle svg{transition:transform .18s}.teaching-group-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.teaching-member-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.teaching-member-dialog{background:var(--color-surface);width:min(100%,510px);max-height:min(85vh,720px);color:var(--color-text);border:1px solid var(--color-border);border-radius:18px;padding:24px;overflow:auto;box-shadow:0 20px 70px #0000003d}.teaching-member-dialog-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.teaching-member-dialog-header h3{margin:0;font-size:1.2rem}.teaching-member-dialog-header button{color:var(--color-muted);cursor:pointer;background:0 0;border:0;font-size:1.6rem}.teaching-member-dialog>p{color:var(--color-muted);font-size:.9rem}.teaching-member-options{gap:8px;max-height:330px;padding:5px 2px;display:grid;overflow-y:auto}.teaching-member-option{border:1px solid var(--color-border);cursor:pointer;border-radius:10px;align-items:center;gap:12px;padding:12px;display:flex}.teaching-member-option:has(input:checked){border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.teaching-member-option input{accent-color:var(--color-primary);width:18px;height:18px}.teaching-member-footer{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:20px;padding-top:18px;display:flex}.teaching-member-footer>span{color:var(--color-muted);margin-right:auto;font-size:.85rem}.teaching-member-footer button{border:1px solid var(--color-primary);background:var(--color-primary);min-height:42px;color:var(--color-primary-contrast);font:inherit;cursor:pointer;border-radius:10px;padding:8px 15px;font-weight:650}.teaching-member-footer button.teaching-secondary{color:var(--color-primary);background:0 0}.teaching-member-footer button:disabled{opacity:.55;cursor:not-allowed}.teaching-panel .teaching-group-toggle{vertical-align:middle;line-height:1.2}.teaching-group-toggle>span{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.teaching-group-toggle svg{display:block}.teaching-member-loading{text-align:center;color:var(--color-muted);padding:12px;font-size:.82rem}.assignment-audience{color:var(--color-muted);margin:8px 0 12px;font-size:.85rem;line-height:1.5}.assignment-audience strong{color:var(--color-text)}.assignment-recipient-status{flex-wrap:wrap;gap:7px;margin:10px 0 15px;display:flex}.assignment-card--sent{border-radius:17px;padding:0;overflow:hidden}.assignment-card--sent .assignment-card-top{padding:19px 22px 0}.assignment-card--sent h4{margin:14px 22px 13px;font-size:1.13rem;line-height:1.35}.assignment-week{align-items:center;gap:7px;display:inline-flex}.assignment-week svg{flex:none}.assignment-type{background:var(--color-soft-accent);color:var(--color-primary);border-radius:7px;align-items:center;padding:5px 10px;font-size:.73rem;font-weight:700;display:inline-flex}.assignment-card--sent .assignment-audience{margin:0 22px 16px}.assignment-audience{align-items:center;gap:10px;display:flex}.assignment-audience-icon{background:color-mix(in srgb,var(--color-primary) 9%,var(--color-surface));width:34px;height:34px;color:var(--color-primary);border-radius:10px;flex:none;place-items:center;display:grid}.assignment-audience>span:last-child{overflow-wrap:anywhere;flex-direction:column;gap:2px;min-width:0;display:flex}.assignment-audience strong{letter-spacing:.015em;font-size:.72rem}.assignment-audience>span:last-child>span{color:var(--color-text);font-size:.88rem}.assignment-card--sent .assignment-instructions{background:color-mix(in srgb,var(--color-muted) 5%,var(--color-surface));border:1px solid var(--color-border);border-radius:10px;margin:0 22px 18px;padding:13px 15px}.assignment-followup{border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-primary) 2%,var(--color-surface));border-radius:12px;margin:0 22px 20px;padding:16px}.assignment-followup-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:.83rem;display:flex}.assignment-followup-heading>span{color:var(--color-muted);font-size:.78rem}.assignment-followup-track{background:var(--color-border);border-radius:999px;height:6px;margin:12px 0 14px;overflow:hidden}.assignment-followup-track>span{border-radius:inherit;background:var(--color-primary);height:100%;transition:width .2s;display:block}.assignment-card--sent .assignment-recipient-status{gap:8px;margin:0}.assignment-recipient-chip{background:var(--color-surface);border:1px solid var(--color-border);overflow-wrap:anywhere;border-radius:9px;align-items:center;gap:7px;max-width:100%;padding:7px 10px;font-size:.78rem;display:inline-flex}.assignment-recipient-dot{background:var(--color-muted);border-radius:50%;flex:none;width:7px;height:7px}.assignment-recipient-chip--completed .assignment-recipient-dot{background:#25936d}.assignment-recipient-chip--in_progress .assignment-recipient-dot{background:var(--color-primary)}.assignment-recipient-chip--skipped .assignment-recipient-dot{background:#b37d40}.assignment-recipient-state{color:var(--color-muted);border-left:1px solid var(--color-border);padding-left:7px;font-size:.73rem}.assignment-followup-empty{color:var(--color-muted);font-size:.8rem}.assignment-card--sent .assignment-card-meta{background:color-mix(in srgb,var(--color-muted) 3%,var(--color-surface));padding:14px 22px}.assignment-card-meta>span{align-items:center;gap:7px;display:inline-flex}.assignment-card-meta svg{flex:none}@media (width<=620px){.assignment-card--sent .assignment-card-top{padding:16px 16px 0}.assignment-card--sent h4{margin:12px 16px}.assignment-card--sent .assignment-audience,.assignment-card--sent .assignment-instructions,.assignment-followup{margin-left:16px;margin-right:16px}.assignment-card--sent .assignment-card-meta{padding:13px 16px}.assignment-followup{padding:13px}}@media (prefers-reduced-motion:reduce){.assignment-followup-track>span{transition:none}}.assignment-scheduling{gap:10px}.assignment-scheduling-label{font-size:.85rem;font-weight:700}.assignment-scheduling-options{flex-wrap:wrap;gap:8px;display:flex}.assignment-scheduling-options label{border:1px solid var(--color-border);cursor:pointer;background:var(--color-surface);border-radius:10px;align-items:center;gap:9px;padding:10px 12px;font-weight:500;display:inline-flex}.assignment-scheduling-options label:has(input:checked){border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 9%,var(--color-surface))}.teaching-assignment-form .assignment-scheduling-options input{width:16px;height:16px;min-height:16px;accent-color:var(--color-primary);margin:0}.assignment-scheduling-date{gap:7px;display:grid}.teaching-panel .teaching-assignment-form .assignment-scheduling{border:0;gap:0;min-width:0;margin:0;padding:0}.assignment-scheduling-label{width:100%;color:var(--color-text);margin:0;padding:0;font-size:.88rem;font-weight:750;display:block}.assignment-scheduling-hint{color:var(--color-muted);margin:6px 0 14px;font-size:.81rem;line-height:1.45}.assignment-scheduling-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.teaching-panel .teaching-assignment-form .assignment-scheduling-options .assignment-schedule-choice{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:14px;align-items:center;gap:13px;min-width:0;min-height:85px;padding:16px;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s;display:flex;position:relative}.teaching-panel .teaching-assignment-form .assignment-scheduling-options .assignment-schedule-choice:hover{border-color:color-mix(in srgb,var(--color-primary) 55%,var(--color-border))}.teaching-panel .teaching-assignment-form .assignment-scheduling-options .assignment-schedule-choice.is-selected{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary) 18%,transparent)}.teaching-panel .teaching-assignment-form .assignment-scheduling-options .assignment-schedule-choice:focus-within{outline:2px solid var(--color-primary);outline-offset:3px}.teaching-assignment-form .assignment-schedule-choice input[type=radio]{opacity:0;width:1px;height:1px;min-height:0;margin:0;padding:0;position:absolute}.assignment-schedule-icon{background:color-mix(in srgb,var(--color-muted) 8%,var(--color-surface));width:43px;height:43px;color:var(--color-muted);border-radius:12px;flex:none;place-items:center;display:grid}.assignment-schedule-choice.is-selected .assignment-schedule-icon{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface))}.assignment-schedule-copy{flex:1;gap:5px;min-width:0;display:grid}.assignment-schedule-copy strong{color:var(--color-text);font-size:.87rem;line-height:1.3}.assignment-schedule-copy small{color:var(--color-muted);font-size:.75rem;font-weight:400;line-height:1.35}.assignment-schedule-check{border:1.5px solid var(--color-border);color:#0000;border-radius:50%;flex:none;place-items:center;width:21px;height:21px;display:grid}.assignment-schedule-choice.is-selected .assignment-schedule-check{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-surface)}.assignment-scheduling-date{border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-muted) 3%,var(--color-surface));border-radius:12px;gap:8px;margin-top:14px;padding:15px;display:grid}.assignment-scheduling-date label{font-size:.82rem}.assignment-scheduling-date input{max-width:330px}.assignment-scheduling-date small{color:var(--color-muted);font-size:.76rem}@media (width<=620px){.assignment-scheduling-options{grid-template-columns:1fr}.teaching-panel .teaching-assignment-form .assignment-scheduling-options .assignment-schedule-choice{min-height:76px;padding:13px}}@media (prefers-reduced-motion:reduce){.teaching-panel .teaching-assignment-form .assignment-scheduling-options .assignment-schedule-choice{transition:none}}.assignment-card--sent{position:relative}.assignment-edit-trigger{float:right;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-primary);font:inherit;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;margin:14px 20px 0 8px;padding:7px 12px;font-size:.79rem;font-weight:700;display:inline-flex}.assignment-edit-trigger:hover{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface))}.assignment-edit-overlay{z-index:1100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.assignment-edit-dialog{border:1px solid var(--color-border);background:var(--color-surface);width:min(100%,570px);max-height:88vh;color:var(--color-text);border-radius:18px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 24px 70px #00000038}.assignment-edit-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 24px 16px;display:flex}.assignment-edit-header h3{margin:0 0 5px;font-size:1.15rem}.assignment-edit-header p{color:var(--color-muted);margin:0;font-size:.82rem;line-height:1.5}.assignment-edit-header button{color:var(--color-muted);cursor:pointer;background:0 0;border:0;font-size:1.6rem}.assignment-edit-fields{gap:16px;padding:20px 24px;display:grid;overflow:auto}.assignment-edit-fields>label{gap:7px;font-size:.84rem;font-weight:650;display:grid}.assignment-edit-fields input,.assignment-edit-fields textarea,.assignment-edit-fields select{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-width:0;color:var(--color-text);font:inherit;border-radius:10px;padding:10px 12px;font-weight:400}.assignment-edit-fields textarea{resize:vertical}.assignment-edit-students{border-top:1px solid var(--color-border);gap:9px;padding-top:14px;display:grid}.assignment-edit-students>strong{font-size:.88rem}.assignment-edit-students>label{justify-content:space-between;align-items:center;gap:12px;font-size:.83rem;display:flex}.assignment-edit-students select{width:auto;max-width:175px}.assignment-edit-actions{border-top:1px solid var(--color-border);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.assignment-edit-actions button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer;border-radius:10px;padding:10px 15px;font-weight:650}.assignment-edit-actions button[type=submit]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-contrast)}.assignment-edit-actions button:disabled{opacity:.55;cursor:not-allowed}@media (width<=620px){.assignment-edit-overlay{padding:10px}.assignment-edit-header,.assignment-edit-fields,.assignment-edit-actions{padding-left:16px;padding-right:16px}.assignment-edit-actions{flex-wrap:wrap}}.teaching-panel .assignment-edit-trigger,.teaching-panel .assignment-edit-trigger:hover,.teaching-panel .assignment-edit-trigger:focus-visible{color:var(--color-primary)}.teaching-panel .assignment-edit-trigger{gap:7px;transition:background .18s,border-color .18s,box-shadow .18s;display:inline-flex}.teaching-panel .assignment-edit-trigger:hover{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));border-color:var(--color-primary);box-shadow:0 2px 10px color-mix(in srgb,var(--color-primary) 9%,transparent)}.teaching-panel .assignment-edit-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.assignment-edit-dialog{border-radius:20px;width:min(100%,640px)}.assignment-edit-header{background:color-mix(in srgb,var(--color-primary) 3%,var(--color-surface));padding:24px 26px 20px}.assignment-edit-eyebrow{color:var(--color-primary);letter-spacing:.12em;margin-bottom:7px;font-size:.67rem;font-weight:800;display:block}.assignment-edit-header h3{letter-spacing:-.025em;font-size:1.35rem}.assignment-edit-header p{max-width:440px}.assignment-edit-header .assignment-edit-close{border:1px solid var(--color-border);background:var(--color-surface);width:34px;height:34px;color:var(--color-text);border-radius:10px;flex:none;place-items:center;padding:0;line-height:1;display:grid}.assignment-edit-header .assignment-edit-close:hover{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));color:var(--color-text)}.assignment-edit-fields{scrollbar-width:thin;gap:22px;padding:22px 26px}.assignment-edit-section{gap:15px;display:grid}.assignment-edit-section+.assignment-edit-section{border-top:1px solid var(--color-border);padding-top:20px}.assignment-edit-section-heading{align-items:center;gap:11px;display:flex}.assignment-edit-section-icon{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));width:35px;height:35px;color:var(--color-primary);border-radius:10px;flex:none;place-items:center;font-size:1.1rem;display:grid}.assignment-edit-section-heading>div{gap:3px;display:grid}.assignment-edit-section-heading strong{font-size:.89rem}.assignment-edit-section-heading small{color:var(--color-muted);font-size:.76rem}.assignment-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.assignment-edit-grid>label,.assignment-edit-week{gap:8px;min-width:0;font-size:.81rem;font-weight:700;display:grid}.assignment-edit-grid label small{color:var(--color-muted);font-weight:400}.assignment-edit-wide{grid-column:1/-1}.assignment-edit-grid textarea{line-height:1.5}.assignment-edit-fields :is(input,textarea,select):focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 13%,transparent);outline:none}.assignment-edit-schedule{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.assignment-edit-schedule label{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:13px 14px;display:flex;position:relative}.assignment-edit-schedule label.is-selected{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface))}.assignment-edit-schedule input{width:16px;height:16px;accent-color:var(--color-primary);flex:none;margin:0}.assignment-edit-schedule label>span{gap:4px;display:grid}.assignment-edit-schedule strong{font-size:.82rem}.assignment-edit-schedule small{color:var(--color-muted);font-size:.74rem}.assignment-edit-week{max-width:320px}.assignment-edit-students{border:0;gap:8px;padding:0}.assignment-edit-students>label{border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-muted) 3%,var(--color-surface));border-radius:11px;padding:9px 11px}.assignment-edit-student-name{overflow-wrap:anywhere;align-items:center;gap:9px;min-width:0;font-weight:600;display:inline-flex}.assignment-edit-avatar{background:color-mix(in srgb,var(--color-primary) 11%,var(--color-surface));width:30px;height:30px;color:var(--color-primary);border-radius:9px;flex:none;place-items:center;font-size:.79rem;font-weight:800;display:grid}.assignment-edit-students select{min-height:36px;padding:7px 9px}.assignment-edit-actions{background:color-mix(in srgb,var(--color-muted) 3%,var(--color-surface));padding:17px 26px}.assignment-edit-actions button:hover:not(:disabled){border-color:var(--color-primary)}.assignment-edit-actions button[type=submit]:hover:not(:disabled){background:var(--color-primary);color:var(--color-primary-contrast);filter:brightness(.94)}@media (width<=620px){.assignment-edit-header,.assignment-edit-fields,.assignment-edit-actions{padding-left:17px;padding-right:17px}.assignment-edit-grid,.assignment-edit-schedule{grid-template-columns:1fr}.assignment-edit-students>label{flex-wrap:wrap}.assignment-edit-students select{max-width:100%}}.teaching-panel button.assignment-edit-trigger,.teaching-panel button.assignment-edit-trigger:not(:hover){background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.teaching-panel button.assignment-edit-trigger:hover,.teaching-panel button.assignment-edit-trigger:focus-visible{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));color:var(--color-text);border-color:var(--color-primary)}.teaching-panel form.assignment-edit-dialog{box-sizing:border-box;flex-flow:column;align-items:stretch;gap:0;width:min(640px,100%);min-width:0;max-width:100%;max-height:min(88dvh,850px);margin:0;padding:0;display:flex}.teaching-panel .assignment-edit-dialog *,.teaching-panel .assignment-edit-dialog :before,.teaching-panel .assignment-edit-dialog :after{box-sizing:border-box}.teaching-panel .assignment-edit-header,.teaching-panel .assignment-edit-fields,.teaching-panel .assignment-edit-actions{flex-shrink:0;width:100%;min-width:0}.teaching-panel .assignment-edit-fields{flex:auto;min-height:0;overflow:hidden auto}.teaching-panel .assignment-edit-section,.teaching-panel .assignment-edit-grid,.teaching-panel .assignment-edit-schedule{width:100%;min-width:0}.teaching-panel .assignment-edit-dialog label{flex:none;min-width:0;max-width:100%;margin:0}.teaching-panel .assignment-edit-grid>label,.teaching-panel .assignment-edit-week{width:100%;display:grid}.teaching-panel .assignment-edit-dialog input:not([type=radio]),.teaching-panel .assignment-edit-dialog textarea,.teaching-panel .assignment-edit-dialog select{box-sizing:border-box;flex:none;width:100%;min-width:0;max-width:100%;display:block}.teaching-panel .assignment-edit-schedule label{min-width:0;display:flex}.teaching-panel .assignment-edit-schedule input[type=radio]{flex:0 0 17px;width:17px;min-width:17px;max-width:17px;height:17px;min-height:17px;margin:0;padding:0}.teaching-panel .assignment-edit-students>label{width:100%;display:flex}.teaching-panel .assignment-edit-students select{flex:0 180px;width:auto;max-width:180px}.teaching-panel .assignment-edit-actions{flex:none}@media (width<=620px){.teaching-panel form.assignment-edit-dialog{max-height:calc(100dvh - 20px)}.teaching-panel .assignment-edit-actions button{width:auto}.teaching-panel .assignment-edit-grid,.teaching-panel .assignment-edit-schedule{grid-template-columns:minmax(0,1fr)}}.teaching-panel .assignment-card-actions{border-top:1px solid var(--color-border);justify-content:flex-end;padding:10px 20px 14px;display:flex}.teaching-panel button.assignment-delete-button{color:#fff;background:#c53a45;border:1px solid #c53a45;border-radius:9px;justify-content:center;align-items:center;gap:7px;width:auto;min-height:35px;padding:7px 11px;font-size:.79rem;font-weight:650;display:inline-flex}.teaching-panel button.assignment-delete-button:hover:not(:disabled){color:#fff;background:#a52a34;border-color:#a52a34}.teaching-panel .assignment-edit-students select.assignment-edit-status-select{appearance:none;border:1px solid var(--color-border);background-color:var(--color-surface);width:170px;min-width:0;max-width:100%;color:var(--color-text);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23818a98' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border-radius:10px;flex:0 170px;padding:10px 36px 10px 12px;font-size:.82rem;font-weight:650;transition:border-color .18s,box-shadow .18s}.teaching-panel .assignment-edit-students select.assignment-edit-status-select:hover{border-color:var(--color-primary)}.teaching-panel .assignment-edit-students select.assignment-edit-status-select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.teaching-panel .assignment-edit-students select.assignment-edit-status-select option{background:var(--color-surface);color:var(--color-text)}@media (width<=620px){.teaching-panel .assignment-card-actions{padding-right:16px}}.teaching-panel .assignment-card-meta{flex-wrap:wrap;align-items:center;gap:10px 18px;display:flex}.teaching-panel .assignment-card-meta .assignment-card-delete{flex:none;align-items:center;margin-left:auto;display:flex}.teaching-panel .assignment-card-meta .assignment-card-delete button{width:auto}.teaching-panel .assignment-card-meta .assignment-card-delete .ui-icon-button{color:#a12626;background:#fff1f1;border:1px solid #efb8b8}.teaching-panel .assignment-card-meta .assignment-card-delete .ui-icon-button:hover:not(:disabled),.teaching-panel .assignment-card-meta .assignment-card-delete .ui-icon-button:focus-visible{color:#821e1e;background:#fbe7e7;border-color:#d98888}.teaching-panel .assignment-filter{border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-text) 4%,var(--color-surface));border-radius:12px;align-items:center;gap:4px;margin:0 0 18px;padding:4px;display:inline-flex}.teaching-panel .assignment-filter button{min-height:36px;color:var(--color-muted);background:0 0;border:1px solid #0000;border-radius:9px;padding:8px 18px;font-size:.85rem;font-weight:700;transition:background .16s,color .16s,box-shadow .16s}.teaching-panel .assignment-filter button:hover:not(.is-active){background:color-mix(in srgb,var(--color-primary) 9%,var(--color-surface));color:var(--color-text)}.teaching-panel .assignment-filter button.is-active,.teaching-panel .assignment-filter button.is-active:hover{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-border);box-shadow:0 1px 5px #00000017}.teaching-panel .assignment-filter button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.teaching-panel .teaching-tabs.assignment-filter{border:0;border-bottom:1px solid var(--color-border);background:0 0;border-radius:0;gap:8px;width:100%;margin:6px 0 20px;padding:0;display:flex}.teaching-panel .teaching-tabs.assignment-filter button,.teaching-panel .teaching-tabs.assignment-filter button.is-active,.teaching-panel .teaching-tabs.assignment-filter button:hover{min-height:43px;box-shadow:none;font:inherit;color:var(--color-muted);background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;padding:11px 18px;font-weight:700}.teaching-panel .teaching-tabs.assignment-filter button:hover{color:var(--color-primary)}.teaching-panel .teaching-tabs.assignment-filter button.is-active,.teaching-panel .teaching-tabs.assignment-filter button.is-active:hover{color:var(--color-primary);border-bottom-color:var(--color-primary)}.teaching-page .teaching-actions a.teaching-student-link{font:inherit;border:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface);border-radius:9px;justify-content:center;align-items:center;padding:9px 13px;font-weight:600;text-decoration:none;transition:border-color .18s,color .18s,background .18s;display:inline-flex}.teaching-page .teaching-actions a.teaching-student-link:hover{color:var(--color-primary);border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}.teaching-panel .assignment-composer{padding:0;overflow:hidden}.teaching-panel .assignment-composer-toggle{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:13px;padding:20px 22px;transition:background .18s;display:flex}.teaching-panel .assignment-composer-toggle:hover{background:color-mix(in srgb,var(--color-primary) 6%,transparent)}.teaching-panel .assignment-composer-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:-3px}.teaching-panel .assignment-composer-toggle[aria-expanded=false]{border-bottom:0}.teaching-panel .assignment-composer-heading-copy{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.teaching-panel .assignment-composer-heading-copy strong{font-size:1.05rem}.teaching-panel .assignment-composer-heading-copy small{color:var(--color-muted);font-size:.86rem;line-height:1.5}.teaching-panel .assignment-composer-chevron{color:var(--color-muted);flex:none;transition:transform .2s}.teaching-panel .assignment-composer-toggle[aria-expanded=true] .assignment-composer-chevron{transform:rotate(180deg)}.teaching-panel .assignment-composer #assignment-composer-content[hidden]{display:none}.teaching-panel .assignment-composer #assignment-composer-content{padding:20px 22px 22px}@media (width<=620px){.teaching-panel .assignment-composer-toggle,.teaching-panel .assignment-composer #assignment-composer-content{padding:16px}}.teaching-relation-search{flex-direction:column;gap:8px;margin:14px 0;display:flex}.teaching-relation-search label{color:var(--color-text);font-size:.88rem;font-weight:600}.teaching-relation-search input{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-text);font:inherit;border-radius:11px;padding:10px 14px;transition:border-color .18s,box-shadow .18s}.teaching-relation-search input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.assignment-session-link{border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-surface);border-radius:10px;justify-content:center;align-self:flex-start;align-items:center;gap:9px;margin:12px 0 2px;padding:10px 15px;font-weight:650;text-decoration:none;transition:filter .16s,transform .16s;display:inline-flex}.assignment-session-link:hover{filter:brightness(1.08);transform:translateY(-1px)}.assignment-session-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}@media (prefers-reduced-motion:reduce){.assignment-session-link{transition:none}.assignment-session-link:hover{transform:none}}.assignment-session-backdrop{z-index:1100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0c111dad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.assignment-session-dialog{background:var(--surface,var(--card-bg,#fff));width:min(100%,540px);max-height:min(90vh,800px);color:var(--text-primary,inherit);border-radius:20px;overflow-y:auto;box-shadow:0 22px 80px #00000047}.assignment-session-header{border-bottom:1px solid var(--border-color,#ddd);justify-content:space-between;align-items:flex-start;gap:16px;padding:25px 28px 16px;display:flex}.assignment-session-header h2{margin:6px 0;font-size:1.4rem}.assignment-session-header p{opacity:.7;margin:0}.assignment-session-close{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;font-size:1.8rem}.assignment-session-body{gap:17px;padding:24px 28px 28px;display:grid}.assignment-session-body label{gap:7px;font-weight:600;display:grid}.assignment-session-body input,.assignment-session-body textarea{box-sizing:border-box;border:1px solid var(--border-color,#aaa);background:var(--input-bg,transparent);width:100%;color:inherit;font:inherit;border-radius:10px;padding:11px 12px}.assignment-session-actions{border-top:1px solid var(--border-color,#ddd);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:16px;padding-top:14px;display:flex}.assignment-session-actions-main{align-items:center;gap:12px;min-width:0;display:flex}.assignment-session-actions-main>button{white-space:nowrap}@media (width<=600px){.assignment-session-actions{flex-wrap:wrap;align-items:flex-start}.assignment-session-actions-main{flex-wrap:wrap}.assignment-session-delete{margin-left:auto}}.assignment-session-actions-main>button,.assignment-session-primary{cursor:pointer;border-radius:10px;padding:11px 16px}.assignment-session-primary{background:var(--color-primary,#6555ba);color:#fff;border:0;font-weight:700}.assignment-session-error{color:#d14c4c}.assignment-session-delete{flex-shrink:0;justify-content:flex-end;align-items:center;margin-left:auto;display:flex}.assignment-session-field{gap:7px;display:grid}.assignment-session-field>label{font-weight:600}.external-students-heading{border-bottom:1px solid var(--color-border);align-items:center;gap:14px;padding-bottom:18px;display:flex}.external-students-heading h2{margin:0 0 5px}.external-students-heading p{color:var(--color-muted);margin:0;font-size:.9rem;line-height:1.5}.external-students-field{gap:7px;min-width:0;display:grid}.external-students-field label{font-size:.85rem;font-weight:700}.external-students-wide,.external-students-form-actions{grid-column:1/-1}.external-students-field textarea,.external-students-dialog textarea{resize:vertical;border:1px solid var(--color-border);background:var(--color-surface);min-height:90px;color:var(--color-text);font:inherit;border-radius:10px;padding:11px 12px}.external-students-form-actions{justify-content:flex-end;padding-top:5px;display:flex}.external-students .teaching-item{background:var(--color-surface);transition:border-color .18s,box-shadow .18s}.external-students .teaching-item:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border));box-shadow:0 5px 18px color-mix(in srgb,var(--color-text) 5%,transparent)}.teaching-panel .external-students-archive{align-items:center;gap:7px;display:inline-flex}.external-students-overlay{z-index:1100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.external-students-dialog{background:var(--color-surface);width:min(100%,520px);max-height:calc(100dvh - 36px);color:var(--color-text);border:1px solid var(--color-border);border-radius:18px;gap:9px;padding:24px;display:grid;overflow-y:auto;box-shadow:0 20px 70px #0000003d}.external-students-dialog-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.external-students-dialog-heading h3{margin:0}.external-students-dialog label{margin-top:5px;font-size:.85rem;font-weight:700}.external-students-dialog input,.external-students-dialog textarea{box-sizing:border-box;width:100%}.external-students-dialog-actions{border-top:1px solid var(--color-border);flex-wrap:wrap;gap:9px;margin-top:15px;padding-top:16px;display:flex}.external-students :is(input,textarea):focus-visible,.external-students-dialog :is(input,textarea):focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,transparent);outline:none}@media (width<=620px){.external-students-dialog{padding:18px}.external-students .teaching-actions{width:100%}}@media (prefers-reduced-motion:reduce){.external-students .teaching-item{transition:none}}.teaching-group-member .teaching-person{min-width:0}.teaching-group-member .teaching-avatar{flex-basis:36px;width:36px;height:36px;font-size:.85rem}.teaching-group-member .teaching-person>span:last-child{min-width:0}.teaching-group-member strong{overflow-wrap:anywhere;font-size:.9rem;display:block}.teaching-group-member small,.teaching-member-option-name small{color:var(--color-muted);margin-top:3px;font-size:.75rem;display:block}.teaching-member-option-name{min-width:0}.teaching-member-option-name strong{font-size:.9rem;display:block}.teaching-member-option:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 13%,transparent)}@media (width<=540px){.teaching-group-member{align-items:flex-start}.teaching-group-member>button{flex-shrink:0}}.assignment-edit-identity{flex-direction:column;gap:3px;min-width:0;display:flex}.assignment-edit-identity strong{overflow-wrap:anywhere;font-size:.9rem}.assignment-edit-identity small{color:var(--color-muted);font-size:.75rem;font-weight:500}.assignment-edit-student-name{min-width:0}.assignment-edit-status-select{flex-shrink:0}@media (width<=540px){.assignment-edit-students label{flex-wrap:wrap}.assignment-edit-status-select{max-width:100%}}.external-students-toolbar{justify-content:flex-end;padding-top:16px;display:flex}.teaching-panel .teaching-member-remove{align-items:center;gap:7px;min-height:36px;padding:6px 11px;font-size:.83rem;display:inline-flex}.external-students-dialog .external-students-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;display:grid}.external-students-dialog .external-students-form-actions{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:flex-start;gap:9px;margin-top:4px;padding-top:16px;display:flex}@media (width<=540px){.external-students-dialog .external-students-form{grid-template-columns:1fr}.external-students-toolbar button{width:100%}}.external-students-dialog button{border:1px solid var(--color-primary);background:var(--color-primary);min-height:42px;color:var(--color-primary-contrast);font:inherit;cursor:pointer;border-radius:10px;padding:9px 15px;font-weight:650}.external-students-dialog button.teaching-secondary{color:var(--color-primary);background:0 0}.external-students-dialog button:disabled{opacity:.55;cursor:not-allowed}.external-students-dialog .external-students-dialog-heading button{min-width:36px;min-height:36px;padding:4px 10px;font-size:1.3rem;line-height:1}.external-students-dialog input{border:1px solid var(--color-border);background:var(--color-surface);min-height:43px;color:var(--color-text);font:inherit;border-radius:10px;padding:10px 12px}.teaching-student-section{padding:0;overflow:hidden}.teaching-student-section>.assignment-composer-toggle{text-align:left;width:100%;color:var(--color-text);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:14px;padding:18px 22px;display:flex}.teaching-student-section>.assignment-composer-toggle:hover{background:color-mix(in srgb,var(--color-primary) 6%,transparent)}.teaching-student-section>.assignment-composer-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:-3px}.teaching-student-section>.assignment-composer-toggle .assignment-composer-chevron{flex-shrink:0;transition:transform .2s}.teaching-student-section>.assignment-composer-toggle[aria-expanded=true] .assignment-composer-chevron{transform:rotate(180deg)}.teaching-student-section-content{border-top:1px solid var(--color-border);padding:0 22px 22px}.teaching-student-section-content>.teaching-panel{box-shadow:none;border:0;margin:0;padding:0}@media (width<=620px){.teaching-student-section>.assignment-composer-toggle{padding:16px}.teaching-student-section-content{padding:0 16px 16px}}@media (prefers-reduced-motion:reduce){.teaching-student-section>.assignment-composer-toggle .assignment-composer-chevron{transition:none}}.teaching-student-section-icon{color:var(--color-primary);flex-shrink:0}.external-merge-dialog{gap:16px;width:min(100%,570px)}.external-merge-dialog .external-students-dialog-heading{align-items:flex-start;margin:0}.external-merge-heading{align-items:center;gap:12px;min-width:0;display:flex}.external-merge-heading-icon{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));width:46px;height:46px;color:var(--color-primary);border-radius:13px;flex-shrink:0;place-items:center;display:grid}.external-merge-heading h3{font-size:1.13rem;line-height:1.35}.external-merge-heading small{color:var(--color-muted);margin-top:3px;display:block}.external-merge-dialog .external-merge-close{border-color:var(--color-border);color:var(--color-muted)}.external-merge-intro{color:var(--color-muted);margin:0;line-height:1.55}.external-merge-information{border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface));border-radius:13px;padding:15px}.external-merge-information strong{font-size:.93rem;display:block}.external-merge-information p{margin:7px 0;line-height:1.5}.external-merge-information small{color:var(--color-muted);line-height:1.5;display:block}.external-merge-fields{gap:9px;display:grid}.external-merge-fields label{margin-top:5px}.external-merge-dialog .external-merge-fields select{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:43px;color:var(--color-text);font:inherit;border-radius:10px;padding:10px 12px}.external-merge-dialog :is(input,select):focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.external-merge-empty,.external-merge-loading{color:var(--color-muted);margin:3px 0;font-size:.88rem}.external-merge-dialog button.external-merge-more{justify-self:start;min-height:36px}.external-merge-error{border:1px solid color-mix(in srgb,#dc2626 45%,var(--color-border));background:color-mix(in srgb,#dc2626 9%,var(--color-surface));color:var(--color-text);border-radius:11px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:.9rem;line-height:1.5;display:flex}.external-merge-error svg{color:#dc2626;flex-shrink:0;margin-top:1px}.external-merge-actions{justify-content:flex-start;margin-top:0}@media (width<=540px){.external-merge-dialog{gap:13px}.external-merge-heading-icon{width:40px;height:40px}.external-merge-actions button{flex:100%}}.external-merge-dialog .external-merge-select-hint{color:var(--color-muted);margin:-3px 0 1px;font-size:.8rem;line-height:1.45}.external-merge-dialog .external-merge-target-select{appearance:none;cursor:pointer;border:1px solid var(--color-border);min-height:52px;color:var(--color-text);background-color:var(--color-surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23818a9a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 15px center;background-repeat:no-repeat;border-radius:13px;padding:12px 48px 12px 16px;font-size:.94rem;font-weight:600;transition:border-color .18s,box-shadow .18s,background-color .18s}.external-merge-dialog .external-merge-target-select:hover{border-color:var(--color-primary);background-color:color-mix(in srgb,var(--color-primary) 3%,var(--color-surface))}.external-merge-dialog .external-merge-target-select:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,transparent);outline:none}.external-merge-dialog .external-merge-target-select option{background:var(--color-surface);color:var(--color-text);padding:10px;font-weight:500}@media (prefers-reduced-motion:reduce){.external-merge-dialog .external-merge-target-select{transition:none}}.teaching-page select.harmonia-target-select,.external-students-dialog select.harmonia-target-select{appearance:none;box-sizing:border-box;border:1px solid var(--color-border);background-color:var(--color-surface);width:100%;min-height:48px;color:var(--color-text);font:inherit;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23818a9a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 15px center;background-repeat:no-repeat;border-radius:11px;padding:11px 46px 11px 15px;font-weight:500;transition:border-color .18s,box-shadow .18s;display:block}.teaching-page select.harmonia-target-select:hover,.external-students-dialog select.harmonia-target-select:hover{border-color:var(--color-primary)}.teaching-page select.harmonia-target-select:focus-visible,.external-students-dialog select.harmonia-target-select:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,transparent);outline:none}.teaching-page select.harmonia-target-select:disabled,.external-students-dialog select.harmonia-target-select:disabled{opacity:.55;cursor:not-allowed}.teaching-page select.harmonia-target-select optgroup,.external-students-dialog select.harmonia-target-select optgroup{font-weight:700}@media (prefers-reduced-motion:reduce){.teaching-page select.harmonia-target-select,.external-students-dialog select.harmonia-target-select{transition:none}}.external-students-overlay:has(.external-merge-dialog){align-items:center;padding:clamp(12px,3vh,30px)}.external-merge-dialog{box-sizing:border-box;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;width:min(100%,720px);max-height:calc(100dvh - 32px);overflow-y:auto}.external-merge-dialog .external-merge-fields{min-height:0}.external-merge-dialog .harmonia-dropdown-menu{overscroll-behavior:contain;scroll-behavior:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--color-muted) 55%,transparent) transparent;max-height:clamp(190px,38dvh,390px)}.external-merge-dialog .harmonia-dropdown-option{min-height:52px}@media (width<=620px){.external-merge-dialog{scrollbar-gutter:auto;width:100%;max-height:calc(100dvh - 24px);padding:18px}.external-merge-dialog .harmonia-dropdown-menu{max-height:min(36dvh,310px)}}.external-merge-dialog,.external-merge-dialog .harmonia-dropdown-menu{scrollbar-width:none;-ms-overflow-style:none}.external-merge-dialog::-webkit-scrollbar{width:0;height:0;display:none}.external-merge-dialog .harmonia-dropdown-menu::-webkit-scrollbar{width:0;height:0;display:none}.external-merge-dialog{scrollbar-gutter:auto}.external-merge-dialog .harmonia-dropdown-menu{-webkit-mask-image:linear-gradient(#000 0% calc(100% - 18px),#0000 100%);mask-image:linear-gradient(#000 0% calc(100% - 18px),#0000 100%)}.external-followup-dialog{box-sizing:border-box;overscroll-behavior:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:16px;width:min(100%,740px);max-height:calc(100dvh - 32px);overflow-y:auto}.external-followup-dialog::-webkit-scrollbar{display:none}.external-followup-dialog .external-students-dialog-heading{margin:0}.external-followup-dialog .external-students-dialog-heading small{color:var(--color-muted);margin-top:5px;display:block}.external-followup-summary{border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface));border-radius:12px;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:16px;display:flex}.external-followup-summary span{color:var(--color-muted)}.external-followup-notes{white-space:pre-wrap;margin:0;line-height:1.5}.external-followup-notes strong{margin-bottom:5px;display:block}.external-followup-list{gap:11px;display:grid}.external-followup-item{border:1px solid var(--color-border);border-radius:12px;gap:9px;padding:15px;display:grid}.external-followup-item-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.external-followup-item-heading strong{overflow-wrap:anywhere}.external-followup-item p{white-space:pre-wrap;color:var(--color-text);margin:0;line-height:1.5}.external-followup-item small{color:var(--color-muted)}.external-followup-status{white-space:nowrap;background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));color:var(--color-text);border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:700}.external-followup-status--completed{background:color-mix(in srgb,#16a34a 15%,var(--color-surface))}.external-followup-status--in_progress{background:color-mix(in srgb,#f59e0b 15%,var(--color-surface))}@media (width<=540px){.external-followup-dialog{padding:18px}.external-followup-item-heading{flex-wrap:wrap}}.external-followup-page .external-followup-summary{margin:16px 0}.external-followup-page .external-followup-notes{border:1px solid var(--color-border);border-radius:12px;margin-bottom:16px;padding:16px}.external-followup-page .external-followup-list{margin:16px 0}.external-followup-filter{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;display:flex}.external-followup-status-edit{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:.86rem;display:flex}.external-followup-filter select,.external-followup-status-edit select{border:1px solid var(--color-border);background:var(--color-surface);max-width:100%;min-height:39px;color:var(--color-text);font:inherit;border-radius:10px;padding:8px 12px}.external-followup-status-edit select:disabled{opacity:.6;cursor:wait}.assignment-detail-sections{gap:16px;min-width:0;display:grid}.assignment-card--sent .assignment-detail-sections{margin:0 22px 20px;padding:0}.assignment-detail-block{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;gap:10px;min-width:0;padding:17px 18px;display:grid}.assignment-detail-label{color:var(--color-text);letter-spacing:0;font-size:.88rem;font-weight:700;display:block}.assignment-detail-block p,.assignment-card--sent .assignment-detail-block .assignment-instructions{box-sizing:border-box;white-space:pre-wrap;overflow-wrap:anywhere;background:0 0;border:0;border-radius:0;margin:0;padding:0;font-size:.92rem;line-height:1.6;display:block}.assignment-instructions-card{background:color-mix(in srgb,var(--color-muted) 3%,var(--color-surface))}.assignment-session-notes{background:color-mix(in srgb,var(--color-primary) 4%,var(--color-surface))}.assignment-card--sent .assignment-detail-sections+.assignment-followup{margin:0 22px 20px}.assignment-card:not(.assignment-card--sent) .assignment-detail-sections{margin:16px 0 20px}@media (width<=620px){.assignment-card--sent .assignment-detail-sections,.assignment-card--sent .assignment-detail-sections+.assignment-followup{margin:0 16px 18px}.assignment-detail-block{padding:14px 15px}}.teaching-page .teaching-actions a.teaching-student-link,.teaching-page .external-students .teaching-actions a.teaching-student-link{box-sizing:border-box;border:1px solid var(--color-border);min-height:38px;color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border-radius:9px;justify-content:center;align-items:center;padding:9px 13px;font-weight:600;line-height:normal;text-decoration:none;transition:background .18s,border-color .18s,color .18s;display:inline-flex}.teaching-page .teaching-actions a.teaching-student-link:hover{background:color-mix(in srgb,var(--color-primary) 7%,transparent);border-color:var(--color-primary);color:var(--color-primary)}.teaching-page .teaching-actions a.teaching-student-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.harmonia-dropdown{width:100%;min-width:0;position:relative}.harmonia-dropdown-trigger{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:48px;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;transition:border-color .18s,box-shadow .18s;display:flex}.harmonia-dropdown-trigger:hover{border-color:var(--color-primary)}.harmonia-dropdown-trigger:focus-visible,.harmonia-dropdown-trigger[aria-expanded=true]{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,transparent);outline:none}.harmonia-dropdown-trigger:disabled{opacity:.6;cursor:not-allowed}.harmonia-dropdown-trigger svg{color:var(--color-muted);flex-shrink:0;transition:transform .18s}.harmonia-dropdown-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.harmonia-dropdown-placeholder{color:var(--color-muted)}.harmonia-dropdown-value{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.harmonia-dropdown-menu{z-index:120;overscroll-behavior:contain;border:1px solid var(--color-border);background:var(--color-surface);border-radius:13px;max-height:min(300px,42vh);padding:7px;position:absolute;top:calc(100% + 7px);left:0;right:0;overflow-y:auto;box-shadow:0 14px 40px #00000030}.harmonia-dropdown-group{color:var(--color-muted);letter-spacing:.035em;text-transform:uppercase;padding:12px 10px 7px;font-size:.74rem;font-weight:750}.harmonia-dropdown-option{text-align:left;cursor:pointer;border-radius:9px;align-items:center;gap:10px;width:100%;min-height:47px;padding:8px 10px;display:flex;color:var(--color-text)!important;background:0 0!important;border:0!important}.harmonia-dropdown-option:hover,.harmonia-dropdown-option[data-active=true]{background:color-mix(in srgb,var(--color-primary) 9%,var(--color-surface))!important}.harmonia-dropdown-option[aria-selected=true]{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface))!important}.harmonia-dropdown-avatar{background:color-mix(in srgb,var(--color-primary) 13%,var(--color-surface));width:31px;height:31px;color:var(--color-primary);border-radius:10px;flex:0 0 31px;place-items:center;font-size:.83rem;font-weight:750;display:grid}.harmonia-dropdown-option-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.harmonia-dropdown-option-text strong{overflow-wrap:anywhere;font-size:.88rem}.harmonia-dropdown-option-text small{color:var(--color-muted);font-size:.73rem}.harmonia-dropdown-check{color:var(--color-primary);font-weight:800}.harmonia-dropdown-empty{color:var(--color-muted);padding:12px;font-size:.86rem}.harmonia-dropdown-more{width:100%;margin-top:5px;font-size:.85rem;display:block;border:1px solid var(--color-border)!important;color:var(--color-primary)!important;background:0 0!important}.harmonia-dropdown-required{opacity:0;pointer-events:none;position:absolute;bottom:0;left:0;width:1px!important;height:1px!important}@media (prefers-reduced-motion:reduce){.harmonia-dropdown-trigger,.harmonia-dropdown-trigger svg{transition:none}}.harmonia-dropdown-search{z-index:1;background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:9px;margin:-7px -7px 6px;padding:10px 12px;display:flex;position:sticky;top:-7px}.harmonia-dropdown-search svg{color:var(--color-muted);flex-shrink:0}.harmonia-dropdown-search input{width:100%;min-width:0;min-height:36px;color:var(--color-text);font:inherit;background:0 0;font-size:.88rem;box-shadow:none!important;border:0!important;outline:none!important}.harmonia-dropdown-search:focus-within{border-bottom-color:var(--color-primary)}button.harmonia-dropdown-trigger{background:var(--color-surface)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}button.harmonia-dropdown-trigger:hover,button.harmonia-dropdown-trigger[aria-expanded=true]{border-color:var(--color-primary)!important}button.harmonia-dropdown-trigger .harmonia-dropdown-placeholder{opacity:.82;font-weight:500;color:var(--color-text)!important}button.harmonia-dropdown-trigger .harmonia-dropdown-value{opacity:1;color:var(--color-text)!important}button.harmonia-dropdown-trigger svg{opacity:.75;color:var(--color-text)!important}.harmonia-dropdown-menu .harmonia-dropdown-group,.harmonia-dropdown-menu .harmonia-dropdown-option-text small{color:var(--color-muted)}.harmonia-dropdown-menu .harmonia-dropdown-option-text strong{color:var(--color-text)}.harmonia-dropdown-search input::placeholder{color:var(--color-text);opacity:.7}
