html,body{background:#f7f8fa;width:100%;min-height:100%;margin:0}#root{background:#f7f8fa;width:100%;min-height:100dvh}:root{--eartrainer-purple:#aa96ca;--eartrainer-purple-dark:#8d74b5;--eartrainer-purple-soft:#f6f2fb;--eartrainer-text:#17131d;--eartrainer-muted:#6b7280;--eartrainer-border:#e5e7eb}.auth-page{box-sizing:border-box;background:radial-gradient(circle at top, var(--eartrainer-purple-soft), white 48%);width:100%;min-height:100vh;color:var(--eartrainer-text);place-items:center;padding:24px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid;overflow:hidden}.auth-card{border:1px solid var(--eartrainer-border);background:#fff;border-radius:24px;width:min(440px,100%);padding:24px;box-shadow:0 30px 90px #402c5829}.auth-card-signup{width:min(480px,100%)}.auth-card h1{color:var(--eartrainer-text);letter-spacing:-.03em;margin:0;font-size:32px;line-height:1.05}.auth-subtitle{color:var(--eartrainer-muted);margin:6px 0 0;line-height:1.45}.auth-kicker{color:var(--eartrainer-purple-dark);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:13px;font-weight:900}.auth-card form{margin-top:18px}.auth-card label{color:var(--eartrainer-text);margin:14px 0;font-size:15px;font-weight:800;display:block}.auth-card input{box-sizing:border-box;border:1px solid var(--eartrainer-border);width:100%;color:var(--eartrainer-text);font:inherit;background:#fff;border-radius:14px;outline:none;margin-top:6px;padding:12px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}.auth-card input::placeholder{color:#9ca3af}.auth-card input:hover:not(:disabled){border-color:#cfc4df}.auth-card input:focus{border-color:var(--eartrainer-purple);box-shadow:0 0 0 4px #aa96ca2e}.auth-card input:disabled{cursor:not-allowed;opacity:.65}.auth-primary{background:var(--eartrainer-purple);color:#fff;cursor:pointer;border:none;border-radius:14px;width:100%;margin-top:8px;padding:12px 16px;font-size:16px;font-weight:900;transition:background .15s,transform .15s}.auth-primary:hover:not(:disabled){background:var(--eartrainer-purple-dark);transform:translateY(-1px)}.auth-primary:active:not(:disabled){transform:translateY(0)}.auth-primary:disabled{cursor:wait;opacity:.68}.auth-link{width:100%;color:var(--eartrainer-purple-dark);font:inherit;cursor:pointer;background:0 0;border:none;margin-top:10px;padding:4px;font-weight:800}.auth-link:hover:not(:disabled){text-underline-offset:3px;text-decoration:underline}.auth-primary:focus-visible,.auth-link:focus-visible{outline-offset:3px;outline:3px solid #aa96ca61}.auth-error{color:#991b1b;background:#fee2e2;border-radius:12px;margin:10px 0;padding:10px 12px;font-size:14px;font-weight:800;line-height:1.4}.auth-account-type{border:0;margin:0 0 12px;padding:0}.auth-account-type legend{color:var(--eartrainer-text);margin-bottom:6px;padding:0;font-size:15px;font-weight:800}.auth-segmented{border:1px solid var(--eartrainer-border);background:#f5f5f7;border-radius:10px;grid-template-columns:repeat(2,1fr);gap:4px;padding:3px;display:grid}.auth-segmented button{min-height:38px;color:var(--eartrainer-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 12px;font-weight:600;transition:background-color .15s,color .15s,box-shadow .15s}.auth-segmented button.active{background:var(--eartrainer-purple);color:#fff;box-shadow:0 2px 6px #402c582e}.auth-segmented button:focus-visible{outline:2px solid var(--eartrainer-purple);outline-offset:2px}.auth-segmented button.active:hover:not(:disabled){background:var(--eartrainer-purple-dark)}.auth-segmented button:disabled{cursor:not-allowed;opacity:.65}@media (width<=520px){.auth-page{place-items:start center;padding:18px 14px}.auth-card{border-radius:22px;padding:20px 18px}.auth-card h1{font-size:28px}.auth-wordmark{font-size:24px}.auth-logo{width:44px;height:44px}}.app-loading-page{z-index:99999;box-sizing:border-box;color:#17131d;background:radial-gradient(circle at top,#f6f2fb,#fff 48%);place-items:center;padding:24px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid;position:fixed;inset:0}.app-loading-content{flex-direction:column;align-items:center;gap:18px;display:flex}.app-loading-logo{object-fit:contain;width:min(280px,70vw);height:auto}.app-loading-spinner{box-sizing:border-box;border:3px solid #aa96ca40;border-top-color:#8d74b5;border-radius:50%;width:32px;height:32px;animation:.75s linear infinite app-loading-spin}@keyframes app-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.app-loading-spinner,.auth-loading-spinner{animation-duration:1.5s}}.auth-consent-box{border:1px solid var(--eartrainer-border);background:var(--eartrainer-purple-soft);border-radius:14px;margin:18px 0;padding:16px}.auth-consent-box strong{margin-bottom:10px;display:block}.auth-consent-box ul{margin:0;padding-left:20px}.auth-consent-box li+li{margin-top:6px}.auth-link-inline{text-align:left;width:auto;margin:0 6px 10px;padding:0;font-size:12px;display:block}.auth-success{color:#065f46;background:#ecfdf5;border-radius:12px;margin:18px 0 10px;padding:12px 14px;font-size:14px;font-weight:800;line-height:1.45}.auth-consent-card{box-sizing:border-box;flex-direction:column;max-height:calc(100dvh - 48px);display:flex;overflow:hidden}.auth-consent-header,.auth-consent-footer{flex:none}.auth-consent-body{overscroll-behavior:contain;min-height:0;padding-right:6px;overflow-y:auto}.auth-consent-footer{border-top:1px solid var(--eartrainer-border);background:#fff;padding-top:12px}.auth-consent-footer .auth-primary{margin-top:0}@media (width<=520px){.auth-consent-card{max-height:calc(100dvh - 36px)}}.eartrainer-loader{z-index:99999;box-sizing:border-box;background:radial-gradient(circle at 50% 38%,#8b6fb91c 0,#8b6fb90b 26%,#0000 52%),linear-gradient(#fbfaff 0%,#f7f5fb 100%);place-items:center;width:100%;min-height:100dvh;margin:0;padding:24px;display:grid;position:fixed;inset:0;overflow:hidden}.eartrainer-loader__content{flex-direction:column;justify-content:center;align-items:center;gap:28px;width:min(340px,82vw);min-height:220px;display:flex;position:relative}.eartrainer-loader__logo-wrap{place-items:center;width:100%;display:grid;position:relative}.eartrainer-loader__logo-wrap:before{content:"";filter:blur(38px);background:#8c71b724;border-radius:50%;width:220px;height:110px;animation:2.2s ease-in-out infinite eartrainer-loader-glow;position:absolute}.eartrainer-loader__logo{z-index:1;object-fit:contain;filter:drop-shadow(0 8px 18px #3624521a);width:min(260px,68vw);height:auto;max-height:120px;display:block;position:relative}.eartrainer-loader__spinner{box-sizing:border-box;border:3px solid #7e62a9f2;border-color:#7e62a9f2 #7e62a97a #7e62a92e #7e62a92e;border-radius:50%;width:28px;height:28px;animation:.7s linear infinite eartrainer-loader-spin}@keyframes eartrainer-loader-spin{to{transform:rotate(360deg)}}@keyframes eartrainer-loader-glow{0%,to{opacity:.55;transform:scale(.94)}50%{opacity:1;transform:scale(1.05)}}@media (prefers-reduced-motion:reduce){.eartrainer-loader__spinner{animation-duration:1.5s}.eartrainer-loader__logo-wrap:before{opacity:.75;animation:none}}.auth-invitation-role{background:var(--eartrainer-purple-soft);color:var(--eartrainer-text);border:1px solid #ded4ec;border-radius:12px;gap:3px;margin:0 0 12px;padding:11px 13px;display:grid}.auth-invitation-role strong{font-size:15px}.auth-invitation-role span{color:var(--eartrainer-muted);font-size:13px;line-height:1.4}.auth-status{box-sizing:border-box;background:radial-gradient(circle at top, var(--eartrainer-purple-soft), white 48%);min-height:100dvh;color:var(--eartrainer-text);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:28px;display:flex}.auth-status>h1{width:min(520px,100%);color:var(--eartrainer-text);letter-spacing:-.03em;margin:0;font-size:clamp(28px,5vw,38px);line-height:1.08}.auth-status>p{width:min(560px,100%);color:var(--eartrainer-muted);margin:0 0 4px;line-height:1.55}.auth-status>button{border:1px solid var(--eartrainer-purple);background:var(--eartrainer-purple);color:#fff;width:min(360px,100%);min-height:44px;font:inherit;cursor:pointer;border-radius:13px;padding:10px 16px;font-weight:850}.auth-status>button+button{border-color:var(--eartrainer-border);color:var(--eartrainer-text);background:#fff}.auth-status>button:disabled{cursor:wait;opacity:.65}.auth-status>.auth-error{box-sizing:border-box;width:min(520px,100%)}.courses-shell{color:#17171a;background:#f7f8fa;flex-direction:column;min-height:100%;display:flex}.courses-brand-bar{box-sizing:border-box;background:#fafafa;border-bottom:1px solid #dedee3;flex:0 0 58px;justify-content:space-between;align-items:center;height:58px;padding:0 clamp(20px,5vw,72px);display:flex}.courses-brand{align-items:center;gap:10px;display:flex}.courses-brand img{height:30px}.courses-account-wrap{position:relative}.courses-account-button{color:#52525b;min-height:36px;font:inherit;cursor:pointer;background:#fff;border:1px solid #dedee3;border-radius:8px;align-items:center;gap:7px;padding:0 10px;font-size:13px;font-weight:650;display:inline-flex}.courses-account-button:hover{color:#27272a;background:#f4f4f5}.courses-account-menu{z-index:100;background:#fff;border:1px solid #dedee3;border-radius:10px;width:150px;padding:5px;position:absolute;top:42px;right:0;box-shadow:0 14px 30px #1118271f}.courses-account-menu button{color:#3f3f46;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;padding:9px 10px;font-size:13px;display:flex}.courses-account-menu button:hover{background:#f4f4f5}.courses-brand span{letter-spacing:1px;font-family:Courier New,monospace;font-size:20px;font-weight:600}.courses-page{box-sizing:border-box;flex:1;min-height:0;padding:28px clamp(24px,5vw,72px) 40px}.courses-page button,.courses-page input{font:inherit}.courses-page-header,.course-detail-header,.course-tabs,.content-panel,.join-code-panel{max-width:1180px;margin-left:auto;margin-right:auto}.courses-page-header,.course-detail-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px;display:flex}.course-detail-header>div:first-child{flex-direction:column;align-items:flex-start;display:flex}.courses-eyebrow{color:#6b7280;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:700;display:block}.courses-page h1{color:#111217;letter-spacing:-.04em;margin:0;font-size:clamp(30px,4vw,42px);line-height:1.08}.courses-page-header p,.course-detail-header p{color:#71717a;margin:10px 0 0;font-size:15px}.courses-primary-button,.courses-secondary-button,.courses-danger-button,.courses-back-button,.courses-icon-button{cursor:pointer;border:0}.courses-primary-button,.courses-secondary-button,.courses-danger-button{border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:14px;font-weight:650;display:inline-flex}.courses-primary-button{color:#fff;background:#18181b}.courses-primary-button:hover{background:#2d2d31}.courses-primary-button:disabled{opacity:.55;cursor:not-allowed}.courses-primary-button[aria-busy=true]{cursor:wait}.courses-primary-button:disabled:hover{background:#18181b}.courses-secondary-button{color:#52525b;background:#fff;border:1px solid #dedee3}.courses-secondary-button:hover{background:#f7f7f8}.courses-danger-button{color:#fff;background:#b42318}.courses-danger-button:disabled{opacity:.65;cursor:wait}.course-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:16px;max-width:1180px;margin:0 auto;display:grid}.course-card{background:#fff;border:1px solid #e2e3e8;border-radius:14px;min-height:220px;transition:transform .15s,border-color .15s,box-shadow .15s;position:relative;box-shadow:0 1px 2px #11182708}.course-card:hover{border-color:#cacbd2;transform:translateY(-2px);box-shadow:0 12px 28px #11182712}.course-card-main{border-radius:inherit;width:100%;min-height:218px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:space-between;padding:22px;display:flex}.course-card-menu-wrap{position:absolute;top:14px;right:14px}.course-card-menu{top:38px}.course-card-topline{justify-content:space-between;align-items:center;gap:10px;padding-right:34px;display:flex}.course-code{color:#7c3aed;letter-spacing:.04em;font-size:12px;font-weight:750}.course-card-lms-logo{box-sizing:border-box;flex:0 0 32px;place-items:center;width:32px;height:32px;display:grid}.course-card-lms-logo img{object-fit:contain;width:28px;height:28px;display:block}.course-card-lms-logo--fallback{color:#71717a;background:#fff;border:1px solid #dedee3;border-radius:8px}.course-card h2{color:#18181b;letter-spacing:-.02em;margin:0;font-size:21px}.course-card p{color:#71717a;margin:7px 0 0;font-size:14px}.course-card-stats{color:#71717a;border-top:1px solid #eeeef1;flex-wrap:wrap;gap:12px;padding-top:17px;font-size:12px;display:flex}.course-card-stats span{align-items:center;gap:5px;display:inline-flex}.courses-empty{text-align:center;background:#ffffffb8;border:1px dashed #d5d6dc;border-radius:16px;max-width:640px;margin:80px auto;padding:48px}.courses-empty-icon{color:#7c3aed;background:#f0ebff;border-radius:13px;place-items:center;width:48px;height:48px;margin:0 auto 16px;display:grid}.courses-empty h2{margin:0;font-size:20px}.courses-empty p{color:#71717a;margin:8px 0 20px;font-size:14px}.course-detail-page{padding-top:18px}.courses-back-button{color:#71717a;background:0 0;align-items:center;gap:7px;margin-bottom:8px;padding:0;font-size:13px;font-weight:650;display:inline-flex}.courses-back-button:hover{color:#27272a}.course-detail-actions{align-items:center;gap:10px;display:flex}.courses-icon-button{color:#71717a;background:0 0;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.courses-icon-button:hover{background:#f0f0f2}.courses-icon-button.bordered{background:#fff;border:1px solid #dedee3;width:40px;height:40px}.danger-icon{color:#b42318}.course-tabs{background:#fff;border:1px solid #e2e3e8;border-radius:11px;gap:4px;margin-bottom:16px;padding:4px;display:flex}.course-tabs button{color:#71717a;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;padding:9px 13px;font-size:13px;font-weight:650;display:flex}.course-tabs button.active{color:#18181b;background:#f0f0f2}.content-panel,.join-code-panel,.course-detail-page>.lms-publish-panel{background:#fff;border:1px solid #e2e3e8;border-radius:14px;max-width:1180px;margin-left:auto;margin-right:auto;overflow:visible;box-shadow:0 1px 2px #11182708}.content-panel-header{border-bottom:1px solid #ececf0;justify-content:space-between;align-items:center;gap:16px;min-height:70px;padding:0 20px;display:flex}.content-panel-header h2,.join-code-panel h2{color:#18181b;margin:0;font-size:17px}.content-panel-header p,.join-code-panel p{color:#8a8a94;margin:4px 0 0;font-size:12px}.assignment-row{border-bottom:1px solid #f0f0f2;grid-template-columns:minmax(0,1fr) auto 34px;align-items:center;gap:10px;min-height:48px;padding:0 10px 0 14px;display:grid;position:relative}.assignment-row.has-share{grid-template-columns:minmax(0,1fr) auto 34px 34px}.assignment-row:last-child{border-bottom:0}.assignment-main{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:6px 0;display:flex}.assignment-icon{color:#52525b;background:#f4f4f6;border-radius:7px;flex:none;place-items:center;width:30px;height:30px;display:grid}.assignment-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.assignment-copy strong{color:#27272a;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;overflow:hidden}.assignment-copy small{color:#8a8a94;font-size:11px;line-height:1.2}.assignment-status{color:#71717a;cursor:pointer;background:#fafafa;border:1px solid #dedee3;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-width:76px;padding:4px 8px;font-size:11px;font-weight:650;display:inline-flex}.assignment-status.published{color:#257343;background:#eef9f1;border-color:#cfe8d8}.assignment-status.saving,.assignment-status:disabled{color:#71717a;cursor:wait;opacity:1;background:#f4f4f5;border-color:#dedee3}.assignment-share-button{color:#52525b}.assignment-share-button:hover{color:#4f46e5;background:#eef2ff}.assignment-share-modal{width:min(560px,100%)}.assignment-share-label{color:#3f3f46;margin-top:20px;font-size:13px;font-weight:650;display:block}.assignment-share-copy-row{gap:8px;margin-top:7px;display:flex}.assignment-share-copy-row input{color:#3f3f46;min-width:0;font:inherit;background:#f7f7f8;border:1px solid #d8d8de;border-radius:8px;outline:none;flex:1;padding:10px 11px;font-size:13px}.assignment-share-copy-row input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61f}.assignment-share-copy-row .courses-primary-button.copied{background:#15803d;border-color:#15803d}.assignment-menu-wrap{position:relative}.assignment-menu{z-index:20;background:#fff;border:1px solid #dedee3;border-radius:10px;width:170px;padding:5px;position:absolute;top:38px;right:0;box-shadow:0 14px 30px #1118271f}.assignment-menu button{color:#3f3f46;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;width:100%;padding:8px 9px;font-size:13px;display:flex}.assignment-menu button:hover{background:#f4f4f5}.assignment-menu button.danger{color:#c24141}.assignments-empty{text-align:center;color:#8a8a94;padding:46px 20px}.assignments-empty p{margin:0 0 8px;font-size:14px}.assignments-empty button{color:#6d28d9;cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:600}.join-code-panel{justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px;padding:22px;display:flex}.join-code-box{align-items:center;gap:12px;display:flex}.join-code-box strong{letter-spacing:.08em;background:#f7f7f8;border:1px solid #dedee3;border-radius:9px;padding:10px 13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px}.student-row{border-bottom:1px solid #f0f0f2;grid-template-columns:38px minmax(0,1fr) 34px 34px;align-items:center;gap:12px;min-height:68px;padding:0 18px;display:grid}.student-row:last-child{border-bottom:0}.student-avatar{color:#6d28d9;background:#f0ebff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:12px;font-weight:750;display:grid}.student-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.student-copy strong{color:#27272a;font-size:14px}.student-copy small{color:#8a8a94;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.gradebook-panel{overflow:hidden}.gradebook-scroll{overflow-x:auto}.gradebook-table{border-collapse:collapse;width:100%;min-width:720px}.gradebook-table th,.gradebook-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #f0f0f2;padding:14px 16px}.gradebook-table th{color:#52525b;background:#fafafa;font-size:12px;font-weight:700}.gradebook-table th small,.gradebook-table td small{color:#9a9aa3;margin-top:4px;font-size:11px;font-weight:500;display:block}.gradebook-table td{color:#27272a;font-size:13px}.grade-link{color:#6d28d9;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-weight:700;display:inline-flex}.grade-empty{color:#b2b2b9}.courses-modal-backdrop{z-index:1000;background:#1118276b;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow:hidden}.courses-modal{background:#fff;border:1px solid #dedee3;border-radius:14px;flex-direction:column;width:min(480px,100%);max-height:calc(100dvh - 40px);display:flex;overflow:hidden;box-shadow:0 24px 60px #11182738}.courses-modal-header{border-bottom:1px solid #ececf0;flex:none;justify-content:space-between;align-items:center;min-height:58px;padding:0 18px 0 20px;display:flex}.courses-modal-header h2{overflow-wrap:anywhere;min-width:0;margin:0;font-size:17px}.courses-modal-header .courses-icon-button:disabled{opacity:.45;cursor:wait}.courses-modal-body{overscroll-behavior:contain;min-height:0;padding:20px;overflow-y:auto}.courses-modal-actions{border-top:1px solid #ececf0;flex:none;justify-content:flex-end;gap:9px;padding:14px 20px;display:flex}.courses-confirm-copy{color:#52525b;margin:0;font-size:14px;line-height:1.55}.courses-confirm-status{color:#71717a;align-items:center;margin:12px 0 0;font-size:13px;line-height:1.45;display:flex}.courses-form{gap:16px;display:grid}.courses-form label{color:#3f3f46;gap:7px;font-size:13px;font-weight:650;display:grid}.courses-form input,.courses-form select{min-width:0;font:inherit;background:#fff;border:1px solid #d8d8de;border-radius:8px;outline:none;padding:10px 11px}.courses-form input:focus,.courses-form select:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61f}.courses-form input:disabled,.courses-form select:disabled{color:#71717a;cursor:wait;background:#f4f4f5}.courses-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.assignment-creation-status{color:#5b21b6;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:9px;align-items:center;gap:9px;margin-top:2px;padding:11px 12px;font-size:13px;font-weight:650;display:flex}@media (width<=720px){.courses-modal-backdrop{padding:10px}.courses-modal{max-height:calc(100dvh - 20px)}.courses-modal-header{padding:0 14px 0 16px}.courses-modal-body{padding:16px}.courses-modal-actions{padding:12px 16px}.courses-brand-bar{padding:0 16px}.courses-page{padding:26px 16px 48px}.courses-page-header,.course-detail-header,.join-code-panel{flex-direction:column;align-items:stretch}.course-detail-actions{width:100%}.course-detail-actions>button:first-child{flex:1}.course-tabs{overflow-x:auto}.course-tabs button{white-space:nowrap}.assignment-row{grid-template-columns:minmax(0,1fr) 36px;gap:6px}.assignment-row.has-share{grid-template-columns:minmax(0,1fr) 36px 36px}.assignment-status{display:none}.content-panel-header{flex-direction:column;align-items:stretch;padding:16px}.join-code-box{flex-direction:column;align-items:stretch}.courses-form-grid{grid-template-columns:1fr}.assignment-share-copy-row{flex-direction:column;align-items:stretch}.assignment-share-copy-row .courses-primary-button{justify-content:center}}.student-dashboard{flex-direction:column;gap:36px;display:flex}.student-dashboard>.courses-page-header{width:100%;margin-bottom:0}.student-upcoming-section,.student-course-list-section,.student-course-section{width:100%;max-width:1180px;margin:0 auto}.student-section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:12px;display:flex}.student-section-heading h2{color:#18181b;margin:0;font-size:18px}.student-section-heading p{color:#8a8a94;margin:4px 0 0;font-size:12px}.student-upcoming-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.student-upcoming-card{background:#fff;border:1px solid #e2e3e8;border-radius:12px;align-items:flex-start;gap:12px;padding:17px;display:flex}.student-upcoming-icon{color:#6d28d9;background:#f0ebff;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}.student-upcoming-card>div:last-child{flex-direction:column;gap:3px;min-width:0;display:flex}.student-upcoming-card strong{color:#27272a;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.student-upcoming-card span,.student-upcoming-card small{color:#8a8a94;font-size:12px}.student-course-card{min-height:220px;color:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e3e8;border-radius:14px;flex-direction:column;justify-content:space-between;padding:22px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;box-shadow:0 1px 2px #11182708}.student-course-card:hover{border-color:#cacbd2;transform:translateY(-2px);box-shadow:0 12px 28px #11182712}.student-course-card-top{justify-content:space-between;align-items:center;display:flex}.student-course-arrow{color:#71717a;font-size:12px;font-weight:650}.student-course-card h2{color:#18181b;letter-spacing:-.02em;margin:0;font-size:21px}.student-course-card p{color:#71717a;margin:7px 0 0;font-size:14px}.student-course-header{margin-bottom:30px}.student-course-section+.student-course-section{margin-top:30px}.student-assignment-row{border-bottom:1px solid #f0f0f2;grid-template-columns:36px minmax(0,1fr) auto auto;align-items:center;gap:13px;min-height:76px;padding:0 16px;display:grid}.student-assignment-row:last-child{border-bottom:0}.student-assignment-status{justify-content:flex-end;display:flex}.student-score,.student-progress-label{border-radius:999px;align-items:center;gap:5px;padding:6px 9px;font-size:12px;font-weight:700;display:inline-flex}.student-score{color:#257343;background:#eef9f1}.student-progress-label{color:#9a6200;background:#fff7e6}.student-all-done{color:#257343;justify-content:center;align-items:center;gap:9px;min-height:110px;font-size:14px;display:flex}.student-join-help{color:#8a8a94;margin:-7px 0 0;font-size:12px}.student-form-error{color:#b42318;margin:0;font-size:12px;font-weight:600}@media (width<=720px){.student-dashboard{gap:28px}.student-assignment-row{grid-template-columns:36px minmax(0,1fr) auto;padding:12px 14px}.student-assignment-status{display:none}.student-assignment-row .courses-primary-button,.student-assignment-row .courses-secondary-button{min-height:36px;padding:0 12px}}.student-shell{background:#fafafa}.student-simple-page{width:100%;max-width:1180px;margin:0 auto;padding-top:34px}.student-page-title-row,.student-course-detail-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:34px;display:flex}.student-page-title-row h1,.student-course-detail-header h1{letter-spacing:-.035em;margin:0;font-size:34px}.student-page-title-row p,.student-course-detail-header p{color:#71717a;margin:7px 0 0;font-size:14px}.student-simple-section,.student-next-section{margin-bottom:34px}.student-simple-heading{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.student-simple-heading h2{margin:0;font-size:14px;font-weight:700}.student-simple-heading span{color:#8a8a94;font-size:12px}.student-course-list,.student-simple-list,.student-next-list,.student-grade-list{background:#fff;border:1px solid #e2e3e8;border-radius:12px;overflow:hidden}.student-course-row{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #ededf0;justify-content:space-between;align-items:center;gap:24px;width:100%;min-height:76px;padding:0 18px;display:flex}.student-course-row:last-child{border-bottom:0}.student-course-row:hover{background:#fafafa}.student-course-row-main{flex-direction:column;gap:5px;min-width:0;display:flex}.student-course-row-main strong{color:#27272a;font-size:15px}.student-course-row-main span{color:#8a8a94;font-size:12px}.student-course-row-meta{color:#71717a;white-space:nowrap;align-items:center;gap:22px;font-size:12px;display:flex}.student-course-row-chevron{transform:rotate(-90deg)}.student-next-list button{width:100%;min-height:64px;color:inherit;text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #ededf0;justify-content:space-between;align-items:center;gap:20px;padding:0 18px;display:flex}.student-next-list button:last-child{border-bottom:0}.student-next-list button:hover{background:#fafafa}.student-next-list button div{flex-direction:column;gap:4px;display:flex}.student-next-list button strong{font-size:14px}.student-next-list button span{color:#8a8a94;font-size:12px}.student-course-grade-summary{text-align:right}.student-course-grade-summary span{color:#8a8a94;text-transform:uppercase;letter-spacing:.07em;font-size:11px;display:block}.student-course-grade-summary strong{margin-top:3px;font-size:24px;display:block}.student-assignment-row.simple{border-bottom:1px solid #ededf0;justify-content:space-between;align-items:center;gap:20px;min-height:70px;padding:0 16px 0 18px;display:flex}.student-assignment-row.simple:last-child{border-bottom:0}.student-assignment-main{flex-direction:column;gap:5px;min-width:0;display:flex}.student-assignment-main strong{font-size:14px}.student-assignment-main span{color:#8a8a94;font-size:12px}.student-assignment-end{align-items:center;gap:14px;display:flex}.student-score-plain{color:#27272a;text-align:right;min-width:52px;font-size:13px;font-weight:700}.student-status-plain{color:#71717a;font-size:12px}.courses-primary-button.compact,.courses-secondary-button.compact{min-height:34px;padding:0 13px;font-size:12px}.student-empty-row{color:#71717a;text-align:center;padding:30px 18px;font-size:13px}.muted-section{opacity:.92}.student-grade-list-head,.student-grade-row{grid-template-columns:minmax(220px,1.6fr) minmax(150px,1fr) 110px 70px;align-items:center;gap:18px;padding:0 18px;display:grid}.student-grade-list-head{color:#8a8a94;text-transform:uppercase;letter-spacing:.04em;background:#fafafa;border-bottom:1px solid #e7e7ea;min-height:42px;font-size:11px;font-weight:700}.student-grade-row{border-bottom:1px solid #ededf0;min-height:70px;font-size:13px}.student-grade-row:last-child{border-bottom:0}.student-grade-row>div:first-child{flex-direction:column;gap:4px;display:flex}.student-grade-row>div:first-child span{color:#8a8a94;font-size:11px}.student-grade-row>button{color:#52525b;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.student-grade-row>button:hover{color:#18181b;text-decoration:underline}@media (width<=720px){.student-simple-page{padding:26px 16px 56px}.student-top-nav{padding:0 18px}.student-course-row-meta span:first-child{display:none}.student-course-row-meta{gap:10px}.student-assignment-row.simple{flex-direction:column;align-items:flex-start;padding:16px}.student-assignment-end{justify-content:space-between;width:100%}.student-grade-list-head{display:none}.student-grade-row{grid-template-columns:1fr auto;gap:8px 14px;padding:14px 16px}.student-grade-row>button,.student-grade-row>span{grid-column:1}.student-grade-row>div:last-child{grid-area:1/2}}.student-upcoming-cards-simple{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.student-upcoming-card-simple{min-height:156px;color:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e3e8;border-radius:14px;flex-direction:column;align-items:flex-start;padding:18px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;box-shadow:0 1px 2px #1118270a}.student-upcoming-card-simple:hover{border-color:#c9cad1;transform:translateY(-2px);box-shadow:0 10px 24px #11182712}.student-upcoming-card-topline{color:#7c3aed;justify-content:space-between;align-items:center;gap:12px;width:100%;font-size:12px;font-weight:700;display:flex}.student-upcoming-card-simple>strong{color:#18181b;letter-spacing:-.015em;margin-top:26px;font-size:17px;line-height:1.25}.student-upcoming-card-simple>small{color:#71717a;margin-top:auto;padding-top:18px;font-size:12px}.student-course-card-grid-simple{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;width:100%;display:grid}.student-course-card-simple{min-height:164px;color:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e3e8;border-radius:14px;padding:0;transition:transform .15s,border-color .15s,box-shadow .15s;position:relative;overflow:hidden;box-shadow:0 1px 2px #1118270a}.student-course-card-simple:hover{border-color:#c9cad1;transform:translateY(-2px);box-shadow:0 10px 24px #11182712}.student-course-card-accent{background:linear-gradient(90deg,#7c3aed,#a78bfa);height:5px}.student-course-card-content{flex-direction:column;justify-content:space-between;min-height:159px;padding:20px;display:flex}.student-course-card-content>div:first-child{flex-direction:column;gap:6px;display:flex}.student-course-card-content>div:first-child strong{color:#18181b;letter-spacing:-.018em;font-size:18px;line-height:1.25}.student-course-card-content>div:first-child span,.student-course-card-footer span{color:#71717a;font-size:12px}.student-course-card-footer{border-top:1px solid #efeff2;justify-content:space-between;align-items:center;gap:16px;padding-top:18px;display:flex}.student-course-card-footer strong{color:#27272a;font-size:13px}@media (width<=760px){.student-upcoming-cards-simple,.student-course-card-grid-simple{grid-template-columns:1fr}.student-upcoming-card-simple{min-height:140px}}.course-grid{grid-auto-rows:170px}.course-card{height:170px;min-height:170px;overflow:hidden}.course-card-main{box-sizing:border-box;justify-content:flex-start;gap:18px;height:100%;min-height:0;padding:22px}.course-card-topline{min-height:32px;padding-right:34px}.course-card h2{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:0;display:-webkit-box;overflow:hidden}.student-course-card-main{width:100%;min-height:164px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.student-course-card-menu{z-index:3;position:absolute;top:16px;right:14px}.student-course-card-menu .courses-icon-button{background:#fffffff0;box-shadow:0 1px 3px #11182714}.student-course-card-menu .courses-popover-menu{left:auto;right:0}.student-course-card-menu{width:34px;height:34px}.student-course-card-menu .courses-popover-menu{z-index:30;background:#fff;border:1px solid #dedee3;border-radius:10px;width:172px;padding:5px;position:absolute;top:40px;right:0;box-shadow:0 14px 30px #1118271f}.student-course-card-menu .danger-menu-item{color:#b42318;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;padding:9px 10px;font-size:13px;font-weight:600;display:flex}.student-course-card-menu .danger-menu-item:hover{background:#fef3f2}.section-filter{color:#71717a;align-items:center;gap:8px;font-size:12px;font-weight:650;display:flex}.section-filter select{color:#3f3f46;min-width:150px;font:inherit;cursor:pointer;background:#fff;border:1px solid #d8d8de;border-radius:8px;outline:none;padding:8px 30px 8px 10px}.section-filter select:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61f}.gradebook-actions{align-items:center;gap:10px;display:flex}.gradebook-empty-row{color:#8a8a94!important;text-align:center!important;padding:34px 16px!important}.courses-secondary-button:disabled{opacity:.5;cursor:not-allowed}@media (width<=720px){.gradebook-actions{flex-direction:column;align-items:stretch;width:100%}.section-filter{justify-content:space-between;width:100%}.section-filter select{flex:1;min-width:0}}.course-join-code{color:#71717a;align-items:center;gap:8px;margin-top:10px;font-size:13px;display:flex}.course-join-code>span{font-weight:600}.course-join-code strong{color:#3f3f46;letter-spacing:.06em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.course-code-copy{color:#71717a;cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;width:28px;height:28px;display:grid}.course-code-copy:hover{color:#27272a;background:#ececf0}.sections-panel-header{min-height:82px}.section-add-form{align-items:center;gap:9px;display:flex}.section-add-form input{box-sizing:border-box;background:#fff;border:1px solid #dedee3;border-radius:9px;width:190px;min-height:40px;padding:0 11px}.section-add-form button:disabled{opacity:.45;cursor:default}.section-row{border-bottom:1px solid #f0f0f2;justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:0 16px 0 20px;display:flex}.section-row:last-child{border-bottom:0}.section-row-copy{flex-direction:column;gap:4px;display:flex}.section-row-copy strong{color:#27272a;font-size:14px}.section-row-copy small{color:#8a8a94;font-size:12px}.section-row-actions{align-items:center;gap:2px;display:flex}@media (width<=700px){.sections-panel-header{flex-direction:column;align-items:stretch;padding-top:16px;padding-bottom:16px}.section-add-form input{width:100%;min-width:0}}.courses-brand-actions{align-items:center;gap:10px;display:flex}.student-license-status{min-height:34px;font:inherit;letter-spacing:.055em;border-radius:999px;justify-content:center;align-items:center;padding:0 11px;font-size:11px;font-weight:800;display:inline-flex}.student-license-status--unlicensed{color:#b42318;cursor:pointer;background:#fff1f1;border:1px solid #efb3b3;transition:background .14s,border-color .14s,transform .14s}.student-license-status--unlicensed:hover{background:#ffe5e5;border-color:#e88484}.student-license-status--unlicensed:active{transform:translateY(1px)}.student-license-status--unlicensed:focus-visible{outline-offset:2px;outline:3px solid #b423182e}.student-license-status--licensed{color:#18763b;cursor:default;background:#ecf8f0;border:1px solid #a6dfba}@media (width<=560px){.student-license-status{padding:0 9px;font-size:10px}.courses-account-button>span{display:none}}.course-lms-summary{color:#71717a;align-items:center;gap:6px;margin-top:10px;font-size:13px;display:flex}.course-lms-summary__icon{color:#027a48;background:#ecfdf3;border-radius:7px;place-items:center;width:24px;height:24px;display:grid}.course-lms-summary strong{color:#3f3f46;text-overflow:ellipsis;white-space:nowrap;max-width:min(480px,50vw);overflow:hidden}.course-lms-button--linked-logo{width:44px;min-width:44px;height:44px;min-height:44px;padding:0}.course-lms-button-logo{object-fit:contain;width:28px;height:28px;display:block}.course-lms-load-error{max-width:1180px;margin:-12px auto 18px}@media (width<=720px){.course-lms-summary strong{max-width:55vw}.course-detail-actions{flex-wrap:wrap}.course-detail-actions .course-lms-button,.course-detail-actions .courses-secondary-button{flex:1}.course-detail-actions .course-lms-button--linked-logo{flex:0 0 44px}}.course-link-success{align-items:flex-start;gap:13px;display:flex}.course-link-success__icon{color:#027a48;background:#ecfdf3;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid}.course-link-success strong{color:#18181b}.course-link-success p{color:#667085;margin:5px 0 0;font-size:14px;line-height:1.55}.assignment-header-actions{align-items:center;gap:10px;display:flex}.lms-publish-changes-button{position:relative}.lms-publish-change-badge{box-sizing:border-box;color:#fff;background:#7c3aed;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:800;line-height:1;display:inline-grid}.is-spinning{animation:.8s linear infinite course-spin}@keyframes course-spin{to{transform:rotate(360deg)}}@media (width<=720px){.assignment-header-actions{flex-direction:column-reverse;align-items:stretch;width:100%}.assignment-header-actions>button{justify-content:center}}.late-badge{color:#b91c1c;white-space:nowrap;background:#fee2e2;border-radius:999px;align-items:center;width:fit-content;padding:2px 7px;font-size:11px;font-weight:700;line-height:1.4;display:inline-flex}.student-assignment-meta{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.grade-link-content{flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;display:inline-flex}.courses-shell{background:#f7f8fa;width:100%;min-height:100dvh}.assignment-list-toolbar{background:#fafafa;border-bottom:1px solid #ececf0;justify-content:space-between;align-items:center;gap:16px;min-height:46px;padding:6px 14px;display:flex}.assignment-search{color:#8a8a94;background:#fff;border:1px solid #d8d8de;border-radius:9px;align-items:center;gap:9px;width:min(360px,100%);min-height:32px;padding:0 11px;display:flex}.assignment-search:focus-within{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61f}.assignment-search input{color:#27272a;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:13px}.assignment-search input::-webkit-search-cancel-button{cursor:pointer}.assignment-list-count{color:#8a8a94;white-space:nowrap;font-size:12px}.assignment-pagination{color:#71717a;border-top:1px solid #ececf0;justify-content:space-between;align-items:center;gap:14px;min-height:48px;padding:6px 14px;font-size:12px;display:flex}.assignment-pagination>div{align-items:center;gap:12px;display:flex}.assignment-pagination .courses-icon-button:disabled{opacity:.4;cursor:not-allowed}.assignment-search-empty{border-bottom:1px solid #f0f0f2}@media (width<=720px){.assignment-list-toolbar,.assignment-pagination{flex-direction:column;align-items:stretch}.assignment-search{width:100%}.assignment-pagination>div{justify-content:space-between}}html:has(.courses-shell){background:#f7f8fa;height:auto;min-height:100%}body:has(.courses-shell){background:#f7f8fa;height:auto;min-height:100%}#root:has(.courses-shell){background:#f7f8fa;height:auto;min-height:100%}.courses-shell{flex:1 0 auto;align-self:stretch;min-height:100dvh}.lms-moodle-setup{border:1px solid var(--courses-border,#dfe4ed);background:#ffffffb8;border-radius:14px;gap:16px;padding:20px;display:grid}.lms-moodle-setup ol{color:var(--courses-muted,#626d80);gap:9px;margin:0;padding-left:22px;line-height:1.5;display:grid}.lms-moodle-setup label{font-weight:750}.lms-moodle-code-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px;display:grid}.lms-moodle-code-row textarea{resize:vertical;border:1px solid var(--courses-border,#cfd5e0);box-sizing:border-box;width:100%;min-height:78px;color:inherit;overflow-wrap:anywhere;background:#fff;border-radius:10px;padding:11px 12px;font:.78rem/1.4 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.lms-moodle-code-row .courses-primary-button{align-self:stretch;min-width:118px}.lms-moodle-code-help{color:var(--courses-muted,#687286);margin:-5px 0 0;font-size:.82rem;line-height:1.45}.lms-moodle-pending{color:#735c1d;background:#fff9e8;border:1px solid #e5d19a;border-radius:10px;margin-top:14px;padding:11px 13px;font-size:.86rem;line-height:1.45}@media (width<=620px){.lms-moodle-code-row{grid-template-columns:1fr}.lms-moodle-code-row .courses-primary-button{min-height:42px}}.course-card--shared{background:linear-gradient(#fff 0%,#f8faff 100%);border-color:#c7d2fe}.course-view-only-badge{color:#4338ca;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;align-items:center;width:fit-content;padding:3px 9px;font-size:11px;font-weight:800;display:inline-flex}.course-title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.course-title-row h1{margin:0}.course-read-only-notice{color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:18px;padding:12px 14px;font-size:14px;line-height:1.45;display:flex}.course-read-only-notice svg{flex:none;margin-top:1px}.assignment-row--read-only .assignment-main{padding-right:12px}.assignment-status--static{cursor:default;-webkit-user-select:none;user-select:none}.observer-help{color:#4b5563;margin:0 0 18px;line-height:1.5}.observer-add-form{align-items:flex-end;gap:10px;margin-bottom:16px;display:flex}.observer-add-form label{color:#374151;flex-direction:column;flex:1;gap:6px;font-size:13px;font-weight:700;display:flex}.observer-add-form input{box-sizing:border-box;width:100%}.observer-list{flex-direction:column;gap:8px;margin-top:16px;display:flex}.observer-row{background:#fff;border:1px solid #e5e7eb;border-radius:9px;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;display:flex}.observer-row>div{flex-direction:column;gap:2px;min-width:0;display:flex}.observer-row strong,.observer-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.observer-row span,.observer-empty{color:#6b7280;font-size:13px}.observer-empty{margin:0;padding:12px 0}.observer-remove-button{flex:none}@media (width<=640px){.observer-add-form,.observer-row{flex-direction:column;align-items:stretch}.observer-remove-button{justify-content:center}}.lms-publish-panel{box-sizing:border-box;background:#fff;border:1px solid #e2e3e8;border-radius:14px;width:100%;padding:22px;box-shadow:0 1px 2px #11182708}.courses-modal-body .lms-publish-panel{box-shadow:none;border:0;border-radius:0;padding:0}.lms-publish-panel--loading{color:#71717a;font-size:14px}.lms-publish-panel__heading,.lms-link-intro{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.lms-publish-title,.lms-link-intro{justify-content:flex-start;align-items:flex-start;gap:12px;display:flex}.lms-publish-title strong,.lms-link-intro strong{color:#18181b;font-size:16px}.lms-publish-title p,.lms-link-intro p{color:#71717a;margin:5px 0 0;font-size:13px;line-height:1.55}.lms-publish-icon{color:#7c3aed;background:#f0ebff;border-radius:10px;flex:none;place-items:center;width:40px;height:40px;display:grid}.lms-publish-icon--connected{color:#027a48;background:#ecfdf3}.lms-publish-panel__actions,.lms-publish-institution-search>div{gap:8px;display:flex}.lms-publish-panel button{align-items:center;gap:8px;display:inline-flex}.lms-publish-status{color:#475467;background:#f2f4f7;border-radius:10px;gap:4px;margin-top:18px;padding:13px 14px;font-size:13px;display:grid}.lms-publish-status--synced{color:#027a48;background:#ecfdf3}.lms-publish-status--partial,.lms-publish-status--error,.lms-publish-error{color:#b42318;background:#fef3f2}.lms-publish-explanation{border-top:1px solid #ececf0;margin-top:18px;padding-top:18px}.lms-publish-explanation h3{color:#27272a;margin:0;font-size:14px}.lms-publish-explanation p{color:#71717a;max-width:680px;margin:6px 0 0;font-size:13px;line-height:1.55}.lms-publish-connect-existing,.lms-publish-institution-search{margin-top:20px}.lms-publish-connect-existing label,.lms-publish-institution-search label{color:#3f3f46;margin-bottom:7px;font-size:13px;font-weight:650;display:block}.lms-publish-connect-existing select,.lms-publish-institution-search input{box-sizing:border-box;color:#27272a;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #d0d5dd;border-radius:9px;outline:none;padding:0 11px}.lms-publish-connect-existing select:focus,.lms-publish-institution-search input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61f}.lms-publish-institution-search input{flex:1;min-width:0}.lms-publish-course-results,.lms-publish-institution-search{gap:8px;display:grid}.lms-publish-course-results{margin-top:10px}.lms-publish-course-results button,.lms-publish-institution{color:#344054;text-align:left;cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:9px;justify-content:flex-start;width:100%;padding:11px}.lms-publish-course-results button:hover,.lms-publish-institution:hover{background:#faf8ff;border-color:#b9a6ef}.lms-publish-course-results span,.lms-publish-institution span{gap:2px;display:grid}.lms-publish-course-results small,.lms-publish-institution small{color:#667085}.lms-publish-divider{color:#98a2b3;letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:12px;margin:22px 0 0;font-size:11px;font-weight:700;display:flex}.lms-publish-divider:before,.lms-publish-divider:after{content:"";background:#ececf0;flex:1;height:1px}.lms-publish-empty{color:#8a8a94;margin:10px 0 0;font-size:13px}.lms-publish-error{border-radius:9px;margin-top:14px;padding:11px 12px;font-size:13px}@media (width<=720px){.lms-publish-panel__heading{flex-direction:column}.lms-publish-panel__actions{flex-direction:column;align-items:stretch;width:100%}.lms-publish-institution-search>div{flex-direction:column;align-items:stretch}}.lms-publish-course-picker{margin-top:14px}.lms-publish-course-browser{margin-top:16px}.lms-publish-course-search{align-items:center;display:flex;position:relative}.lms-publish-course-search>svg{color:#98a2b3;pointer-events:none;position:absolute;left:12px}.lms-publish-course-search input{box-sizing:border-box;color:#27272a;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #d0d5dd;border-radius:9px;outline:none;padding:0 42px 0 38px}.lms-publish-course-search input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61f}.lms-publish-course-search input::-webkit-search-cancel-button{display:none}.lms-publish-course-search__clear{color:#667085;cursor:pointer;background:0 0;border:0;border-radius:7px;width:28px;height:28px;padding:0;position:absolute;right:8px;justify-content:center!important}.lms-publish-course-search__clear:hover{color:#344054;background:#f2f4f7}.lms-publish-course-summary{color:#667085;justify-content:space-between;align-items:center;gap:12px;min-height:20px;margin-top:8px;font-size:12px;display:flex}.lms-publish-course-summary span:last-child{white-space:nowrap}.lms-publish-empty-state--search{margin-top:10px}.lms-publish-course-picker__intro{background:#f8f7fc;border-radius:9px;margin-bottom:10px;padding:12px 13px}.lms-publish-course-picker__intro strong{color:#27272a;font-size:13px}.lms-publish-course-picker__intro p{color:#667085;margin:4px 0 0;font-size:12px;line-height:1.5}.lms-publish-course-results button{justify-content:flex-start;align-items:center;min-width:0}.lms-publish-course-results button>svg{flex:none}.lms-publish-course-results strong,.lms-publish-course-results small{overflow-wrap:anywhere}.lms-publish-course-results button>span:nth-child(2){flex:1;min-width:0}.lms-publish-course-results__action{color:#6941c6;white-space:nowrap;font-size:12px;font-weight:700;flex:none!important;display:block!important}.lms-publish-course-pagination{z-index:1;background:#fff;border-top:1px solid #f0f0f2;justify-content:space-between;align-items:center;gap:12px;margin:12px -2px -2px;padding:10px 2px 2px;display:flex;position:sticky;bottom:-1px}.lms-publish-course-pagination>span{color:#667085;white-space:nowrap;font-size:12px;font-weight:650}.lms-publish-course-pagination button{justify-content:center;min-width:100px}.lms-link-step-heading{align-items:flex-start;gap:12px;display:flex}.lms-link-step-heading>div{min-width:0}.lms-link-step-heading strong{color:#18181b;font-size:16px}.lms-link-step-heading p{color:#71717a;margin:5px 0 0;font-size:13px;line-height:1.55}.lms-link-step-number{color:#6d28d9;background:#ede9fe;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:13px;font-weight:800;display:grid}.lms-link-back{color:#6941c6;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin:0 0 18px;padding:0;font-size:13px;font-weight:700;display:inline-flex}.lms-authorized-institutions{margin-top:20px}.lms-section-label{color:#3f3f46;margin-bottom:8px;font-size:13px;font-weight:650;display:block}.lms-authorized-institution-list{gap:8px;display:grid}.lms-authorized-institution-list button{color:#344054;text-align:left;cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:12px 13px;display:flex}.lms-authorized-institution-list button:hover{background:#faf8ff;border-color:#b9a6ef}.lms-authorized-institution-list button>span:first-child{gap:3px;display:grid}.lms-authorized-institution-list small{color:#667085}.lms-publish-loading-row,.lms-publish-empty-state{color:#71717a;border:1px solid #e4e4e7;border-radius:10px;margin-top:18px;padding:16px;font-size:13px}.lms-publish-empty-state strong{color:#27272a}.lms-publish-empty-state p{margin:5px 0 0;line-height:1.5}.lms-provider-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px;display:grid}.lms-provider-picker>button{color:#344054;text-align:left;cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:11px;align-items:center;gap:12px;width:100%;min-height:88px;padding:14px;display:flex}.lms-provider-picker>button:hover{background:#faf8ff;border-color:#b9a6ef}.lms-provider-picker>button>span:nth-child(2){overflow-wrap:anywhere;flex:1;gap:4px;min-width:0;display:grid}.lms-provider-picker strong,.lms-provider-picker small{min-width:0;display:block}.lms-provider-picker small{color:#667085;line-height:1.4}.courses-modal-body .lms-provider-picker{grid-template-columns:1fr;gap:8px}.courses-modal-body .lms-provider-picker>button{min-height:76px;padding:12px 14px}.lms-provider-mark{background:#fff;border:1px solid #eaecf0;border-radius:11px;flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid;overflow:hidden}.lms-provider-mark img{object-fit:contain;max-width:100%;max-height:100%;display:block}.lms-provider-mark--blackboard img{width:45px;height:auto}.lms-provider-mark--canvas img{width:38px;height:38px}.lms-provider-mark--brightspace img{width:42px;height:42px}.lms-provider-mark--moodle img{width:43px;height:43px}@media (width<=820px){.lms-provider-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.lms-provider-picker{grid-template-columns:1fr}.lms-publish-course-summary{flex-direction:column;align-items:flex-start;gap:2px}.lms-publish-course-pagination{flex-wrap:wrap}.lms-publish-course-pagination>span{text-align:center;order:-1;width:100%}.lms-publish-course-pagination button{flex:1;min-width:0}.lms-publish-course-results__action{display:none!important}}.lms-publish-token-card{background:#fafafa;border:1px solid #e4e4e7;border-radius:11px;gap:10px;margin-top:20px;padding:16px;display:grid}.lms-publish-token-card__site{color:#6941c6;border-bottom:1px solid #e4e4e7;align-items:center;gap:10px;padding-bottom:12px;display:flex}.lms-publish-token-card__site>span{gap:2px;min-width:0;display:grid}.lms-publish-token-card__site strong{color:#27272a}.lms-publish-token-card__site small{color:#667085;overflow-wrap:anywhere}.lms-publish-token-card label{color:#3f3f46;font-size:13px;font-weight:650}.lms-publish-token-card input{box-sizing:border-box;color:#27272a;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #d0d5dd;border-radius:9px;outline:none;padding:0 11px}.lms-publish-token-card input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61f}.lms-publish-token-card>p{color:#667085;margin:0;font-size:12px;line-height:1.5}.lms-publish-token-card>button{width:fit-content}.lms-linked-course-list{gap:10px;margin-top:18px;display:grid}.lms-linked-course-row{background:#fafafa;border:1px solid #e4e4e7;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;display:flex}.lms-linked-course-row__details{gap:3px;min-width:0;display:grid}.lms-linked-course-row__details strong{color:#27272a;overflow-wrap:anywhere;font-size:14px}.lms-linked-course-row__details small{color:#71717a;overflow-wrap:anywhere;font-size:12px}.lms-linked-course-row__pending{color:#c2410c;background:#fff7ed;border-radius:999px;width:fit-content;margin-top:3px;padding:3px 7px;font-size:11px;font-weight:650}@media (width<=640px){.lms-linked-course-row{flex-direction:column;align-items:stretch}.lms-linked-course-row>button{width:fit-content}}.lms-publish-course-results button.is-selected{background:#f5f3ff;border-color:#8b5cf6;box-shadow:0 0 0 1px #8b5cf61f}.lms-publish-course-results button.is-selected>svg,.lms-publish-course-results button.is-selected .lms-publish-course-results__action{color:#6941c6}.lms-publish-course-results button:disabled{cursor:default;opacity:.68}.lms-publish-course-selection{z-index:2;background:#fff;border-top:1px solid #ececf0;justify-content:space-between;align-items:center;gap:12px;margin:12px -2px -2px;padding:12px 2px 2px;display:flex;position:sticky;bottom:-1px}.lms-publish-course-selection>span{color:#667085;font-size:12px;font-weight:650}.lms-publish-course-selection>div{align-items:center;gap:8px;display:flex}.lms-publish-course-selection .courses-primary-button,.lms-publish-course-selection .courses-secondary-button{white-space:nowrap}.lms-publish-course-pagination{margin-bottom:0;padding-bottom:0;position:static}@media (width<=640px){.lms-publish-course-selection{flex-direction:column;align-items:stretch}.lms-publish-course-selection>div{justify-content:flex-end}}.recording-studio-overlay{z-index:1400;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a94;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.recording-studio,.recording-studio *{box-sizing:border-box}.recording-studio{background:#fff;border:1px solid #94a3b852;border-radius:22px;flex-direction:column;width:min(760px,100%);max-height:calc(100dvh - 48px);display:flex;overflow:hidden;box-shadow:0 30px 90px #0f172a47}.recording-studio-header{background:linear-gradient(#fff 0%,#fbfdff 100%);border-bottom:1px solid #e8edf3;justify-content:space-between;align-items:center;gap:18px;padding:22px 24px;display:flex}.recording-studio-title-group{align-items:center;gap:14px;min-width:0;display:flex}.recording-studio-mark{color:#4f46e5;background:#eef2ff;border-radius:13px;flex:none;place-items:center;width:44px;height:44px;display:grid}.recording-studio-title-group h3,.recording-section-heading h4,.recording-settings-card h5{color:#172033;margin:0}.recording-studio-title-group h3{letter-spacing:-.02em;font-size:21px;line-height:1.2}.recording-studio-title-group p,.recording-section-heading p,.recording-settings-card p{color:#738096;margin:4px 0 0;font-size:13px;line-height:1.45}.recording-icon-button{color:#6b778c;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;padding:0;display:inline-grid}.recording-icon-button:hover:not(:disabled){color:#253047;background:#f1f5f9}.recording-icon-button:disabled{opacity:.4;cursor:not-allowed}.recording-close svg{font-size:21px}.recording-studio-body{padding:24px;overflow-y:auto}.recording-simple-grid{grid-template-columns:minmax(0,1fr) 190px;gap:16px;display:grid}.recording-simple-field{gap:8px;display:grid}.recording-simple-field>span{color:#344056;font-size:13px;font-weight:700}.recording-simple-field>small{color:#8792a6;font-size:12px;line-height:1.4}.recording-studio-select,.recording-compact-field select{color:#172033;width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #cfd7e3;border-radius:10px;outline:none;padding:0 38px 0 13px;font-size:14px;transition:border-color .14s,box-shadow .14s}.recording-primary-select{min-height:50px;font-size:15px;font-weight:650}.recording-studio-select:focus,.recording-compact-field select:focus,.recording-tempo-box:focus-within{border-color:#6366f1;box-shadow:0 0 0 3px #6366f124}.recording-tempo-box{background:#fff;border:1px solid #cfd7e3;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;min-height:50px;padding:0 13px;transition:border-color .14s,box-shadow .14s;display:grid}.recording-tempo-box svg{color:#7c86a0;font-size:19px}.recording-tempo-input{color:#172033;width:100%;min-width:0;font-weight:750;box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important;font-size:18px!important}.recording-tempo-box strong{color:#7b879b;letter-spacing:.04em;font-size:12px}.recording-slider-field input{accent-color:#5b5bd6;width:100%}.recording-advanced{margin-top:18px}.recording-secondary-actions{justify-content:space-between;align-items:center;gap:16px;margin-top:18px;display:flex}.recording-secondary-actions .recording-advanced{margin-top:0}.recording-quick-upload{color:#68758a;cursor:pointer;align-items:center;gap:5px;padding:4px 2px;font-size:12px;font-weight:650;display:inline-flex}.recording-quick-upload:hover:not(.disabled){color:#38465d}.recording-quick-upload svg{font-size:17px}.recording-quick-upload.disabled{opacity:.55;cursor:wait}.recording-advanced-content{margin-top:0}.recording-advanced-toggle{color:#7d8798;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;margin:0;padding:4px 2px;font-size:12px;font-weight:650;display:inline-flex}.recording-advanced-toggle:hover{color:#4f5b70}.recording-advanced-toggle>span{display:inline}.recording-advanced-chevron{transition:transform .16s;font-size:18px!important}.recording-advanced.open .recording-advanced-chevron{transform:rotate(180deg)}.recording-advanced-body{background:#fff;border-radius:14px;gap:16px;margin-top:7px;display:grid}.recording-advanced-section{gap:10px;display:grid}.recording-arrangement-section{padding-bottom:2px}.recording-section-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.recording-section-heading h4{font-size:15px}.recording-preset-list{flex-wrap:wrap;gap:6px;display:flex}.recording-preset{color:#445168;cursor:pointer;background:#fff;border:1px solid #d8dfeb;border-radius:999px;min-height:30px;padding:0 10px;font-size:12px;font-weight:700}.recording-preset:hover{background:#f8fafc;border-color:#9aa7bc}.recording-voice-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.recording-voice-card{background:#fbfcfe;border:1px solid #dfe6ef;border-radius:12px;padding:10px}.recording-voice-heading{margin-bottom:7px}.recording-voice-heading>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.recording-voice-heading strong{color:#28344a;font-size:13px}.recording-voice-heading span{color:#7a869a;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.recording-layer-list{gap:6px;display:grid}.recording-layer-row{grid-template-columns:24px minmax(0,1fr) 34px;align-items:center;gap:8px;display:grid}.recording-layer-number{color:#6b778c;background:#e9eef6;border-radius:7px;justify-content:center;place-items:center;width:22px;height:22px;font-size:11px;font-weight:750;display:flex}.recording-layer-row .recording-studio-select{min-height:38px;font-size:13px}.recording-add-layer{color:#5656c7;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin-top:10px;padding:0;font-size:12px;font-weight:750;display:inline-flex}.recording-effects-mixer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:12px;display:grid}.recording-card-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.recording-card-heading h4{color:#172033;margin:0;font-size:15px}.recording-card-heading p{color:#738096;margin:3px 0 0;font-size:12px;line-height:1.4}.recording-card-heading .recording-toggle-row{flex:none}.recording-reverb-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;display:grid}.recording-reverb-controls .recording-slider-field+.recording-slider-field{margin-top:0}.recording-advanced-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.recording-settings-card,.recording-mix-card{background:#fbfcfe;border:1px solid #e0e6ee;border-radius:12px;min-width:0;padding:14px}.recording-settings-card h5{margin-bottom:13px;font-size:13px}.recording-slider-field{gap:7px;display:grid}.recording-slider-field+.recording-slider-field,.recording-slider-field+.recording-compact-field,.recording-compact-field+.recording-compact-field,.recording-toggle-row+.recording-slider-field{margin-top:12px}.recording-slider-label{color:#657187;justify-content:space-between;align-items:center;gap:10px;font-size:11px;display:flex}.recording-slider-label strong{color:#2f3b50;font-variant-numeric:tabular-nums;font-size:11px}.recording-compact-field{gap:6px;display:grid}.recording-compact-field>span{color:#657187;font-size:11px}.recording-compact-field select{min-height:36px;padding-left:10px;font-size:12px}.recording-toggle-row{color:#536077;cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:10px;font-size:12px;font-weight:650;display:grid}.recording-toggle-row input{opacity:0;pointer-events:none;position:absolute}.recording-toggle{background:#cbd3df;border-radius:999px;width:36px;height:20px;transition:background .14s;position:relative}.recording-toggle:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .14s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0f172a33}.recording-toggle-row input:checked+.recording-toggle{background:#5b5bd6}.recording-toggle-row input:checked+.recording-toggle:after{transform:translate(16px)}.recording-mix-grid{gap:12px;display:grid}.recording-mix-row{grid-template-columns:minmax(80px,auto) minmax(0,1fr);align-items:center;gap:14px;display:grid}.recording-mix-row>strong{color:#2c384d;font-size:12px}.recording-upload-card{cursor:pointer;background:#fbfcfe;border:1px dashed #d5dce6;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.recording-upload-card:hover:not(.disabled){background:#f7f9fc;border-color:#8e9bb0}.recording-upload-card>svg{color:#66738a}.recording-upload-card>span{gap:2px;display:grid}.recording-upload-card strong{color:#354158;font-size:13px}.recording-upload-card small{color:#8994a6;font-size:11px}.recording-upload-card.disabled{opacity:.55;cursor:wait}.recording-status,.recording-error{border-radius:9px;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:12px;display:flex}.recording-status{color:#4338ca;background:#eef2ff}.recording-error{color:#b42318;background:#fef2f2}.recording-studio-footer{background:#fbfcfe;border-top:1px solid #e8edf3;justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.recording-secondary-button,.recording-generate-button{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 17px;font-size:13px;font-weight:750;display:inline-flex}.recording-secondary-button{color:#46536a;background:#fff;border:1px solid #d2dae5}.recording-generate-button{color:#fff;background:#4f46e5;border:1px solid #4f46e5;box-shadow:0 6px 16px #4f46e538}.recording-generate-button:hover:not(:disabled){background:#4338ca}.recording-secondary-button:disabled,.recording-generate-button:disabled{opacity:.55;cursor:not-allowed}@media (width<=720px){.recording-studio-overlay{align-items:flex-end;padding:0}.recording-studio{border-radius:20px 20px 0 0;width:100%;max-height:94dvh}.recording-studio-header,.recording-studio-body,.recording-studio-footer{padding-left:18px;padding-right:18px}.recording-simple-grid,.recording-advanced-grid,.recording-effects-mixer-grid,.recording-voice-list,.recording-reverb-controls{grid-template-columns:1fr}.recording-secondary-actions{flex-direction:column;align-items:flex-start;gap:6px}.recording-voice-heading>div{gap:2px;display:grid}.recording-studio-footer{position:sticky;bottom:0}}.recording-settings-mode{background:#f4f7fa;border:1px solid #d9e0ea;border-radius:10px;align-items:center;padding:3px;display:inline-flex}.recording-mode-button{color:#6f7b8f;min-height:30px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:2px;padding:0 11px;font-size:12px;font-weight:700;display:inline-flex}.recording-mode-button.active{color:#343f55;background:#fff;box-shadow:0 1px 3px #0f172a1f}.recording-mode-chevron{transition:transform .16s;font-size:17px!important}.recording-mode-button.active .recording-mode-chevron{transform:rotate(180deg)}.triad-writing-editor-shell,.student-triad-writing,.view-triad-writing{width:100%}.triad-writing-editor-shell .interval-chip:disabled{cursor:default;opacity:.55}.triad-writing-editor-warning{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0 0 14px;padding:10px 12px;font-size:.9rem}.triad-writing-student-inner{width:100%;max-width:560px;margin:0 auto;padding:20px}.triad-writing-aural-shell{width:100%;max-width:400px;margin:0 auto}.triad-writing-card{box-shadow:none;border-radius:18px;padding:22px}.triad-writing-symbol{color:#111827;text-align:center;margin:12px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.55rem,4vw,1.9rem);font-weight:600;line-height:1;display:block}.triad-writing-card .chord-writing-input{max-width:100%;margin:0 auto}.triad-writing-card .chord-writing-input__palette{justify-content:center}.triad-writing-feedback{border-radius:9px;margin-top:10px;padding:10px 12px;font-size:.9rem;line-height:1.4}.triad-writing-feedback.is-correct{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.triad-writing-feedback.is-incorrect{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.triad-writing-grading-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;margin:12px auto 0;padding:10px 12px;font-size:.9rem}.triad-writing-navigation{justify-content:space-between;align-items:center;gap:10px;margin-top:18px;display:flex}.triad-writing-navigation-dots{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.triad-writing-navigation-dot{color:#6b7280;cursor:pointer;width:30px;height:30px;font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;transition:all .12s;display:inline-flex}.triad-writing-navigation-dot.is-current{color:#fff;background:#111827;border-color:#111827}.triad-writing-navigation-dot.is-wrong{color:#fff;background:#dc2626;border-color:#dc2626}.triad-writing-empty{color:#6b7280;text-align:center;padding:24px}.written-triad-id-editor-shell,.student-written-triad-id,.view-written-triad-id{width:100%}.written-triad-id-editor-section{margin-top:18px}.written-triad-id-editor-shell .interval-chip:disabled{cursor:default;opacity:.55}.written-triad-id-editor-warning{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0 0 14px;padding:10px 12px;font-size:.9rem}.written-triad-id-settings-row{align-items:end}.written-triad-id-student-inner{width:100%;max-width:560px;margin:0 auto;padding:20px}.written-triad-id-aural-shell{width:100%;max-width:400px;margin:0 auto}.written-triad-id-card{box-shadow:none;border-radius:18px;padding:22px}.written-triad-id-card .chord-writing-input{max-width:100%;margin:0 auto}.written-triad-id-answer-area{margin-top:14px}.written-triad-id-symbol-answer{color:#374151;flex-direction:column;gap:7px;font-size:.85rem;font-weight:600;display:flex}.written-triad-id-symbol-answer input,.written-triad-id-stacked-answer input{box-sizing:border-box;color:#111827;width:100%;font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:9px;padding:10px 11px;font-size:1rem}.written-triad-id-symbol-answer input{text-align:center;font-family:Georgia,Times New Roman,serif;font-size:1.15rem}.written-triad-id-symbol-answer input:focus,.written-triad-id-stacked-answer input:focus{outline-offset:1px;border-color:#3b82f6;outline:2px solid #3b82f62e}.written-triad-id-symbol-answer input.is-wrong,.written-triad-id-stacked-answer.is-wrong input{background:#fff7f7;border-color:#dc2626}.written-triad-id-stacked-answer{grid-template-columns:1fr;gap:9px;display:grid}.written-triad-id-stacked-answer label{color:#374151;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:10px;font-size:.85rem;font-weight:600;display:grid}.written-triad-id-feedback,.written-triad-id-grading-error{border-radius:9px;margin-top:12px;padding:10px 12px;font-size:.9rem;line-height:1.4}.written-triad-id-feedback.is-correct{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.written-triad-id-feedback.is-incorrect,.written-triad-id-grading-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.written-triad-id-feedback-detail{white-space:nowrap}.written-triad-id-navigation{justify-content:space-between;align-items:center;gap:10px;margin-top:18px;display:flex}.written-triad-id-navigation-dots{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.written-triad-id-navigation-dot{color:#6b7280;cursor:pointer;width:30px;height:30px;font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.written-triad-id-navigation-dot.is-current{color:#fff;background:#111827;border-color:#111827}.written-triad-id-navigation-dot.is-wrong{color:#fff;background:#dc2626;border-color:#dc2626}.written-triad-id-empty{color:#6b7280;text-align:center;padding:24px}.written-triad-id-submitted-symbol{border:1px solid #e5e7eb;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:10px 12px;display:flex}.written-triad-id-submitted-symbol span,.written-triad-id-submitted-stack span{color:#6b7280;font-size:.82rem}.written-triad-id-submitted-symbol strong{font-family:Georgia,Times New Roman,serif;font-size:1.15rem}.written-triad-id-submitted-stack{gap:7px;margin-top:14px;display:grid}.written-triad-id-submitted-stack>div{border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}@media (width<=520px){.written-triad-id-navigation{flex-wrap:wrap;align-items:stretch}.written-triad-id-navigation-dots{order:3;width:100%}}.chord-writing-input{width:100%;max-width:560px}.chord-writing-input__palette{flex-wrap:wrap;gap:.4rem;margin-bottom:.65rem;display:flex}.chord-writing-input__accidental-button,.chord-writing-input__clear{color:#161616;cursor:pointer;font:inherit;background:#fff;border:1px solid #a7a7a7;border-radius:.42rem}.chord-writing-input__accidental-button{min-width:2.55rem;min-height:2.25rem;padding:.28rem .55rem;font-size:1.05rem}.chord-writing-input__accidental-button[aria-pressed=true]{background:#eaf3fd;border:2px solid #1f67b1}.chord-writing-input__accidental-button:disabled,.chord-writing-input__clear:disabled{cursor:default;opacity:.55}.chord-writing-input__staff-shell{border:1px solid #0000;border-radius:.5rem;width:100%;overflow-x:auto}.chord-writing-input__staff-shell.is-correct{border-color:#237a3b}.chord-writing-input__staff-shell.is-incorrect{border-color:#c62828}.chord-writing-input__staff{color:#111;width:100%;min-width:340px;height:auto;display:block;overflow:visible}.chord-writing-input__hitbox{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.chord-writing-input__staff-caption{justify-content:center;align-items:center;width:100%;display:flex}.chord-writing-input__footer{color:#555;justify-content:flex-end;align-items:center;gap:.75rem;min-height:2rem;margin-top:.35rem;font-size:.875rem;display:flex}.chord-writing-input__clear{padding:.35rem .65rem}.moodle-picker-page{color:#172033;box-sizing:border-box;background:#f4f6fb;min-height:100vh;padding:28px}.moodle-picker-card{background:#fff;border:1px solid #dfe4ed;border-radius:18px;width:min(820px,100%);margin:0 auto;overflow:hidden;box-shadow:0 18px 50px #1b28441a}.moodle-picker-header{border-bottom:1px solid #e7eaf0;align-items:center;gap:18px;padding:24px 28px;display:flex}.moodle-picker-header img{object-fit:contain;width:54px;height:54px}.moodle-picker-header span,.moodle-picker-course span{letter-spacing:.12em;color:#6b7485;margin-bottom:4px;font-size:.7rem;font-weight:800;display:block}.moodle-picker-header h1{margin:0;font-size:clamp(1.35rem,3vw,1.8rem)}.moodle-picker-header p{color:#687286;margin:4px 0 0}.moodle-picker-loading{justify-content:center;align-items:center;gap:10px;min-height:240px;display:flex}.moodle-picker-page .is-spinning{animation:.85s linear infinite moodle-picker-spin}@keyframes moodle-picker-spin{to{transform:rotate(360deg)}}.moodle-picker-error{color:#9e2626;background:#fff0f0;border:1px solid #f1bcbc;border-radius:10px;margin:20px 28px 0;padding:12px 14px}.moodle-picker-link{gap:18px;padding:32px 28px;display:flex}.moodle-picker-link__icon{background:#eef2ff;border-radius:14px;flex:0 0 48px;place-items:center;height:48px;display:grid}.moodle-picker-link__copy{flex:1;min-width:0}.moodle-picker-link h2,.moodle-picker-empty h2{margin:0 0 8px}.moodle-picker-link p,.moodle-picker-empty p{color:#626d80;margin:0 0 20px;line-height:1.55}.moodle-picker-link label{margin-bottom:7px;font-weight:700;display:block}.moodle-picker-link textarea{resize:vertical;box-sizing:border-box;width:100%;min-height:92px;font:inherit;border:1px solid #cfd5e0;border-radius:10px;padding:12px}.moodle-picker-link button,.moodle-picker-primary{color:#fff;font:inherit;cursor:pointer;background:#263b80;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:14px;padding:11px 17px;font-weight:750;display:inline-flex}.moodle-picker-link button:disabled,.moodle-picker-primary:disabled{opacity:.55;cursor:not-allowed}.moodle-picker-course{background:#fafbfe;border:1px solid #dfe4ed;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin:24px 28px 18px;padding:16px;display:flex}.moodle-picker-course__linked{color:#23724a;white-space:nowrap;align-items:center;gap:5px;font-weight:750;display:inline-flex}.moodle-picker-toolbar{color:#687286;justify-content:space-between;align-items:center;padding:0 28px 10px;display:flex}.moodle-picker-toolbar button{color:#263b80;font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 0;font-weight:750}.moodle-picker-list{border:1px solid #dfe4ed;border-radius:12px;margin:0 28px;overflow:hidden}.moodle-picker-assignment{cursor:pointer;border-bottom:1px solid #e7eaf0;align-items:center;gap:12px;padding:14px 16px;display:flex}.moodle-picker-assignment:last-child{border-bottom:0}.moodle-picker-assignment:hover{background:#f8f9fc}.moodle-picker-assignment.is-disabled{cursor:not-allowed;opacity:.58;background:#fafbfc}.moodle-picker-assignment.is-disabled:hover{background:#fafbfc}.moodle-picker-assignment input{opacity:0;pointer-events:none;position:absolute}.moodle-picker-checkbox{color:#fff;border:1.5px solid #aeb6c5;border-radius:5px;flex:0 0 20px;place-items:center;height:20px;display:grid}.moodle-picker-assignment input:checked+.moodle-picker-checkbox{background:#263b80;border-color:#263b80}.moodle-picker-assignment__copy{flex:1;min-width:0}.moodle-picker-assignment__copy strong,.moodle-picker-assignment__copy small{display:block}.moodle-picker-assignment__copy small{color:#747d8d;margin-top:3px}.moodle-picker-assignment__existing{color:#566074;white-space:nowrap;background:#eef1f6;border-radius:999px;padding:5px 8px;font-size:.75rem;font-weight:750}.moodle-picker-note{color:#737d8e;margin:10px 28px 0;font-size:.82rem;line-height:1.45}.moodle-picker-actions{justify-content:flex-end;padding:20px 28px 28px;display:flex}.moodle-picker-primary{margin:0}.moodle-picker-empty{text-align:center;padding:38px 28px}@media (width<=620px){.moodle-picker-page{padding:0}.moodle-picker-card{border:0;border-radius:0;min-height:100vh}.moodle-picker-header,.moodle-picker-link{padding-left:18px;padding-right:18px}.moodle-picker-link{flex-direction:column}.moodle-picker-course,.moodle-picker-list{margin-left:18px;margin-right:18px}.moodle-picker-toolbar,.moodle-picker-actions{padding-left:18px;padding-right:18px}.moodle-picker-assignment__existing{display:none}}.purchase-license-page{color:#17171a;background:radial-gradient(circle at top,#aa96ca2e,#0000 38%),#f7f8fa;min-height:100svh;padding:34px 22px 70px}.purchase-license-wrap{width:min(1040px,100%);margin:0 auto}.purchase-license-back{color:#71717a;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:7px 0;font-size:13px;font-weight:650;display:inline-flex}.purchase-license-back:hover{color:#27272a}.purchase-license-header{max-width:650px;margin:38px 0 34px}.purchase-license-header>span{color:#7c3aed;letter-spacing:.09em;text-transform:uppercase;margin-bottom:9px;font-size:12px;font-weight:800;display:block}.purchase-license-header h1{color:#111217;letter-spacing:-.045em;margin:0;font-size:clamp(34px,5vw,48px);line-height:1.05}.purchase-license-header p{color:#71717a;margin:15px 0 0;font-size:16px;line-height:1.6}.purchase-license-layout{grid-template-columns:minmax(0,1fr) minmax(310px,370px);align-items:start;gap:24px;display:grid}.purchase-license-products{gap:14px;display:grid}.purchase-product-card{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #dedee3;border-radius:16px;grid-template-columns:24px minmax(0,1fr) auto;align-items:start;gap:15px;padding:22px;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid;box-shadow:0 1px 2px #11182708}.purchase-product-card:hover{border-color:#bfb8ca;transform:translateY(-1px);box-shadow:0 12px 28px #11182712}.purchase-product-card.is-selected{border-color:#8d74b5;box-shadow:0 0 0 3px #8d74b51f}.purchase-product-radio{color:#fff;border:2px solid #c9c7ce;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.purchase-product-card.is-selected .purchase-product-radio{background:#8d74b5;border-color:#8d74b5}.purchase-product-copy{flex-direction:column;min-width:0;display:flex}.purchase-product-title-row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.purchase-product-title-row strong{color:#18181b;font-size:18px}.purchase-product-title-row small{color:#6d28d9;letter-spacing:.04em;text-transform:uppercase;background:#f0ebff;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:800}.purchase-product-description{color:#71717a;max-width:470px;margin-top:9px;font-size:13px;line-height:1.55}.purchase-product-duration{color:#52525b;margin-top:16px;font-size:12px;font-weight:700}.purchase-product-price{color:#18181b;white-space:nowrap;font-size:20px;font-weight:800}.purchase-summary-card{background:#fff;border:1px solid #dedee3;border-radius:16px;padding:24px;position:sticky;top:24px;box-shadow:0 16px 40px #11182714}.purchase-summary-card h2{margin:0 0 20px;font-size:18px}.purchase-summary-product{border-bottom:1px solid #ececf0;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:20px;display:flex}.purchase-summary-product div{flex-direction:column;gap:4px;min-width:0;display:flex}.purchase-summary-product strong{color:#27272a;font-size:14px}.purchase-summary-product span{color:#8a8a94;font-size:12px}.purchase-coupon-form{margin-top:20px}.purchase-coupon-form label{color:#3f3f46;margin-bottom:7px;font-size:12px;font-weight:700;display:block}.purchase-coupon-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.purchase-coupon-input-wrap{color:#8a8a94;background:#fff;border:1px solid #d8d8de;border-radius:9px;align-items:center;gap:8px;min-width:0;padding:0 11px;display:flex}.purchase-coupon-input-wrap:focus-within{border-color:#8d74b5;box-shadow:0 0 0 3px #8d74b51f}.purchase-coupon-input-wrap input{width:100%;min-width:0;height:40px;font:inherit;text-transform:uppercase;background:0 0;border:0;outline:0;padding:0;font-size:13px}.purchase-coupon-row>button{color:#3f3f46;min-height:42px;font:inherit;cursor:pointer;background:#f7f7f8;border:1px solid #dedee3;border-radius:9px;padding:0 13px;font-size:12px;font-weight:750}.purchase-coupon-row>button:hover:not(:disabled){background:#ededf0}.purchase-coupon-row>button:disabled{cursor:not-allowed;opacity:.55}.purchase-coupon-applied{color:#257343;background:#eef9f1;border:1px solid #b9e1c6;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;min-height:38px;margin-top:10px;padding:8px 10px;font-size:12px;display:flex}.purchase-coupon-applied>div{align-items:center;gap:7px;display:flex}.purchase-coupon-applied button{color:#257343;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:750;text-decoration:underline}.purchase-summary-lines{gap:12px;margin-top:22px;display:grid}.purchase-summary-lines>div{color:#71717a;justify-content:space-between;align-items:center;gap:18px;font-size:13px;display:flex}.purchase-summary-lines strong{color:#27272a}.purchase-summary-discount strong{color:#257343}.purchase-summary-total{border-top:1px solid #ececf0;margin-top:2px;padding-top:16px}.purchase-summary-total span{color:#18181b;font-size:15px;font-weight:750}.purchase-summary-total strong{font-size:23px}.purchase-license-error{color:#b42318;margin:16px 0 0;font-size:12px;font-weight:650;line-height:1.5}.purchase-checkout-button{color:#fff;width:100%;min-height:48px;font:inherit;cursor:pointer;background:#18181b;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:22px;padding:0 18px;font-size:14px;font-weight:750;display:flex}.purchase-checkout-button:hover:not(:disabled){background:#2d2d31}.purchase-checkout-button:disabled{cursor:not-allowed;opacity:.55}.purchase-secure-copy{color:#9a9aa3;text-align:center;margin:12px 0 0;font-size:11px}.purchase-license-loading,.purchase-license-load-error{color:#71717a;background:#fff;border:1px solid #dedee3;border-radius:16px;justify-content:center;align-items:center;gap:10px;min-height:180px;padding:30px;font-size:14px;display:flex}.purchase-license-load-error{color:#b42318}.purchase-license-spinner{animation:.9s linear infinite purchase-license-spin}@keyframes purchase-license-spin{to{transform:rotate(360deg)}}@media (width<=800px){.purchase-license-layout{grid-template-columns:1fr}.purchase-summary-card{position:static}}@media (width<=560px){.purchase-license-page{padding:22px 15px 50px}.purchase-license-header{margin:28px 0 24px}.purchase-product-card{grid-template-columns:22px minmax(0,1fr);padding:18px}.purchase-product-price{grid-column:2;margin-top:4px;font-size:18px}}.auth-brand{align-items:center;gap:10px;margin-bottom:14px;display:flex}.auth-logo{object-fit:contain;border-radius:14px;width:48px;height:48px;padding:4px}.auth-wordmark{color:var(--eartrainer-text);letter-spacing:-1px;font-family:Courier New,Courier,monospace;font-size:26px;font-weight:700;line-height:1.1}.license-redemption-card{background:#fff;border:1px solid #d9d2e5;border-radius:16px;grid-template-columns:auto minmax(0,1fr) minmax(310px,420px);align-items:center;gap:16px;padding:20px;display:grid;box-shadow:0 8px 28px #1118270d}.license-redemption-icon{color:#6d28d9;background:#f0ebff;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.license-redemption-copy h2{color:#18181b;margin:0;font-size:16px}.license-redemption-copy p{color:#71717a;margin:5px 0 0;font-size:13px;line-height:1.5}.license-redemption-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.license-redemption-form input{color:#18181b;min-width:0;height:42px;font:inherit;letter-spacing:.035em;text-transform:uppercase;background:#fff;border:1px solid #d8d8de;border-radius:9px;outline:none;padding:0 12px;font-size:14px;font-weight:650}.license-redemption-form input:focus{border-color:#8d74b5;box-shadow:0 0 0 3px #8d74b51f}.license-redemption-form button{color:#fff;height:42px;font:inherit;cursor:pointer;background:#7c3aed;border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 15px;font-size:13px;font-weight:750;display:inline-flex}.license-redemption-form button:hover:not(:disabled){background:#6d28d9}.license-redemption-form button:disabled{opacity:.55;cursor:default}.license-redemption-error{color:#b42318;grid-column:3;margin:-7px 0 0;font-size:12px;line-height:1.4}.purchase-license-or{color:#8a8a94;letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:14px;margin:25px 0;font-size:11px;font-weight:750;display:flex}.purchase-license-or:before,.purchase-license-or:after{content:"";background:#dedee3;flex:1;height:1px}@media (width<=800px){.license-redemption-card{grid-template-columns:auto minmax(0,1fr)}.license-redemption-form,.license-redemption-error{grid-column:1/-1}}@media (width<=560px){.license-redemption-form{grid-template-columns:1fr}.license-redemption-form button{width:100%}}.billing-complete-page{color:#17131d;background:radial-gradient(circle at top,#aa96ca33,#0000 42%),#f8f7fb;place-items:center;min-height:100svh;padding:32px 20px;display:grid}.billing-complete-card{text-align:center;background:#fff;border:1px solid #e5e1eb;border-radius:24px;width:min(500px,100%);padding:42px 38px;box-shadow:0 24px 60px #2217311f}.billing-complete-icon{color:#8d74b5;background:#f1ecf8;border-radius:50%;place-items:center;width:72px;height:72px;margin:0 auto 24px;display:grid}.billing-complete-card--activated .billing-complete-icon{color:#23824a;background:#eaf8ef}.billing-complete-card:has(.billing-complete-actions) .billing-complete-icon{color:#b85c17;background:#fff3e8}.billing-complete-spinner{animation:.9s linear infinite billing-complete-spin}.billing-complete-eyebrow{color:#8d74b5;letter-spacing:.11em;text-transform:uppercase;margin:0 0 8px;font-size:.76rem;font-weight:800}.billing-complete-card h1{letter-spacing:-.035em;margin:0;font-size:clamp(1.75rem,5vw,2.25rem);line-height:1.12}.billing-complete-message{color:#6b6472;max-width:410px;margin:16px auto 0;font-size:1rem;line-height:1.65}.billing-complete-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:34px;display:grid;position:relative}.billing-complete-progress:before{content:"";background:#e8e3ed;height:2px;position:absolute;top:8px;left:25%;right:25%}.billing-complete-progress span{color:#99919f;padding-top:28px;font-size:.82rem;font-weight:700;position:relative}.billing-complete-progress span:before{content:"";z-index:1;background:#fff;border:3px solid #e8e3ed;border-radius:50%;width:16px;height:16px;position:absolute;top:0;left:50%;transform:translate(-50%)}.billing-complete-progress span.is-active{color:#6f578f}.billing-complete-progress span.is-active:before{border-color:#8d74b5;box-shadow:0 0 0 5px #8d74b521}.billing-complete-progress span.is-complete{color:#23824a}.billing-complete-progress span.is-complete:before{background:#2f9b5c;border-color:#2f9b5c}.billing-complete-redirect{color:#77707d;margin:22px 0 0;font-size:.9rem}.billing-complete-actions{justify-content:center;gap:10px;margin-top:28px;display:flex}.billing-complete-primary,.billing-complete-secondary{min-height:44px;font:inherit;cursor:pointer;border-radius:11px;padding:0 18px;font-weight:750}.billing-complete-primary{color:#fff;background:#8d74b5;border:1px solid #8d74b5;justify-content:center;align-items:center;gap:8px;margin-top:24px;display:inline-flex}.billing-complete-primary:hover{background:#7d63a7;border-color:#7d63a7}.billing-complete-secondary{color:#4e4754;background:#fff;border:1px solid #ddd7e4}.billing-complete-secondary:hover{background:#f7f4fa}.billing-complete-actions .billing-complete-primary{margin-top:0}.billing-complete-help{color:#98919e;margin:18px 0 0;font-size:.8rem}@keyframes billing-complete-spin{to{transform:rotate(360deg)}}@media (width<=560px){.billing-complete-card{border-radius:20px;padding:34px 22px}.billing-complete-actions{flex-direction:column}.billing-complete-primary,.billing-complete-secondary{width:100%}}.billing-canceled-page{color:#17131d;background:radial-gradient(circle at top,#aa96ca33,#0000 42%),#f8f7fb;place-items:center;min-height:100svh;padding:32px 20px;display:grid}.billing-canceled-card{text-align:center;background:#fff;border:1px solid #e5e1eb;border-radius:24px;width:min(500px,100%);padding:42px 38px;box-shadow:0 24px 60px #2217311f}.billing-canceled-icon{color:#b85c17;background:#fff3e8;border-radius:50%;place-items:center;width:72px;height:72px;margin:0 auto 24px;display:grid}.billing-canceled-eyebrow{color:#8d74b5;letter-spacing:.11em;text-transform:uppercase;margin:0 0 8px;font-size:.76rem;font-weight:800}.billing-canceled-card h1{letter-spacing:-.035em;margin:0;font-size:clamp(1.75rem,5vw,2.25rem);line-height:1.12}.billing-canceled-message{color:#6b6472;max-width:410px;margin:16px auto 0;font-size:1rem;line-height:1.65}.billing-canceled-button{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:#8d74b5;border:1px solid #8d74b5;border-radius:11px;margin-top:26px;padding:0 18px;font-weight:750}.billing-canceled-button:hover{background:#7d63a7;border-color:#7d63a7}.billing-canceled-help{color:#98919e;margin:16px 0 0;font-size:.8rem}@media (width<=560px){.billing-canceled-card{padding:34px 22px}}:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--accent:#aa3bff;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;color:var(--text);background:var(--bg);--error-ui-bg:#fff;--error-ui-border:#0000002e;--error-ui-shadow:0 4px 14px #00000024;--error-ui-radius:8px;--error-ui-font-size:13px;--error-ui-font-weight:600;--error-button-gradient-start:#a0afb3;--error-button-gradient-end:#fff}@font-face{font-family:myFirstFont;src:url(/client/fonts/Untitled1.ttf)}@media screen and (-webkit-device-pixel-ratio>=0){@font-face{font-family:myFirstFont;src:url(/client/fonts/Untitled1.ttf)}}@font-face{font-family:Bravura;src:url(/client/fonts/Bravura.otf)format("opentype");font-weight:400;font-style:normal}html{background:#f7f8fa;min-height:100%}body{background:#f7f8fa;min-height:100%;margin:0}#root{border-inline:1px solid var(--border);box-sizing:border-box;background:#f7f8fa;flex-direction:column;min-height:100dvh;display:flex}.assignment-root{flex-direction:column;flex:1;width:100%;height:100dvh;min-height:0;display:flex}.assignment-body{flex:1;min-height:0;display:flex;overflow:hidden}.assignment-sidebar{background:#fafafa;border-right:1px solid #ddd;flex-direction:column;width:280px;min-height:0;display:flex;position:relative;overflow:hidden}.sidebar-header{border-bottom:1px solid #ddd;flex-shrink:0;padding:10px}.question-list{flex:1;min-height:0;padding:10px;overflow:hidden auto}.drag-n-tits{align-items:center;display:flex}.question-row{cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:6px;margin-bottom:4px;padding:6px 8px;display:flex}.question-row.selected{background:#f3f4f6}.question-row:not(.selected):hover{background:#f9fafb}.drag-handle{cursor:grab;opacity:.5;display:flex}.drag-handle:hover{opacity:1}.question-title{white-space:nowrap;flex:1}.row-actions{opacity:0;gap:2px;transition:opacity .15s;display:flex}.question-row:hover .row-actions{opacity:1}.add-question-wrapper{position:relative}.add-question-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;width:100%;padding:10px 14px;font-weight:600}.add-question-btn:hover{background:#1d4ed8}.add-question-btn:active{transform:scale(.97)}.add-question-popover{z-index:100;background:#fff;border-radius:10px;padding:8px;position:absolute;inset:56px 10px 10px;overflow-y:auto;box-shadow:0 12px 32px #00000026}.add-question-popover.is-hidden{visibility:hidden;pointer-events:none}.type-picker-list{width:100%}.type-picker-filter-wrap{z-index:2;background:#fff;margin:-8px -8px 6px;padding:8px;position:sticky;top:-8px}.type-picker-filter{box-sizing:border-box;color:#222;width:100%;font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:7px;outline:none;padding:8px 10px;font-size:14px}.type-picker-filter::placeholder{color:#9ca3af}.type-picker-filter:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb24}.type-picker-empty{color:#6b7280;text-align:center;padding:18px 10px;font-size:13px}.type-group{margin-bottom:6px}.type-group-title{color:#666;text-transform:uppercase;text-align:left;margin:8px 4px;font-size:12px;font-weight:600}.type-row{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;width:100%;padding:6px 4px;display:flex}.type-row-icon{opacity:.85;width:20px;height:20px}.type-row>img{height:35px}.type-row-label{color:#222;font-size:14px}.assignment-editor{flex:1;min-height:0;padding:20px;overflow-y:auto}.empty-state{opacity:.5;font-size:18px}.pmodal-backdrop{z-index:10000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pmodal{z-index:1;background:#fff;width:400px;padding:20px;position:relative}.settings-overlay{background:#0003;justify-content:flex-end;display:flex;position:absolute;inset:0}.settings-panel{background:#fff;width:300px;padding:12px;overflow-y:auto;box-shadow:-4px 0 12px #00000026}.panel-header{justify-content:space-between;margin-bottom:10px;display:flex}.assessment-summary{margin-bottom:12px}.edit-wrapper{margin-left:6px;position:relative}.edit-btn{color:#2563eb;margin-left:4px;padding:2px}.edit-btn:hover{background:#2563eb1a}.assessment-popover{z-index:20;background:#fff;border:1px solid #ddd;border-radius:8px;width:220px;padding:10px;position:absolute;top:35px;left:0;box-shadow:0 10px 25px #00000026}.edit-wrapper{display:inline-flex;position:relative}.assessment-popover{z-index:50;background:#fff;border:1px solid #ddd;border-radius:8px;width:240px;margin-top:8px;padding:10px;position:absolute;left:0;box-shadow:0 10px 25px #00000026}.edit-anchor{align-items:center;display:inline-flex;position:relative}.assessment-summary{display:inline-block;position:relative}.recording-empty{text-align:center;color:#777;cursor:pointer;border:2px dashed #aaa;border-radius:6px;padding:14px}.recording-filled{align-items:center;display:flex}.dialog-overlay{background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:#fff;border-radius:8px;padding:20px}.score-block{border:1px solid #ccc;border-radius:6px;padding:10px;position:relative}.recording-pill{cursor:pointer;color:#777;border:1px dashed #ccc;border-radius:8px;align-items:center;gap:8px;margin-bottom:12px;padding:12px;display:flex}.recording-pill:hover{background:#f9f9f9}.recording-plus{font-size:18px}.recording-filled{align-items:center;gap:12px;margin-bottom:12px;display:flex}.recording-filled audio{background:#fafafa;border:1px solid #ddd;border-radius:999px;height:40px}.recording-actions button{margin-left:6px}.dialog-overlay{z-index:100;background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:#fff;border-radius:10px;width:300px;padding:16px}.dialog-header{justify-content:space-between;align-items:center;display:flex}.dialog-body{flex-direction:column;gap:10px;margin-top:12px;display:flex}.primary{color:#fff;background:#000;border-radius:6px;padding:8px}.upload-btn{text-align:center;cursor:pointer;border:1px solid #ccc;border-radius:6px;padding:8px}.dialog-footer{text-align:right;margin-top:12px}.cancel{color:#666}.danger{color:red}.recording-pill.missing{color:#b33;background:#fff3f3;border:1px dashed #d88}.recording-pill.missing:hover{background:#ffe6e6}.score-toolbar{opacity:0;pointer-events:none;transition:opacity .15s;position:absolute;top:8px;left:8px}.score-block:hover .score-toolbar{opacity:1;pointer-events:auto}.assessment-summary.clickable{cursor:pointer}.assessment-panel{flex-direction:column;gap:16px;display:flex}.panel-group label{justify-content:space-between;align-items:center;display:flex}.panel-group input[type=number]{width:70px}.toggle{align-items:center;gap:8px;display:flex}.assessment-summary-wrapper{position:relative}.assessment-summary{display:inline-block}.summary-line{color:#374151;cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:2px 6px;font-size:12px;transition:background .15s;display:inline-flex}.summary-line:hover{background:#0000000a}.summary-line strong{color:#111827;font-weight:600}.summary-line .muted{opacity:.7}.required-tag{color:#b33;font-weight:500}.assessment-popover{z-index:10000;background:#fff;border:1px solid #ddd;border-radius:10px;width:260px;padding:12px;position:absolute;left:0;box-shadow:0 4px 20px #0000001f}.assessment-summary-wrapper{z-index:1;position:relative}.assessment-summary-wrapper:has(.assessment-popover){z-index:10000}.assessment-panel{flex-direction:column;gap:16px;font-size:14px;display:flex}.panel-group{flex-direction:column;gap:10px;display:flex}.panel-row{justify-content:space-between;align-items:center;display:flex}.panel-row span{color:#444}.panel-row input[type=number]{border:1px solid #ddd;border-radius:6px;width:70px;padding:4px 6px}.panel-toggle{cursor:pointer;align-items:center;gap:8px;display:flex}.panel-toggle input{cursor:pointer}.music-editor{background:#fff;border:1px solid #ddd;border-radius:10px;margin-top:12px;transition:box-shadow .2s,transform .15s;position:relative;overflow:hidden}.music-editor:hover{box-shadow:0 1px 2px #0000000a,0 2px 6px #0000000f}.editor-controls{gap:8px;margin-bottom:10px;display:flex}.control-pill{color:#444;cursor:pointer;background:#f5f5f5;border:1px solid #ddd;border-radius:999px;align-items:center;padding:8px 12px;font-size:14px;transition:all .15s;display:inline-flex}.control-pill:hover{background:#eaeaea;border-color:#ccc}.editor-header>h2{margin-top:0;margin-bottom:0}.score-divider{background:#ccc;height:1px}.answer-title{letter-spacing:.08em;color:#888;margin-left:8px;font-size:11px;font-weight:600}.recording-row{background:#fafafa;border-top-left-radius:8px;border-top-right-radius:8px;align-items:center;transition:all .15s;display:flex}.recording-row.empty{cursor:pointer;color:#2e7d32;background:#f1f8f4;height:46px;padding-left:10px}.recording-row.empty:hover{background:#e8f5e9;border-color:#66bb6a}.recording-icon{opacity:.7;color:#2e7d32;opacity:.9;margin-right:8px;font-size:18px}.recording-row.has-audio{background:#fff}.recording-audio{display:flex}.recording-audio audio{height:32px}.recording-actions{gap:8px;display:flex}.recording-actions button{color:#666;cursor:pointer;background:0 0;border:none;font-size:12px}.recording-actions button:hover{text-decoration:underline}.recording-actions .danger{color:#c44}.recording-inline-error{color:#b42318;margin:8px 10px 0;font-size:12px}.ql-container{border:none!important}.ql-toolbar{border:none!important;border-bottom:1px solid #eee!important}.ql-editor{padding:8px 0;font-size:14px}.instructions-line{margin-top:10px}.instructions-line{margin-top:10px;position:relative}.add-instructions{color:#666;cursor:pointer;font-size:13px}.add-instructions:hover{text-decoration:underline}.instructions-preview{color:#333;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.popover{z-index:1000;background:#fff;border:1px solid #ddd;border-radius:10px;margin-top:4px;padding:12px;position:absolute;box-shadow:0 8px 24px #00000014}.popover-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.popover-body{max-height:250px;overflow:auto}.popover-footer{justify-content:space-between;margin-top:8px;display:flex}.slate-wrapper{border:1px solid #eee;border-radius:8px;padding:8px}.slate-toolbar{gap:6px;margin-bottom:6px;display:flex}.slate-toolbar button{cursor:pointer;background:#f5f5f5;border:none;border-radius:4px;padding:4px 8px}.instructions-preview:hover{text-decoration:underline}.key-hint{color:#888;font-size:12px}.editor-hints kbd{background:#eee;border-radius:4px;padding:1px 4px;font-size:10px}.slate-toolbar{border-bottom:1px solid #eee;align-items:center;gap:6px;margin-bottom:6px;padding:6px 0;display:flex}.slate-toolbar .group{gap:4px;display:flex}.slate-toolbar button{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:13px}.slate-toolbar button:hover{background:#f2f2f2}.slate-toolbar button.active{background:#e0e0e0;font-weight:700}.slate-toolbar .divider{background:#ddd;width:1px;height:16px;margin:0 4px}.editor-hints{color:#888;margin-top:6px;font-size:11px}.score-controls{gap:8px;margin-left:8px;display:flex}.score-controls button{cursor:pointer;padding:6px 10px}.score-controls{gap:6px;height:36px;display:flex}.hover-controls{opacity:0;pointer-events:none;transition:opacity .15s}.music-body:hover .hover-controls,.music-editor.has-active-popover .hover-controls{opacity:1;pointer-events:auto}.music-body{position:relative}.score-popover{width:300px;margin-top:2.5em;margin-left:8px}.popover-title{font-size:14px;font-weight:600}.icon-btn{cursor:pointer;opacity:.6;background:0 0;border:none;font-size:16px}.icon-btn:hover{opacity:1}.popover-body.grid{grid-template-columns:1fr 1fr;gap:10px 12px;display:grid}.popover-body.grid .field:nth-child(3){grid-column:span 2}.field{flex-direction:column;gap:4px;display:flex}.field label{color:#666;font-size:11px}.field input,.field select{border:1px solid #ddd;border-radius:6px;height:30px;padding:4px 6px;font-size:13px}.preview-modal{width:900px;max-height:90vh}.modal-body{overflow-y:auto}.modal-backdrop{z-index:1000;background:#00000073;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.preview-modal{background:#fff;border-radius:12px;flex-direction:column;width:95vw;height:90vh;display:flex;overflow:hidden}.modal-header{z-index:10;background:#fff;justify-content:space-between;align-items:center;margin-bottom:10px;display:flex;position:sticky;top:0}.modal-header>h2{margin-top:0;margin-bottom:0}.modal-body{background:#fafafa;flex:1;padding:24px;overflow-y:auto}.student-assignment{max-width:1200px;margin:0 auto}.assignment-title{margin-bottom:24px;font-size:28px;font-weight:600}.student-question{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;padding:20px;transition:box-shadow .2s,transform .15s;box-shadow:0 1px 2px #0000000a,0 4px 12px #0000000f}.student-question:hover{box-shadow:0 2px 4px #0000000f,0 8px 20px #00000014}.question-header{justify-content:space-between;align-items:center;display:flex}.question-title{color:#111827;font-size:20px;font-weight:600}.editor-question-title{font-size:16px;transition:all .15s}.editor-question-title.active{color:#111827;font-weight:600}.editor-question-title.inactive{color:#6b7280;font-weight:400}.question-points{color:#111827;white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:20px;font-weight:500}.question-instructions{color:#333;margin-top:8px;margin-bottom:16px;font-size:14px;line-height:1.5}.question-divider{background:#eee;height:1px;margin:8px 0}.dictation-controls{align-items:center;gap:10px;margin-bottom:8px;display:flex}.dictation-controls button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;padding:6px 10px}.dictation-controls .meta{color:#666;font-size:13px}.dictation-widget,.singing-widget,.tapping-widget{margin-top:10px}.audio-bar{align-items:center;gap:16px;display:flex}.audio-bar button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:1000px}.top-bar{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.top-bar .left{align-items:center;gap:10px;display:flex}.top-bar .center{text-align:center;flex:1}.points{font-size:16px;font-weight:600}.top-bar .right{width:80px}.meta{color:#666;font-size:13px}.audio-bar{align-items:center;display:flex}.audio-bar .left,.audio-bar .right{align-items:center;gap:10px;display:flex}.type-row.hover{background:#eee}.type-row.active{background:#ddd}.shortcut-hint{color:#9ca3af;letter-spacing:.5px;font-size:11px}.student-page{background:#f4f6f8;min-height:100dvh}.student-page.center{justify-content:center;align-items:center;display:flex}.student-topbar{z-index:99999;background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #00000014}.student-topbar .left{align-items:center;gap:8px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand img{height:30px}.brand-name{letter-spacing:1px;font-family:Courier New,monospace;font-size:20px;font-weight:600}.divider{color:#9ca3af;margin:0 10px}.title{color:#374151;font-weight:500}.muted{color:#6b7280}.student-body{max-width:1200px;margin:0 auto;padding:24px}.submit-btn,.primary-btn{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:8px;padding:10px 16px}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.secondary-btn{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px 16px}.submission-card{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:420px;padding:40px 36px;box-shadow:0 10px 40px #00000014}.success-icon{color:#fff;background:#22c55e;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;font-size:28px;display:flex}.submission-title{color:#111827;margin:0;font-size:22px;font-weight:600}.submission-subtext{color:#6b7280;margin-top:8px;font-size:14px}.submission-complete-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px;display:flex}.submission-lms-warning{color:#92400e;text-align:left;background:#fffbeb;border:1px solid #f59e0b;border-radius:10px;gap:4px;margin-top:20px;padding:14px 16px;font-size:14px;line-height:1.45;display:grid}.submission-lms-notice{box-sizing:border-box;color:#166534;text-align:left;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;flex-direction:column;gap:4px;width:100%;margin-top:16px;padding:13px 15px;display:flex}.submission-lms-notice strong{font-size:14px;font-weight:700}.submission-lms-notice span{font-size:13px;line-height:1.45}.submission-spinner{flex:none;animation:.8s linear infinite submission-spin}.modal-actions .primary-btn{justify-content:center;align-items:center;gap:8px;display:inline-flex}.modal-actions button:disabled{cursor:not-allowed;opacity:.65}@keyframes submission-spin{to{transform:rotate(360deg)}}.progress-block{text-align:left;margin-top:24px}.progress-label{color:#374151;margin-bottom:6px;font-size:13px}.progress-bar{background:#e5e7eb;border-radius:999px;height:8px;overflow:hidden}.progress-fill{background:#2563eb;height:100%;transition:width .3s}.modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:100%;max-width:360px;padding:24px;box-shadow:0 20px 60px #0003}.modal-actions{justify-content:left;gap:10px;margin-top:20px;display:flex}.staff-container:hover .staff-toolbar{opacity:1;pointer-events:auto}.staff-toolbar button:hover{background:#f3f4f6}.errorList{z-index:50;background:var(--error-ui-bg);border:1px solid var(--error-ui-border);border-radius:var(--error-ui-radius);box-shadow:var(--error-ui-shadow);font-size:var(--error-ui-font-size);font-weight:var(--error-ui-font-weight);white-space:nowrap;pointer-events:auto;padding:6px 8px;line-height:1.35;animation:.15s errorFadeIn;position:absolute}.errorItem{color:#e60000;font:inherit;box-shadow:none;cursor:default;background:0 0;padding:2px 0;display:block}.errorItem:hover{transform:none}@keyframes errorFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.music-editor.drag-target{z-index:9100;background:#fff;border:2px dashed #3b82f6;border-radius:8px;box-shadow:0 12px 40px #0003}.music-drag-overlay{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:100;pointer-events:auto;background:#00000059;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.music-editor.drag-target{z-index:110;transform:scale(1.01)}.music-drag-overlay-inner{color:#1d4ed8;background:#fff;border:2px dashed #3b82f6;border-radius:10px;padding:14px 20px;font-size:14px;font-weight:500;box-shadow:0 10px 30px #0003}.field.compact{flex-direction:column;gap:2px;display:flex}.field.compact label{color:#6b7280;font-size:11px}.field.compact select{height:28px;padding:2px 6px;font-size:13px}.durbutton{transition:opacity .15s}.dur-btn{color:#374151;cursor:pointer;background:0 0;border:1px solid #00000014;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .12s;display:flex}.dur-btn:hover{background:#0000000a;transform:scale(1.05)}.dur-btn:active{transform:scale(.95)}.dur-btn.active{color:#111827;background:#00000014;border:1px solid #00000026}.dur-btn-small{border-radius:6px;width:30px;height:30px;font-size:12px}.sdbox{text-align:center;border-width:0 0 2px;border-color:#000;width:28px;height:24px;font-family:myFirstFont;font-size:18px;line-height:24;position:absolute}.anabox{text-align:center;border-width:0 0 2px;border-color:#000;width:42px;height:42px;padding:0;font-family:myFirstFont;font-size:28px;line-height:28;position:absolute}.anabox:focus,.sdbox:focus{border-color:#6315ff;outline:1px dotted #000}.shitass{color:#c44;cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.shitass:hover{text-decoration:underline}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}@keyframes pulse{0%{opacity:1;transform:scale(1.25)}40%{opacity:.85;transform:scale(1)}to{opacity:.7;transform:scale(1)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.info-editor-shell{max-width:980px;padding:24px}.info-editor-top{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.info-editor-title{color:#111827;margin:0;font-size:24px;font-weight:750}.info-editor-subtitle{color:#6b7280;margin:6px 0 0;font-size:14px}.info-add-panel{box-shadow:none;background:0 0;border:0;border-radius:0;flex-wrap:wrap;gap:8px;margin-bottom:18px;padding:0;display:flex}.info-add-button{appearance:none;color:#111827;cursor:pointer;background:#f3f4f6;border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:9px 11px;font-weight:650;transition:background .12s;display:flex}.info-add-button:hover{background:#e5e7eb}.info-empty-state{text-align:center;color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:18px;padding:42px 20px}.info-empty-state h3{color:#111827;margin:10px 0 4px}.info-empty-state p{max-width:460px;margin:0 auto;font-size:14px}.info-block-list{flex-direction:column;gap:16px;display:flex}.info-block-card{box-shadow:none;background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.info-block-card-header{background:#fafafa;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex}.info-block-type{color:#111827;align-items:center;gap:9px;display:flex}.info-block-icon{color:#3730a3;background:#eef2ff;border-radius:9px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.info-block-actions{align-items:center;gap:8px;display:flex}.info-size-select{background:#fff;border:1px solid #d1d5db;border-radius:9px;padding:7px 9px;font-size:13px}.info-icon-button{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.info-icon-button:hover{background:#f9fafb}.info-icon-button.danger{color:#b91c1c}.info-icon-button.danger:hover{background:#fef2f2;border-color:#fecaca}.info-block-fields{flex-direction:column;gap:10px;padding:14px;display:flex}.info-input,.info-textarea{background:#fff;border:1px solid #d1d5db;border-radius:12px;outline:none;padding:11px 12px;font-size:14px}.info-input:focus,.info-textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.info-textarea{resize:vertical;line-height:1.5}.info-upload-button{cursor:pointer;background:#f9fafb;border:1px solid #d1d5db;border-radius:11px;align-items:center;gap:8px;width:fit-content;padding:9px 12px;font-size:13px;font-weight:650;display:inline-flex}.info-upload-button:hover{background:#f3f4f6}.info-upload-button input{display:none}.info-preview{background:#fcfcfd;border-top:1px solid #f1f5f9;padding:14px}.info-preview-label{text-transform:uppercase;letter-spacing:.08em;color:#9ca3af;margin-bottom:10px;font-size:11px;font-weight:750}.info-placeholder{color:#6b7280;text-align:center;background:#fff;border:1px dashed #d1d5db;border-radius:12px;padding:18px;font-size:14px}.info-text{color:#111827;font-size:15px;line-height:1.65}.info-media-frame{aspect-ratio:16/9;background:#111827;border-radius:14px;width:100%;margin:0 auto;overflow:hidden}.info-youtube{border:0;width:100%;height:100%;display:block}.info-image,.info-video{background:#111827;border-radius:14px;width:100%;height:auto;margin:0 auto;display:block}.info-audio{width:100%}.info-size-small{max-width:420px}.info-size-medium{max-width:720px}.info-size-large{max-width:960px}.info-size-full{max-width:100%}.info-link-card{color:#1d4ed8;background:#eff6ff;border:1px solid #dbeafe;border-radius:12px;align-items:center;gap:10px;width:fit-content;max-width:100%;padding:11px 13px;font-weight:650;text-decoration:none;display:flex}.info-link-card span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.info-link-card:hover{background:#dbeafe}.student-info-document{flex-direction:column;gap:22px;padding:4px 0 12px;display:flex}.student-info-document .info-text{color:#111827;font-size:16px;line-height:1.7}.student-info-document .info-media-frame,.student-info-document .info-image,.student-info-document .info-video{margin-left:auto;margin-right:auto}.student-info-document .info-audio{width:100%}.student-info-document .info-link-card{margin-top:2px}.info-pdf-frame{background:#f9fafb;border:1px solid #e5e7eb;border-radius:14px;width:100%;height:640px;margin:0 auto 12px;overflow:hidden}.info-pdf{border:0;width:100%;height:100%}.info-size-small.info-pdf-frame{height:420px}.info-size-medium.info-pdf-frame{height:560px}.info-size-large.info-pdf-frame{height:700px}.info-size-full.info-pdf-frame{height:760px}.info-block-card{cursor:grab}.info-block-card:active{cursor:grabbing}.info-block-card.is-dragging{opacity:.55;transform:scale(.995)}.info-drag-handle{color:#9ca3af;cursor:grab;justify-content:center;align-items:center;padding-right:2px;display:inline-flex}.info-drag-handle:hover{color:#4b5563}.global-settings-modal.compact{background:#fff;border-radius:14px;width:min(640px,100vw - 32px);max-height:calc(100vh - 48px);padding:14px;overflow:auto;box-shadow:0 20px 60px #00000047}.global-settings-header.compact{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px;padding-bottom:10px;display:flex}.global-settings-header.compact h3{margin:0 0 2px;font-size:17px}.global-settings-header.compact p{color:#6b7280;margin:0;font-size:12px}.global-settings-close{cursor:pointer;color:#6b7280;background:0 0;border:0;font-size:24px}.settings-tile{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;height:56px;padding:8px 10px;display:flex}.settings-tile span{color:#374151;font-size:13px}.settings-tile input{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;width:54px;height:28px;font-size:13px}.settings-inline-input em{color:#6b7280;font-size:12px;font-style:normal}.settings-management-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.settings-management-card{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;justify-content:space-between;gap:8px;min-height:74px;padding:10px;display:flex}.settings-management-card strong{margin-bottom:2px;font-size:13px;display:block}.settings-management-card small{color:#6b7280;font-size:11px;display:block}.settings-management-buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.settings-management-buttons button{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;height:30px;font-size:12px}.settings-management-card.danger .settings-management-buttons button{border-color:#fecaca}.global-settings-actions.compact{justify-content:flex-end;margin-top:10px;display:flex}.global-settings-actions.compact button{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:7px;height:32px;padding:0 14px}@media (width<=640px){.settings-grid,.settings-management-grid{grid-template-columns:1fr 1fr}}.mcq-editor-shell{flex-direction:column;display:flex}.mcq-editor-header{justify-content:space-between;align-items:flex-start;display:flex}.mcq-section{background:0 0;border:0;border-radius:0;padding:0}.mcq-choices-section{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:20px}.mcq-section h3{color:#111827;margin:0 0 12px;font-size:14px;font-weight:750}.mcq-row{flex-wrap:wrap;gap:14px;margin-bottom:16px;display:flex}.mcq-row label{color:#374151;align-items:center;gap:8px;font-size:13px;font-weight:650;display:flex}.mcq-row select{background:#fff;border:1px solid #d1d5db;border-radius:10px;height:34px;padding:0 30px 0 10px;font-size:14px}.mcq-choice-list{flex-direction:column;gap:10px;display:flex}.mcq-choice-editor{background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.mcq-choice-main{flex:1;align-items:center;gap:12px;display:flex}.mcq-choice-main input{flex:1}.mcq-choice-letter{color:#fff;background:#111827;border-radius:999px;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:13px;font-weight:800;display:grid}.mcq-choice-editor input[type=text],.mcq-choice-editor input:not([type]){background:#fff;border:1px solid #d1d5db;border-radius:11px;outline:none;width:100%;height:38px;padding:0 12px;font-size:14px}.mcq-choice-editor input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf624}.mcq-correct-label{white-space:nowrap;color:#374151;align-items:center;gap:6px;font-size:13px;font-weight:650;display:inline-flex}.mcq-correct-label input{accent-color:#111827}.mcq-choice-editor .info-icon-button{border-radius:10px;width:34px;height:34px}.mcq-choice-editor .info-icon-button:disabled{opacity:.35;cursor:not-allowed}.info-editor-shell.is-compact{background:0 0;border:0;padding:0}.info-editor-shell.is-compact .info-block-list{margin-top:0}.student-mcq{flex-direction:column;gap:18px;display:flex}.student-mcq-media{margin-bottom:4px}.student-mcq-choices{flex-direction:column;gap:11px;display:flex}.student-mcq-choice{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:15px;grid-template-columns:22px 36px 1fr;align-items:center;gap:10px;min-height:52px;padding:12px 14px;transition:border-color .12s,background .12s,box-shadow .12s;display:grid}.student-mcq-choice:hover{background:#faf9ff;border-color:#c4b5fd}.student-mcq-choice.selected{background:#f5f3ff;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61f}.student-mcq-choice input{accent-color:#7c3aed}.student-mcq-letter{color:#111827;background:#f3f4f6;border-radius:999px;place-items:center;width:32px;height:32px;font-size:13px;font-weight:850;display:grid}.student-mcq-choice.selected .student-mcq-letter{color:#fff;background:#7c3aed}.student-mcq-text{color:#111827;font-size:15px;line-height:1.35}.student-submit-button{color:#fff;cursor:pointer;background:#111827;border:0;border-radius:11px;align-self:flex-start;height:38px;padding:0 16px;font-size:14px;font-weight:750}.student-submit-button:disabled{opacity:.45;cursor:not-allowed}.free-response-editor-shell,.student-free-response{flex-direction:column;display:flex}.free-response-settings-row{flex-wrap:wrap;gap:14px;margin-bottom:14px;display:flex}.free-response-settings-row label{color:#374151;align-items:center;gap:8px;font-size:13px;font-weight:650;display:flex}.free-response-settings-row input{border:1px solid #d1d5db;border-radius:10px;width:90px;height:34px;padding:0 10px}.free-response-preview,.student-free-response-box{resize:none;background:#fff;border:1px solid #d1d5db;border-radius:14px;outline:none;min-height:190px;padding:14px;font-size:15px;line-height:1.45}.free-response-preview{color:#9ca3af;resize:none;background:#f9fafb;width:100%}.student-free-response-box:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf624}.student-free-response-footer{color:#6b7280;flex-wrap:wrap;gap:14px;font-size:13px;display:flex}.free-response-word-count{color:#374151;font-weight:750}.free-response-word-count.warning{color:#b45309}.interval-id-editor-shell,.triad-id-editor-shell,.student-interval-id,.student-triad-id{flex-direction:column;display:flex}.interval-id-editor-shell .mcq-section+.mcq-section,.triad-id-editor-shell .mcq-section+.mcq-section{margin-top:18px}.interval-chip-grid,.interval-id-options{flex-wrap:wrap;gap:10px;display:flex}.interval-chip,.interval-answer-chip{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:999px;min-width:48px;height:36px;font-size:14px;font-weight:750}.interval-chip:hover,.interval-answer-chip:hover{background:#faf9ff;border-color:#c4b5fd}.interval-chip.selected,.interval-answer-chip.selected{color:#5b21b6;background:#f5f3ff;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1f}.interval-id-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;margin-top:8px;padding:14px}.interval-id-card-top{align-items:center;gap:12px;margin-bottom:12px;display:flex}.interval-id-number{color:#fff;background:#111827;border-radius:999px;place-items:center;width:32px;height:32px;font-size:13px;font-weight:850;display:grid}.seventh-id-editor-shell,.student-seventh-id{flex-direction:column;display:flex}.global-settings-modal{background:#fff;border-radius:22px;width:min(720px,100vw - 32px);max-height:calc(100vh - 48px);padding:22px;overflow:auto;box-shadow:0 24px 80px #00000038}.global-settings-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.global-settings-header h3{color:var(--text-h);margin:0;font-size:24px}.global-settings-header p{color:var(--text);margin:5px 0 0;font-size:14px}.global-settings-close{color:var(--text-h);cursor:pointer;background:#f4f1f7;border:0;border-radius:999px;width:34px;height:34px;font-size:22px}.settings-section-menu{gap:12px;display:grid}.settings-section-card{border:1px solid var(--border);cursor:pointer;background:linear-gradient(#fff,#fbf9fd);border-radius:18px;padding:18px;transition:all .15s}.settings-section-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 10px 28px #aa3bff1f}.settings-section-card strong{color:var(--text-h);margin-bottom:4px;font-size:17px;display:block}.settings-section-card small{color:var(--text)}.settings-back{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settings-tile{border:1px solid var(--border);background:#fff;border-radius:16px;padding:14px}.settings-tile span{color:var(--text-h);margin-bottom:8px;font-size:13px;font-weight:700;display:block}.settings-tile input,.settings-tile select,.settings-exception-header input,.settings-exception-header select{border:1px solid var(--border);background:#fbfafc;border-radius:12px;width:100%;padding:10px 12px;font-size:15px}.settings-inline-input{align-items:center;gap:8px;display:flex}.settings-inline-input em{color:var(--text);font-style:normal}.settings-management-grid{gap:12px;margin-bottom:14px;display:grid}.settings-management-card,.settings-exception-card{border:1px solid var(--border);background:#fff;border-radius:18px;padding:16px}.settings-management-card{justify-content:space-between;align-items:center;gap:16px;display:flex}.settings-management-card strong,.settings-exception-card strong{color:var(--text-h)}.settings-management-card.danger{background:snow;border-color:#f0caca}.settings-management-buttons{gap:8px;display:flex}.settings-management-buttons button,.global-settings-actions button{border:1px solid var(--border);cursor:pointer;background:#f8f5fb;border-radius:999px;padding:8px 14px;font-weight:700}.settings-management-card.danger button{color:#b42318}.settings-exception-card{margin-top:14px}.settings-exception-header{grid-template-columns:1fr 160px;align-items:center;gap:12px;margin-bottom:12px;display:grid}.settings-exception-header small{color:var(--text);margin-top:3px;display:block}.settings-student-list{background:#fbfafc;border-radius:14px;gap:6px;max-height:220px;padding:8px;display:grid;overflow:auto}.settings-student-row{border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex}.settings-student-row:hover{background:#f2edf7}.settings-empty{color:var(--text);background:#fbfafc;border-radius:14px;padding:14px}.global-settings-actions{justify-content:flex-end;margin-top:18px;display:flex}@media (width<=640px){.settings-grid{grid-template-columns:1fr}.settings-management-card,.settings-exception-header{grid-template-columns:1fr;display:grid}}.settings-section-card{justify-content:space-between;align-items:center;display:flex}.settings-section-arrow{color:var(--accent);font-size:28px}.settings-management-card small{color:var(--text);margin-top:3px;font-size:12px;display:block}.settings-management-buttons select,.settings-management-buttons input{border:1px solid var(--border);background:#fbfafc;border-radius:999px;min-height:36px;padding:8px 12px;font-size:14px}.settings-management-buttons input[type=datetime-local]{border-radius:12px;min-width:190px}.modal-backdrop.inner{z-index:10002;background:#00000040}.student-select-modal{background:#fff;border-radius:20px;width:min(480px,100vw - 32px);max-height:calc(100vh - 80px);padding:20px;overflow:auto;box-shadow:0 24px 80px #0000003d}.view-aural-id .interval-answer-chip.correct-answer{color:#166534!important;background:#dcfce7!important;border-color:#22c55e!important}.view-aural-id .interval-answer-chip.wrong-answer{color:#991b1b!important;background:#fee2e2!important;border-color:#ef4444!important}.view-aural-id .interval-answer-chip:disabled{opacity:1!important}.settings-menu-list,.settings-control-list{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.settings-menu-row{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:58px;padding:10px 12px;display:flex}.settings-menu-row:last-child,.settings-control-row:last-child{border-bottom:0}.settings-menu-row:hover{background:#f9fafb}.settings-menu-row strong,.settings-menu-row small{display:block}.settings-menu-row strong{color:#111827;margin-bottom:2px;font-size:14px}.settings-menu-row small{color:#6b7280;font-size:12px}.settings-menu-arrow{color:#6b7280;font-size:22px}.settings-control-row{color:#374151;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:16px;min-height:50px;padding:9px 12px;font-size:13px;display:flex}.settings-control-row>span{font-weight:600}.settings-control-row input,.settings-control-row select,.settings-row-actions input,.settings-row-actions select{background:#fff;border:1px solid #d1d5db;border-radius:7px;height:32px;padding:0 9px;font-size:13px}.settings-control-row>input[type=number]{text-align:right;width:78px}.settings-control-row>select{width:170px}.settings-control-row-wide>select{width:min(330px,62%)}.settings-control-with-unit,.settings-row-actions,.settings-button-row{align-items:center;gap:8px;display:flex}.settings-control-with-unit input{text-align:right;width:78px}.settings-control-with-unit small,.settings-count{color:#6b7280;font-size:11px;font-weight:400}.settings-count{margin-top:2px;display:block}.settings-row-actions select{width:76px}.settings-row-actions input[type=date]{width:145px}.settings-row-actions button,.settings-button-row button{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:7px;height:32px;padding:0 11px;font-size:12px}.settings-button-row{border-bottom:1px solid #e5e7eb;justify-content:flex-end;padding:10px 12px}.settings-button-row-all{background:#f9fafb;border-bottom:0}.settings-button-row button.danger{color:#b42318;border-color:#fecaca}.settings-button-row button:disabled{opacity:.45;cursor:default}.settings-note{color:#6b7280;margin:8px 2px 0;font-size:11px}.settings-back-row{margin:-2px 0 10px}.global-settings-actions.compact{margin-top:12px}@media (width<=640px){.settings-control-row,.settings-control-row-wide{align-items:flex-start}.settings-control-row-wide{flex-direction:column}.settings-control-row-wide>select,.settings-row-actions{width:100%}.settings-row-actions input[type=date]{flex:1}}.student-topbar .right{align-items:center;gap:10px;min-width:0;display:flex}.student-assignment-title{text-overflow:ellipsis;white-space:nowrap;color:#374151;text-align:right;min-width:0;max-width:320px;font-size:15px;font-weight:600;display:block;overflow:hidden}.student-topbar-divider{background:#d1d5db;flex-shrink:0;width:1px;height:28px}.student-logout-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 14px;font-size:14px;font-weight:600;line-height:1;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.student-logout-btn:hover,.student-support-btn:hover{color:#6f5699;background:#f6f2fb;border-color:#aa96ca}.student-logout-btn:focus-visible{outline-offset:2px;outline:2px solid #8d74b5}@media (width<=700px){.student-assignment-title{max-width:160px}.student-logout-btn span{display:none}.student-logout-btn{width:38px;padding:0}.student-support-btn span{display:none}.student-support-btn{width:38px;padding:0}.student-support-overlay{align-items:flex-end;padding:12px}.student-support-modal{border-radius:16px;width:100%;max-height:calc(100vh - 24px);padding:20px}.student-support-actions{flex-direction:column-reverse}.student-support-actions button{width:100%}}.student-support-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 14px;font-size:14px;font-weight:600;line-height:1;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.student-support-btn:focus-visible{outline-offset:2px;outline:2px solid #8d74b5}.student-support-overlay{z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1118277a;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.student-support-modal{background:#fff;border:1px solid #e5e7eb;border-radius:16px;width:min(500px,100%);max-height:calc(100vh - 40px);padding:24px;overflow-y:auto;box-shadow:0 24px 70px #1118273d}.student-support-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.student-support-header h2{color:#111827;margin:0;font-size:21px;line-height:1.25}.student-support-header p{color:#6b7280;margin:7px 0 0;font-size:14px;line-height:1.5}.student-support-close{color:#6b7280;cursor:pointer;background:0 0;border:0;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:28px;display:inline-flex}.student-support-close:hover{color:#111827;background:#f3f4f6}.student-support-close:focus-visible{outline-offset:2px;outline:2px solid #8d74b5}.student-support-form{flex-direction:column;gap:18px;margin-top:24px;display:flex}.student-support-field{flex-direction:column;gap:7px;display:flex}.student-support-field>span{color:#374151;font-size:14px;font-weight:600}.student-support-field select,.student-support-field textarea{box-sizing:border-box;color:#111827;width:100%;font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:10px;transition:border-color .15s,box-shadow .15s}.student-support-field select{height:42px;padding:0 12px}.student-support-field textarea{resize:vertical;min-height:128px;padding:11px 12px;line-height:1.5}.student-support-field select:focus,.student-support-field textarea:focus{border-color:#8d74b5;outline:none;box-shadow:0 0 0 3px #8d74b529}.student-support-field textarea::placeholder{color:#9ca3af}.student-support-note{color:#6b7280;margin:-2px 0 0;font-size:12px;line-height:1.5}.student-support-actions{justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.student-support-actions .primary-btn:disabled{opacity:.5;cursor:not-allowed}.student-support-submit{justify-content:center;align-items:center;gap:8px;min-width:128px;display:inline-flex}.student-support-spinner{animation:.8s linear infinite student-support-spin}@keyframes student-support-spin{to{transform:rotate(360deg)}}.student-support-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;padding:11px 13px;font-size:13px;line-height:1.45}.student-support-success{text-align:center;flex-direction:column;align-items:center;padding:12px 8px 4px;display:flex}.student-support-success-icon{color:#059669;background:#ecfdf5;border-radius:999px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:18px;display:flex}.student-support-success h2{color:#111827;margin:0;font-size:22px;line-height:1.25}.student-support-success p{color:#6b7280;max-width:390px;margin:10px 0 24px;font-size:14px;line-height:1.55}.student-support-success .primary-btn{min-width:110px}.student-support-close:disabled{opacity:.45;cursor:not-allowed}.student-support-field select:disabled,.student-support-field textarea:disabled{color:#6b7280;cursor:not-allowed;background:#f9fafb}.intchain{box-sizing:border-box;color:#111827;width:75px;height:75px;font:inherit;text-align:center;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;font-size:28px;line-height:1;position:absolute}.intchain:focus{border-color:#8d74b5;box-shadow:0 0 0 3px #8d74b52e}.intchain:read-only{cursor:default;background:#f3f4f6}#noizy-pointer{cursor:pointer}.fbbox{color:#111;text-align:center;box-sizing:border-box;background:0 0;border:0;border-bottom:2px solid #111;border-radius:0;outline:none;width:36px;height:36px;padding:0;font-family:myFirstFont;font-size:25px;line-height:36px;position:absolute}.fbbox:focus{border-bottom-color:#6315ff;outline:1px dotted #000}.fbbox:read-only{cursor:default;border-bottom-color:#0000}.submissions-section-content{gap:14px;display:grid}.submission-card-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;max-height:min(52vh,480px);padding:2px;display:grid;overflow-y:auto}.submission-card{color:#111827;text-align:left;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:12px;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;min-height:124px;padding:15px;transition:border-color .12s,box-shadow .12s,background .12s;display:flex;position:relative}.submission-card:hover{border-color:var(--accent);box-shadow:0 4px 14px #11182714}.submission-card:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 30%, transparent);outline-offset:2px}.submission-card.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, #fff);box-shadow:0 0 0 1px var(--accent)}.submission-card-check{color:#fff;border:1px solid #d1d5db;border-radius:999px;place-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:grid;position:absolute;top:10px;right:10px}.submission-card.selected .submission-card-check{border-color:var(--accent);background:var(--accent)}.submission-card-name{overflow-wrap:anywhere;max-width:calc(100% - 28px);font-size:14px;font-weight:700;line-height:1.3}.submission-card-email{color:#6b7280;overflow-wrap:anywhere;max-width:100%;font-size:12px}.submission-card-meta{color:#6b7280;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;width:100%;margin-top:auto;padding-top:10px;font-size:11px;display:flex}.submission-card-status{color:#374151;text-transform:capitalize;background:#f3f4f6;border-radius:999px;padding:3px 7px;font-weight:600}.submissions-actions{overflow:visible}@media (width<=640px){.submission-card-grid{grid-template-columns:1fr;max-height:48vh}}.submissions-section{flex-direction:column;gap:16px;min-height:0;display:flex}.submissions-toolbar{background:#f7f8fa;border:1px solid #d8dde6;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:12px;display:flex}.submissions-toolbar-group{align-items:center;gap:8px;display:flex}.submissions-toolbar-all{border-left:1px solid #d8dde6;padding-left:16px}.submissions-toolbar button{color:#24272d;min-height:36px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cfd5df;border-radius:8px;padding:7px 13px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s,box-shadow .12s}.submissions-toolbar button:hover:not(:disabled){background:#f1f3f6;border-color:#aeb6c4}.submissions-toolbar button.danger{color:#b42318;border-color:#e5b8b8}.submissions-toolbar button.danger:hover:not(:disabled){background:#fff1f0;border-color:#d92d20}.submissions-toolbar button:disabled{opacity:.42;cursor:default}.submission-card-grid{grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:12px;min-height:0;padding:2px;display:grid;overflow-y:auto}.submission-card{width:100%;min-height:112px;color:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #d7dce5;border-radius:12px;padding:16px;transition:transform .12s,border-color .12s,background .12s,box-shadow .12s;display:flex;position:relative;box-shadow:0 1px 2px #1018280a,0 1px 3px #1018280f}.submission-card:hover{border-color:#aeb7c5;transform:translateY(-1px);box-shadow:0 2px 4px #1018280f,0 5px 12px #10182814}.submission-card.selected{background:#f5f7ff;border-color:#4969d8;box-shadow:inset 0 0 0 1px #4969d8,0 0 0 3px #4969d829,0 6px 14px #1018281f}.submission-card.selected:hover{background:#f0f3ff;border-color:#3f5fc9;box-shadow:inset 0 0 0 1px #3f5fc9,0 0 0 3px #4969d833,0 7px 16px #10182824}.submission-card:focus-visible{outline-offset:2px;outline:3px solid #4969d847}.submission-card-check{color:#0000;background:#fff;border:1px solid #cdd3dd;border-radius:50%;place-items:center;width:21px;height:21px;font-size:12px;font-weight:800;display:grid;position:absolute;top:12px;right:12px;box-shadow:0 1px 2px #10182814}.submission-card.selected .submission-card-check{color:#fff;background:#4969d8;border-color:#4969d8}.submission-card-content{flex-direction:column;flex:1;justify-content:space-between;gap:16px;min-width:0;padding-right:28px;display:flex}.submission-card-identity{flex-direction:column;gap:3px;min-width:0;display:flex}.submission-card-name{color:#20242b;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;line-height:1.3;overflow:hidden}.submission-card-email{color:#737b88;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.4;overflow:hidden}.submission-card-details{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.submission-card-status{color:#444b56;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650;overflow:hidden}.submission-card-date{color:#858d99;text-align:right;flex-shrink:0;font-size:11px}@media (width<=720px){.submissions-toolbar{flex-direction:column;align-items:stretch}.submissions-toolbar-group{grid-template-columns:1fr 1fr;display:grid}.submissions-toolbar-all{border-top:1px solid #d8dde6;border-left:0;padding-top:12px;padding-left:0}}@media (width<=520px){.submission-card-grid{grid-template-columns:1fr}}.system-check-overlay{z-index:1600;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f172a9e;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:56px 0 0}.system-check-modal{background:#fff;border-radius:18px;width:min(680px,100%);max-height:calc(100% - 48px);padding:26px;overflow-y:auto;box-shadow:0 24px 70px #0f172a47}.system-check-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.system-check-header h2{margin:0 0 6px;font-size:24px}.system-check-header p{color:#64748b;margin:0;line-height:1.5}.system-check-list{gap:10px;display:grid}.system-check-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:24px 24px minmax(0,1fr);align-items:start;gap:10px;padding:14px;display:grid}.system-check-row.passed{background:#f0fdf4;border-color:#bbf7d0}.system-check-row.failed{background:#fef2f2;border-color:#fecaca}.system-check-row.running{background:#eff6ff;border-color:#bfdbfe}.system-check-row-status,.system-check-row-icon{color:#64748b;justify-content:center;align-items:center;min-height:24px;display:flex}.system-check-row.passed .system-check-row-status{color:#16a34a}.system-check-row.failed .system-check-row-status{color:#dc2626}.system-check-row.running .system-check-row-status{color:#2563eb}.system-check-row-content strong{color:#0f172a;display:block}.system-check-row-content p{color:#64748b;margin:4px 0 0;font-size:14px;line-height:1.45}.system-check-inline-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.system-check-inline-actions button,.system-check-test-button{align-items:center;gap:7px;display:inline-flex}.system-check-test-button{margin-top:12px}.system-check-audio{width:min(100%,360px);margin-top:10px}.system-check-notice{color:#92400e;background:#fffbeb;border-radius:10px;align-items:center;gap:9px;margin-top:16px;padding:11px 13px;font-size:14px;display:flex}.system-check-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.system-check-spinner{animation:.85s linear infinite system-check-spin}.student-support-system-check{background:#eff6ff;border:1px solid #dbeafe;border-radius:12px;justify-content:space-between;align-items:center;margin:10px 0 18px;padding:13px 14px;font-size:16px;display:flex}.student-support-system-check div{gap:3px;display:grid}.student-support-system-check span{color:#64748b;font-size:13px}@keyframes system-check-spin{to{transform:rotate(360deg)}}@media (width<=640px){.system-check-overlay{align-items:flex-end;padding:0}.system-check-modal{border-radius:18px 18px 0 0;max-height:100%;padding:20px}.system-check-row{grid-template-columns:22px minmax(0,1fr)}.system-check-row-icon{display:none}.student-support-system-check{flex-direction:column;align-items:stretch}}.system-check-troubleshooting{margin-top:10px}.system-check-help-link,.system-check-report-link{color:#2563eb;font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;font-weight:600;text-decoration:underline}.system-check-help-link:hover,.system-check-report-link:hover{color:#1d4ed8}.system-check-help-panel{background:#ffffffb8;border:1px solid #fecaca;border-radius:10px;margin-top:9px;padding:12px 13px}.system-check-help-panel>strong{font-size:14px}.system-check-help-panel ul{color:#475569;margin:8px 0 0;padding-left:19px;font-size:14px;line-height:1.5}.system-check-help-panel li+li{margin-top:4px}.system-check-help-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}.system-check-help-actions .secondary-btn{align-items:center;gap:7px;display:inline-flex}.system-check-video{background:#0f172a;border-radius:10px;width:min(100%,360px);max-height:240px;margin-top:10px;display:block}.system-check-modal{flex-direction:column;padding:0;display:flex;overflow:hidden}.system-check-header{background:#fff;border-bottom:1px solid #e2e8f0;flex:none;margin:0;padding:26px 26px 20px}.system-check-scroll-body{overscroll-behavior:contain;min-height:0;padding:20px 26px;overflow-y:auto}.system-check-actions{background:#fff;border-top:1px solid #e2e8f0;flex:none;margin:0;padding:16px 26px 20px;box-shadow:0 -8px 20px #0f172a0d}.primary-btn:disabled{color:#64748b;box-shadow:none;cursor:not-allowed;opacity:1;background:#cbd5e1}@media (width<=640px){.system-check-header{padding:20px 20px 16px}.system-check-scroll-body{padding:16px 20px}.system-check-actions{padding:14px 20px 18px}}#root>:not(.eartrainer-loader){animation:.22s ease-out both eartrainer-page-reveal}@keyframes eartrainer-page-reveal{0%{opacity:.82}to{opacity:1}}@media (prefers-reduced-motion:reduce){#root>:not(.eartrainer-loader){animation:none}}.student-body-blocked{pointer-events:none;-webkit-user-select:none;user-select:none}.timed-assignment-intro{box-sizing:border-box;background:radial-gradient(circle at top,#3b82f614,#0000 420px),#f4f6f8;justify-content:center;align-items:center;min-height:calc(100dvh - 57px);padding:40px 24px;display:flex}.timed-assignment-card{background:#fff;border:1px solid #e2e8f0;border-radius:22px;width:min(100%,680px);padding:34px;box-shadow:0 24px 70px #0f172a1a}.timed-assignment-card-header{align-items:flex-start;gap:18px;margin-bottom:24px;display:flex}.timed-assignment-icon{color:#dc2626;background:#fee2e2;border-radius:16px;flex:none;justify-content:center;align-items:center;width:58px;height:58px;margin:0;display:flex}.timed-assignment-heading{align-items:center;min-width:0;height:58px;display:flex}.timed-assignment-eyebrow{color:#dc2626;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:12px;font-weight:750;display:block}.timed-assignment-heading h1{color:#0f172a;letter-spacing:-.025em;margin:0;font-size:clamp(27px,4vw,34px)}.timed-assignment-heading p{color:#64748b;margin:0;font-size:15px;line-height:1.5}.timed-assignment-time-card{background:#fff7f7;border:1px solid #fecaca;border-radius:15px;grid-template-columns:1fr auto;align-items:center;gap:4px 20px;margin-bottom:24px;padding:20px 22px;display:grid}.timed-assignment-time-label{color:#7f1d1d;font-size:13px;font-weight:700}.timed-assignment-time-card strong{color:#b91c1c;letter-spacing:-.02em;grid-column:2;font-size:28px;line-height:1}.timed-assignment-time-note{color:#991b1b;font-size:13px}.timed-assignment-rules{gap:2px;margin-bottom:26px;display:grid}.timed-assignment-rule{border-bottom:1px solid #edf0f3;grid-template-columns:38px 1fr;gap:12px;padding:15px 4px;display:grid}.timed-assignment-rule:last-child{border-bottom:0}.timed-assignment-rule-icon{color:#475569;background:#f1f5f9;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.timed-assignment-rule>div:last-child{gap:3px;display:grid}.timed-assignment-rule strong{color:#1e293b;font-size:14px;line-height:1.35}.timed-assignment-rule span{color:#64748b;font-size:13px;line-height:1.45}.timed-assignment-actions{text-align:center;gap:10px;display:grid}.timed-assignment-begin{border-radius:11px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:50px;font-size:15px;font-weight:700;display:flex}.timed-assignment-begin:disabled{cursor:wait;opacity:.7}.timed-assignment-actions>span{color:#94a3b8;font-size:12px}@media (width<=600px){.timed-assignment-intro{align-items:flex-start;padding:22px 14px}.timed-assignment-card{border-radius:18px;padding:24px 19px}.timed-assignment-card-header{gap:13px}.timed-assignment-icon{border-radius:13px;width:48px;height:48px}.timed-assignment-time-card{grid-template-columns:1fr}.timed-assignment-time-card strong{grid-area:auto/1;margin:4px 0}}.timed-assignment-grade-copy{display:inline}.timed-assignment-grade-example{cursor:default;-webkit-user-select:none;user-select:none}.assignment-timer{color:#0f172a;font-variant-numeric:tabular-nums;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;align-items:baseline;gap:7px;min-width:105px;padding:7px 11px;display:flex}.assignment-timer-label{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.assignment-timer strong{font-size:16px}.assignment-timer-warning{color:#92400e;background:#fffbeb;border-color:#f59e0b}.assignment-timer-danger{color:#b91c1c;background:#fef2f2;border-color:#ef4444}.pmodal-backdrop,.modal-backdrop,.modal-overlay,.dialog-overlay,.student-support-overlay,.timed-assignment-overlay,.system-check-overlay{box-sizing:border-box;width:100dvw;min-height:100dvh}.submission-status-details{color:#64748b;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}
