:root{--navy:#102854;--navy2:#183a72;--blue:#1768f2;--blue-soft:#eaf2ff;--green:#15a968;--green-soft:#e9f8f1;--amber:#f5a623;--red:#ef5b5b;--ink:#152541;--muted:#6f7f99;--line:#dfe7f1;--panel:#fff;--page:#f6f9fc;--shadow:0 12px 36px rgba(31,54,92,.08);--radius:18px}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--page);color:var(--ink);font-family:Inter,Pretendard,"Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}.good{color:var(--green)}.warn{color:var(--amber)}.bad{color:var(--red)}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:23px;color:var(--navy)}.brand-mark{width:31px;height:31px;object-fit:contain}.svg-icon{display:inline-block;vertical-align:middle;flex:none}.leaf{width:26px;height:18px;background:linear-gradient(135deg,#2fc985,#079b5a);border-radius:100% 0 100% 0;transform:rotate(-18deg);position:relative;display:inline-block}.leaf:after{content:"";position:absolute;width:15px;height:2px;background:#0e9b5d;left:-8px;bottom:-4px;transform:rotate(-44deg);transform-origin:right}.brand small{font-size:9px;letter-spacing:.14em;color:var(--green);background:var(--green-soft);padding:3px 6px;border-radius:8px}
.btn{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:10px;padding:10px 15px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s}.btn:hover{border-color:#a9c6f8;transform:translateY(-1px)}.btn.primary{background:var(--blue);border-color:var(--blue);color:white;box-shadow:0 8px 20px rgba(23,104,242,.22)}.btn.green{background:var(--green);border-color:var(--green);color:white}.btn.ghost{background:transparent}.btn.small{padding:7px 10px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.icon-btn{width:38px;height:38px;border:1px solid var(--line);background:white;border-radius:10px;color:var(--navy)}
.login-page{min-height:100vh;background:#fbfcfe;display:grid;place-items:center;padding:40px;position:relative;overflow:hidden}.login-page:before,.login-page:after{content:"";position:absolute;border:1px solid #dfe9f5;width:600px;height:600px;border-radius:50%;opacity:.8}.login-page:before{left:-360px;bottom:-300px}.login-page:after{right:-390px;top:-350px}.login-top{position:absolute;top:34px;left:42px}.login-help{position:absolute;top:34px;right:42px;color:var(--muted);font-size:13px}.login-card{width:min(1030px,94vw);min-height:810px;background:white;border:1px solid var(--line);border-radius:22px;box-shadow:0 28px 80px rgba(31,55,94,.12);display:grid;grid-template-columns:1fr 1.16fr;overflow:hidden;position:relative;z-index:1}.login-visual{background:linear-gradient(145deg,#fffefb,#f7fbff);padding:55px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--line)}.login-visual h1{font-size:46px;margin:18px 0 5px;line-height:1}.login-visual h1 span{display:block;font-size:19px;color:var(--muted);margin-top:13px}.root-sketch{height:220px;margin:25px 0 20px;position:relative}.root-sketch svg{width:100%;height:100%}.quote{font-size:15px;line-height:1.8;color:#667791}.word-teaser{margin-top:20px;border:1px solid #cfe7dc;background:linear-gradient(90deg,#edf9f2,#fff);border-radius:13px;padding:14px 18px;display:flex;align-items:center;gap:15px}.word-teaser b{font-size:25px}.login-form{padding:52px 58px;display:flex;flex-direction:column;justify-content:center}.login-form h2{font-size:30px;margin:0 0 8px}.login-form>p{margin:0 0 28px;color:var(--muted)}.field{display:grid;gap:7px;margin-bottom:14px}.field label{font-size:13px;font-weight:700;color:#435473}.field input,.field select,.search{border:1px solid var(--line);background:white;border-radius:10px;padding:12px 13px;outline:none;color:var(--ink)}.field input:focus,.field select:focus,.search:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,104,242,.1)}.role-divider{display:flex;align-items:center;gap:12px;margin:25px 0 14px;color:#6f7f99;font-size:12px}.role-divider:before,.role-divider:after{content:"";height:1px;background:var(--line);flex:1}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:0}.role-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:16px 8px;color:var(--ink);text-align:center}.role-card.active{border:2px solid var(--blue);background:var(--blue-soft);color:var(--blue)}.role-card .role-icon{display:block;font-size:22px;margin-bottom:8px}.role-card b{display:block;font-size:13px}.login-submit{width:100%;margin-top:16px}.login-meta{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:13px}.login-meta label{display:flex;align-items:center;gap:6px}.demo-note{margin-top:22px;padding:12px 14px;background:#f4f7fb;border-radius:10px;font-size:12px;color:var(--muted);line-height:1.6}.login-footnote{text-align:center;color:#91a0b4;font-size:11px;margin-top:34px}
.app-shell{min-height:100vh;display:grid;grid-template-columns:212px minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:212px;background:#fff;border-right:1px solid var(--line);padding:28px 16px;display:flex;flex-direction:column;z-index:20}.sidebar .brand{padding:0 12px 28px}.nav-list{display:grid;gap:6px}.nav-item{border:0;background:transparent;border-radius:10px;color:#385075;padding:12px 14px;text-align:left;display:flex;align-items:center;gap:12px;font-weight:650}.nav-item .nav-ico{width:22px;display:grid;place-items:center}.nav-item.active{background:var(--blue-soft);color:var(--blue)}.nav-spacer{flex:1}.sidebar-quote{font-size:12px;color:#7b8da7;line-height:1.7;padding:16px 12px;border-top:1px solid var(--line)}.version{font-size:11px;color:#9aaaC0;padding:8px 12px}.app-main{grid-column:2;min-width:0}.topbar{height:74px;position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;gap:20px;z-index:15}.topbar-search{width:min(420px,36vw);position:relative}.topbar-search input{width:100%;padding-left:38px}.topbar-search span{position:absolute;left:13px;top:11px;color:#8b9bb3}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:14px}.streak{color:#e97d13;font-weight:750;font-size:13px;display:flex;align-items:center;gap:5px}.user-menu{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--ink);text-align:left}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eaf1ff;color:var(--blue);font-weight:800}.user-copy b,.user-copy small{display:block}.user-copy small{color:var(--muted);font-size:11px;margin-top:2px}.content{padding:26px 30px 46px;max-width:1600px;margin:0 auto}.page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.page-title h1{font-size:25px;margin:0 0 5px}.page-title p{margin:0;color:var(--muted);font-size:13px}.title-actions{display:flex;gap:10px;align-items:center}.crumb{font-size:12px;color:var(--muted);margin-bottom:8px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 18px rgba(31,55,94,.035)}.panel-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.panel-head h2,.panel-head h3{margin:0;font-size:17px}.panel-body{padding:20px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric{padding:18px 19px;background:white;border:1px solid var(--line);border-radius:15px;display:flex;align-items:center;gap:14px}.metric-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-size:20px}.metric.compact{padding:9px 12px}.metric.green .metric-icon{background:var(--green-soft);color:var(--green)}.metric.amber .metric-icon{background:#fff5df;color:var(--amber)}.metric.red .metric-icon{background:#fff0f0;color:var(--red)}.metric-copy small{display:block;color:var(--muted);font-size:12px}.metric-copy b{display:block;font-size:24px;margin-top:3px}.metric-copy em{font-size:11px;font-style:normal;color:var(--green)}
.student-home-layout{grid-template-columns:minmax(0,1.7fr) 330px}.flow-stage{min-height:510px;position:relative;overflow:hidden;padding:24px;background:radial-gradient(circle at 50% 45%,#fff 0,#fbfdff 60%,#f7fbf9)}.flow-stage:before{content:"";position:absolute;inset:52px 100px;border:1px dashed #dce6f1;border-radius:50%}.flow-header{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-start}.legend{display:flex;gap:10px;font-size:11px;color:var(--muted)}.legend i{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:4px}.flow-map{height:360px;position:relative;z-index:2}.flow-node{position:absolute;width:96px;text-align:center;color:#526785;font-size:11px}.flow-node .orb{width:54px;height:54px;margin:0 auto 7px;border-radius:50%;display:grid;place-items:center;background:white;border:1px solid var(--line);font-size:23px;box-shadow:0 5px 16px rgba(31,55,94,.08)}.flow-node.active .orb{background:var(--blue);color:white;border-color:var(--blue);box-shadow:0 7px 20px rgba(23,104,242,.28)}.flow-node.done .orb{background:var(--green-soft);color:var(--green);border-color:#b9ead5}.node-1{left:8%;top:45%}.node-2{left:26%;top:18%}.node-3{left:47%;top:5%}.node-4{right:17%;top:22%}.node-5{right:4%;top:52%}.node-6{right:24%;bottom:3%}.node-7{left:45%;bottom:-4%}.node-8{left:20%;bottom:4%}.path-line{position:absolute;left:13%;right:9%;top:50%;height:2px;background:linear-gradient(90deg,var(--green),#98d8bb,var(--blue),#dfe7f1);transform:rotate(-2deg);opacity:.5}.today-card{padding:18px}.today-card h3{font-size:16px;margin:0 0 4px}.today-card p{font-size:12px;color:var(--muted);margin:0}.today-main{padding:20px 0;text-align:center}.ring{--p:72;width:126px;height:126px;margin:5px auto 15px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) calc(var(--p)*1%),#edf1f6 0);position:relative}.ring:after{content:"";position:absolute;inset:10px;border-radius:50%;background:white}.ring div{position:relative;z-index:1}.ring b{display:block;font-size:27px}.ring span{font-size:11px;color:var(--muted)}.mini-task{display:flex;justify-content:space-between;padding:11px 0;border-top:1px solid var(--line);font-size:13px}.mini-task strong{color:var(--green)}.learning-strip{margin-top:16px;padding:17px 20px;display:flex;align-items:center;gap:18px}.learning-strip b{font-size:13px;white-space:nowrap}.strip-line{height:4px;flex:1;background:#e7edf5;border-radius:99px;overflow:hidden}.strip-line span{display:block;width:64%;height:100%;background:linear-gradient(90deg,var(--green),var(--blue));border-radius:inherit}
.focus-app{min-height:100vh;background:linear-gradient(135deg,#fffdf8,#f7fbff)}.focus-header{height:82px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7ebef;background:rgba(255,255,255,.82)}.focus-header>span{font-size:12px;color:#8a98ab}.focus-content{padding:18px 20px 28px;max-width:1600px;margin:0 auto}.learn-shell{grid-template-columns:235px minmax(0,1fr) 230px;gap:12px}.learn-steps{padding:24px 20px;display:flex;flex-direction:column}.learn-steps>b{font-size:17px;margin-bottom:13px}.step{display:flex;gap:11px;padding:12px 5px;color:#7d8ca2;font-size:13px;align-items:center}.step-num{width:26px;height:26px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:12px;font-weight:800}.step.active{color:var(--blue);font-weight:750}.step.active .step-num{background:var(--blue);color:white;border-color:var(--blue)}.step.done{color:var(--green)}.learning-card{padding:16px 20px 18px}.learning-title{display:flex;align-items:center;gap:12px;padding:8px 0 13px;border-bottom:1px solid var(--line)}.learning-title h1{font-size:22px;margin:0 0 3px}.learning-title p{font-size:12px;color:var(--muted);margin:0}.learning-title select{margin-left:auto;max-width:250px}.active-num{background:var(--blue);border-color:var(--blue);color:#fff;width:34px;height:34px}.learn-quote{margin-top:auto;padding-top:22px;color:#70839d;font-size:12px;line-height:1.65}.learn-quote img{width:43px;height:43px;margin-bottom:8px}.learning-card{min-width:0}.learning-meta{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:12px 0 8px}.learning-meta>b{margin-right:auto}.learning-meta b{font-size:12px;color:var(--blue)}.progress-line{height:5px;width:170px;background:#e8edf4;border-radius:10px}.progress-line i{display:block;height:100%;background:var(--green);border-radius:inherit}.etymology-stage{display:grid;grid-template-columns:1fr 36px 1fr 36px 1fr;align-items:stretch;gap:8px;margin-top:18px}.scene-card{border:1px solid var(--line);border-radius:15px;background:#fffdf8;min-height:330px;padding:15px;display:flex;flex-direction:column}.scene-card.word-scene{background:linear-gradient(145deg,#fff,#edf7ff)}.scene-card img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:10px;background:white}.scene-card h3{font-size:24px;margin:11px 0 2px}.scene-card p{margin:0;color:var(--muted);font-size:13px}.scene-label{font-size:10px;color:var(--blue);font-weight:800;letter-spacing:.08em}.scene-arrow{display:grid;place-items:center;color:#9fb0c6;font-size:24px}.no-extra{display:grid;place-items:center;text-align:center;color:#9aa8b9;background:#fafbfd}.answer-box{margin-top:16px;border:1px solid var(--line);border-radius:13px;padding:14px;background:#fbfdff}.answer-row{display:flex;gap:10px}.answer-row input{flex:1;border:1px solid var(--line);border-radius:10px;padding:12px 14px;outline:none;font-size:18px;letter-spacing:.06em}.answer-result{min-height:22px;margin-top:8px;font-size:13px;font-weight:700}.learning-actions{display:flex;justify-content:space-between;margin-top:14px}.session-card{padding:22px 18px;text-align:center}.session-card .ring{width:108px;height:108px}.session-list{margin-top:12px;text-align:left}.session-list div{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid var(--line);font-size:12px}.root-browser{margin-top:16px}.root-pill{border:1px solid var(--line);background:white;border-radius:9px;padding:8px 10px;font-size:12px;margin:3px 2px;color:#536882}.root-pill.active{background:var(--blue-soft);color:var(--blue);border-color:#bad2fb}
.review-layout{grid-template-columns:minmax(0,1.6fr) 310px}.review-card{padding:24px}.review-stage{display:grid;grid-template-columns:1fr 1.15fr;gap:16px}.review-image{height:310px;width:100%;object-fit:contain;border-radius:14px;background:#fbfcfe;border:1px solid var(--line)}.confidence-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}.confidence{border:1px solid var(--line);background:#fff;border-radius:11px;padding:12px 6px;font-size:12px;color:#63728a}.confidence span{display:block;font-size:20px;margin-bottom:5px}.confidence.red{background:#fff2f2;color:#d94a4a}.confidence.orange{background:#fff7e8;color:#d68113}.confidence.blue{background:#eef5ff;color:#2466d7}.confidence.green{background:#edf9f3;color:#16885a}.queue-list{padding:10px 18px}.queue-item{display:flex;gap:11px;padding:12px 0;border-bottom:1px solid var(--line);align-items:center}.queue-item:last-child{border-bottom:0}.queue-dot{width:8px;height:8px;border-radius:50%;background:var(--blue)}.queue-item div{flex:1}.queue-item b{font-size:13px;display:block}.queue-item small{font-size:11px;color:var(--muted)}
.chart{height:220px;padding:18px;display:flex;align-items:flex-end;gap:16px;border-bottom:1px solid var(--line)}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px}.bar{width:100%;max-width:34px;background:linear-gradient(180deg,var(--blue),#85b3ff);border-radius:7px 7px 2px 2px;min-height:4px}.bar-col small{font-size:10px;color:var(--muted)}.root-bars{padding:15px 20px}.root-bar{display:grid;grid-template-columns:110px 1fr 42px;align-items:center;gap:12px;padding:9px 0}.root-bar b{font-size:12px}.meter{height:7px;background:#edf1f5;border-radius:10px;overflow:hidden}.meter i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--blue));border-radius:inherit}.root-bar span{font-size:11px;color:var(--muted);text-align:right}.heatmap{display:grid;grid-template-columns:repeat(14,1fr);gap:5px;padding:18px}.heatmap i{aspect-ratio:1;border-radius:4px;background:#eaf5ef}.heatmap i:nth-child(3n){background:#b7e7cd}.heatmap i:nth-child(5n){background:#57c58c}.heatmap i:nth-child(11n){background:#159e64}
.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:700px}.data-table th,.data-table td{padding:12px 14px;border-bottom:1px solid var(--line);font-size:12px;text-align:left;white-space:nowrap}.data-table th{font-size:11px;color:#7a8aa2;background:#f8fafc}.data-table tr:hover td{background:#fbfdff}.tag{display:inline-flex;padding:4px 7px;border-radius:7px;background:var(--green-soft);color:var(--green);font-size:10px;font-weight:800}.tag.red{background:#fff0f0;color:var(--red)}.tag.amber{background:#fff6e5;color:#c77a12}.teacher-layout{grid-template-columns:minmax(0,1.55fr) 340px}.alert-list{padding:8px 18px}.alert-item{padding:13px 0;border-bottom:1px solid var(--line);display:flex;gap:10px}.alert-item:last-child{border:0}.alert-item .avatar{width:32px;height:32px;font-size:12px}.alert-item b{font-size:12px}.alert-item p{font-size:11px;color:var(--muted);margin:3px 0}.student-hero{padding:18px 20px;display:flex;align-items:center;gap:14px}.student-hero .avatar{width:58px;height:58px;font-size:20px}.student-hero h2{margin:0 0 4px}.student-hero p{margin:0;color:var(--muted);font-size:12px}.task-card{padding:18px}.task-card textarea{width:100%;min-height:95px;border:1px solid var(--line);border-radius:10px;padding:10px;resize:vertical}
.admin-shell .sidebar{background:linear-gradient(180deg,#11264b,#0d1f3d);border:0}.admin-shell .brand{color:white}.admin-shell .nav-item{color:#bdc9dc}.admin-shell .nav-item.active{background:#203c68;color:white}.admin-shell .sidebar-quote,.admin-shell .version{color:#7f94b5;border-color:#294163}.service-list{padding:12px 20px}.service{display:grid;grid-template-columns:1fr 70px 80px;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}.service:last-child{border:0}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:6px}.donut{width:150px;height:150px;margin:22px auto;border-radius:50%;background:conic-gradient(var(--green) 0 71%,var(--blue) 71% 93%,var(--amber) 93%);position:relative;display:grid;place-items:center}.donut:before{content:"";position:absolute;inset:25px;border-radius:50%;background:white}.donut b{z-index:1;font-size:22px}.content-manager-layout{grid-template-columns:300px minmax(0,1fr) 330px}.tree{padding:12px;max-height:720px;overflow:auto}.tree-set{padding:10px;border-bottom:1px solid var(--line)}.tree-set>button{width:100%;text-align:left;border:0;background:transparent;color:var(--navy);font-weight:750;padding:7px}.tree-root{width:100%;border:0;background:transparent;text-align:left;padding:7px 10px 7px 25px;color:#5d6f8b;font-size:12px;border-radius:8px}.tree-root.active{background:var(--blue-soft);color:var(--blue);font-weight:750}.content-word-head{display:flex;align-items:center;gap:13px;padding:14px 16px;background:linear-gradient(90deg,#eef6ff,#fff);border-radius:13px}.content-word-head h2{font-size:25px;margin:0}.story-list{margin-top:16px;display:grid;gap:9px}.story-row{display:grid;grid-template-columns:35px 125px 1fr 26px;gap:12px;align-items:center;border:1px solid var(--line);padding:9px;border-radius:12px}.story-row .num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-weight:800}.story-row img{width:125px;height:85px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fff}.story-row b{display:block;font-size:14px}.story-row small{color:var(--muted)}.info-list{padding:5px 18px 18px}.info-row{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:8px 0;font-size:12px}.info-row span:first-child{color:var(--muted)}.asset-status{margin:0 18px 12px;border:1px solid var(--line);border-radius:10px;padding:11px;font-size:12px;display:flex;align-items:center;justify-content:space-between}.asset-status>span:first-child{display:flex;align-items:center;gap:7px}.loading{min-height:260px;display:grid;place-items:center;color:var(--muted)}.empty{padding:50px;text-align:center;color:var(--muted)}.toast{position:fixed;right:26px;bottom:26px;background:#102854;color:white;padding:13px 18px;border-radius:12px;box-shadow:var(--shadow);z-index:100;animation:toast .25s ease}.toast.good{background:#11875a}.toast.bad{background:#c84242}@keyframes toast{from{transform:translateY(12px);opacity:0}}
.unit-progress{display:grid;grid-template-columns:repeat(5,1fr);margin-bottom:12px;padding:10px 16px}.unit-progress-step{display:flex;align-items:center;gap:8px;color:#93a1b5;font-size:11px;position:relative}.unit-progress-step:after{content:"";height:2px;background:#e4eaf2;position:absolute;left:30px;right:8px;bottom:-2px}.unit-progress-step span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#edf1f6;font-weight:800}.unit-progress-step.active{color:var(--blue)}.unit-progress-step.active span{background:var(--blue);color:white}.unit-progress-step.active:after{background:var(--blue)}.unit-progress-step.done{color:var(--green)}.unit-progress-step.done span{background:var(--green-soft);color:var(--green)}.unit-progress-step.done:after{background:var(--green)}.unit-learn-shell{grid-template-columns:220px minmax(0,1fr) 220px;gap:12px}.study-assets .scene-card{min-height:310px}.root-intro-stage{min-height:430px;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(300px,1.1fr);gap:30px;align-items:center;padding:24px 7%}.root-intro-stage .scene-card{max-width:440px;width:100%;margin:auto}.root-intro-copy h2{font-size:30px;margin:16px 0 10px}.root-intro-copy p{font-size:17px;line-height:1.8;color:var(--muted)}.root-intro-copy b{color:var(--navy)}.study-controls{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.study-controls>span{text-align:center;font-size:12px}.quiz-stage{min-height:480px;display:grid;grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);gap:22px;align-items:center;padding:24px 8px}.quiz-visual{background:linear-gradient(145deg,#fffdf8,#eef8ff);border:1px solid var(--line);border-radius:18px;padding:18px;text-align:center}.quiz-visual img{width:100%;aspect-ratio:3/2;object-fit:contain;background:white;border-radius:12px}.quiz-visual span{display:block;color:var(--muted);font-size:12px;margin-top:10px}.quiz-question>p{color:var(--muted);margin:9px 0 2px}.quiz-question h2{font-size:34px;margin:8px 0 22px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice-card{min-height:70px;border:1px solid var(--line);border-radius:13px;background:white;color:var(--navy);font-weight:750;padding:14px;box-shadow:0 4px 12px rgba(31,55,94,.04)}.choice-card:hover{border-color:var(--blue);background:var(--blue-soft);transform:translateY(-1px)}.subjective-row{display:flex;gap:10px}.subjective-row input{flex:1;min-width:0;border:1px solid var(--line);border-radius:11px;padding:14px;font-size:18px;outline:none}.subjective-row input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,104,242,.1)}.quiz-rule{margin-top:18px;padding:10px 12px;background:#f4f7fb;border-radius:9px;color:var(--muted);font-size:11px}.unit-complete{text-align:center;min-height:500px;display:flex;flex-direction:column;align-items:center;justify-content:center}.unit-complete>img{width:82px;height:82px;margin-bottom:16px}.unit-complete h2{font-size:30px;margin:16px 0 6px}.unit-complete p{color:var(--muted)}.unit-complete>.btn{margin-top:18px}.test-ready{display:flex;align-items:center;gap:12px;margin-top:15px;padding:13px 16px;background:var(--blue-soft);border-radius:12px}.test-ready span{color:var(--muted);font-size:12px}.test-list{align-items:stretch}.test-card{padding:20px;display:flex;flex-direction:column}.test-card>div:first-child{display:flex;justify-content:space-between}.test-card h3{margin:18px 0 6px}.test-card p{color:var(--muted);font-size:12px}.test-card-meta{display:flex;justify-content:space-between;padding:13px 0;margin-top:auto;font-size:12px}.test-taking{padding:22px}.test-progress{height:6px;background:#e8edf4;border-radius:99px;overflow:hidden}.test-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--blue))}.test-result{padding:55px;text-align:center}.test-result .ring{width:160px;height:160px}.test-builder>.btn{width:100%;margin-top:8px}.test-policy{display:grid;gap:7px;background:#f5f8fc;border-radius:12px;padding:14px;margin-bottom:16px;font-size:12px;color:var(--muted)}.test-policy b{color:var(--navy)}

/* LayerLab screen 01 geometry lock */
.login-page{background:#fffdf8;padding:32px;isolation:isolate}.login-page:before,.login-page:after{display:none}.login-orbit{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #e4e1d9;border-radius:50%;z-index:-1}.orbit-one{width:1460px;height:930px}.orbit-two{width:1280px;height:820px}.orbit-three{width:1060px;height:710px}.orbit-dot{position:absolute;width:11px;height:11px;border-radius:50%;z-index:0}.dot-a{left:4.4%;bottom:29%;background:#9ecbf4}.dot-b{left:8.9%;top:40%;background:#9dd9c4}.dot-c{left:46.2%;top:15%;background:#a5dcc8}.dot-d{right:6.5%;top:22%;background:#9fd8c5}.dot-e{right:8%;top:48%;background:#9fcdf5}.dot-f{right:13.5%;bottom:20%;background:#9fd9c7}.login-callout{position:absolute;color:#8492a7;font-size:14px;line-height:1.7;z-index:0}.callout-left{left:5.5%;top:51%}.callout-right{right:4.7%;top:52%}.login-card{width:min(1038px,94vw);min-height:825px;border-radius:19px;grid-template-columns:472px minmax(0,1fr);box-shadow:0 22px 55px rgba(31,55,94,.11)}.login-visual{padding:90px 38px 42px 42px;justify-content:flex-start;background:linear-gradient(145deg,#fffdf8,#fcfaf5);border-right:1px solid #edf0f4}.login-visual h1{font-size:52px;line-height:1;margin:0 0 0 24px;letter-spacing:-.03em}.login-visual h1 span{font-size:23px;color:#16243d;margin-top:12px;letter-spacing:-.02em}.root-sketch{height:204px;margin:14px 0 24px;position:relative}.root-sketch img{display:block;width:387px;height:204px;object-fit:contain}.root-sketch>span{position:absolute;right:47px;top:13px;font-size:17px;color:#152541;z-index:2}.quote{margin-left:24px;font-size:17px;line-height:1.65;color:#263651;letter-spacing:.02em}.login-word-card{height:203px;margin-top:29px;border-radius:16px;padding:34px 31px;background:linear-gradient(135deg,#eff9f2,#eaf8ee);display:grid;grid-template-columns:1fr 112px;align-items:center;gap:12px}.login-word-card>div:first-child{display:flex;flex-direction:column}.login-word-card small{font-size:15px;color:#07894f;font-weight:750}.login-word-card b{font-size:44px;line-height:1.15;color:#1768f2;margin:16px 0 11px;letter-spacing:-.03em}.login-word-card span{font-size:16px;color:#52637c}.login-sprout{text-align:center}.login-sprout img{width:81px;height:72px;object-fit:contain}.login-sprout small{display:block;color:#24344e;font-size:13px;line-height:1.5;margin-top:8px}.login-counts{margin:36px 0 0 26px;font-size:14px;color:#596a83}.login-counts b{color:#07894f;font-size:19px}.login-form{padding:54px 56px 35px 67px;justify-content:flex-start}.login-form h2{font-size:54px;line-height:1;margin:0 0 7px;letter-spacing:-.04em}.login-form>p{font-size:21px;margin:0 0 43px;color:#4e607b;letter-spacing:-.02em}.login-form .field{gap:9px;margin-bottom:22px}.login-form .field label{font-size:16px;color:#17263e}.login-input{height:54px;border:1px solid #ccd7e5;border-radius:8px;display:flex;align-items:center;background:white;color:#7185a0}.login-input:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,104,242,.1)}.login-input input{height:52px;min-width:0;flex:1;border:0!important;box-shadow:none!important;padding:0 13px;font-size:16px}.login-input>span{display:grid;place-items:center;margin-left:17px}.login-input>span:last-child{margin:0 16px 0 0}.login-meta{font-size:14px;margin:0 0 24px}.login-meta input{width:18px;height:18px;accent-color:var(--blue)}.login-submit{height:54px;margin:0;font-size:18px;border-radius:8px}.role-divider{margin:42px 0 23px;font-size:14px;color:#263651}.role-grid{gap:12px}.role-card{height:142px;border-radius:9px;padding:23px 8px 15px;display:flex;flex-direction:column;align-items:center;color:#17263e}.role-card.active{border:2px solid var(--blue);background:linear-gradient(145deg,#eff5ff,#fbfdff)}.role-card .role-icon{display:grid;place-items:center;height:39px;margin:0 0 13px}.role-card b{font-size:16px}.role-radio{width:18px;height:18px;border:2px solid #b8c8db;border-radius:50%;margin-top:auto;position:relative}.role-card.active .role-radio{border:6px solid var(--blue)}.login-footnote{font-size:13px;margin-top:51px;color:#8595aa}.login-top{top:31px;left:47px}.login-help{top:38px;right:45px;font-size:13px}
/* LayerLab screen 01 coordinate refinement */
.login-card{min-height:815px;grid-template-columns:478px minmax(0,1fr);transform:translateY(5px)}
.login-visual{padding-top:86px}
.root-sketch{margin-top:11px}
.root-sketch img{margin-left:6px}
.root-sketch>span{right:50px}
.login-word-card{width:394px;margin:34px 0 0 2px;padding-left:29px;padding-right:29px}
.login-form{padding-left:64px;padding-right:52px}
.login-input{height:57px}
.login-input input{height:55px}
.login-submit{height:58px}
.role-divider{margin-top:32px}
.role-card{height:149px}
.role-card .role-icon{height:44px}
.role-card .role-icon svg{width:44px;height:44px}
.login-footnote{margin-top:48px}
.login-top{left:43px}
.login-top .brand{gap:3px;font-size:30px}
.login-top .brand-mark{width:34px;height:31px}
.login-visual h1>strong{display:block;font-size:64px;line-height:52px;transform:translateY(4px);transform-origin:left top}
.root-sketch{margin-bottom:31px}
.root-sketch>span{top:-54px}
.quote{font-family:"Nanum Pen Script","나눔손글씨 펜",cursive;font-size:22px;line-height:1.2}
.login-word-card b{font-size:52px}
.login-word-card small{font-size:16px}
.login-word-card span{font-size:17px}
.login-counts{font-size:15px}
.login-counts b{font-size:20px}
.login-form{padding-top:62px}
.login-form h2{font-size:62px;line-height:54px}
.login-form>p{font-size:24px;line-height:25px;margin-bottom:36px;transform:translateY(-4px)}
.login-meta{margin-bottom:14px}
.role-divider{margin-top:31px}
.login-visual h1>strong{transform:translate(2px,2px)}
.quote{margin-left:27px;width:75.8%;transform:scaleX(1.32);transform-origin:left top}
.login-word-card b{font-size:57px;transform:translate(2px,-2px);transform-origin:left center}
@media(max-width:1400px) and (min-width:761px){.login-card{transform:translateY(5px) scale(.82);transform-origin:top center}.login-top{transform:scale(.82);transform-origin:left top}.login-help{transform:scale(.82);transform-origin:right top}}
@media(max-width:1400px) and (min-width:1101px){.learn-shell{grid-template-columns:minmax(0,1fr) 220px}.learn-shell>.learn-steps{display:none}.content{padding-left:24px;padding-right:24px}}
@media(max-width:1100px){.app-shell{grid-template-columns:80px 1fr}.sidebar{width:80px;padding:24px 10px}.sidebar .brand{padding:0 5px 24px}.sidebar .brand strong,.sidebar .brand small,.nav-label,.sidebar-quote,.version{display:none}.nav-item{justify-content:center;padding:13px}.app-main{grid-column:2}.student-home-layout,.teacher-layout,.content-manager-layout{grid-template-columns:1fr}.learn-shell{grid-template-columns:190px minmax(0,1fr)}.learn-shell>aside:last-child{grid-column:1/-1}.unit-learn-shell{grid-template-columns:minmax(0,1fr) 200px}.unit-learn-shell>.learn-steps{display:none}.quiz-stage{grid-template-columns:1fr}.quiz-visual{max-width:460px;margin:0 auto;width:100%}.grid.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.login-page{padding:18px}.login-card{grid-template-columns:1fr}.login-visual{display:none}.login-form{padding:35px 25px}.app-shell{display:block}.sidebar{position:fixed;inset:auto 0 0 0;width:auto;height:66px;display:block;padding:6px;background:white!important;border-top:1px solid var(--line);z-index:40}.sidebar .brand,.sidebar-quote,.version,.nav-spacer{display:none}.nav-list{display:flex;overflow-x:auto}.nav-item{min-width:66px;padding:10px}.nav-label{display:none}.app-main{padding-bottom:66px}.topbar{height:62px;padding:0 14px}.topbar-search,.streak,.user-copy{display:none}.content{padding:18px 13px 28px}.focus-header{height:64px;padding:0 16px}.focus-header>span{display:none}.focus-content{padding:10px}.grid.two,.grid.three,.grid.four,.student-home-layout,.review-layout,.teacher-layout,.learn-shell,.unit-learn-shell,.content-manager-layout{grid-template-columns:1fr}.unit-progress{padding:8px}.unit-progress-step b{display:none}.unit-progress-step:after{left:28px}.unit-learn-shell>aside:last-child{display:none}.learning-title{align-items:flex-start;flex-wrap:wrap}.learning-title .progress-line{width:100%}.etymology-stage{grid-template-columns:1fr}.scene-arrow{transform:rotate(90deg);height:25px}.scene-card{min-height:230px}.study-controls{grid-template-columns:1fr}.study-controls>span{order:3}.root-intro-stage{grid-template-columns:1fr;padding:12px}.quiz-stage{padding:12px 0}.quiz-question h2{font-size:28px}.choice-grid{grid-template-columns:1fr}.subjective-row{display:grid}.flow-stage{padding:16px}.flow-stage:before{inset:60px 25px}.flow-node{transform:scale(.8)}.review-stage{grid-template-columns:1fr}.confidence-grid{grid-template-columns:repeat(2,1fr)}.page-title{display:block}.title-actions{margin-top:12px;flex-wrap:wrap}.metric-copy b{font-size:20px}}

/* LayerLab screens 02-09 precision pass */
.app-shell{grid-template-columns:218px minmax(0,1fr);background:#f8fbff}.sidebar{width:218px;padding:50px 16px 28px;background:rgba(255,255,255,.96)}.sidebar .brand{padding:0 15px 42px;font-size:28px;gap:7px}.sidebar .brand-mark{width:36px;height:36px}.nav-list{gap:8px}.nav-item{min-height:52px;padding:13px 15px;border-radius:9px;font-size:15px;gap:14px}.nav-item .nav-ico{width:24px}.sidebar-quote{font-family:"Nanum Pen Script",cursive;font-size:17px;line-height:1.45;padding:20px 13px;border:0}.version{padding:8px 13px}.app-main{grid-column:2;position:relative}.topbar{height:96px;padding:0 27px;border:0;background:rgba(255,255,255,.82)}.shell-heading{display:flex;align-items:center;gap:13px}.shell-heading>img{width:42px;height:42px}.shell-heading b{display:block;font-size:28px;line-height:1.1}.shell-heading span{display:block;color:#7587a2;font-size:14px;margin-top:6px}.topbar-right{gap:18px}.topbar .streak{font-size:15px}.topbar .icon-btn{border:0;background:transparent}.content{padding:18px 21px 38px;max-width:none}.role-student .content>.page-title,.role-teacher .content>.page-title,.page-content-manager .content>.page-title{display:none}.panel{border-color:#dfe7f1;box-shadow:0 6px 22px rgba(31,54,92,.045);border-radius:14px}.panel-head{padding:18px 20px}.panel-head h3{font-size:18px}.panel-head small{display:block;margin-top:5px}.metric{min-height:95px;padding:17px 20px;border-radius:12px}.metric-icon{width:50px;height:50px;border-radius:50%;font-size:22px}.metric-copy small{font-size:13px}.metric-copy b{font-size:28px}.metric-copy em{font-size:11px}.topbar-content-stats{display:flex;align-items:center;gap:8px;margin-left:auto}.topbar-content-stats b{color:#079b5a;font-size:17px}.topbar-content-stats span{color:#6f7f99;font-size:11px;margin-right:13px}

/* 02 student Flow Room home */
.page-student-home .content{padding-top:18px}.student-home-layout{display:grid;grid-template-columns:minmax(0,1fr) 314px;gap:16px}.flow-stage{height:706px;padding:26px 25px 20px;overflow:hidden;background:#fff}.flow-stage:before{display:none}.flow-header h2{font-size:31px;margin:0 0 5px}.flow-header p{margin:0;color:#6f7f99;font-size:15px}.legend{font-size:12px;gap:18px}.legend i{width:12px;height:12px}.legend .done{background:#22ad70}.legend .now{background:#126df4}.legend .later{background:#b8c4d5}.home-map-exact{height:380px;position:relative;margin-top:2px}.home-map-exact img{position:absolute;object-fit:contain}.home-road{width:269px;height:118px;left:27%;top:59px}.home-steps{width:482px;height:111px;left:4%;top:244px}.home-map-right{width:442px;height:229px;right:0;top:142px}.home-body,.home-cosmos,.home-society{position:absolute;display:flex;flex-direction:column;align-items:center;color:#142747}.home-body{left:2%;top:127px}.home-cosmos{right:20%;top:15px}.home-society{right:1%;top:111px}.home-map-exact div>span{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#e9f8ef;color:#17335d;font-size:35px}.home-map-exact div>b{font-size:13px;margin-top:4px}.home-map-exact div>small{font-size:11px}.home-feature{height:179px;display:grid;grid-template-columns:1.25fr 110px 1.25fr;gap:13px;align-items:center;margin-top:1px}.home-feature>div:first-child{height:100%;border-radius:14px;background:linear-gradient(135deg,#edf9f1,#f1fbf4);padding:24px 28px;display:flex;flex-direction:column}.home-feature small{font-size:14px;color:#118e59}.home-feature small b{font-size:22px}.home-feature strong{font-size:47px;color:#1768f2;line-height:1.1;margin:13px 0 6px}.home-feature span{font-size:16px;color:#425670}.feature-sprout{text-align:center}.feature-sprout img{width:81px;height:72px}.feature-sprout small{display:block;color:#253651;font-size:12px;line-height:1.5}.home-feature blockquote{margin:0;color:#5f7290;font-size:14px;line-height:1.65}.today-card{height:706px;padding:26px 22px 20px;background:#fff}.today-card h3{font-size:30px;margin:0 0 6px}.today-card>p{font-size:15px}.today-room{display:flex;align-items:center;gap:13px;margin-top:25px}.today-room>span{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#dcebff;color:#1768f2;font-size:25px;font-weight:800}.today-room small,.today-room b{display:block}.today-room small{font-size:14px}.today-room b{font-size:21px;margin-top:4px}.today-road{width:258px;height:138px;object-fit:contain;margin:11px auto 4px;display:block}.today-card>.btn{width:100%;height:54px;font-size:20px;margin-bottom:12px}.today-shortcut{height:74px;border:1px solid #dfe7f1;border-radius:10px;display:flex;align-items:center;padding:0 16px;margin-top:10px;gap:12px}.today-shortcut>span{font-size:25px}.today-shortcut b{font-size:17px}.today-shortcut em{font-size:25px;color:#059b5d;font-style:normal}.today-shortcut i{margin-left:auto;font-size:24px;color:#7690b3}.today-card blockquote{text-align:center;color:#7184a0;font-size:13px;line-height:1.55;margin:15px 0 0}.learning-strip{height:132px;margin-top:16px;padding:22px 27px;display:grid;grid-template-columns:245px repeat(5,1fr);align-items:center;position:relative}.learning-strip>div:first-child b,.learning-strip>div:first-child small{display:block}.learning-strip>div:first-child b{font-size:20px}.learning-strip>div:first-child small{color:#71829d;margin-top:7px}.strip-step{text-align:center;z-index:1}.strip-step span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;margin:0 auto 5px;background:white;border:3px solid #aab9cf;color:#8293aa;font-weight:800}.strip-step.done span{background:#35b978;border-color:#35b978;color:white}.strip-step.active span{border-color:#1768f2;background:#1768f2;color:white}.strip-step b,.strip-step small{display:block}.strip-step b{font-size:14px}.strip-step small{font-size:11px;color:#8292aa;margin-top:4px}.strip-track{position:absolute;left:335px;right:95px;top:40px;height:3px;background:#d7e0ec}.strip-track span{display:block;height:100%;background:#35b978}

/* 03 learning cycle */
.focus-app{min-height:100vh;background:#f8fbff}.focus-header{height:76px;padding:0 31px;border:0;background:rgba(255,255,255,.88)}.focus-header .brand{font-size:23px}.focus-content{padding:13px 20px 24px}.page-student-learn .unit-progress{height:34px;border-radius:15px;padding:0 22px;margin:0 0 16px}.page-student-learn .unit-progress-step{font-size:11px}.page-student-learn .unit-progress-step span{width:22px;height:22px}.unit-learn-shell{grid-template-columns:240px minmax(0,1fr) 220px;gap:14px}.page-student-learn .learn-steps{min-height:845px;padding:27px 20px}.page-student-learn .learn-steps>b{font-size:18px}.page-student-learn .learn-steps>p{font-size:13px;margin-bottom:28px}.page-student-learn .step{min-height:64px;font-size:14px}.page-student-learn .learning-card{min-height:845px;padding:18px 20px}.page-student-learn .learning-title{padding:13px 0 16px;border-bottom:1px solid #dfe7f1}.page-student-learn .learning-title h1{font-size:26px}.page-student-learn .learning-title p{font-size:13px}.page-student-learn .root-intro-stage{min-height:560px;grid-template-columns:40% 1fr;padding:40px 8%;gap:45px}.page-student-learn .root-intro-stage .scene-card{min-height:420px}.page-student-learn .root-intro-stage .scene-card img{height:285px;aspect-ratio:auto}.page-student-learn .root-intro-copy h2{font-size:31px}.page-student-learn .root-intro-copy p{font-size:18px}.page-student-learn .study-controls{min-height:68px}.page-student-learn .session-card{min-height:845px;padding:26px 18px}.page-student-learn .session-card .ring{width:128px;height:128px;margin-top:25px}.page-student-learn .session-list div{padding:13px 0}

/* 04 review queue */
.page-student-review .topbar{display:none}.page-student-review .content{padding:14px 17px 24px}.review-summary{height:67px;margin-bottom:12px;display:grid;grid-template-columns:repeat(4,155px) 1fr;align-items:center;padding:0 20px}.review-summary-item{height:46px;display:grid;grid-template-columns:38px 1fr;grid-template-rows:1fr 1fr;align-items:center;border-right:1px solid #dfe7f1;padding:0 18px}.review-summary-item>span{grid-row:1/3;font-size:26px}.review-summary-item small{font-size:11px}.review-summary-item b{font-size:22px}.tone-1 b{color:#1768f2}.tone-2 b{color:#ef5b4f}.tone-3 b{color:#079b5a}.review-summary-quote{text-align:right;color:#8393aa;font-size:12px}.review-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:12px}.review-card{padding:24px;min-height:820px}.review-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.review-card-head h2{font-size:30px;margin:0}.review-card-head>div:first-child b{display:block;color:#1768f2;font-size:17px;margin-top:5px}.review-card-head>div:last-child{display:flex;align-items:center;gap:10px}.review-card-head i{width:110px;height:5px;background:#dfe6f0;border-radius:4px}.review-card-head i em{display:block;height:100%;background:#1768f2}.review-scene{height:430px;border:1px solid #dfe7f1;border-radius:12px;background:linear-gradient(145deg,#fff,#fbfefd);position:relative;padding:34px}.review-scene>strong{display:block;text-align:center;font-size:17px}.review-etymology{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:24px}.review-etymology>span b,.review-etymology>span small{display:block}.review-etymology>span b{font-size:18px}.review-etymology>span small{font-size:11px}.review-etymology>i{font-size:25px;color:#24456f}.review-etymology>img{width:183px;height:203px;object-fit:contain}.review-scene>p{text-align:center;font-family:"Nanum Pen Script",cursive;font-size:20px;margin-top:-15px}.review-word{position:absolute;right:25px;top:26px;width:200px;text-align:center}.review-word img{width:183px;height:203px;object-fit:cover;border-radius:10px}.review-word b,.review-word span{display:none}.review-reveal{position:absolute;right:208px;top:180px;border:1px solid #dfe7f1;width:38px;height:38px;border-radius:50%;background:white}.confidence-grid{gap:8px;margin-top:14px}.confidence{height:100px}.confidence span{font-size:27px}.confidence b{display:block;font-size:16px}.review-actions{display:flex;gap:10px;margin-top:12px}.review-actions .btn{flex:1;height:48px}.review-timeline{min-height:470px}.timeline-item{height:86px;padding:13px 14px 10px 50px;position:relative;border-left:2px dotted #c9d8ee;margin-left:19px}.timeline-item i{position:absolute;left:-8px;top:18px;width:14px;height:14px;border-radius:50%;background:#a8c9f8}.timeline-item.active i{width:20px;height:20px;left:-11px;top:14px;background:#1768f2;box-shadow:0 0 0 7px #dcebff}.timeline-item b,.timeline-item small{display:block}.timeline-item b{font-size:16px;color:#27415f}.timeline-item.active b{color:#1768f2}.timeline-item small{font-size:11px;margin-top:5px;color:#8393aa}.review-curve{margin-top:12px;padding-bottom:12px}.review-curve img{width:100%;height:105px;object-fit:contain}.review-reason{margin:0 12px;padding:10px;background:#fff1e8;border-radius:8px}.review-reason small,.review-reason b{display:block}.review-reason b{color:#f06a42;font-size:12px;margin-top:5px}

/* 05 student statistics */
.stats-metrics{gap:10px}.stats-main-grid{display:grid;grid-template-columns:1.05fr 1fr 1.35fr;gap:10px;margin-top:10px}.stats-main-grid>.panel{height:340px}.stats-flow-list{padding:10px 18px}.stats-flow-list>div{height:39px;display:grid;grid-template-columns:34px 105px 1fr 38px;align-items:center;gap:7px}.stats-topic{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e9f4ff}.stats-flow-list b{font-size:11px}.stats-flow-list b small{display:block;color:#7486a0}.stats-flow-list>div>i{height:10px;border-radius:8px;background:#e4e9f1;display:flex;overflow:hidden}.stats-flow-list i em{display:block;background:#26b56f}.stats-flow-list i u{display:block;background:#4f91fa;text-decoration:none}.stats-flow-list strong{font-size:12px}.stats-visual>img{display:block;width:calc(100% - 28px);height:235px;object-fit:fill;margin:6px auto}.stats-axis{display:flex;justify-content:space-around;font-size:10px;color:#71839c;margin-top:-24px}.stats-bottom-grid{display:grid;grid-template-columns:1fr 1.08fr .92fr;gap:10px;margin-top:10px}.stats-bottom-grid>.panel,.stats-goals{height:280px}.stats-calendar>img{width:247px;height:143px;object-fit:contain;display:block;margin:0 auto}.stats-weak table{width:100%;border-collapse:collapse}.stats-weak th,.stats-weak td{padding:8px 11px;border-bottom:1px solid #e6edf4;font-size:11px}.stats-weak th{text-align:left;background:#f7f9fc}.stats-weak td strong{color:#ef5350}.stats-goals{display:grid;grid-template-rows:1fr 1fr;gap:10px}.stats-goals>.panel{padding-bottom:12px}.stats-goals p{font-size:11px;color:#7789a2;padding:0 18px}.goal-meter{height:11px;background:#e7edf4;border-radius:9px;margin:8px 18px;overflow:hidden}.goal-meter i{display:block;height:100%;background:#2db474}.stats-goals>.panel>b{float:right;margin-right:18px;color:#248e60}.stats-review-donut{display:flex;align-items:center;padding:14px 18px}.stats-review-donut h3{margin:0}.stats-review-donut p{padding:0;margin:7px 0}.stats-review-donut img{width:90px;height:90px;margin-left:auto}.stats-review-donut>b{font-size:11px;margin:0}

/* 06 teacher dashboard */
.teacher-metrics{gap:10px}.teacher-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:10px;margin-top:10px}.teacher-student-table{height:355px}.teacher-student-table .panel-head{height:78px}.teacher-student-table .panel-head>div:last-child{display:flex;gap:8px}.teacher-student-table .search{width:225px}.data-table th,.data-table td{padding:12px 14px}.teacher-student-table .meter{display:inline-block;width:72px;margin-left:6px}.flow-badge{display:inline-grid;width:25px;height:25px;border-radius:50%;place-items:center;background:#e8f1ff;color:#1768f2}.help-students{height:355px}.help-students .alert-item{align-items:center}.help-students .alert-item>i{margin-left:auto}.teacher-bottom-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:10px;margin-top:10px}.teacher-bottom-grid>.panel{height:270px}.teacher-bars{height:180px;padding:14px;gap:7px}.teacher-bars .bar{width:15px}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:20px;gap:7px}.week-grid>div{height:120px;border:1px solid #dfe7f1;border-radius:9px;display:flex;flex-direction:column;align-items:center;padding:12px 4px;gap:8px}.week-grid .active{border:2px solid #1768f2;background:#eef5ff}.week-grid .done span{color:#16a66a}.week-grid span{font-size:20px}.week-grid em{font-style:normal;font-size:10px;color:#8293aa}

/* 07 teacher student detail */
.page-teacher-student .topbar{height:58px}.page-teacher-student .shell-heading{display:none}.page-teacher-student .content{padding-top:10px}.student-detail-head{height:94px;display:flex;align-items:center}.student-profile{display:flex;align-items:center;gap:15px}.student-profile .avatar{width:70px;height:70px;font-size:25px}.student-profile h1{font-size:30px;margin:0}.student-profile p{margin:7px 0 0;font-size:16px}.student-detail-metrics{margin-left:auto;display:grid;grid-template-columns:repeat(4,120px);gap:7px}.student-detail-metrics .metric{min-height:72px;padding:10px}.student-detail-metrics .metric-icon{width:40px;height:40px}.student-detail-metrics .metric-copy b{font-size:23px}.student-detail-main{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:10px}.student-flow-panel{height:220px;padding-bottom:8px}.student-flow-panel .panel-head{padding:12px 16px 5px;border:0}.student-flow-progress{width:785px;max-width:calc(100% - 24px);height:104px;object-fit:fill;margin:0 12px;display:block}.student-world{height:67px;display:grid;grid-template-columns:120px 1fr 100px 100px;align-items:center;padding:0 24px}.student-world>img{height:65px;width:237px;justify-self:center;object-fit:contain}.student-world>span{text-align:center;font-weight:700;font-size:11px}.student-world>span small{display:block}.student-insight-grid{display:grid;grid-template-columns:1.55fr .85fr;gap:10px;margin-top:10px}.student-insight-grid>.panel{height:150px}.weak-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px 14px}.weak-cards article{height:72px;background:#fff0f0;border-radius:8px;padding:10px;position:relative}.weak-cards small,.weak-cards b,.weak-cards span{display:block}.weak-cards small{color:#e95c5c}.weak-cards b{font-size:15px}.weak-cards span{font-size:11px}.weak-cards strong{position:absolute;right:10px;bottom:10px;color:#d95151;font-size:25px}.error-cause>div:last-child{display:flex;align-items:center;padding:0 16px}.error-cause img{width:100px;height:96px;object-fit:contain}.error-cause ul{list-style:none;padding:0;margin:0;font-size:11px;line-height:1.8}.student-record-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:10px;margin-top:10px}.student-record-grid>.panel{height:205px}.student-record-grid .panel-head{padding:12px 15px}.student-record-grid .data-table th,.student-record-grid .data-table td{padding:8px 10px}.student-coach{display:grid;grid-template-rows:220px 1fr;gap:10px}.student-coach>.panel{overflow:hidden}.student-coach button:not(.btn){width:calc(100% - 20px);height:54px;margin:5px 10px;border:1px solid #dfe7f1;border-radius:9px;background:white;display:flex;align-items:center;text-align:left;padding:8px 12px}.student-coach button>span{width:38px;height:38px;border-radius:50%;background:#eaf3ff;display:grid;place-items:center;color:#1768f2}.student-coach button>b{margin-left:10px}.student-coach button small{display:block;color:#8393a9;font-weight:400;margin-top:3px}.student-coach button>i{margin-left:auto}.coach-note{padding-bottom:10px}.coach-note textarea{width:calc(100% - 20px);height:100px;margin:0 10px;border:1px solid #dfe7f1;border-radius:9px;padding:10px;resize:none}.coach-note>small{display:block;text-align:right;margin:5px 15px}.coach-note>.btn{width:calc(100% - 20px);margin:0 10px}

/* 08 admin dashboard */
.admin-shell{grid-template-columns:204px minmax(0,1fr);background:#f6f9fd}.admin-shell .sidebar{width:204px;padding-top:24px}.admin-shell .sidebar .brand{padding-bottom:30px}.admin-shell .topbar{height:63px}.admin-shell .content{padding:14px 22px}.admin-shell .content>.page-title{height:55px;margin:0}.admin-shell .page-title h1{font-size:27px}.admin-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.admin-metrics .metric{min-height:105px;padding:14px}.admin-metrics .metric-icon{width:45px;height:45px}.admin-metrics .metric-copy b{font-size:25px}.admin-main-grid{display:grid;grid-template-columns:1.45fr .95fr .9fr;gap:9px;margin-top:9px}.admin-main-grid>.panel{height:330px}.admin-growth>img{display:block;width:calc(100% - 24px);height:230px;object-fit:fill;margin:3px auto}.admin-services .service{grid-template-columns:1fr 60px 95px;padding:15px 0}.admin-roles>div:last-child{display:flex;align-items:center;padding:12px}.admin-roles img{width:154px;height:151px;object-fit:contain}.admin-roles ul{list-style:none;padding:0;margin:0;font-size:12px;line-height:2.15}.admin-bottom-grid{display:grid;grid-template-columns:1.25fr 1fr 1.05fr;gap:9px;margin-top:9px}.admin-bottom-grid>.panel{height:300px}.pipeline-flow{display:flex;align-items:center;justify-content:space-around;padding:38px 16px}.pipeline-flow>div{text-align:center}.pipeline-flow>div span{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#e9f8f1;color:#079b5a;font-size:27px;margin:auto}.pipeline-flow b,.pipeline-flow small{display:block}.pipeline-flow b{font-size:12px;margin-top:10px}.pipeline-flow small{font-size:11px;color:#079b5a;margin-top:9px}.pipeline-flow>i{color:#9cafc5;font-size:23px}.storage-cols{display:grid;grid-template-columns:1fr 1fr;padding:20px;gap:25px}.storage-cols>div>b,.storage-cols strong{display:block}.storage-cols strong{font-size:18px;margin:20px 0 8px}.storage-cols strong small{font-size:10px;color:#8293aa}.storage-cols ul{padding:0;list-style:none;font-size:10px;line-height:2;color:#61738e}.admin-activity .alert-item{padding:9px 0}.admin-activity .avatar{width:30px;height:30px}.admin-activity p{margin:2px 0}

/* 09 content manager */
.page-content-manager .topbar{height:82px}.page-content-manager .content{padding:10px 12px 24px}.content-manager-layout{grid-template-columns:210px minmax(0,1fr) 285px;gap:10px}.content-manager-layout>.panel{min-height:842px}.content-manager-layout .panel-head{padding:14px 15px}.tree{max-height:745px;padding:7px}.tree-set{padding:8px 3px}.tree-root{padding:6px 8px 6px 20px;font-size:11px}.content-manager-layout>.panel:nth-child(2) .panel-body{padding:16px}.content-word-head{height:65px}.content-word-head h2{font-size:24px}.story-list{gap:8px}.story-row{min-height:90px;grid-template-columns:34px 132px 1fr 20px}.story-row img{width:132px;height:82px}.content-manager-layout .info-row{padding:6px 0;font-size:11px}.asset-status{margin:0 12px 8px;padding:9px}

@media(max-width:1200px) and (min-width:761px){.app-shell{grid-template-columns:178px 1fr}.sidebar{width:178px}.sidebar .brand{font-size:22px}.student-home-layout{grid-template-columns:1fr 270px}.student-detail-metrics{grid-template-columns:repeat(4,105px)}.admin-shell{grid-template-columns:180px 1fr}.admin-shell .sidebar{width:180px}.content-manager-layout{grid-template-columns:190px 1fr 250px}}

/* LayerLab final alignment and responsive restoration */
@media(min-width:761px){
  .home-map-exact{height:404px}
  .page-student-review .content{padding-top:28px}
  .review-summary{height:100px}
  .review-summary-item{height:70px}
  .student-coach{grid-template-rows:270px 1fr}
}

@media(max-width:760px){
  .app-shell,.admin-shell{display:block;min-height:100vh;background:#f7f9fc}
  .sidebar,.admin-shell .sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;height:68px;padding:6px 8px;background:#fff;border-top:1px solid var(--line);z-index:50;overflow-x:auto}
  .sidebar .brand,.sidebar-quote,.version,.nav-spacer{display:none}
  .nav-list{display:flex;gap:3px;min-width:max-content;height:100%}
  .nav-item{width:62px;height:54px;padding:5px 3px;display:flex;flex-direction:column;justify-content:center;gap:2px;text-align:center;font-size:9px;color:#526886}
  .nav-item .nav-ico{width:auto}.nav-label{display:block;white-space:nowrap}
  .admin-shell .nav-item{color:#526886}.admin-shell .nav-item.active{background:#eaf2ff;color:#1768f2}
  .app-main{padding-bottom:68px}.topbar,.admin-shell .topbar,.page-content-manager .topbar{height:62px;padding:0 12px;gap:8px}
  .shell-heading img{width:30px;height:30px}.shell-heading b{font-size:17px}.shell-heading span,.streak,.topbar-search,.topbar-content-stats,.user-copy,.user-menu>span:last-child,.topbar-right>.icon-btn{display:none}
  .topbar-right{gap:6px}.user-menu{padding:0}.avatar{width:34px;height:34px}.topbar-right .btn{padding:8px;font-size:10px}
  .content,.admin-shell .content,.page-content-manager .content,.page-student-review .content{padding:14px 10px 82px}
  .page-title{display:block;margin-bottom:14px;height:auto!important}.page-title h1{font-size:23px}.page-title p{font-size:12px}.title-actions{margin-top:10px;flex-wrap:wrap}
  .grid.two,.grid.three,.grid.four,.student-home-layout,.review-layout,.stats-main-grid,.stats-bottom-grid,.teacher-main-grid,.teacher-bottom-grid,.student-detail-main,.student-insight-grid,.student-record-grid,.admin-main-grid,.admin-bottom-grid,.content-manager-layout,.teacher-layout{grid-template-columns:1fr}
  .metric{min-height:76px}.stats-metrics,.teacher-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-metrics .metric{min-height:92px}
  .flow-stage,.today-card{height:auto;min-height:0}.flow-stage{padding:18px 14px}.flow-header{display:block}.flow-header h2{font-size:25px}.legend{margin-top:10px}.home-map-exact{height:340px;transform:scale(.9);transform-origin:top center;margin-bottom:-30px}.home-map-exact .home-steps{width:360px;left:-6%}.home-map-exact .home-map-right{width:330px;right:-10%}.home-feature{height:auto;grid-template-columns:1fr;padding-top:8px}.home-feature>div:first-child{min-height:150px}.feature-sprout{padding:12px}.learning-strip{height:auto;grid-template-columns:1fr;gap:14px;padding:18px}.strip-track{display:none}.today-card{margin-top:12px}
  .focus-header{height:60px;padding:0 14px}.focus-content{padding:10px}.unit-progress{overflow-x:auto}.unit-learn-shell,.learn-shell{grid-template-columns:1fr}.page-student-learn .learn-steps,.page-student-learn .learning-card,.page-student-learn .session-card{min-height:0}.page-student-learn .learn-steps{display:none}.page-student-learn .root-intro-stage,.root-intro-stage,.quiz-stage{grid-template-columns:1fr;min-height:0;padding:18px}.page-student-learn .root-intro-stage .scene-card{min-height:300px}.page-student-learn .root-intro-stage .scene-card img{height:210px}.page-student-learn .session-card{margin-top:10px}.choice-grid{grid-template-columns:1fr}
  .review-summary{height:auto;grid-template-columns:repeat(2,1fr);padding:10px}.review-summary-item{height:60px}.review-summary-quote{display:none}.review-card{min-height:0;padding:14px}.review-card-head h2{font-size:24px}.review-scene{height:auto;min-height:530px;padding:18px}.review-etymology{justify-content:flex-start}.review-word{position:static;margin:20px auto}.review-reveal{display:none}.confidence-grid{grid-template-columns:repeat(2,1fr)}.review-timeline{min-height:0}
  .stats-main-grid>.panel,.stats-bottom-grid>.panel,.stats-goals,.teacher-main-grid>.panel,.teacher-bottom-grid>.panel,.admin-main-grid>.panel,.admin-bottom-grid>.panel,.student-insight-grid>.panel,.student-record-grid>.panel{height:auto;min-height:250px}.stats-calendar>img{max-width:100%}
  .teacher-student-table{height:auto}.teacher-student-table .panel-head{height:auto;display:block}.teacher-student-table .panel-head>div:last-child{margin-top:8px}.teacher-student-table .search{width:100%}.week-grid{overflow-x:auto;grid-template-columns:repeat(7,70px)}
  .student-detail-head{height:auto;display:block}.student-profile{margin-bottom:12px}.student-detail-metrics{margin:0;grid-template-columns:repeat(2,1fr)}.student-flow-panel{height:auto}.student-flow-progress{height:auto}.student-world{grid-template-columns:1fr;height:auto;padding:10px}.student-world>img{max-width:100%}.weak-cards{grid-template-columns:1fr}.student-coach{grid-template-rows:auto auto}.student-coach>.panel{overflow:visible}
  .pipeline-flow{overflow-x:auto;justify-content:flex-start;gap:14px}.pipeline-flow>div{min-width:76px}.storage-cols{grid-template-columns:1fr}.admin-roles>div:last-child{justify-content:center;flex-wrap:wrap}
  .content-manager-layout>.panel{min-height:0}.tree{max-height:300px}.story-row{grid-template-columns:32px 86px 1fr 14px}.story-row img{width:86px;height:68px}
}
@media(max-width:760px){
  .review-etymology{display:grid;grid-template-columns:62px 22px minmax(0,1fr);gap:6px;align-items:center;margin-top:14px}
  .review-etymology>img{width:100%;height:190px;object-fit:contain}
  .review-etymology>i:nth-of-type(2),.review-etymology>span:last-child{display:none}
  .review-word{width:100%}.review-word img{width:min(220px,100%);height:210px;object-fit:contain}
  .review-scene{min-height:590px;overflow:hidden}
}

/* Student home live progress data */
.live-room-track{position:absolute;left:4%;top:244px;width:482px;height:112px;display:flex;align-items:flex-start;z-index:3}
.live-room{width:25%;position:relative;text-align:center;color:#6f819b;padding-top:1px}
.live-room>span{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;margin:0 auto 6px;background:#fff;border:3px solid #b8c5d7;font-size:12px;font-weight:800;position:relative;z-index:2}
.live-room>b,.live-room>small,.live-room>em{display:block;position:relative;z-index:2}.live-room>b{font-size:11px}.live-room>small{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:3px 2px}.live-room>em{font-size:9px;font-style:normal;color:#8b9ab0}
.live-room>i{position:absolute;left:64%;top:17px;width:72%;height:3px;background:#d8e0eb;z-index:1}
.live-room.done>span{background:#2eb574;border-color:#2eb574;color:#fff}.live-room.done>i{background:#2eb574}.live-room.active>span{background:#1768f2;border-color:#1768f2;color:#fff;box-shadow:0 0 0 5px #dceaff}.live-room.active>b{color:#1768f2}.live-room.active>i{background:linear-gradient(90deg,#1768f2,#d8e0eb)}
.feature-sprout img{width:100px;height:78px;object-fit:contain;border-radius:8px;background:#fff}

/* Focused unit learning */
.page-student-learn .focus-content{max-width:1480px;padding:14px 24px 24px}
.study-focus-page{height:calc(100dvh - 116px);min-height:560px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#fff;border:1px solid #e4eaf2;border-radius:24px;box-shadow:0 16px 50px rgba(28,55,92,.06);overflow:hidden;position:relative;isolation:isolate}
.study-focus-top{min-height:82px;display:flex;align-items:center;gap:30px;padding:15px 28px;border-bottom:1px solid #edf1f6;background:rgba(255,255,255,.96)}
.study-unit-name{min-width:230px}.study-unit-name small{display:block;color:#8291a6;font-size:11px;margin-bottom:6px}.study-unit-name>b{font-size:21px;color:var(--navy)}.study-unit-name>b span{font-size:13px;color:var(--muted);font-weight:650;margin-left:7px}
.focus-stage-nav{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:6px}.focus-stage-nav>span{display:flex;align-items:center;gap:6px;color:#9aa7b9;font-size:11px;font-weight:700;white-space:nowrap}.focus-stage-nav>span:not(:last-child):after{content:"";width:20px;height:1px;background:#dce3ec;margin:0 3px}.focus-stage-nav i{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#eef2f6;color:#8f9db0;font-style:normal;font-size:10px}.focus-stage-nav .active{color:var(--blue)}.focus-stage-nav .active i{background:var(--blue);color:#fff;box-shadow:0 0 0 4px #eaf2ff}.focus-stage-nav .done{color:var(--green)}.focus-stage-nav .done i{background:var(--green-soft);color:var(--green)}.focus-stage-nav .done:not(:last-child):after{background:#a9dec7}
.study-exit{min-width:94px;height:40px;margin-left:17px;border:1px solid #d7e1ed;border-radius:10px;background:#fff;color:#526985;font-size:12px;font-weight:800;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 3px 10px rgba(35,57,88,.06);transition:.18s}.study-exit span{font-size:18px;line-height:1;color:#8393a8}.study-exit:hover{border-color:#efb5b5;background:#fff7f7;color:#c64e4e}.study-exit:hover span{color:#d75a5a}
.study-focus-main{min-height:0;display:grid;place-items:center;padding:10px 32px;overflow:auto}
.focus-exposure{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative}.focus-item-label{color:var(--blue);font-size:11px;font-weight:850;letter-spacing:.11em;text-transform:uppercase;margin-bottom:7px}.focus-root-context{display:flex;align-items:center;gap:9px;margin-bottom:5px;color:var(--muted);font-size:12px}.focus-root-context b{font-size:15px;color:var(--blue)}
.focus-hero-visual{width:min(780px,75vw);height:clamp(260px,40vh,440px);display:grid;place-items:center}.focus-hero-visual img{display:block;width:100%;height:100%;object-fit:contain}.focus-exposure h1{font-size:clamp(34px,3.6vw,54px);line-height:1;margin:6px 0;color:var(--navy);letter-spacing:-.025em}.focus-meaning{font-size:clamp(17px,1.5vw,23px);font-weight:650;color:#60738e;margin:0}
.root-colored-word{display:inline-flex;align-items:baseline;justify-content:center;color:var(--navy)}.root-colored-word .word-root{color:#1674e8}.root-colored-word .word-remainder{color:inherit}
.focus-example{max-width:min(820px,88vw);margin-top:13px;display:flex;flex-direction:column;align-items:center;gap:4px;line-height:1.35}.focus-example b{color:#243b59;font-size:clamp(16px,1.35vw,21px)}.focus-example span{color:#6b7e97;font-size:clamp(13px,1.05vw,17px);font-weight:650}
.focus-extra-note{position:absolute;left:12px;bottom:10px;display:flex;align-items:center;gap:9px;text-align:left;color:#657791}.focus-extra-note img{width:62px;height:48px;object-fit:contain}.focus-extra-note small,.focus-extra-note b{display:block}.focus-extra-note small{font-size:9px;color:#8e9db0;letter-spacing:.08em}.focus-extra-note b{font-size:11px;max-width:210px;margin-top:3px}
.study-focus-actions{min-height:86px;display:grid;grid-template-columns:minmax(160px,220px) 1fr minmax(160px,220px);align-items:center;gap:16px;padding:14px 28px;border-top:1px solid #edf1f6;background:#fbfcfe}.study-focus-actions>span{text-align:center;color:#7a8ba3;font-size:12px}.focus-play,.focus-next{min-height:52px;border-radius:14px;font-size:15px}
.word-browse-actions{grid-template-columns:minmax(90px,130px) minmax(150px,210px) 1fr minmax(150px,220px);gap:11px}.focus-prev{min-height:52px;border-radius:14px;color:#60738e}
.focus-quiz{width:min(1120px,100%);min-height:0;display:grid;grid-template-columns:minmax(340px,.9fr) minmax(420px,1.1fr);gap:55px;align-items:center}.focus-quiz-visual{height:clamp(260px,40vh,440px);display:grid;place-items:center}.focus-quiz-visual img{width:100%;height:100%;object-fit:contain}.focus-quiz-question>p{color:var(--muted);font-size:15px;margin:10px 0 3px}.focus-quiz-question h2{font-size:clamp(34px,3.5vw,52px);margin:8px 0 28px;color:var(--navy)}.focus-quiz-question .choice-grid{gap:12px}.focus-quiz-question .choice-card{min-height:72px;font-size:16px}.focus-repeat-note{margin-top:18px;color:#8a99ad;font-size:11px;text-align:center}.study-focus-main .unit-complete{min-height:0}
.focus-quiz.mcq-layout{width:min(1040px,100%);height:100%;grid-template-columns:1fr;grid-template-rows:minmax(270px,1fr) auto;gap:12px;align-items:center;justify-items:center;padding:4px 0 12px}.mcq-layout .focus-quiz-visual{position:relative;width:min(880px,100%);height:clamp(270px,39vh,360px);min-height:0;overflow:hidden}.mcq-layout .focus-quiz-visual img{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain}.mcq-layout .focus-quiz-question{width:min(920px,100%);text-align:center}.mcq-layout .focus-item-label{display:block;margin-bottom:3px}.mcq-layout .focus-quiz-question>p{margin:4px 0 0;font-size:16px}.mcq-layout .focus-quiz-question h2{font-size:clamp(31px,2.7vw,42px);margin:6px 0 14px}.mcq-layout .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px}.mcq-layout .choice-card{min-height:57px;font-size:17px}.mcq-layout .focus-repeat-note{margin-top:9px}
.focus-quiz.spelling-layout{width:min(1080px,100%);grid-template-rows:minmax(300px,1fr) auto}.spelling-layout .focus-quiz-visual{width:min(920px,100%);height:clamp(300px,44vh,390px)}.spelling-layout .focus-quiz-question{width:min(760px,100%)}.spelling-layout .focus-quiz-question h2{margin-bottom:16px}.spelling-layout .subjective-row{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:12px}.spelling-layout .subjective-row input{height:60px;text-align:center;border-radius:14px;font-size:22px;font-weight:750;letter-spacing:.02em;background:#fff}.spelling-layout .subjective-row .btn{height:60px;border-radius:14px;font-size:16px}.spelling-layout .focus-repeat-note{margin-top:10px}
.focus-quiz.remediation-layout{width:min(1080px,100%);grid-template-rows:minmax(270px,1fr) auto}.remediation-layout .focus-quiz-visual{height:clamp(270px,38vh,350px)}.remediation-layout .focus-quiz-question{width:min(780px,100%)}.remediation-layout .focus-quiz-question>h3{margin:3px 0 8px;color:#1768f2;font-size:18px}.remediation-layout .focus-quiz-question>p{margin:8px 0 10px}.remediation-answer-guide{min-height:47px;display:flex;align-items:center;justify-content:center;gap:14px;margin:4px 0}.remediation-answer-guide b{font-size:clamp(31px,3vw,45px)}.remediation-answer-guide>span{color:#5b708d;font-size:clamp(20px,1.8vw,27px);font-weight:750}.remediation-layout .focus-quiz-question>input{width:100%;height:56px;border:1px solid var(--line);border-radius:14px;padding:0 18px;text-align:center;font-size:20px;font-weight:700;outline:none}.remediation-layout input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(23,104,242,.11)}.remediation-double-input{display:grid;grid-template-columns:1fr 1fr;gap:10px}.remediation-double-input input{height:56px;border:1px solid var(--line);border-radius:14px;padding:0 16px;text-align:center;font-size:18px;font-weight:700;outline:none}.remediation-listen{display:flex;align-items:center;justify-content:center;gap:13px;margin:5px 0}.remediation-listen span{color:#6e8099;font-size:12px}.remediation-submit{width:100%;height:52px;margin-top:10px;border-radius:14px}
.study-answer-feedback{position:absolute;z-index:90;inset:0;display:grid;place-items:center;background:rgba(255,255,255,.72);backdrop-filter:blur(3px);animation:study-feedback-in .18s ease-out both}.study-answer-feedback.correct{background:rgba(241,255,248,.76)}.study-answer-feedback.wrong{background:rgba(255,245,245,.78)}.study-feedback-card{width:min(360px,calc(100% - 40px));min-height:330px;border-radius:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:27px 30px;background:#fff;box-shadow:0 18px 50px rgba(24,48,80,.18);animation:study-feedback-pop .3s cubic-bezier(.2,1.15,.4,1) both}.study-answer-feedback.correct .study-feedback-card{border:5px solid #20b876;color:#14945d}.study-answer-feedback.wrong .study-feedback-card{border:5px solid #ef6767;color:#d94f4f}.study-feedback-mark{font-family:Arial,sans-serif;font-size:82px;font-weight:500;line-height:.72}.study-feedback-card>strong{margin-top:17px;font-size:18px;letter-spacing:-.02em}.study-feedback-answer{margin-top:17px;text-align:center}.study-feedback-answer b,.study-feedback-answer span{display:block}.study-feedback-answer b{color:#183252;font-size:35px;line-height:1.1}.study-feedback-answer span{margin-top:7px;color:#61758f;font-size:17px;font-weight:700}.study-feedback-card>small{margin-top:20px;color:#7a8ba0;font-size:11px}.study-answer-feedback.leaving{animation:study-feedback-out .19s ease-in both}@keyframes study-feedback-in{from{opacity:0}to{opacity:1}}@keyframes study-feedback-pop{from{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@keyframes study-feedback-out{to{opacity:0;transform:scale(1.03)}}
.study-answer-feedback.is-sequencing .study-feedback-spelling .word-root{animation:study-root-blink .58s ease-in-out 2}.study-answer-feedback.is-sequencing .study-feedback-spelling .word-remainder{animation:study-rest-blink .58s ease-in-out 2 1.16s}@keyframes study-root-blink{0%,100%{opacity:1;filter:none}50%{opacity:.2;filter:saturate(2)}}@keyframes study-rest-blink{0%,100%{opacity:1}50%{opacity:.18}}
.study-feedback-answer .root-colored-word,.study-feedback-answer .root-colored-word span{display:inline-flex}.test-taking{position:relative}.test-result-actions{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:18px}.test-result-actions .btn{min-width:170px}.test-prompt-en .word-root{color:#1674e8}.test-taking .choice-card .root-colored-word{font-size:inherit}.test-remediation-taking .quiz-stage{min-height:540px}.test-remediation-taking .quiz-question>p{margin:8px 0 11px;color:var(--muted)}
@media(prefers-reduced-motion:reduce){.study-answer-feedback,.study-feedback-card,.study-answer-feedback.leaving{animation:none}}

@media(max-width:980px){
  .study-focus-top{align-items:flex-start}.focus-stage-nav{overflow-x:auto;max-width:58%;padding:4px}.focus-stage-nav>span b{display:none}.focus-stage-nav>span:not(:last-child):after{width:12px}.study-exit{margin-left:7px}.focus-quiz{grid-template-columns:1fr;gap:12px;padding:20px 0}.focus-quiz-visual{height:250px}.focus-quiz-question{width:min(620px,100%);margin:auto}.focus-hero-visual{width:min(760px,88vw);height:clamp(260px,38vh,400px)}
}
@media(max-width:760px){
  .page-student-learn .focus-content{padding:8px}.study-focus-page{height:auto;min-height:calc(100dvh - 82px);border-radius:16px}.study-focus-top{min-height:68px;padding:10px 12px;gap:6px}.study-unit-name{min-width:0;flex:1}.study-unit-name small{font-size:9px}.study-unit-name>b{font-size:17px}.study-unit-name>b span{display:block;margin:3px 0 0;font-size:10px}.focus-stage-nav{max-width:116px;gap:2px}.focus-stage-nav>span:not(:last-child):after{width:4px;margin:0 1px}.focus-stage-nav i{width:21px;height:21px}.study-exit{min-width:72px;height:34px;margin-left:2px;padding:0 7px;font-size:10px;gap:3px}.study-exit span{font-size:15px}.study-focus-main{padding:10px 14px}.focus-exposure{min-height:420px}.focus-hero-visual{width:100%;height:clamp(250px,42vh,390px)}.focus-exposure h1{font-size:38px}.focus-meaning{font-size:18px}.focus-example{max-width:94vw;margin-top:10px}.focus-example b{font-size:15px}.focus-example span{font-size:13px}.focus-extra-note{position:static;margin-top:14px}.study-focus-actions{grid-template-columns:1fr 1fr;padding:10px 12px;gap:9px;min-height:76px}.study-focus-actions>span{grid-column:1/-1;grid-row:1;font-size:10px}.word-browse-actions{grid-template-columns:1fr 1fr 1fr}.word-browse-actions .focus-prev,.word-browse-actions .focus-play,.word-browse-actions .focus-next{grid-row:2;min-height:46px;font-size:11px;padding-inline:7px}.focus-play,.focus-next{grid-row:2;min-height:46px;font-size:12px}.focus-quiz{min-height:500px}.focus-quiz-visual{height:220px}.focus-quiz-question h2{font-size:31px;margin-bottom:18px}.focus-quiz-question .choice-grid{grid-template-columns:1fr}.focus-quiz-question .choice-card{min-height:54px}.mcq-layout .focus-quiz-visual{width:100%;height:clamp(240px,52vw,300px)}.mcq-layout .choice-grid{grid-template-columns:1fr}.spelling-layout .focus-quiz-visual{height:clamp(250px,56vw,320px)}.spelling-layout .subjective-row{grid-template-columns:minmax(0,1fr) 94px}.spelling-layout .subjective-row input,.spelling-layout .subjective-row .btn{height:52px}.spelling-layout .subjective-row input{font-size:18px}.study-feedback-card{min-height:300px;padding:24px}.subjective-row{display:grid}.study-focus-main .unit-complete{min-height:500px}
}
@media(max-width:760px){.remediation-layout .focus-quiz-visual{height:clamp(230px,52vw,290px)}.remediation-answer-guide{display:grid;gap:5px}.remediation-double-input{grid-template-columns:1fr}.remediation-listen{display:grid;gap:6px}.remediation-layout .focus-quiz-question>input,.remediation-double-input input{height:50px;font-size:16px}.remediation-submit{height:48px}.test-result-actions{display:grid}.test-result-actions .btn{width:100%}.test-remediation-taking .quiz-stage{min-height:0}}
.today-shortcut[data-nav]{cursor:pointer}.today-shortcut[data-nav]:hover{border-color:#1768f2;background:#f6f9ff}
@media(max-width:760px){.live-room-track{left:-5%;width:110%;top:244px}.live-room>small{display:none}.live-room>i{width:70%}.feature-sprout img{width:130px;height:92px}}
@media(min-width:761px){.live-room-track{width:420px}}
@media(min-width:761px){.home-map-right{clip-path:inset(0 0 0 118px)}}

/* Student home v2 · LayerLab source 1586 × 992 */
.page-student-home .content{width:100%;max-width:1346px;padding:24px 32px 38px}
.student-home-v2{display:grid;gap:22px}
.home-v2-welcome{min-height:67px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.home-v2-welcome>div:first-child>span{display:block;color:#1770ed;font-size:12px;font-weight:800;letter-spacing:.06em;margin-bottom:7px}
.home-v2-welcome h1{margin:0;color:#142747;font-size:27px;line-height:1.2;letter-spacing:-.025em}
.home-v2-streak{display:flex;align-items:center;gap:7px;color:#e17a18;background:#fff7e9;border:1px solid #f7dfb7;border-radius:99px;padding:8px 14px;font-size:12px;margin-top:4px}
.home-v2-hero{height:214px;min-height:214px;border-radius:18px;display:grid;grid-template-columns:300px minmax(360px,1fr) 390px;align-items:stretch;gap:0;padding:0 32px;background:linear-gradient(110deg,#f1f7ff 0%,#f8fbff 55%,#f3fbf7 100%);border-color:#d4e5f7;overflow:hidden;position:relative}
.home-v2-hero:after{display:none}
.home-v2-hero-copy,.home-v2-hero-art,.home-v2-hero-action{position:relative;z-index:1}
.home-v2-hero-copy{align-self:center;min-width:0}.home-v2-eyebrow{display:block;color:#263d60;background:transparent;border:0;border-radius:0;padding:0;font-size:14px;line-height:1.4;font-weight:700;letter-spacing:0}
.home-v2-hero-copy h2{margin:13px 0 5px;color:#2a6fea;font-size:54px;line-height:.94;letter-spacing:-.035em}.home-v2-hero-copy p{margin:0;color:#526681;font-size:21px;line-height:1.3;font-weight:700}
.home-v2-hero-art{min-width:0;height:100%;margin:0;padding:18px 22px 10px;display:grid;place-items:center;overflow:hidden}.home-v2-hero-art img{display:block;width:auto;height:auto;max-width:100%;max-height:180px;object-fit:contain;object-position:center bottom}
.home-v2-hero-action{align-self:center;min-width:0;padding:7px 0 7px 54px;border-left:1px solid #cbdced}.home-v2-progress-copy{display:block;max-width:none;margin:0 0 13px}.home-v2-progress-copy b{color:#12264a;font-size:22px;line-height:1.2}.home-v2-progress{width:100%;height:14px;margin:0 0 25px;background:#d9e5f1;border-radius:99px;overflow:hidden}.home-v2-progress i{display:block;height:100%;background:linear-gradient(90deg,#2589f3,#2b72ea);border-radius:inherit}.home-v2-continue{width:100%;height:54px;border-radius:10px;font-size:17px;white-space:nowrap}.home-v2-continue span{font-size:19px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.home-v2-progress-section{display:grid;gap:16px}
.home-v2-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.home-v2-section-head h2{font-size:22px;margin:0 0 5px;color:#162b4b}.home-v2-section-head p{font-size:12px;margin:0;color:#7889a1}
.home-v2-section-head label{display:flex;align-items:center;gap:9px;color:#7c8ca2;font-size:9px;font-weight:850;letter-spacing:.1em}.home-v2-section-head select{min-width:190px;border:1px solid #d9e3ee;border-radius:10px;background:#fff;color:#263b58;padding:10px 34px 10px 12px;font-size:12px;font-weight:700;outline:none}
.root-cover-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.root-cover-card{min-width:0;height:362px;background:#fff;border:1px solid #dfe7f1;border-radius:17px;box-shadow:0 7px 22px rgba(34,56,88,.055);overflow:hidden;position:relative;transition:.2s}
.root-cover-card:not(.locked){cursor:pointer}.root-cover-card:not(.locked):hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(32,63,105,.12)}
.root-cover-card.active{border:2px solid #2d7df4;box-shadow:0 9px 26px rgba(30,107,227,.14)}.root-cover-card.complete{border-color:#cde8db}.root-cover-card.locked{background:#fbfcfd;filter:saturate(.45)}
.root-cover-status{height:34px;position:absolute;top:10px;right:11px;z-index:2}.root-cover-status span{height:27px;display:inline-flex;align-items:center;gap:4px;border-radius:99px;padding:0 9px;background:#eef2f6;color:#788aa2;font-size:9px;font-weight:800}.root-cover-card.complete .root-cover-status span{background:#e7f7ef;color:#13905b}.root-cover-card.active .root-cover-status span{background:#eaf2ff;color:#1768f2}
.root-cover-art{height:186px;min-width:0;overflow:hidden;display:grid;place-items:center;background:linear-gradient(180deg,#fbfdff,#fff);border-bottom:1px solid #edf1f5;padding:12px 16px 3px}.root-cover-art img{display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;object-position:center bottom}.root-cover-card.locked .root-cover-art{opacity:.52}
.root-cover-copy{padding:15px 17px}.root-cover-copy>small{display:block;color:#8b9aaf;font-size:9px;font-weight:850;letter-spacing:.09em}.root-cover-copy h3{margin:5px 0 3px;color:#1768f2;font-size:27px;line-height:1}.root-cover-card.complete .root-cover-copy h3{color:#179c65}.root-cover-card.locked .root-cover-copy h3{color:#708097}.root-cover-copy>p{height:20px;margin:0;color:#566a85;font-size:12px;font-weight:650}.root-cover-copy>div{height:5px;background:#edf1f5;border-radius:99px;margin-top:14px;overflow:hidden}.root-cover-copy>div i{height:100%;display:block;background:#1768f2;border-radius:inherit}.root-cover-card.complete .root-cover-copy>div i{background:#20b876}.root-cover-copy footer{display:flex;justify-content:space-between;align-items:center;margin-top:11px;font-size:9px;color:#8796aa}.root-cover-copy footer b{font-size:10px;color:#1768f2}.root-cover-card.complete footer b{color:#179c65}.root-cover-card.locked footer b{color:#9aa6b5}
.home-v2-bottom{display:grid;grid-template-columns:1fr 1fr;gap:14px}.home-v2-bottom article{min-height:105px;display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;padding:16px 19px;border-radius:16px}.home-v2-bottom-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center}.home-v2-bottom-icon.review{background:#eaf7f1;color:#16a467}.home-v2-bottom-icon.chart{background:#eaf2ff;color:#1768f2}.home-v2-bottom small,.home-v2-bottom b,.home-v2-bottom p{display:block}.home-v2-bottom small{font-size:9px;color:#8494aa;margin-bottom:3px}.home-v2-bottom b{font-size:14px;color:#243b59}.home-v2-bottom p{font-size:10px;color:#8594a8;margin:5px 0 0}.home-v2-bottom .btn{font-size:11px;color:#1768f2;border-color:#dbe7f6;box-shadow:none}

/* Root intro: keep the artwork inside its own row so the Korean meaning can never overlap it. */
.root-exposure{justify-content:center;gap:26px;padding:8px 0 12px;overflow:hidden}
.root-exposure .focus-hero-visual{position:relative;flex:0 1 clamp(280px,46vh,380px);height:clamp(280px,46vh,380px);max-height:calc(100% - 63px);margin:0;overflow:hidden}
.root-exposure .focus-hero-visual img{position:absolute;inset:0;display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain}
.root-only-meaning{position:relative;z-index:1;flex:0 0 auto;margin:0;font-size:clamp(19px,1.65vw,25px);color:#526a88}
.word-exposure .focus-hero-visual{position:relative;flex:0 1 clamp(300px,46vh,370px);height:clamp(300px,46vh,370px);min-height:0;max-height:calc(100% - 132px);overflow:hidden}
.word-position-label{margin-bottom:4px;color:#71839d;font-size:12px;letter-spacing:.06em}
.word-exposure .focus-hero-visual img{position:absolute;inset:0;display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;transform:translateY(-4%) scale(1.18);transform-origin:center center}
.word-exposure h1{font-size:clamp(43px,4.3vw,62px);margin:19px 0 7px}.word-exposure .focus-meaning{font-size:clamp(21px,1.9vw,29px);line-height:1.25}
.word-visual-masked{position:relative;overflow:hidden;background:#fff}
.word-visual-masked:after{content:"";position:absolute;z-index:2;left:0;right:0;top:0;height:20%;background:#fff;pointer-events:none}
.word-exposure .word-visual-masked:after{height:14%}
.focus-quiz-visual.word-visual-masked img{min-width:0;min-height:0;max-width:100%;max-height:100%}
.root-auto-actions{grid-template-columns:1fr minmax(180px,230px)}
.auto-audio-state{justify-self:center;display:flex;align-items:center;justify-content:center;gap:10px;min-height:42px;color:#6f829c;font-size:12px}.auto-audio-state>span{display:flex;align-items:center;gap:7px}.auto-audio-state .btn{min-height:34px;padding:6px 10px;font-size:11px}

@media(min-width:761px) and (max-width:1390px){
  .page-student-home .content{padding-inline:20px}.home-v2-hero{height:194px;min-height:194px;grid-template-columns:215px minmax(250px,1fr) 225px;padding-inline:22px}.home-v2-hero-copy h2{font-size:43px}.home-v2-hero-copy p{font-size:17px}.home-v2-hero-art{padding-inline:14px}.home-v2-hero-art img{max-height:160px}.home-v2-hero-action{padding-left:24px}.home-v2-progress-copy b{font-size:17px}.home-v2-progress{height:10px;margin-bottom:18px}.home-v2-continue{height:48px;font-size:14px}
}
@media(min-width:761px) and (max-width:900px){.root-cover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.root-cover-card{height:355px}}
@media(max-width:760px){
  .page-student-home .content{padding:17px 12px 84px}.student-home-v2{gap:17px}.home-v2-welcome{min-height:58px}.home-v2-welcome h1{font-size:21px}.home-v2-streak{display:none}
  .home-v2-hero{height:auto;min-height:0;grid-template-columns:minmax(0,1fr);gap:14px;padding:22px 20px 20px}.home-v2-hero-copy{text-align:left}.home-v2-eyebrow{margin:0;font-size:12px}.home-v2-hero-copy h2{margin-top:9px;font-size:42px}.home-v2-hero-copy p{font-size:17px}.home-v2-hero-art{height:clamp(145px,42vw,190px);padding:0 8px}.home-v2-hero-art img{max-height:100%}.home-v2-hero-action{padding:15px 0 0;border-left:0;border-top:1px solid #cbdced}.home-v2-progress-copy{margin-bottom:9px}.home-v2-progress-copy b{font-size:17px}.home-v2-progress{height:10px;margin-bottom:15px}.home-v2-continue{width:100%;height:50px}
  .home-v2-section-head{align-items:flex-start;display:grid}.home-v2-section-head label{justify-content:space-between}.home-v2-section-head select{min-width:210px}.root-cover-grid{grid-template-columns:1fr}.root-cover-card{height:370px}.root-cover-art{height:195px}.home-v2-bottom{grid-template-columns:1fr}.home-v2-bottom article{grid-template-columns:45px 1fr}.home-v2-bottom .btn{grid-column:1/-1;width:100%}
  .root-exposure{gap:24px;padding-block:8px}.root-exposure .focus-hero-visual{flex-basis:clamp(240px,40vh,320px);height:clamp(240px,40vh,320px);max-height:calc(100% - 59px)}.word-exposure .focus-hero-visual{flex-basis:clamp(270px,44vh,325px);height:clamp(270px,44vh,325px)}.word-exposure h1{margin-top:16px;font-size:clamp(40px,11vw,54px)}.word-exposure .focus-meaning{font-size:clamp(21px,5.8vw,26px)}.word-visual-masked:after{height:20%}.word-exposure .word-visual-masked:after{height:14%}.root-auto-actions{grid-template-columns:1fr}.root-auto-actions .focus-next{width:100%}.auto-audio-state{grid-row:auto}
}

/* A word without an approved illustration stays visibly pending. */
.artwork-pending{display:grid;place-items:center;background:#f8fafc;border:1px dashed #dfe7ef;border-radius:14px;min-height:110px;color:#8291a6}
.artwork-pending-copy{display:grid;justify-items:center;gap:10px;font-size:14px;font-weight:600}
.artwork-pending-copy>span{display:block!important;color:inherit}
.word-artwork{width:100%;height:210px}.word-artwork img{width:100%;height:100%;object-fit:contain}
.story-artwork{width:132px;height:82px;min-height:0}.story-artwork img{width:100%;height:100%;object-fit:contain}.story-artwork .artwork-pending-copy{gap:3px;font-size:11px}.story-artwork .artwork-pending-copy svg{width:20px;height:20px}
@media(max-width:760px){.story-artwork{width:86px;height:68px}.story-artwork .artwork-pending-copy{font-size:10px}}


/* RootFlow learning home bird's-eye view. LayerLab reference: 1905 × 825. */
.page-student-home .content{max-width:none;padding:23px clamp(20px,5vw,90px) 30px}
.rfb-home{display:grid;gap:16px;min-width:0}
.rfb-welcome{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.rfb-welcome small{display:block;margin-bottom:3px;color:#1768f2;font-size:11px;font-weight:800}
.rfb-welcome h1{margin:0;color:#142747;font-size:24px;line-height:1.15;letter-spacing:-.035em}
.rfb-welcome>span{color:#98a5b7;font-size:11px;white-space:nowrap}
.rfb-top{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(490px,1fr);gap:10px;min-width:0}
.rfb-today{height:134px;display:grid;grid-template-columns:minmax(180px,.9fr) minmax(210px,1fr) minmax(245px,.95fr);align-items:center;padding:0 24px;gap:12px;border-radius:14px;border-color:#d9e6f5;background:linear-gradient(105deg,#f3f8ff 0%,#f9fcff 68%,#f4faf8 100%);overflow:hidden;min-width:0}
.rfb-today-copy{min-width:0}.rfb-today-copy small{display:block;color:#263d60;font-size:11px;font-weight:750;white-space:nowrap}.rfb-today-copy h2{margin:9px 0 0;color:#1768f2;font-size:40px;letter-spacing:-.05em;line-height:1}.rfb-today-copy p{margin:1px 0 0;color:#536882;font-size:14px;font-weight:700}
.rfb-today-art{display:block;width:100%;height:127px;object-fit:contain;object-position:center bottom}
.rfb-today-action{min-width:0;display:grid;gap:9px;padding-left:24px;border-left:1px solid #d7e1ed}.rfb-today-action>b{color:#132647;font-size:20px}.rfb-today-action .btn{width:100%;min-height:38px;padding:7px 12px;font-size:13px;border-radius:8px}
.rfb-meter{display:block;height:7px;border-radius:99px;background:#e5ebf4;overflow:hidden}.rfb-meter>i{display:block;height:100%;border-radius:inherit;background:#1768f2}
.rfb-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0}
.rfb-metric{height:134px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;background:#fff;border:1px solid #e0e8f2;border-radius:13px;box-shadow:0 4px 15px rgba(34,56,88,.025)}
.rfb-metric-icon{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;margin-bottom:8px}.rfb-metric-icon.blue{background:#eaf2ff;color:#1768f2}.rfb-metric-icon.green{background:#e8f8ef;color:#1fa66e}.rfb-metric-icon.purple{background:#f2eeff;color:#7852df}.rfb-metric-icon.orange{background:#fff4e8;color:#e67b24}
.rfb-metric small{color:#667994;font-size:10px;font-weight:750;white-space:nowrap}.rfb-metric b{margin-top:3px;color:#13294d;font-size:21px;line-height:1.15;white-space:nowrap}.rfb-metric em{color:#7086a6;font-size:13px;font-style:normal}
.rfb-current{display:grid;grid-template-columns:294px minmax(0,1fr);align-items:start;gap:16px;min-width:0}
.rfb-current-heading h2,.rfb-overview-heading h2{margin:0;color:#152b4d;font-size:18px;letter-spacing:-.02em}.rfb-current-heading p,.rfb-overview-heading p{margin:5px 0 0;color:#8a9bb2;font-size:11px}
.rfb-current-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;min-width:0}
.rfb-current-root{height:91px;display:grid;grid-template-columns:minmax(0,1fr) 42%;grid-template-rows:1fr auto;align-items:start;min-width:0;padding:13px 13px 10px;border:1px solid #dce5f0;border-radius:10px;background:#fff;text-align:left;font:inherit;cursor:pointer;overflow:hidden;box-shadow:0 4px 15px rgba(34,56,88,.025)}
.rfb-current-root:hover,.rfb-current-root:focus-visible{border-color:#2a75ec;box-shadow:0 3px 13px rgba(31,104,226,.13)}.rfb-current-root.is-active{border:2px solid #2474f3;padding:12px 12px 9px}
.rfb-current-copy{display:block;min-width:0}.rfb-current-copy strong{display:block;color:#1768f2;font-size:16px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rfb-current-copy small{display:block;margin-top:4px;color:#71829b;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rfb-current-root>img{display:block;width:100%;height:48px;object-fit:contain;object-position:center bottom;grid-column:2;grid-row:1}
.rfb-current-progress{display:flex;align-items:center;gap:8px;grid-column:1/-1;grid-row:2;min-width:0}.rfb-current-progress .rfb-meter{flex:1;min-width:0;height:6px}.rfb-current-progress small{color:#7488a5;font-size:10px;white-space:nowrap}
.rfb-overview{min-width:0}
.rfb-overview-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;min-height:43px;margin-bottom:7px}
.rfb-overview-actions{display:flex;align-items:center;gap:19px}.rfb-overview-actions .btn{font-size:10px;padding:7px 12px;min-height:29px;border-radius:8px;box-shadow:none}.rfb-legend{display:flex;align-items:center;gap:5px;color:#7c8da6;font-size:10px;white-space:nowrap}.rfb-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-left:7px;background:#dfe6ef}.rfb-legend i.done{background:#21b47a}.rfb-legend i.current{background:#2776ed}.rfb-legend i.future{background:#dfe6ef}
.rfb-set-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;min-width:0}
.rfb-set-column{display:grid;grid-template-rows:repeat(10,33px);gap:4px;min-width:0}
.rfb-set-row{display:grid;grid-template-columns:25px 39px minmax(68px,1fr) 66px 47px 94px;align-items:center;gap:5px;width:100%;height:33px;min-width:0;padding:2px 9px;background:#fff;border:1px solid #e4eaf2;border-radius:7px;color:#1b3153;text-align:left;font:inherit;cursor:pointer;overflow:hidden}
.rfb-set-row:hover,.rfb-set-row:focus-visible{position:relative;z-index:1;border-color:#75a9fa;background:#f7faff;outline:none;box-shadow:0 2px 8px rgba(33,103,218,.12)}.rfb-set-row.is-current{border:2px solid #2474f3;padding:1px 8px;background:#fbfdff}
.rfb-set-id{height:22px;min-width:23px;display:grid;place-items:center;padding:0 2px;background:#1768f2;color:#fff;border-radius:4px;font-size:11px;font-weight:850}
.rfb-set-thumb{width:38px;height:29px;display:grid;place-items:center;overflow:hidden}.rfb-set-thumb img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.rfb-set-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:750}
.rfb-set-meter{height:6px}.rfb-set-count{color:#6f84a3;font-size:10px;white-space:nowrap;text-align:center}
.rfb-segments{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:2px;min-width:0}.rfb-segments>i{height:11px;border-radius:2px;background:#e4eaf3}.rfb-segments>i.current{background:#2878f1}.rfb-segments>i.done{background:#25b981}
@media(max-width:1550px){.page-student-home .content{padding-inline:32px}.rfb-top{grid-template-columns:minmax(0,1fr)}.rfb-current{grid-template-columns:1fr;gap:9px}.rfb-set-row{grid-template-columns:25px 34px minmax(55px,1fr) 44px 42px 76px;gap:4px;padding-inline:6px}.rfb-set-row.is-current{padding-inline:5px}}
@media(max-width:1100px){.rfb-set-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rfb-set-column{grid-template-rows:none}.rfb-set-column:last-child{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.rfb-set-row{grid-template-columns:25px 34px minmax(55px,1fr) 48px 42px 80px}.rfb-current-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.page-student-home .content{padding:18px 13px 40px}.rfb-home{gap:18px}.rfb-welcome{align-items:start}.rfb-welcome h1{font-size:19px}.rfb-welcome>span{display:none}.rfb-today{height:auto;grid-template-columns:1fr 1fr;gap:8px;padding:16px}.rfb-today-copy h2{font-size:34px}.rfb-today-art{height:90px}.rfb-today-action{grid-column:1/-1;border-left:0;border-top:1px solid #d7e1ed;padding:10px 0 0}.rfb-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.rfb-metric{height:95px}.rfb-metric-icon{width:31px;height:31px;margin-bottom:4px}.rfb-current-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rfb-current-root{height:88px}.rfb-overview-heading{align-items:start;flex-direction:column}.rfb-overview-actions{width:100%;justify-content:space-between;gap:6px}.rfb-set-grid{grid-template-columns:1fr}.rfb-set-column:last-child{grid-column:auto;grid-template-columns:1fr}.rfb-set-row{grid-template-columns:25px 35px minmax(45px,1fr) 46px 42px 83px}}
@media(max-width:420px){.rfb-set-row{grid-template-columns:23px 30px minmax(40px,1fr) 37px 39px 58px;gap:3px;padding-inline:5px}.rfb-set-row.is-current{padding-inline:4px}.rfb-set-thumb{width:30px}.rfb-segments{gap:1px}.rfb-set-name,.rfb-set-count{font-size:9px}.rfb-legend{font-size:8px}}
