:root{--bg:#f7f8fc;--purple:#7a63d7;--purple-dark:#6049ba;--lavender:#f0ecfc;--ink:#30344b;--muted:#9093a5;--line:#eeedf5;--mint:#68bca6;--radius:20px;font-family:'Noto Sans SC',-apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei',sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:17px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.65}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b7a3ff;outline-offset:4px}button{border:0;background:none;color:inherit}button,a{transition:background .18s,transform .18s}button:hover{filter:brightness(.97)}[hidden]{display:none!important}.app-shell{max-width:1800px;margin:auto}.sidebar{width:246px;position:fixed;top:0;bottom:0;padding:37px 24px 22px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:10px;align-items:center;font-size:23px;letter-spacing:1px;font-weight:800;white-space:nowrap}.brand-icon{display:grid;place-items:center;background:var(--purple);width:40px;height:40px;border-radius:13px;color:white;font-size:34px;transform:rotate(-7deg)}.brand small{display:block;font-size:11px;letter-spacing:1.8px;font-weight:500;color:#9c95b4;margin-top:5px}.profile{display:flex;align-items:center;flex-direction:column;margin:37px 0 34px}.avatar{width:78px;height:78px;background:#eeebfc;border:6px solid #f9f7ff;border-radius:50%;font-size:41px;display:grid;place-items:center;margin-bottom:14px}.profile strong{font-size:18px}.profile>span{font-size:14px;color:var(--muted);margin:9px 0 14px}.level-pill{font-size:13px;background:#f6f1ff;color:#8f72c4;padding:7px 11px;border-radius:7px}.nav-caption{display:flex;justify-content:space-between;color:#a7a6b4;font-size:13px;padding:0 12px;margin-bottom:14px}.nav-caption span{font-size:11px;letter-spacing:1.5px}.main-nav a{height:53px;border-radius:12px;display:flex;align-items:center;gap:13px;padding:0 16px;margin-bottom:9px;color:#898b9f;font-size:16px;font-weight:500}.main-nav a>span{font-size:23px}.main-nav a.active{background:#eeeafa;color:#745bce}.main-nav a i{margin-left:auto;width:6px;height:6px;border-radius:50%;background:var(--purple);display:none}.main-nav a.active i{display:block}.main-nav b{margin-left:auto;font-size:13px;padding:3px 7px;background:#f0edf8;border-radius:6px;font-weight:500}.sidebar-bottom{margin-top:auto;text-align:center;padding-top:36px}.mini-planet{font-size:53px;filter:saturate(.6);margin-bottom:10px}.sidebar-bottom>strong{font-size:14px;font-weight:500}.sidebar-bottom p{font-size:13px;color:#a4a4b4;margin:9px 0 30px}.parent-link{border-top:1px solid var(--line);display:flex;gap:10px;align-items:center;width:100%;padding:20px 10px 8px;font-size:15px;color:#9391a4}.parent-link span:last-child{margin-left:auto}.prototype-label{font-size:12px;color:#b1aebf;display:block;margin-top:10px}.main{margin-left:246px;padding:0 40px}.topbar{height:90px;border-bottom:1px solid #eaeaf2;display:flex;align-items:center;justify-content:space-between}.breadcrumb{font-size:14px;color:#9c9ead;display:flex;gap:15px;align-items:center}.breadcrumb strong{font-weight:500;color:#686b80}.topbar-right{display:flex;gap:20px;align-items:center}.date-header{font-size:14px;color:#9294a6}.points-badge{height:34px;border:1px solid #ede4cf;background:#fff9eb;border-radius:10px;color:#d5ab53;padding:0 12px;display:flex;align-items:center;gap:8px;font-size:18px}.points-badge strong{font-size:16px}.points-badge span{font-size:13px}.small-avatar{width:33px;height:33px;background:#eae5fa;border-radius:50%;display:grid;place-items:center;font-size:23px}.page-heading{display:flex;justify-content:space-between;align-items:center;padding:31px 0 27px;gap:20px}.eyebrow{color:#a3a1b3;font-size:11px;letter-spacing:2px;font-weight:600}h1{font-size:29px;letter-spacing:.7px;margin:9px 0 10px;line-height:1.4}h1>span{color:#d2b472;font-size:33px;margin-left:6px;font-weight:400}.page-heading p{font-size:14px;color:#9494a7;margin:0}.live-time{font-size:13px;color:#9394a6;white-space:nowrap;display:flex;align-items:center;gap:7px;margin-top:17px}.live-time i{width:6px;height:6px;background:#83bca9;border-radius:50%}#live-clock{font-variant-numeric:tabular-nums;font-size:15px;color:#71758c}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr .94fr;gap:21px}.hero-card{grid-column:span 2;min-height:287px;background:#8070cf;border-radius:var(--radius);position:relative;overflow:hidden;color:white;box-shadow:0 8px 22px #7866bb0c}.hero-copy{padding:27px 29px;position:relative;z-index:2;width:72%}.hero-kicker{font-size:12px;letter-spacing:1.2px;color:#f0e9ff;background:#ffffff19;border:1px solid #ffffff1c;padding:6px 10px;border-radius:6px;display:inline-block}.hero-copy h2{font-size:28px;line-height:1.65;letter-spacing:1px;margin:15px 0 9px}.hero-copy p{font-size:13px;color:#e0daf4;margin:0;line-height:1.8}.hero-button{display:inline-flex;gap:26px;align-items:center;background:#fff;color:#7b64c6;font-size:14px;font-weight:600;padding:11px 16px;border-radius:9px;margin-top:21px;box-shadow:0 4px 8px #44318a12}.hero-button:hover{transform:translateY(-2px)}.hero-button span{font-size:19px}.hero-footer{display:flex;align-items:center;gap:20px;margin-top:20px;font-size:9px;letter-spacing:1.5px;color:#c8bdec}.hero-dots{font-size:12px;color:#f5e9ff;letter-spacing:4px}.space-scene{position:absolute;right:-14px;top:18px;width:265px;height:260px}.orbit{border:1px solid #ffffff15;position:absolute;width:270px;height:270px;border-radius:50%;top:-4px;left:-6px}.orbit-two{width:350px;height:350px;left:-46px;top:-44px}.big-planet{width:148px;height:148px;border-radius:50%;position:absolute;left:69px;top:57px;background:radial-gradient(circle at 35% 28%,#ffdfb6,#f5b7a9 60%,#d48fb9);box-shadow:inset -18px -8px 30px #b875b240,0 0 60px #f8c4b024;transform:rotate(-20deg);overflow:hidden}.planet-shadow{position:absolute;right:-22px;top:0;width:65px;height:155px;background:#b577b125;border-radius:50%}.planet-spot{background:#d999a04f;border-radius:40%;position:absolute;transform:rotate(-20deg)}.spot1{width:47px;height:13px;left:19px;top:37px}.spot2{width:29px;height:9px;left:32px;top:65px}.spot3{width:41px;height:13px;left:83px;top:112px}.planet-ring{position:absolute;width:227px;height:62px;border:14px solid #e3c7f1a6;border-top-color:#dfc4ef3b;border-radius:50%;transform:rotate(-29deg);top:105px;left:29px;box-shadow:0 2px 0 #b69cda55}.scene-star{position:absolute;color:#ffe4b1}.s1{left:38px;top:39px;font-size:27px}.s2{right:21px;top:26px;font-size:21px}.s3{right:32px;bottom:42px;font-size:18px}.s4{left:51px;bottom:47px;font-size:38px}.tiny-planet{position:absolute;width:20px;height:20px;background:linear-gradient(120deg,#b6d7d1,#83b4c7);border-radius:50%;left:38px;top:204px;box-shadow:inset -4px -3px 0 #738eb833}.satellite{position:absolute;top:5px;left:155px;color:#dfddff;font-size:36px;transform:rotate(22deg)}.orbit-label{position:absolute;bottom:10px;left:100px;font-size:9px;letter-spacing:2px;color:#d5c9f2;transform:rotate(-8deg)}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:21px 22px;min-width:0}.card-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-title h2{font-size:16px;display:flex;align-items:center;gap:9px;margin:0;white-space:nowrap;letter-spacing:.3px}.title-icon{width:29px;height:29px;border-radius:9px;display:inline-grid;place-items:center;font-size:19px;font-weight:500}.mint{background:#eaf6f0;color:#73b39b}.peach{background:#fff1e6;color:#dca879}.lavender{background:#f0ebfe;color:#9677d6;font-size:16px}.pink{background:#fceef1;color:#d78c9c}.tiny-label{font-size:9px;color:#b5b2c2;letter-spacing:1px;white-space:nowrap}.progress-card{text-align:center;padding:21px 19px 15px}.progress-ring{--progress:0%;width:140px;height:140px;margin:19px auto 12px;border-radius:50%;background:conic-gradient(from 0deg,#88c6b3 var(--progress),#eef5f2 0);padding:9px;transform:rotate(-.1deg)}.progress-ring>div{height:100%;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px}.progress-ring strong{font-size:36px;font-weight:600;letter-spacing:-1px}.progress-ring strong span{font-size:19px;margin-left:3px}.progress-ring>div>span{font-size:12px;color:#a7a6b4}.progress-caption{display:flex;justify-content:center;gap:8px;align-items:center}.progress-caption strong{font-size:18px}.muted{color:#b1b0be;font-size:15px;font-weight:400}.progress-caption>span{font-size:13px;color:#9897a8}.progress-note{color:#8db4a7;background:#f1f8f4;padding:9px 4px;border-radius:8px;font-size:12px;margin-top:14px}.text-button{font-size:13px;color:#a19aaf;padding:9px 0;min-height:36px;white-space:nowrap}.text-button span{margin-left:5px}.section-subline{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#aaa7b6;padding:14px 0 12px}.sample-tag{font-size:11px;color:#b3a5ba;background:#f8f5fa;padding:3px 6px;border-radius:4px}.schedule-list{display:flex;flex-direction:column;gap:5px}.course{display:flex;align-items:center;gap:12px;padding:10px 9px;border-radius:9px}.course-time{font-size:13px;color:#9e9aaf;width:37px;font-variant-numeric:tabular-nums}.course-dot{width:6px;height:6px;border-radius:2px;background:#d6c7ed}.course:nth-child(2) .course-dot{background:#a8c9b9}.course:nth-child(3) .course-dot{background:#efc697}.course:nth-child(4) .course-dot{background:#b1c9e8}.course-name{font-size:14px;font-weight:500}.course-period{margin-left:auto;color:#b0a8bc;font-size:12px}.course:first-child{background:#f5f0fc}.card-footnote{font-size:11px;color:#aea6b6;padding-top:15px;border-top:1px dashed #eeebf3;margin-top:13px;line-height:1.7}.word-tabs{display:flex;gap:6px;margin:19px 0 16px}.word-tabs button{height:5px;background:#eeeaf8;flex:1;border-radius:3px;position:relative;padding:0}.word-tabs button:after{content:'';position:absolute;inset:-10px 0}.word-tabs button.active{background:#ab91df}.word-tabs button.learned{background:#94c8b5}.fce-tag{font-size:11px;color:#aa94c8;background:#f5f0fc;padding:5px 7px;border-radius:5px;white-space:nowrap}.word-main{display:flex;align-items:center;justify-content:space-between}.word-main h3{font-size:30px;font-weight:600;letter-spacing:-.6px;margin:0 0 8px}.speak-button{border-radius:50%;background:#f6f2fd;color:#a286ce;width:34px;height:34px;font-size:21px}.phonetic{font-size:13px;color:#a8a2b8;letter-spacing:.4px}.word-meaning{font-size:14px;margin:14px 0;color:#7d798e}.word-meaning span{color:#b9b2c7;margin-right:8px;font-style:italic}.word-example{border-radius:9px;background:#f8f7fc;padding:12px 13px;min-height:66px}.word-example p{font-size:13px;line-height:1.8;margin:0;color:#7f7696}.word-example p+p{font-size:12px;color:#ada7ba;margin-top:3px}.word-actions{display:flex;gap:9px;margin-top:16px}.primary-button,.secondary-button{border-radius:9px;font-size:14px;min-height:42px;padding:10px 16px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:7px}.primary-button{background:var(--purple);color:white}.secondary-button{border:1px solid #e9e3f3;background:#fff;color:#a08aba}.word-actions button{flex:1;min-height:36px;font-size:13px;padding:8px}.word-footer{display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:10px;color:#b6adca;margin-top:16px}.word-footer>span:first-child{font-size:12px;color:#9b8caf}.word-footer>div{display:flex;gap:4px}.word-footer button{width:27px;height:27px;background:#faf9fc;border-radius:7px;font-size:14px;color:#9c90b2}.knowledge-tabs{display:flex;gap:8px;margin-top:18px;padding-bottom:0}.knowledge-tabs button{flex:1;border-radius:7px;font-size:13px;min-height:33px;color:#a9a0b6;background:#faf9fc}.knowledge-tabs button.active{color:#a47491;background:#fcf0f3}.knowledge-placeholder{text-align:center;padding:15px 0 7px}.knowledge-placeholder>div{font-size:35px;margin-bottom:11px;filter:saturate(.55)}.knowledge-placeholder>strong{font-size:15px;font-weight:500}.knowledge-placeholder p{font-size:13px;color:#a6a0af;line-height:1.9;margin:9px 0 5px}.knowledge-placeholder .text-button{color:#a18aba;font-size:12px}.knowledge-status{display:block;text-align:center;font-size:11px;color:#b6a9bb;border-top:1px dashed #eee6ef;padding-top:12px;margin-top:8px}.quote-card{grid-column:span 2;border:1px solid #ebe7f3;background:#f2eef9;border-radius:15px;display:flex;align-items:center;gap:18px;padding:20px 25px;position:relative;overflow:hidden;min-height:112px}.quote-mark{font-size:70px;line-height:.9;color:#c4b1dd;align-self:flex-start;font-family:Georgia,serif}.quote-card .eyebrow{font-size:11px;letter-spacing:1px;color:#ad9cbd}.quote-card blockquote{font-size:19px;font-weight:500;letter-spacing:1.5px;margin:10px 0;color:#7f6c97}.quote-card cite{font-size:11px;color:#ae9aba;font-style:normal}.quote-flower{margin-left:auto;color:#c8badf;font-size:70px;line-height:1;transform:rotate(13deg)}.daily-tip{background:#edf5f1;border:1px solid #e5efe9;border-radius:15px;display:flex;gap:12px;align-items:center;padding:20px 18px;position:relative;overflow:hidden}.tip-symbol{font-size:36px;color:#b2cbbd}.daily-tip strong{font-size:13px;font-weight:500;color:#7b9c8b}.daily-tip p{font-size:11px;color:#9cb1a5;margin:8px 0 13px;line-height:1.8}.tip-mini{position:absolute;bottom:14px;left:63px;font-size:9px;letter-spacing:1.5px;color:#b5c8bc}.main-footer{display:flex;justify-content:space-between;padding:25px 0 22px;font-size:11px;color:#b6b4c2}.main-footer>span:first-child{letter-spacing:1px}.footer-demo{color:#c4bdce}.task-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.day-label{font-size:16px;font-weight:500}.task-summary{background:#eee9fb;padding:23px 25px;border:1px solid #e7e0f8;border-radius:17px;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px}.task-summary>div:first-child{display:flex;align-items:center;gap:17px}.summary-icon{color:#ab8ed9;font-size:35px}.task-summary strong{font-size:18px}.task-summary p{font-size:14px;color:#a294b6;margin:8px 0 0}.summary-progress{width:150px;text-align:right;color:#977bbb;font-size:15px}.summary-progress>div{height:6px;background:#e0d6f0;border-radius:9px;margin-top:12px;overflow:hidden}.summary-progress i{height:100%;display:block;background:#9878ce;border-radius:9px}.task-filters{display:flex;gap:8px;margin-bottom:23px;overflow:auto;padding:3px}.task-filters button{min-height:40px;padding:8px 17px;color:#9892a7;font-size:14px;border-radius:9px;white-space:nowrap}.task-filters button.active{background:white;color:#8262b9;box-shadow:0 2px 9px #5b477b08}.task-group{margin-bottom:25px}.task-group-heading{display:flex;gap:9px;align-items:center;font-size:15px;margin:0 0 12px}.task-group-heading span{font-size:13px;color:#b6adbf;font-weight:400}.task-row{background:white;border:1px solid var(--line);border-radius:13px;padding:17px 19px;display:flex;align-items:center;gap:15px;margin-bottom:9px}.task-check{appearance:none;-webkit-appearance:none;flex-shrink:0;width:23px;height:23px;border:1.7px solid #ded7ea;border-radius:7px;margin:0;cursor:pointer;display:grid;place-items:center}.task-check:checked{background:#97cbb8;border-color:#97cbb8}.task-check:checked:after{content:'✓';color:white;font-size:19px}.task-row.done .task-title{text-decoration:line-through;color:#aeb2bb}.task-title{font-size:16px;font-weight:500;line-height:1.8}.task-metadata{font-size:12px;color:#aaa3b6;display:flex;gap:10px;align-items:center;margin-top:5px;flex-wrap:wrap}.subject-pill{background:#f5f1fa;color:#aa92bb;padding:3px 7px;border-radius:4px}.task-points{margin-left:auto;font-size:14px;color:#c8a25c;white-space:nowrap}.task-row.done .task-points{color:#9fbead}.task-edit{color:#b0a5be;min-width:40px;min-height:40px;font-size:20px}.tasks-note{text-align:center;color:#a49bb2;font-size:13px;line-height:1.8;margin:26px 0}.empty-state{text-align:center;padding:45px;background:#fff;border:1px dashed #e0d9eb;border-radius:16px;color:#a59bb2;font-size:16px}dialog{border:1px solid #eee9f7;border-radius:22px;padding:26px;width:min(580px,calc(100% - 32px));max-height:86dvh;color:var(--ink);box-shadow:0 20px 100px #33244d22;background:white}dialog::backdrop{background:#30274766;backdrop-filter:blur(5px)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h2{font-size:21px;margin:0}.icon-button{font-size:28px;min-width:44px;min-height:44px;border-radius:9px;color:#9b8cae}.form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;font-size:15px;color:#857790}.form-field input,.form-field select,.form-field textarea{border:1px solid #e7e0ef;background:#fcfbfe;color:#51475f;border-radius:9px;padding:12px;width:100%;min-height:44px}.form-field textarea{min-height:115px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.modal-note{font-size:14px;color:#9b8aa8;line-height:1.9;background:#f7f3fb;padding:13px 15px;border-radius:10px;margin:0 0 20px}.admin-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-tile{background:#f8f5fc;border:1px solid #eee6f6;border-radius:12px;padding:17px;text-align:left;min-height:95px}.admin-tile strong{font-size:16px;display:block;margin-bottom:8px}.admin-tile span{font-size:13px;color:#a294af}.week-table{width:100%;border-collapse:collapse;font-size:14px}.week-table th,.week-table td{padding:12px 5px;border-bottom:1px solid #eee9f4;text-align:center}.week-table th{color:#a189ba;font-weight:500}.reward-row{display:flex;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid #eee9f4}.reward-row>span{font-size:32px}.reward-row strong{font-size:15px}.reward-row p{font-size:13px;color:#b29e81;margin:6px 0 0}.reward-row button{margin-left:auto}.upload-zone{display:block;border:1px dashed #cbbce3;background:#f9f6fd;text-align:center;padding:28px;border-radius:12px;color:#9f85bf;font-size:15px;cursor:pointer}.upload-zone input{width:100%;margin-top:15px;font-size:14px}#photo-preview{max-width:100%;max-height:220px;object-fit:contain;border-radius:10px;display:block;margin:15px auto}.danger-button{color:#c4818c;margin-right:auto}.toast{position:fixed;bottom:28px;left:calc(50% + 100px);transform:translate(-50%,18px);max-width:calc(100% - 32px);background:#463858;color:white;padding:13px 22px;border-radius:12px;font-size:15px;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 7px 30px #45335422;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1500px){.main{padding:0 55px}.dashboard-grid{gap:24px}.hero-card{min-height:310px}.hero-copy{padding:30px 35px}.hero-copy h2{font-size:32px}.space-scene{right:10px;transform:scale(1.12);transform-origin:right center;top:26px}.card{padding:25px}.progress-ring{margin-top:22px;width:150px;height:150px}.schedule-list .course{padding:13px 10px}.word-main h3{font-size:34px}.knowledge-placeholder{padding-top:21px}}
@media(min-width:1800px){.sidebar{left:calc((100% - 1800px)/2)}}
@media(max-width:1190px){.sidebar{width:209px;padding:28px 17px 20px}.brand{font-size:20px;gap:8px}.brand-icon{width:34px;height:34px}.brand small{font-size:9px}.main{margin-left:209px;padding:0 26px}.dashboard-grid{gap:16px;grid-template-columns:1fr 1fr}.hero-card{grid-column:span 2}.progress-card{grid-column:2;grid-row:2}.schedule-card{grid-column:1;grid-row:2}.quote-card{grid-column:span 2}.daily-tip{grid-column:span 2;min-height:92px}.tip-mini{left:auto;right:20px;bottom:auto}.daily-tip p{margin-bottom:0}.space-scene{right:38px;top:23px}.hero-copy{width:70%}.tiny-label{font-size:10px}.live-time{font-size:11px}.date-header{font-size:12px}.topbar-right{gap:12px}.hero-card{min-height:290px}.hero-copy h2{font-size:31px}.progress-ring{margin-top:16px;width:137px;height:137px}.card-footnote{margin-top:12px}}
@media(max-width:800px){.sidebar{width:82px;padding:25px 12px}.brand{justify-content:center}.brand>span:last-child,.profile,.nav-caption,.main-nav a i,.main-nav a b,.sidebar-bottom>strong,.sidebar-bottom p,.prototype-label,.mini-planet{display:none}.brand-icon{width:39px;height:39px}.main-nav{margin-top:42px}.main-nav a{font-size:0;padding:0;justify-content:center}.main-nav a>span{font-size:26px}.parent-link{justify-content:center;font-size:24px;padding:14px 0}.parent-link span{display:none}.sidebar-bottom{padding-top:0}.main{margin-left:82px;padding:0 22px}.topbar{height:76px}.page-heading{padding-top:27px}h1{font-size:26px}.hero-copy h2{font-size:29px}.space-scene{right:-10px;transform:scale(.9)}.hero-copy{width:75%}.hero-copy p{max-width:250px}.card{padding:18px}.card-title h2{font-size:15px}.tiny-label{display:none}.main-footer{font-size:10px}.toast{left:calc(50% + 30px)}.live-time{display:none}}
@media(max-width:580px){.sidebar{width:100%;height:68px;top:auto;bottom:0;left:0;right:0;border-top:1px solid #ebe5f4;padding:4px 12px max(4px,env(safe-area-inset-bottom));flex-direction:row;align-items:center;background:#ffffffef;backdrop-filter:blur(15px)}.sidebar>.brand{display:none}.main-nav{display:flex;flex:1;margin:0;gap:8px}.main-nav a{flex:1;flex-direction:column;gap:3px;height:53px;font-size:12px;margin:0;border-radius:9px}.main-nav a>span{font-size:23px;line-height:23px}.sidebar-bottom{margin:0 0 0 8px;width:55px}.parent-link{border:0;font-size:23px;min-height:50px;margin:0;flex-direction:column;gap:4px;padding:3px 0}.parent-link span:first-of-type{display:block;font-size:12px}.main{margin-left:0;padding:0 19px}.topbar{height:68px}.breadcrumb{font-size:13px;gap:9px}.date-header{display:none}.topbar-right{gap:12px}.points-badge{height:30px}.page-heading{padding:27px 0 23px;gap:10px}h1{font-size:25px;letter-spacing:0;margin:8px 0}h1>span{font-size:28px}.eyebrow{font-size:10px;letter-spacing:1.6px}.page-heading p{font-size:13px}.dashboard-grid{grid-template-columns:minmax(0,1fr);gap:16px}.hero-card,.progress-card,.schedule-card,.quote-card,.daily-tip{grid-column:auto;grid-row:auto}.hero-card{min-height:287px}.hero-copy{padding:23px;width:100%}.hero-copy h2{font-size:27px;position:relative;z-index:2}.hero-copy p{max-width:200px;font-size:12px}.hero-kicker{font-size:11px}.space-scene{right:-86px;top:53px;transform:scale(.76);opacity:.85;transform-origin:top center}.hero-footer{margin-top:22px;font-size:8px;gap:13px}.hero-button{margin-top:20px;font-size:13px;padding:11px 14px;gap:18px}.progress-card{display:grid;grid-template-columns:110px 1fr;padding:19px;column-gap:15px;align-items:center;text-align:left}.progress-card .card-title{grid-column:span 2}.progress-ring{width:100px;height:100px;grid-row:span 2;margin:17px 0 0;padding:7px}.progress-ring strong{font-size:28px}.progress-ring>div>span{font-size:10px}.progress-caption{justify-content:flex-start;margin-top:19px}.progress-caption strong{font-size:22px}.progress-caption>span{font-size:13px}.progress-note{margin:3px 0 0;font-size:12px;align-self:start;text-align:center;padding:9px 4px}.card-title h2{font-size:17px}.tiny-label{display:inline;font-size:10px}.schedule-card{padding:21px}.course{padding:12px}.course-time,.course-name{font-size:15px}.course-period{font-size:13px}.section-subline{font-size:13px}.card-footnote{font-size:12px}.words-card,.knowledge-card{padding:22px}.word-tabs{margin-top:22px;margin-bottom:20px}.word-main h3{font-size:36px}.word-meaning{font-size:16px}.word-example p{font-size:15px}.word-example p+p{font-size:13px}.word-actions button{min-height:42px;font-size:15px}.word-footer{font-size:12px}.word-footer button{width:36px;height:36px}.knowledge-placeholder>strong{font-size:17px}.knowledge-placeholder p{font-size:15px}.knowledge-tabs button{font-size:15px;min-height:40px}.knowledge-placeholder .text-button{font-size:14px;min-height:44px}.knowledge-status{font-size:13px}.quote-card{padding:20px;gap:12px}.quote-card blockquote{font-size:18px;letter-spacing:.5px}.quote-card cite{font-size:11px}.quote-flower{font-size:44px}.quote-mark{font-size:55px}.daily-tip{padding:20px 17px}.daily-tip strong{font-size:14px}.daily-tip p{font-size:12px}.tip-mini{display:none}.main-footer{padding:23px 0 95px;flex-direction:column;gap:10px;font-size:11px;text-align:center}.page-heading>.primary-button{font-size:13px;padding:9px 11px;white-space:nowrap}.task-summary{padding:18px;gap:10px}.task-summary strong{font-size:15px}.task-summary p{font-size:12px;line-height:1.8}.summary-icon{display:none}.summary-progress{width:75px;flex-shrink:0;font-size:13px}.task-filters{gap:1px}.task-filters button{padding:8px 11px;font-size:13px}.task-row{padding:15px 12px;gap:10px}.task-title{font-size:15px}.task-metadata{font-size:11px;gap:7px}.task-points{font-size:13px}.task-edit{min-width:30px}.tasks-note{font-size:12px}.toast{left:50%;bottom:90px;width:max-content;max-width:calc(100% - 32px)}dialog{padding:20px}.admin-tile{padding:14px}.week-table{font-size:12px}.week-table td,.week-table th{padding:12px 3px}.form-row{gap:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
.schedule-card{grid-column:1/-1;grid-row:auto}.words-card{grid-column:span 2}.weekly-scroll{overflow-x:auto;max-width:100%;overscroll-behavior-x:contain;border:1px solid #f0ebf6;border-radius:12px;scrollbar-width:thin;scrollbar-color:#d9ccec transparent}.weekly-table{width:100%;min-width:550px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:15px;text-align:center}.weekly-table th,.weekly-table td{padding:15px 7px;border-bottom:1px solid #f0edf6;border-right:1px solid #f4f1f8;overflow-wrap:anywhere}.weekly-table thead th{background:#faf8fd;font-size:15px;font-weight:600;color:#8f83a3}.weekly-table .period-column,.weekly-table tbody th{width:88px;background:#fcfbfe;position:sticky;left:0;z-index:1}.weekly-table .period-column{z-index:2;font-size:13px}.weekday-note{display:block;font-size:12px;font-weight:400;color:#b4aabc;margin-top:6px}.weekly-table .is-today{background:#f1eafb;color:#7951b0}.weekly-table thead .is-today{background:#9274cb;color:white;box-shadow:inset 0 3px 0 #7e5bb9}.weekly-table .is-today .weekday-note{color:#f2e9ff}.weekly-table tbody .is-today{font-weight:600}.weekly-table .no-course{color:#c4bbcf;font-weight:400}.weekly-table tr:last-child>*{border-bottom:0}.weekly-table tr>:last-child{border-right:0}.weekly-time{display:block;color:#8f809f;font-size:14px;font-weight:500;font-variant-numeric:tabular-nums}.weekly-period{display:block;color:#b1a8bc;font-size:12px;font-weight:400;margin-top:5px}.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}
.weekly-detail{display:block;color:#a699b5;font-size:12px;line-height:1.7;font-weight:400;margin-top:6px}.weekly-subject{line-height:1.8}.weekly-table .schedule-break td{font-size:13px;font-weight:400;text-align:left;line-height:1.9;color:#a495ab;background:#faf8fc;padding:8px 15px}.weekly-table .weekly-time{font-size:13px;line-height:1.7}.weekly-table .period-column,.weekly-table tbody th{width:98px}.schedule-source-note{font-size:13px;line-height:1.9;color:#a28cae;margin-top:13px}.weekly-table{min-width:680px}
@media(max-width:1190px){.schedule-card{grid-column:1/-1;grid-row:auto}.words-card{grid-column:auto}.progress-card{grid-column:1/-1;grid-row:auto;display:grid;grid-template-columns:140px 1fr 1fr;align-items:center;gap:0 18px;text-align:left}.progress-card .card-title{grid-column:1/-1}.progress-ring{width:105px;height:105px;margin:15px 0 0;grid-row:2}.progress-ring strong{font-size:31px}.progress-caption{grid-row:2;justify-content:center}.progress-note{grid-row:2;margin:0;padding:13px 8px}.weekly-table th,.weekly-table td{padding:13px 6px}}
@media(max-width:580px){.progress-card{grid-template-columns:110px 1fr;gap:0 15px}.progress-card .card-title{grid-column:1/-1}.progress-ring{width:100px;height:100px;grid-column:1;grid-row:2/4;margin-top:17px}.progress-caption{grid-column:2;grid-row:2;justify-content:flex-start;margin-top:19px}.progress-note{grid-column:2;grid-row:3;margin-top:3px;padding:9px 4px}.schedule-card .card-footnote{font-size:11px}.weekly-table{min-width:515px;font-size:14px}.weekly-table .period-column,.weekly-table tbody th{width:74px}.weekly-table thead th{font-size:14px}.weekly-table th,.weekly-table td{padding:13px 5px}.weekday-note{font-size:11px}}
