:root{font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;color:#19334a;background:#f2f5f7;font-synthesis:none;--ink:#19334a;--muted:#526575;--teal:#146b65;--line:#dce4e9;--paper:#fff}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:44px;border:1px solid var(--line);border-radius:7px;padding:10px 16px;background:white;color:var(--ink);font-weight:700}button:hover{background:#eef5f5}button:disabled{cursor:wait;opacity:.55}button.primary{background:var(--teal);border-color:var(--teal);color:white}button.dark{background:var(--ink);color:white;border-color:var(--ink)}button.danger{color:#a23333}button.text{background:transparent;border:0;padding:8px}a{color:var(--teal)}:focus-visible{outline:3px solid #2e93cc;outline-offset:3px}input,select,textarea{width:100%;padding:12px;border:1px solid #bac8d1;border-radius:6px;color:var(--ink);background:white;min-height:44px}textarea{resize:vertical;line-height:1.7}label{display:grid;gap:8px;font-size:14px;font-weight:700}label.check{display:flex;align-items:flex-start;font-weight:400;line-height:1.6}input[type=checkbox]{min-height:22px;width:22px;flex-shrink:0;margin:0}h1,h2,h3,p{margin-top:0}h1{font-size:28px;letter-spacing:-1px;line-height:1.4;margin-bottom:10px}h2{font-size:21px;letter-spacing:-.5px}h3{font-size:16px}p{line-height:1.7}small,.muted{color:var(--muted);font-size:13px;line-height:1.6}.brand{display:flex;gap:12px;align-items:center;font-size:17px;font-weight:800;letter-spacing:-.6px}.brand-mark{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:var(--teal);color:white;border-radius:11px;font-size:22px}.loading{padding:60px;text-align:center}.login-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-story{background:#e8f0f3;padding:clamp(32px,6vw,90px);display:flex;flex-direction:column;justify-content:center}.login-story h1{font-size:clamp(32px,3.5vw,48px);margin-top:72px;letter-spacing:-2px;max-width:520px}.login-story p{max-width:410px;color:#526575}.recording-visual{display:flex;align-items:center;gap:7px;height:100px;margin-top:35px}.recording-visual i{display:block;width:8px;background:#146b65;border-radius:5px;height:var(--h)}.login-form{display:flex;align-items:center;justify-content:center;padding:32px}.login-form form{max-width:380px;width:100%;display:grid;gap:22px}.form-error{color:#a23333;white-space:pre-wrap;font-size:14px;min-height:0;margin:0}.shell{min-height:100vh;display:grid;grid-template-columns:225px 1fr}.sidebar{background:white;border-right:1px solid var(--line);padding:30px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar .brand{margin-bottom:48px}.nav{display:grid;gap:7px}.nav button{text-align:left;background:transparent;border:0;font-weight:600}.nav button.active{color:var(--teal);background:#e9f4f1;font-weight:800}.sidebar-bottom{margin-top:auto;padding-top:24px;border-top:1px solid var(--line);display:grid;gap:10px}.workspace{min-width:0;padding:38px 40px 60px}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}.page-heading p{margin:0;color:var(--muted);font-size:14px}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.summary-strip{display:flex;gap:30px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:25px}.summary-strip span{display:grid;gap:8px;color:var(--muted);font-size:13px}.summary-strip strong{font-size:26px;color:var(--ink);font-variant-numeric:tabular-nums}.summary-strip strong.accent{color:var(--teal)}.panel{background:white;border:1px solid var(--line);border-radius:10px;padding:24px}.filters{display:grid;grid-template-columns:minmax(200px,1fr) 140px 170px 180px;gap:10px;margin-bottom:18px}.table-wrap{overflow-x:auto;background:white;border:1px solid var(--line);border-radius:9px}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th{font-size:12px;color:var(--muted);background:#f8fafb;white-space:nowrap;padding:15px 16px}td{padding:16px;border-top:1px solid #e8edf0;line-height:1.5}td strong{display:block}td small{display:block}tbody tr:hover{background:#f7fafb}td button{min-height:38px;padding:7px 12px;font-size:13px}.badge{display:inline-block;white-space:nowrap;font-size:12px;font-weight:700;border-radius:4px;background:#edf1f4;color:#526575;padding:5px 8px}.badge.ready{background:#e4f3ec;color:#1c6e4a}.badge.reviewed{background:#e9edf7;color:#405681}.badge.failed,.badge.held{background:#fff0df;color:#9a4e17}.badge.processing{background:#e6f3f7;color:#286580}.empty{padding:55px 25px;text-align:center;color:var(--muted)}.empty strong{color:var(--ink);display:block;font-size:17px;margin-bottom:10px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:18px 0}.review-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,1.15fr);gap:24px}.review-meta{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:20px}.review-meta h2{margin-bottom:8px}.review-meta p{font-size:14px;margin-bottom:5px;color:var(--muted)}audio{width:100%;margin:12px 0}.section-title{margin-top:26px;margin-bottom:12px}.feedback-block{padding:16px 0;border-bottom:1px solid var(--line)}.feedback-block:last-child{border-bottom:0}.feedback-block p{font-size:14px;margin-bottom:8px}.feedback-block .evidence{font-size:13px;color:var(--muted)}.notice{background:#edf4f7;border-left:3px solid #56849c;padding:14px 16px;font-size:13px;line-height:1.7;margin:16px 0}.notice.warn{background:#fff5e7;border-color:#ca8a36}.reference{white-space:pre-wrap;background:#f7f9fa;padding:18px;font-size:15px;line-height:1.9;border-radius:6px;max-height:280px;overflow-y:auto;overflow-wrap:anywhere}.copy-preview{min-height:260px}.form-grid{display:grid;gap:18px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.stack{display:grid;gap:20px}.student-shell{max-width:660px;margin:auto;padding:24px 24px 64px}.student-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}.student-intro{margin-bottom:24px}.student-intro h1{font-size:27px}.student-intro p{font-size:14px;color:var(--muted);margin-bottom:0}.student-tabs{display:flex;gap:8px;margin-bottom:24px}.student-tabs button{flex:1}.student-tabs button.active{background:var(--ink);color:white}.record-area{padding:32px 16px;text-align:center;background:#f5f9fa;margin:24px 0;border-radius:12px;border:1px solid #dce8ec}.record-button{width:100px;height:100px;border-radius:50%;background:var(--teal);border:8px solid #daeeea;color:white;font-size:17px;box-shadow:0 0 0 1px #daeeea}.record-button:hover{background:#10564f}.record-button.recording{background:#b8463d;border-color:#f6ddd9;box-shadow:0 0 0 1px #f6ddd9}.timer{font-size:32px;font-variant-numeric:tabular-nums;font-weight:700;margin:15px 0 7px}.record-area p{font-size:13px;margin:0;color:var(--muted)}.file-input{padding:12px;font-size:13px}.student-history{padding:20px 0;border-bottom:1px solid var(--line)}.student-history h3{margin-bottom:8px}.student-history .row{justify-content:space-between}.student-history small{display:block}.submit-btn{width:100%;margin-top:18px}.success-box{background:#e9f4ee;border:1px solid #b9d9c8;padding:22px;border-radius:8px;margin-bottom:24px}.success-box h2{color:#1c6e4a;margin-bottom:8px}.success-box p{font-size:14px;margin:0}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#19334a;color:white;border-radius:8px;padding:14px 22px;z-index:100;max-width:90vw;box-shadow:0 6px 24px #19334a30}dialog{border:1px solid var(--line);border-radius:12px;max-width:640px;width:calc(100% - 32px);padding:28px;color:var(--ink);max-height:90vh;overflow-y:auto}dialog::backdrop{background:#19334a70}dialog h2{padding-right:32px}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.dialog-head button{margin-top:-10px;margin-right:-12px}.table-note{font-size:12px;color:var(--muted);margin:14px 0}.settings-line{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);gap:18px}.settings-line p{font-size:14px;margin:6px 0 0;color:var(--muted)}.progress{width:100%;height:10px;accent-color:var(--teal)}.footnote{font-size:12px;text-align:center;color:var(--muted);margin-top:30px;line-height:1.7}ul{padding-left:22px;line-height:1.8;font-size:14px}.checklist{display:grid;gap:10px}.list-row{display:flex;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}[hidden]{display:none!important}@media(max-width:1150px){.workspace{padding:28px 24px}.shell{grid-template-columns:190px 1fr}.sidebar{padding:24px 14px}.filters{grid-template-columns:1fr 1fr}.review-layout{grid-template-columns:1fr}.summary-strip{gap:23px}}@media(max-width:700px){.login-layout{display:block}.login-story{padding:28px}.login-story h1{font-size:28px;margin-top:32px;letter-spacing:-1px}.login-story p{margin-bottom:0}.recording-visual{display:none}.login-form{padding:32px 24px}.shell{display:block}.sidebar{height:auto;position:static;padding:18px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand{margin-bottom:18px}.nav{display:flex;gap:4px;overflow-x:auto}.nav button{white-space:nowrap;padding:10px}.sidebar-bottom{display:none}.workspace{padding:26px 16px}.page-heading{display:block}.page-actions{margin-top:16px}.summary-strip{gap:20px;justify-content:space-between}.summary-strip strong{font-size:23px}.summary-strip span{font-size:12px}.filters{grid-template-columns:1fr 1fr}.panel{padding:20px}.two-col{grid-template-columns:1fr}.student-shell{padding:20px 16px 40px}.student-header .brand{font-size:16px}.student-intro h1{font-size:25px}.review-layout{gap:16px}td,th{padding:13px 12px}.review-layout>.panel{min-width:0}.settings-line{align-items:flex-start}.student-shell .panel{padding:20px}.page-heading h1{font-size:26px}}
:root .recording-visual i{height:35px}.recording-visual i:nth-child(3n){height:75px}.recording-visual i:nth-child(4n){height:55px}.recording-visual i:nth-child(5n){height:95px}
:root{--voice-glow:#f2a756}.welcome-motion{width:100%;height:220px;display:block;margin-top:18px}.login-story{background:#152f43;color:white}.login-story p{color:#ccdae4}.login-story .brand-mark{background:#e6b274;color:#19334a}.record-area{position:relative;isolation:isolate;overflow:hidden;background:#173346;border-color:#173346;padding-top:48px;color:white}.record-area .voice-motion{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.record-area .record-button{position:relative;background:#193b4d;border-color:#4a6672;color:white;box-shadow:0 0 0 1px #9eb2bb}.record-area .record-button:hover{background:#275065}.record-area .record-button.recording{background:#93452c;border-color:#e4a265}.record-area p{color:#d9e5eb}.record-area .timer{position:relative}.primary,button{transition:background-color 140ms ease,transform 140ms ease}button:active:not(:disabled){transform:translateY(1px)}dialog[open]{animation:dialog-in 180ms ease-out}.success-box{animation:success-in 260ms ease-out}.review-layout{animation:review-in 180ms ease-out}@keyframes dialog-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes success-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes review-in{from{opacity:.4;transform:translateX(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:700px){.welcome-motion{height:115px;margin-top:12px}.login-story h1{margin-top:25px}.login-form{padding-top:24px}}
.date-filters{display:flex;gap:12px;margin:0 0 20px}.date-filters label{width:190px}.date-filters input{min-width:0}@media(max-width:700px){.date-filters label{width:50%}}

.recording-options{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:24px 0}.recording-options .record-area{margin:0;min-height:270px;padding:34px 18px 22px}.upload-area{display:flex;flex-direction:column;justify-content:center;padding:28px 22px;background:#f1f6f6;border-radius:14px;min-width:0}.upload-area h3{font-size:24px;margin:0}.upload-area input{width:100%;min-width:0;margin:10px 0 14px}.upload-area small{line-height:1.7}.assignment-optional{margin:22px 0}.assignment-optional label{margin-top:16px}.assignment-optional summary{cursor:pointer;color:#426479}@media(max-width:700px){.recording-options{grid-template-columns:1fr;gap:16px}.recording-options .record-area{min-height:240px}.upload-area{padding:22px}}

.brand{gap:12px;flex-wrap:wrap}.academy-logo{display:block;width:190px;height:auto;object-fit:contain}.service-name{font-size:17px;font-weight:600;white-space:nowrap;padding-left:12px;border-left:1px solid #ccd7dd}.login-story .academy-logo{background:#fff;border-radius:6px;padding:8px 12px;width:220px}.login-story .service-name{border-color:#637985}.sidebar .brand{padding-right:0;gap:8px}.sidebar .academy-logo{width:174px}.sidebar .service-name{border:0;padding-left:12px;font-size:14px}.privacy-detail{font-size:13px;line-height:1.8;color:#476477}.privacy-detail summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}.privacy-detail p{margin:12px 0}.student-header .brand{flex-wrap:nowrap}@media(max-width:700px){.student-header .academy-logo{width:155px}.student-header .service-name{font-size:14px;padding-left:9px}.student-header .brand{gap:9px}}

/* Shared academy branding, focused dark login surface. */
.login-layout{min-height:100svh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(48px,7vw,108px);padding:70px max(32px,calc((100vw - 1180px)/2));background:#08121e;color:#e9f1fa;position:relative;isolation:isolate}
.login-layout::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 18% 72%,#16333c55,transparent 48%),radial-gradient(ellipse at 87% 12%,#17304b44,transparent 40%)}
.login-story{background:transparent;padding:0;min-width:0}.login-story .brand{gap:16px}.login-story .academy-logo{width:248px;padding:9px 13px;border-radius:7px}.login-story .service-name{color:#b4c9dc;border-color:#385067;font-size:16px}
.login-story h1{font-size:clamp(36px,3.3vw,51px);line-height:1.45;letter-spacing:-2px;margin:42px 0 20px;font-weight:750}.login-story p{font-size:17px;line-height:1.95;color:#a5bdd1}.login-story .welcome-motion{height:205px;margin-top:22px;mask-image:radial-gradient(ellipse,#000 40%,transparent 72%)}
.login-form{padding:0;display:block;background:transparent;min-width:0}.login-form form{width:100%;max-width:470px;margin:0 auto;padding:40px;background:#101f30;border:1px solid #294056;border-radius:22px;box-shadow:0 26px 80px #0003;gap:23px}.login-form h2{font-size:27px;color:#ecf4fb;letter-spacing:-.8px;margin-bottom:12px}.login-form label{font-size:14px;color:#b4cadd;font-weight:500}.login-form .muted,.login-form small{color:#9db4c8}.login-form input{background:#0b1725;border-color:#345069;color:#edf5fc;min-height:52px;border-radius:9px}.login-form input::placeholder{color:#7892a8}.login-form input:focus{border-color:#8fded2;outline:2px solid #8fded233;outline-offset:2px}.login-form button{min-height:51px;border-radius:9px;background:transparent;border-color:#35536d;color:#d9eaf7}.login-form button:hover{background:#1b354c}.login-form button.primary{background:#91ded3;border-color:#91ded3;color:#0a2630}.login-form button.primary:hover{background:#a9e9df}.login-form small{padding-top:9px;border-top:1px solid #294056;font-size:12px;line-height:1.9}.login-form .form-error{color:#ffb1a5}.login-form input:-webkit-autofill{-webkit-text-fill-color:#edf5fc;box-shadow:0 0 0 1000px #0b1725 inset}
body:has(.login-layout) dialog{background:#101f30;color:#e9f1fa;border:1px solid #345069;box-shadow:0 30px 100px #0008}body:has(.login-layout) dialog input,body:has(.login-layout) dialog select{background:#0b1725;color:#edf5fc;border-color:#3b5870}body:has(.login-layout) dialog .muted,body:has(.login-layout) dialog .privacy-detail{color:#b1c6d8}body:has(.login-layout) dialog .notice{background:#172d41;color:#d4e2ee;border-color:#739eaf}body:has(.login-layout) dialog .primary{background:#91ded3;border-color:#91ded3;color:#0a2630}body:has(.login-layout) dialog .form-error{color:#ffb1a5}body:has(.login-layout) dialog #close-modal{color:#d4e2ee;background:transparent}body:has(.login-layout) dialog label.check{color:#c5d6e5}
@media(max-width:850px){.login-layout{gap:35px;padding:44px 28px}.login-story h1{font-size:34px}.login-story .brand{flex-wrap:wrap}.login-form form{padding:29px}.login-story .academy-logo{width:220px}}
@media(max-width:700px){.login-layout{display:flex;flex-direction:column;align-items:stretch;gap:22px;padding:30px 20px 42px}.login-story .brand{flex-wrap:nowrap;gap:13px}.login-story .academy-logo{width:192px}.login-story .service-name{font-size:14px}.login-story h1{font-size:31px;line-height:1.4;letter-spacing:-1.4px;margin:28px 0 12px}.login-story p{font-size:14px;line-height:1.8}.login-story .welcome-motion{height:90px;margin-top:0}.login-form form{padding:27px 23px;max-width:none;gap:20px;border-radius:17px}.login-form h2{font-size:23px}.login-form{padding:0}}

/* Teacher console: shared blue surfaces, readable data hierarchy. */
.shell{--ink:#e2edf7;--muted:#9bb4c9;--teal:#82d9df;--line:#294157;--paper:#101f30;background:#08131f;color:var(--ink)}
.shell .sidebar{background:#0c1927;border-color:#223a4e}.shell .sidebar .academy-logo{width:100%;max-width:174px;padding:7px 9px;background:white;border-radius:5px}.shell .sidebar .brand{margin-bottom:34px}.shell .sidebar .service-name{color:#a7c4d9;letter-spacing:2px;padding:4px 0 0}.shell .workspace{min-width:0}.shell .nav button{color:#b8ccdc;border:1px solid transparent}.shell .nav button:hover{background:#122a3f}.shell .nav button.active{background:#15374d;border-color:#2f5b74;color:#8adce9}.shell .sidebar-bottom small{color:#8aa7bd}.shell .page-heading p{color:#98b4cb}.shell .panel,.shell .table-wrap{background:#101f30;border-color:#294157}.shell input,.shell select,.shell textarea{background:#0a1826;border-color:#304b62;color:#e3edf6;color-scheme:dark}.shell input::placeholder,.shell textarea::placeholder{color:#7d9ab1}.shell input:focus,.shell select:focus,.shell textarea:focus{outline:2px solid #77cdda;outline-offset:1px}.shell button{background:#152b40;color:#cce3f4;border-color:#304b62}.shell button:hover{background:#20435c}.shell button.primary{background:#246e9d;border-color:#378dbb;color:#fff}.shell button.primary:hover{background:#2b82b7}.shell button.text{background:transparent}.shell button.danger{color:#ffb6a6}.shell .summary-strip{background:#101f30;border:1px solid #294157;border-radius:12px;padding:25px 28px;margin:0;gap:clamp(18px,3vw,50px);align-items:center}.shell .summary-strip strong{font-size:32px;color:#dcecf8}.shell .summary-strip strong.accent{color:#7fdfed}.shell .summary-strip small{font-size:13px}.inbox-overview{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:18px;margin-bottom:26px}.queue-visual{position:relative;display:flex;align-items:center;justify-content:center;background:#0d2030;border:1px solid #294157;border-radius:12px;min-height:142px;overflow:hidden}.queue-visual canvas{width:108px;height:132px;flex-shrink:0}.queue-visual strong{display:block;font-size:14px;color:#a4e1f1}.queue-visual small{display:block;font-size:10px;color:#9bb4c9;margin-top:10px}.shell th{background:#152b3f;color:#a6c3d9;border-color:#294157}.shell td{border-color:#243c51}.shell tbody tr:hover{background:#162d42}.shell td small{color:#91afc5}.shell .badge{background:#22394c;color:#c0d1df}.shell .badge.ready{background:#153e3d;color:#8fe2c5}.shell .badge.reviewed{background:#253950;color:#b7cbea}.shell .badge.processing{background:#16425b;color:#87dbfa}.shell .badge.failed,.shell .badge.held{background:#44351e;color:#f0cf8a}.shell .notice{background:#152f43;border-color:#56a6bf;color:#bdd7e8}.shell .notice.warn{background:#352e1b;border-color:#b89148;color:#e9d6aa}.shell .reference{background:#0b1928;color:#c2d7e6}.shell .feedback-block{border-color:#294157}.shell .copy-preview{background:#0b1928;line-height:1.9}.shell audio{color-scheme:dark}.shell .review-layout>.panel{border-top:2px solid #3b7694}.shell .list-row{border-color:#294157}
body:has(.shell) dialog{--ink:#e2edf7;--muted:#9bb4c9;--line:#294157;background:#101f30;color:#e2edf7;border:1px solid #345069}body:has(.shell) dialog input,body:has(.shell) dialog select,body:has(.shell) dialog textarea{background:#0b1725;color:#edf5fc;border-color:#3b5870;color-scheme:dark}body:has(.shell) dialog button{background:#19374f;color:#d4e8f6;border-color:#345069}body:has(.shell) dialog .primary{background:#246e9d;color:white}body:has(.shell) dialog .notice{background:#173146;color:#c3dce9}body:has(.shell) dialog .form-error{color:#ffb1a5}
@media(max-width:1100px){.inbox-overview{grid-template-columns:1fr}.queue-visual{display:none}.shell .summary-strip{justify-content:space-between;gap:16px}}@media(max-width:700px){.shell .summary-strip{padding:18px 16px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.shell .summary-strip strong{font-size:27px}.shell .sidebar .brand{display:flex;flex-wrap:nowrap;margin-bottom:18px}.shell .sidebar .academy-logo{width:170px}.shell .sidebar .service-name{padding:0 0 0 8px}.shell .nav{gap:6px}.shell .nav button{font-size:13px;padding:10px 12px}.shell .review-layout>.panel{padding:20px}}

body:has(.student-shell){background:#08131f}.student-shell{--ink:#e4eef7;--muted:#a1bacd;--teal:#8adcd5;--line:#2b4358;max-width:940px;min-height:100svh;padding:30px 32px 50px;color:var(--ink)}.student-shell .academy-logo{background:#fff;border-radius:5px;padding:7px 10px;width:218px}.student-shell .service-name{border-color:#3a5267;color:#b2cede}.student-header{padding-bottom:25px;border-bottom:1px solid #21374b;margin-bottom:30px}.student-intro{margin-bottom:28px}.student-intro h1{font-size:29px;font-weight:700;letter-spacing:-1.1px}.student-intro p{font-size:13px}.student-shell button{background:#142d42;border-color:#34516a;color:#d4e7f4}.student-shell button:hover{background:#20435b}.student-shell button.text{background:transparent}.student-shell button.primary{background:#8bded3;border-color:#8bded3;color:#0a2930}.student-shell button.primary:hover{background:#a5e8de}.student-shell button:disabled{opacity:.45}.student-shell .panel{background:#101f30;border:1px solid #2c445a;border-radius:15px;padding:30px}.student-tabs{gap:10px;margin-bottom:20px}.student-tabs button{background:#0e2031;border-color:#294459;color:#9bbad0;min-height:49px}.student-tabs button.active{background:#183c51;color:#91e2ed;border-color:#4d93ac;box-shadow:inset 0 -2px #6bcbd9}.student-shell .record-area{background:#0b2233;border-color:#32566e;box-shadow:inset 0 0 50px #16436044}.student-shell .record-button{background:#143c50;border:1px solid #5da4b8;color:#d2f2f7;box-shadow:0 0 0 7px #2d708121,0 0 26px #56bdcb15}.student-shell .record-button:hover{background:#205b70}.student-shell .record-button.recording{background:#8e3443;border-color:#e9a3ad;box-shadow:0 0 0 7px #c3516625}.student-shell .timer{font-variant-numeric:tabular-nums;color:#9ce3f1}.student-shell .record-area p{font-size:12px;color:#b1cbdc}.student-shell .upload-area{background:#102638;border:1px dashed #41647d}.student-shell .upload-area h3{font-size:22px;color:#d9edf8}.student-shell .upload-area label{font-size:13px}.student-shell .file-input{background:#0a1928;color:#b9d1e3;border-color:#34546c;padding:10px;font-size:12px}.student-shell .file-input::file-selector-button{background:#21465d;color:#e4f4fd;border:1px solid #416b86;border-radius:5px;padding:9px 10px;margin-right:10px;cursor:pointer}.student-shell select{background:#0b1b2a;color:#d3e6f3;border-color:#35536c;color-scheme:dark}.student-shell .assignment-optional summary{color:#a2c7da;font-size:13px}.student-shell .reference{background:#0a1927;color:#bbd6e7}.student-shell .notice{background:#143245;color:#c4e2eb;border-color:#65b8cc}.student-shell .notice.warn{background:#3b301f;color:#e9d5b2;border-color:#b58d4d}.student-shell audio{color-scheme:dark;width:100%}.student-shell .student-history{border-color:#2b4358;padding:22px 0}.student-shell .badge{background:#1e394d;color:#c0e1ed}.student-shell .badge.reviewed{background:#1c4546;color:#a5e4cf}.student-shell .success-box{background:#143635;border-color:#38766e}.student-shell .success-box h2{color:#a5edda}.student-shell .success-box p{color:#c1ddd8}.student-shell .footnote{font-size:12px;line-height:1.9;color:#8eacc1}.student-shell .submit-btn{min-height:52px}.student-shell h2{font-size:22px}
body:has(.student-shell) dialog{--ink:#e2edf7;--muted:#a1bacd;--line:#294157;background:#101f30;color:#e2edf7;border:1px solid #345069}body:has(.student-shell) dialog input{background:#0b1725;color:#edf5fc;border-color:#3b5870}body:has(.student-shell) dialog button{background:#19374f;color:#d4e8f6;border-color:#345069}body:has(.student-shell) dialog .primary{background:#91ded3;color:#0a2630}body:has(.student-shell) dialog .form-error{color:#ffb1a5}
@media(max-width:700px){.student-shell{padding:22px 16px 36px}.student-header{padding-bottom:20px;margin-bottom:24px}.student-shell .academy-logo{width:167px;padding:6px 8px}.student-shell .service-name{font-size:13px}.student-header #student-logout{font-size:13px;padding:6px 8px}.student-intro h1{font-size:25px}.student-shell .panel{padding:22px 18px}.student-shell h2{font-size:19px}.student-tabs button{font-size:14px}.student-shell .recording-options{margin:20px 0}.student-shell .record-area{min-height:236px}.student-shell .upload-area{padding:22px 18px}}

.student-shell .record-button{width:132px;height:132px;padding:10px;font-size:16px;white-space:nowrap}.student-shell .record-area{min-height:270px}

.confirm-dialog{max-width:480px;padding:28px}.confirm-dialog p{line-height:1.8}.confirm-dialog .row{justify-content:flex-end}
