:root{--ink:#eaf8ff;--forest:#12bff5;--forest-2:#704dff;--cream:#050816;--paper:#0b1227;--coral:#9a5cff;--gold:#42f5c5;--line:rgba(116,196,255,.18);--muted:#91a8c6;--shadow:0 22px 70px rgba(0,8,35,.42);color-scheme:dark}
[hidden]{display:none!important}
html{background:#050816;scroll-behavior:smooth}body{color:var(--ink);background:radial-gradient(circle at 83% 3%,rgba(78,43,255,.25),transparent 31%),radial-gradient(circle at 8% 82%,rgba(0,213,255,.17),transparent 30%),#050816;background-attachment:fixed}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(rgba(81,178,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(81,178,255,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 90%)}
.sidebar{background:linear-gradient(180deg,rgba(10,22,49,.98),rgba(5,10,25,.98));border-right:1px solid rgba(75,200,255,.2);box-shadow:18px 0 60px rgba(0,0,0,.25)}
.logo-brand{background:rgba(255,255,255,.96);border:1px solid rgba(85,194,255,.4);box-shadow:0 0 35px rgba(0,193,255,.14)}.logo-brand img{filter:saturate(1.08) contrast(1.04)}
.progress-card,.search{background:rgba(80,159,255,.07);border-color:rgba(97,208,255,.17);backdrop-filter:blur(18px)}.progress-track{background:rgba(255,255,255,.08)}.progress-track span{background:linear-gradient(90deg,#00d9ff,#6f4cff,#b347ff);box-shadow:0 0 16px #2ccfff}
.lesson-link{color:#adc2df}.lesson-link:hover{background:rgba(61,192,255,.09);transform:translateX(3px)}.lesson-link.active{background:linear-gradient(100deg,rgba(23,201,255,.18),rgba(116,77,255,.13));color:#fff;border:1px solid rgba(75,210,255,.25)}.lesson-link.completed{background:linear-gradient(100deg,#087fa7,#2256c9);box-shadow:0 8px 24px rgba(0,175,255,.2)}
.topbar{background:rgba(5,10,25,.78);border-color:rgba(92,192,255,.15);backdrop-filter:blur(24px)}.topbar h1,.panel h2,.modal-card h2,.admin-heading h1,.access-card h2{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f2f8ff}.eyebrow,.kicker{color:#58dcff;text-shadow:0 0 16px rgba(62,216,255,.45)}
.panel,.modal-card,.admin-panel{background:linear-gradient(145deg,rgba(13,25,53,.94),rgba(8,15,34,.96));border:1px solid rgba(96,197,255,.2);box-shadow:0 24px 80px rgba(0,4,20,.4),inset 0 1px rgba(255,255,255,.04);backdrop-filter:blur(20px)}
.panel{position:relative;overflow:hidden}.panel:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,#40dfff,transparent);opacity:.8}
.pill,.score,.tabs button span,.word-chip.learned,.cloud-status{background:rgba(36,184,255,.12);color:#bdeeff;border:1px solid rgba(80,207,255,.16)}.role,.muted,.auth-copy,.admin-heading p{color:var(--muted)}
.tabs{border-color:rgba(105,190,255,.16)}.tabs button{color:#8299b8}.tabs button[aria-selected=true]{color:#eafaff;border-color:#4bdcff;text-shadow:0 0 14px rgba(52,219,255,.45)}
.speech{background:rgba(31,126,210,.09);border:1px solid rgba(70,189,255,.1)}.speech:nth-child(even){background:rgba(105,63,220,.11)}.speaker{background:linear-gradient(135deg,#00cfff,#247cff);box-shadow:0 0 20px rgba(0,200,255,.25)}.speech:nth-child(even) .speaker{background:linear-gradient(135deg,#7650ff,#b54cff)}.speech .translation{color:#9fb4ce}
.tip,.study-hint,.ai-privacy,.report-summary{background:rgba(20,167,220,.08);border-color:rgba(73,210,255,.22)}.tip span{background:#1bcbf5;color:#05101f}
.flash-front{background:radial-gradient(circle at 70% 20%,rgba(115,69,255,.75),transparent 45%),linear-gradient(145deg,#073b6a,#07172f);border:1px solid rgba(96,225,255,.3);box-shadow:inset 0 0 60px rgba(0,204,255,.1),0 25px 60px rgba(0,0,0,.35)}.flash-back{background:linear-gradient(145deg,#101d3e,#15113b);color:#edf8ff;border:1px solid rgba(160,103,255,.3)}.word-example{border-color:rgba(99,209,255,.18)}.word-example small{color:#9db3ce}.word-sound{background:rgba(4,16,37,.32);box-shadow:0 0 24px rgba(44,210,255,.17)}
.word-chip{background:rgba(19,40,76,.55);border-color:rgba(101,180,255,.18)}.word-chip.learning{background:rgba(113,63,206,.12);border-color:rgba(163,93,255,.4)}.grammar-card{background:linear-gradient(135deg,rgba(25,107,178,.12),rgba(104,55,210,.12));border:1px solid rgba(83,200,255,.17)}.grammar-symbol{background:linear-gradient(145deg,#13c9f4,#654bff);box-shadow:0 0 28px rgba(45,190,255,.25)}.grammar-card h3{color:#66e1ff}.grammar-card p b{color:#f1f8ff}
.task{border-color:rgba(99,183,255,.14)}.task-label span{background:linear-gradient(145deg,#12c7f2,#694cff)}.answer-row input,.access-card input,#auth-form input,.admin-search input{background:rgba(4,12,29,.75);border-color:rgba(98,184,255,.24);color:#eefdff}.answer-row input:focus,.access-card input:focus,#auth-form input:focus{border-color:#3bdcff;box-shadow:0 0 0 3px rgba(32,205,255,.12)}
.primary{background:linear-gradient(105deg,#03bfe9,#396dff 52%,#7a49ff);border:0;box-shadow:0 10px 28px rgba(19,156,255,.25);position:relative;overflow:hidden}.primary:after{content:"";position:absolute;inset:0;transform:translateX(-120%);background:linear-gradient(100deg,transparent,rgba(255,255,255,.25),transparent);transition:transform .55s}.primary:hover:after{transform:translateX(120%)}.primary:hover{filter:brightness(1.12);transform:translateY(-1px)}.ghost,.account-button{background:rgba(22,46,84,.42);border-color:rgba(94,191,255,.22);color:#dceeff}.ghost:hover,.account-button:hover{background:rgba(39,101,170,.24)}
.complete-button{background:rgba(11,24,51,.7);border-color:rgba(96,180,255,.2);color:#bcd0e8}.complete-button.completed{background:linear-gradient(100deg,rgba(8,127,167,.5),rgba(34,86,201,.45));border-color:#42e0ff}.complete-button.completed .check{background:#42e4cd;border-color:#42e4cd;color:#041425;box-shadow:0 0 18px rgba(66,228,205,.45)}
.ai-task-cta{background:linear-gradient(135deg,rgba(11,156,201,.15),rgba(103,58,220,.15));border-color:rgba(75,215,255,.3)}.ai-task-cta b{color:#aeefff}.ai-task-cta p{color:#91a8c6}.ai-task-cta .ai-round-icon,.ai-round-icon{background:rgba(67,213,255,.14);color:#62e6ff}
.ai-message.assistant{background:rgba(22,121,194,.15)}.ai-message.user{background:linear-gradient(135deg,#087da9,#334fd0)}.live-dot{background:#45f3cb;box-shadow:0 0 0 5px rgba(69,243,203,.12),0 0 18px #45f3cb}
.access-body{background:radial-gradient(circle at 10% 15%,rgba(0,215,255,.22),transparent 30%),radial-gradient(circle at 90% 85%,rgba(114,67,255,.28),transparent 33%),#050816!important}.access-shell{background:#091127!important;border:1px solid rgba(99,196,255,.2);box-shadow:0 35px 120px rgba(0,0,0,.5)}.access-brand{background:linear-gradient(150deg,rgba(8,31,70,.98),rgba(22,14,59,.98))!important;position:relative;overflow:hidden}.access-brand:after{content:"AI";position:absolute;right:-25px;bottom:-65px;font:900 240px/1 Inter,sans-serif;color:rgba(100,209,255,.035)}.access-card{background:rgba(7,14,31,.96)}.access-badge{color:#68e7ff;border-color:rgba(104,220,255,.28)}
.admin-body{background:#050816!important}.admin-header{background:rgba(7,15,34,.94)!important;border-bottom:1px solid rgba(92,203,255,.2)}.admin-stat{background:linear-gradient(135deg,#087fa7,#4b3dcc)}.admin-table th,.admin-table td{border-color:rgba(90,181,255,.13)}.student>span{background:linear-gradient(135deg,#0c8ab5,#5341d2);color:#fff}.status.active{background:rgba(40,213,189,.12);color:#65f0d5}.status.pending{background:rgba(160,105,255,.12);color:#c8a9ff}
.future-reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}.future-reveal.future-visible{opacity:1;transform:none}.logo-brand img{animation:logoIn .75s cubic-bezier(.2,.75,.2,1) both}.ai-round-icon,.live-dot{animation:softPulse 2.4s ease-in-out infinite}
@keyframes logoIn{from{opacity:0;transform:translateY(-8px) scale(.96);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}@keyframes softPulse{50%{transform:scale(1.055);filter:brightness(1.2)}}
@media(max-width:760px){.access-brand{background:linear-gradient(120deg,#081b3c,#18113d)}.panel{border-radius:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.future-reveal,.future-reveal.future-visible,.logo-brand img,.ai-round-icon,.live-dot{animation:none!important;transition:none!important;opacity:1;transform:none}.primary:after{display:none}}
.dialogue-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.speech{grid-template-columns:42px minmax(0,1fr) 38px!important}.speech-sound{align-self:center;width:36px;height:36px;border:1px solid rgba(73,214,255,.34);border-radius:50%;background:rgba(24,183,255,.1);color:#7de8ff;font-weight:800;transition:.2s}.speech-sound:hover{background:rgba(24,183,255,.22);box-shadow:0 0 20px rgba(24,183,255,.28);transform:scale(1.06)}@media(max-width:640px){.dialogue-actions{width:100%;justify-content:flex-start}.dialogue-actions .ghost{padding:9px 11px;font-size:12px}}
.school-courses{margin-bottom:24px}.admin-toolbar h2{margin:4px 0 0}.admin-toolbar-actions{display:flex;gap:10px;align-items:center}.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.course-admin-card{min-height:160px;padding:20px;border:1px solid rgba(71,211,255,.2);border-radius:18px;background:linear-gradient(145deg,rgba(13,30,60,.9),rgba(8,15,36,.96));display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;transition:.2s}.course-admin-card:hover{border-color:rgba(71,211,255,.55);transform:translateY(-2px);box-shadow:0 18px 45px rgba(0,8,35,.3)}.course-admin-card h3{margin:14px 0 8px;color:#f4fbff}.course-admin-card p,.course-admin-card small{color:#8fa8c8}.course-create{display:grid;grid-template-columns:2fr 1.4fr .7fr auto;gap:12px;align-items:end;margin-bottom:20px;padding:18px;border:1px solid rgba(71,211,255,.2);border-radius:16px;background:rgba(5,12,30,.62)}.course-create label{display:grid;gap:7px;color:#98b5d8;font-size:12px;font-weight:700}.course-create input{width:100%;border:1px solid rgba(96,190,255,.25);border-radius:10px;background:#071127;color:#fff;padding:11px}.course-form-actions{display:flex;gap:8px}
.editor-body{min-height:100vh}.course-editor-shell{display:grid;grid-template-columns:minmax(270px,340px) minmax(0,1fr);min-height:calc(100vh - 76px)}.editor-outline{padding:26px 20px;border-right:1px solid rgba(83,195,255,.17);background:rgba(5,13,31,.72);position:sticky;top:76px;height:calc(100vh - 76px);overflow:auto}.editor-course-head h1{font-size:24px;line-height:1.15;margin:8px 0}.editor-course-head p{color:#8fa8c8;margin:0 0 20px}.full{width:100%}.outline-module{margin-top:20px;border:1px solid rgba(87,190,255,.15);border-radius:16px;overflow:hidden;background:rgba(11,25,51,.58)}.outline-module-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:14px}.outline-module-head b{display:block;color:#eaf7ff}.outline-module-head small,.outline-lesson small{display:block;color:#7893b7;margin-top:4px}.outline-add{width:32px;height:32px;border-radius:10px;border:1px solid rgba(77,211,255,.25);background:rgba(41,170,230,.12);color:#6fe6ff;font-size:20px}.outline-lesson{width:100%;display:grid;grid-template-columns:34px 1fr;gap:10px;text-align:left;padding:11px 14px;border:0;border-top:1px solid rgba(86,183,255,.1);background:transparent;color:#dceeff}.outline-lesson>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:rgba(65,187,245,.1);color:#66ddff;font-weight:800}.outline-lesson b{display:block}.outline-lesson:hover,.outline-lesson.active{background:linear-gradient(100deg,rgba(22,189,240,.13),rgba(104,72,255,.1))}.outline-lesson.active{box-shadow:inset 3px 0 #43dcff}.editor-workspace{padding:34px clamp(22px,4vw,64px);max-width:1120px;width:100%;margin:0 auto}.editor-empty{min-height:60vh;display:grid;place-content:center;text-align:center;color:#8ca5c5}.editor-empty span{font-size:70px;color:#4bdcff;text-shadow:0 0 30px rgba(63,220,255,.4)}.editor-empty h2{color:#eef9ff;margin:8px 0}.editor-titlebar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.editor-titlebar h2{font-size:28px;margin:5px 0 0}.editor-actions{display:flex;gap:10px;flex-wrap:wrap}.editor-actions.bottom{justify-content:flex-end;margin-top:24px}.editor-fields{display:grid;gap:16px}.editor-fields.two{grid-template-columns:minmax(120px,.35fr) minmax(0,1fr)}#lesson-editor>label,.editor-fields label,.editor-dialog label{display:grid;gap:8px;margin-bottom:16px;color:#9bb4d3;font-size:12px;font-weight:750;letter-spacing:.02em}#lesson-editor input,#lesson-editor textarea,.editor-dialog input,.editor-dialog textarea{width:100%;border:1px solid rgba(92,190,255,.21);border-radius:12px;background:rgba(4,12,29,.75);color:#eefaff;padding:12px 14px;font:500 14px/1.55 Inter,"Manrope",sans-serif;resize:vertical}#lesson-editor textarea:focus,#lesson-editor input:focus,.editor-dialog textarea:focus,.editor-dialog input:focus{outline:0;border-color:#3bdcff;box-shadow:0 0 0 3px rgba(50,211,255,.1)}#lesson-ko{font-family:"Noto Sans KR",Inter,sans-serif;font-size:16px}.editor-block{margin-top:18px;padding:22px;border:1px solid rgba(90,195,255,.16);border-radius:18px;background:linear-gradient(145deg,rgba(13,27,55,.82),rgba(7,14,32,.88));box-shadow:0 18px 50px rgba(0,4,20,.18)}.editor-block h3{margin:5px 0 8px;color:#eef9ff}.field-help{margin:0 0 10px;color:#7793b7;font-size:12px}.editor-dialog{width:min(520px,calc(100% - 30px));border:1px solid rgba(83,209,255,.25);border-radius:20px;background:#09142c;color:#edf9ff;padding:26px;box-shadow:0 35px 100px rgba(0,0,0,.55)}.editor-dialog::backdrop{background:rgba(1,5,16,.75);backdrop-filter:blur(8px)}.editor-dialog h2{margin:7px 0 22px}.modal-close{position:absolute;right:16px;top:14px;border:0;background:transparent;color:#91a9c6;font-size:28px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
@media(max-width:850px){.course-create{grid-template-columns:1fr}.admin-toolbar-actions{width:100%;flex-wrap:wrap}.course-editor-shell{grid-template-columns:1fr}.editor-outline{position:relative;top:auto;height:auto;border-right:0;border-bottom:1px solid rgba(83,195,255,.17)}.editor-titlebar{align-items:flex-start;flex-direction:column}.editor-workspace{padding:24px 16px}.editor-fields.two{grid-template-columns:1fr}.editor-actions{width:100%}.editor-actions button{flex:1}.editor-block{padding:17px}}
.admin-main{width:min(1180px,100%);padding:42px 24px 70px}.admin-heading{align-items:center}.admin-heading>div:first-child{min-width:0}.admin-heading h1{overflow-wrap:anywhere}.admin-panel{width:100%}.admin-toolbar{align-items:center;justify-content:space-between;flex-wrap:wrap}.admin-toolbar>div:first-child{min-width:180px}.admin-toolbar-actions{margin-left:auto}.school-courses .admin-toolbar{min-height:88px}.course-grid{padding:20px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.course-admin-card{min-width:0;min-height:190px}.course-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.course-card-copy{min-width:0}.course-admin-card h3{font-size:21px;line-height:1.25;overflow-wrap:anywhere}.course-admin-card p{line-height:1.5;overflow-wrap:anywhere}.course-open{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#bdeeff;text-decoration:none;font-weight:800;border-top:1px solid rgba(91,194,255,.14);padding-top:14px}.course-open span{font-size:20px;color:#52ddff}.course-delete{border:0;background:transparent;color:#8599b4;font-size:12px;padding:6px 8px;border-radius:8px}.course-delete:hover{color:#ff9ca9;background:rgba(255,80,103,.1)}.danger-kicker{color:#ff8f9f;text-shadow:none}.delete-course-dialog p{color:#9eb0c9;line-height:1.6}.delete-course-dialog strong{display:block;color:#fff;font-size:14px;overflow-wrap:anywhere}.danger-button{border:1px solid rgba(255,94,116,.5);border-radius:11px;padding:11px 16px;background:linear-gradient(135deg,#bd2742,#ed4961);color:#fff;font-weight:800}.danger-button:disabled{opacity:.35;cursor:not-allowed}.admin-table td{vertical-align:middle}.student{min-width:0}.student>div{min-width:0}.student small{overflow-wrap:anywhere}
@media(max-width:760px){.admin-header{height:auto;min-height:72px;padding:12px 16px;gap:12px}.admin-header .logo-brand{max-width:190px}.admin-main{padding:26px 12px 50px}.admin-heading{align-items:flex-start;gap:14px}.admin-heading h1{font-size:30px}.admin-stat{min-width:88px;padding:14px}.admin-stat strong{font-size:28px}.admin-toolbar{align-items:flex-start}.admin-toolbar-actions{margin-left:0;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto}.course-grid{grid-template-columns:1fr;padding:12px}.course-admin-card{min-height:175px;padding:17px}.course-create{margin:0 12px 12px}.admin-table th,.admin-table td{padding:14px 12px}.delete-course-dialog{padding:22px 18px}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}
body [hidden]{display:none!important}
