:root{--app-bg:#f7f7fc;--app-line:#ebeaf4;--app-line-strong:#dedcec;--app-text:#1c1d3a;--app-muted:#6b6f8a;--app-faint:#9a9db3;--app-tint:color-mix(in srgb,var(--aritech-primary) 9%,#ffffff);--app-tint-strong:color-mix(in srgb,var(--aritech-primary) 16%,#ffffff);--app-radius:14px;--app-shadow:0 1px 2px rgba(31,27,94,0.04),0 4px 16px -6px rgba(31,27,94,0.08);--sidebar-w:256px;--topbar-h:78px;--tone-violet:#6d4bef;--tone-violet-bg:#efeafe;--tone-blue:#2f6bf2;--tone-blue-bg:#e7efff;--tone-green:#12a46b;--tone-green-bg:#e2f6ec;--tone-orange:#f07c1b;--tone-orange-bg:#fff0e1;--tone-red:#e5484d;--tone-red-bg:#fde9ea;--tone-pink:#e2488a;--tone-pink-bg:#fde8f1;--tone-teal:#0f9fb0;--tone-teal-bg:#e1f5f7;--tone-amber:#d99a06;--tone-amber-bg:#fdf3d8}.tone-violet{--tone:var(--tone-violet);--tone-bg:var(--tone-violet-bg)}.tone-blue{--tone:var(--tone-blue);--tone-bg:var(--tone-blue-bg)}.tone-green{--tone:var(--tone-green);--tone-bg:var(--tone-green-bg)}.tone-orange{--tone:var(--tone-orange);--tone-bg:var(--tone-orange-bg)}.tone-red{--tone:var(--tone-red);--tone-bg:var(--tone-red-bg)}.tone-pink{--tone:var(--tone-pink);--tone-bg:var(--tone-pink-bg)}.tone-teal{--tone:var(--tone-teal);--tone-bg:var(--tone-teal-bg)}.tone-amber{--tone:var(--tone-amber);--tone-bg:var(--tone-amber-bg)}.tone-grey{--tone:#5c6280;--tone-bg:#eef0f7}.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);background:var(--app-bg);color:var(--app-text)}.app-sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--app-line);overflow-y:auto;padding:0 14px 18px;z-index:30}.app-brand{display:flex;align-items:center;gap:10px;min-height:var(--topbar-h);padding:8px 6px}.app-brand-logo{max-height:44px;max-width:64px;object-fit:contain}.app-brand-logo.is-wide{max-width:200px;max-height:48px}.app-brand-name{font-weight:800;font-size:.98rem;line-height:1.15;color:var(--aritech-secondary,var(--app-text));letter-spacing:-.01em}.icon-btn.app-drawer-close{display:none;margin-left:auto}.app-nav{display:flex;flex-direction:column;gap:4px;padding-top:10px}.app-nav-group{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;background:none;font:inherit;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--app-faint);padding:14px 12px 6px;cursor:pointer;text-align:left;border-radius:8px}.app-nav-group:hover:not(:disabled){color:var(--aritech-primary)}.app-nav-group:disabled{cursor:default}.app-nav-group:disabled .app-nav-group-chevron{opacity:.35}.app-nav-group-chevron{flex-shrink:0;transition:transform .18s}.app-nav-group.is-shut .app-nav-group-chevron{transform:rotate(-90deg)}.app-nav-group:focus-visible{outline:2px solid var(--aritech-primary);outline-offset:1px}.app-nav-item{width:100%;display:flex;align-items:center;gap:14px;padding:11px 14px;border:0;border-radius:12px;background:transparent;color:#2b2d4a;font:inherit;font-weight:600;font-size:.95rem;cursor:pointer;text-align:left;transition:background .15s,color .15s}.app-nav-item svg{color:#3b3e5c;flex-shrink:0}.app-nav-item:hover{background:#f5f5fb}.app-nav-item.is-active{background:var(--app-tint)}.app-nav-item.is-active,.app-nav-item.is-active svg{color:var(--aritech-primary)}.app-nav-label{flex:1 1}.nav-badge{font-size:.68rem;font-weight:800;border-radius:6px;padding:2px 7px;letter-spacing:.02em}.nav-badge-live{background:#e5262c;color:#fff}.nav-badge-new{background:#e3f7ea;color:#0f8a4b}.nav-badge-count{min-width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:var(--aritech-primary);color:var(--aritech-primary-contrast);padding:0 6px}.help-card{position:relative;border-radius:16px;background:linear-gradient(180deg,#f6f4ff,#f1efff);border:1px solid #ece8ff;padding:18px 16px 16px;display:flex;flex-direction:column;gap:4px;margin-top:24px}.help-card strong{font-size:1.02rem}.help-card p{margin:0;color:var(--app-muted);font-size:.86rem}.help-card-robot{align-self:center;margin:4px 0 10px}.btn-block{width:100%;justify-content:center}.app-body{min-width:0;display:flex;flex-direction:column}.app-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;height:var(--topbar-h);display:flex;align-items:center;gap:16px;padding:0 28px;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--app-line)}.app-menu-btn{flex-shrink:0}.app-search{flex:1 1;max-width:600px;display:flex;align-items:center;gap:10px;height:46px;padding:0 16px;border:1px solid var(--app-line-strong);border-radius:12px;background:#fff;color:var(--app-faint)}.app-search:focus-within{border-color:var(--aritech-primary);box-shadow:0 0 0 3px var(--app-tint)}.app-search input{flex:1 1;border:0;outline:0;font:inherit;font-size:.93rem;color:var(--app-text);background:transparent}.app-topbar-actions{margin-left:auto;display:flex;align-items:center;gap:14px}.icon-btn{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;border:0;background:transparent;color:#2b2d4a;cursor:pointer}.icon-btn:hover{background:#f4f4fa}.dot-badge{position:absolute;top:4px;right:3px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#ef3e44;color:#fff;font-size:.68rem;font-weight:800;display:grid;place-items:center;border:2px solid #fff}.lang-btn{font:inherit;font-weight:600;color:var(--app-text);cursor:pointer}.lang-btn,.streak-chip{display:flex;align-items:center;gap:8px;height:46px;padding:0 14px;border:1px solid var(--app-line-strong);border-radius:12px;background:#fff}.streak-chip{font-size:1.2rem}.streak-chip span:last-child{display:flex;flex-direction:column;line-height:1.1}.streak-chip strong{font-size:.95rem}.streak-chip small{font-size:.7rem;color:var(--app-muted)}.profile-btn{display:flex;align-items:center;gap:10px;border:0;background:transparent;font:inherit;cursor:pointer;padding:4px 6px;border-radius:12px;color:var(--app-text)}.profile-btn:hover{background:#f6f6fb}.profile-text{display:flex;flex-direction:column;text-align:left;line-height:1.2}.profile-text strong{font-size:.95rem}.profile-text small{color:var(--app-muted);font-size:.8rem}.avatar{border-radius:999px;object-fit:cover;flex-shrink:0;background:var(--app-tint)}.avatar-ring{box-shadow:0 0 0 3px #fff}.menu-anchor{position:relative}.menu-pop{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:#fff;border:1px solid var(--app-line);border-radius:14px;box-shadow:0 18px 40px -12px rgba(31,27,94,.25);padding:6px;margin:0;list-style:none;z-index:50}.menu-item{width:100%;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;border:0;background:transparent;font:inherit;font-size:.92rem;color:var(--app-text);cursor:pointer;text-decoration:none}.menu-item.is-selected,.menu-item:hover{background:var(--app-tint);color:var(--aritech-primary);text-decoration:none}.notif-pop{width:360px;padding:0}.notif-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--app-line)}.notif-empty{margin:0;padding:26px 16px;text-align:center;color:var(--app-muted)}.notif-list{list-style:none;margin:0;padding:6px;max-height:420px;overflow-y:auto}.notif-item{width:100%;display:flex;flex-direction:column;gap:2px;text-align:left;border:0;background:transparent;padding:10px 12px;border-radius:10px;font:inherit;cursor:pointer;color:var(--app-text)}.notif-item:hover{background:#f6f6fb}.notif-item.is-unread{background:var(--app-tint)}.notif-item span{font-size:.86rem;color:var(--app-muted)}.notif-item small{font-size:.75rem;color:var(--app-faint)}.link-btn{border:0;background:none;padding:0;font:inherit;font-size:.88rem;font-weight:600;color:var(--aritech-primary);cursor:pointer}.link-btn:hover{text-decoration:underline}.app-main{padding:28px 32px 40px;min-width:0}.app-scrim{display:none}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-header-title{display:flex;align-items:center;gap:16px}.page-header h1{font-size:1.75rem;font-weight:800;letter-spacing:-.02em}.page-header p{margin:4px 0 0;color:var(--app-muted)}.page-header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.icon-tile{display:grid;place-items:center;width:52px;height:52px;border-radius:999px;background:var(--tone-bg,var(--app-tint));color:var(--tone,var(--aritech-primary));flex-shrink:0}.icon-tile-lg{width:60px;height:60px;border-radius:16px;background:var(--tone,var(--aritech-primary));color:#fff}.icon-tile-sm{width:40px;height:40px;border-radius:12px}.ui-card{background:#fff;border:1px solid var(--app-line);border-radius:var(--app-radius);box-shadow:var(--app-shadow);min-width:0}.ui-card-head{gap:10px;padding:18px 20px 6px}.ui-card-head,.ui-card-head h2{display:flex;align-items:center}.ui-card-head h2{font-size:1.08rem;font-weight:700;gap:8px;flex:1 1}.ui-card-icon{color:var(--aritech-primary)}.ui-card-info{color:var(--app-faint);display:inline-flex}.ui-card-body{padding:12px 20px 20px}.ui-card-body.is-flush{padding:0}.ui-grid{display:grid;grid-gap:20px;gap:20px;margin-bottom:20px}.ui-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ui-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ui-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.split{grid-gap:20px;grid-template-columns:minmax(0,1fr) 340px}.split,.split-wide{display:grid;gap:20px;align-items:start}.split-wide{grid-gap:20px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.stack{display:flex;flex-direction:column;gap:20px}.stat-card{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--app-line);border-radius:var(--app-radius);box-shadow:var(--app-shadow);padding:20px 22px;min-width:0}.stat-card-text{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1}.stat-label{color:#3b3e5c;font-weight:600;font-size:.92rem}.stat-value{font-size:1.9rem;font-weight:800;letter-spacing:-.02em;line-height:1.15}.stat-value small{font-size:1.05rem;font-weight:700}.stat-trend{display:inline-flex;align-items:center;gap:4px;font-size:.82rem;color:var(--app-muted)}.stat-trend strong,.stat-trend svg{color:var(--tone-green)}.stat-trend.is-down strong,.stat-trend.is-down svg{color:var(--tone-red)}.stat-note{font-size:.82rem;color:var(--app-muted)}.progress{height:8px;border-radius:999px;background:#eeeef6;overflow:hidden;margin-top:6px}.progress>span{display:block;height:100%;border-radius:inherit;background:var(--tone,var(--aritech-primary));transition:width .4s}.ring{position:relative;display:inline-grid;place-items:center;flex-shrink:0}.ring svg{position:absolute;inset:0}.ring-track{stroke:#eeeef6}.ring-value{stroke:var(--tone,var(--aritech-primary));transition:stroke-dasharray .5s}.ring-label{position:relative;display:flex;flex-direction:column;align-items:center;line-height:1.1;text-align:center}.ring-label strong{font-size:1.15rem;font-weight:800}.ring-label small{font-size:.72rem;color:var(--app-muted)}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs-underline{border-bottom:1px solid var(--app-line);gap:26px;margin-bottom:20px}.tabs-underline .tab{border:0;background:none;padding:10px 2px 12px;font:inherit;font-weight:600;color:#3b3e5c;border-bottom:3px solid transparent;margin-bottom:-1px;cursor:pointer;display:inline-flex;gap:8px;align-items:center}.tabs-underline .tab.is-active{color:var(--aritech-primary);border-bottom-color:var(--aritech-primary)}.tabs-pill .tab{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:12px;border:1px solid var(--app-line-strong);background:#fff;font:inherit;font-weight:600;font-size:.9rem;color:#2b2d4a;cursor:pointer}.tabs-pill .tab.is-active{background:var(--aritech-primary);border-color:var(--aritech-primary);color:var(--aritech-primary-contrast)}.ui-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:8px;font-size:.76rem;font-weight:700;background:var(--tone-bg);color:var(--tone);white-space:nowrap}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:26px 16px;color:var(--app-muted)}.empty-state strong{color:var(--app-text)}.empty-state p{margin:0;max-width:40ch;font-size:.9rem}.list{display:flex;flex-direction:column}.list-row{display:flex;align-items:center;gap:14px;padding:12px 4px;border:0;border-bottom:1px solid var(--app-line);background:none;width:100%;text-align:left;font:inherit;color:inherit}.list-row:last-child{border-bottom:0}.list-row.is-clickable{cursor:pointer;border-radius:10px;padding-left:8px;padding-right:8px}.list-row.is-clickable:hover{background:#f8f8fc}.list-row-text{flex:1 1;display:flex;flex-direction:column;min-width:0}.list-row-text strong{font-weight:600;font-size:.93rem}.list-row-text small{color:var(--app-muted);font-size:.82rem}.list-row-chevron{color:var(--app-faint)}.ai-banner{display:flex;align-items:center;gap:18px;padding:14px 24px;margin-top:24px;border-radius:16px;background:linear-gradient(90deg,#f3f0ff,#f7f5ff 60%,#f3f0ff);border:1px solid #ebe6ff}.ai-banner p{margin:0;flex:1 1;color:#2f2c63;font-weight:500}.ai-disclaimer{margin:12px 0 0;font-size:.8rem;color:var(--app-faint)}.notice{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:12px;margin-bottom:16px;font-size:.92rem}.notice-info{background:var(--app-tint);color:#2f2c63}.notice-success{background:var(--tone-green-bg);color:#0b6e48}.notice-error{background:var(--tone-red-bg);color:#a3242a}.notice-warning{background:var(--tone-amber-bg);color:#7a5600}.sparkle{flex-shrink:0}.chart{margin:0}.chart svg{width:100%;height:auto;display:block}.chart-grid{stroke:#ececf4;stroke-width:1}.chart-axis{fill:var(--app-muted);font-size:11px}.chart-axis-strong{fill:#2b2d4a;font-weight:600;font-size:12px}.chart-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:.82rem;color:#3b3e5c;margin-bottom:8px}.chart-legend-center{justify-content:center}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.chart-legend i.legend-line{width:22px;height:4px;border-radius:4px}.form-row{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.field-label{display:block;font-weight:600;font-size:.86rem;margin-bottom:6px;color:#2b2d4a}.select,.text-input,.textarea{width:100%;height:46px;border:1px solid var(--app-line-strong);border-radius:12px;padding:0 14px;font:inherit;font-size:.93rem;background:#fff;color:var(--app-text)}.textarea{height:auto;padding:12px 14px;resize:vertical;min-height:96px}.select:focus,.text-input:focus,.textarea:focus{outline:0;border-color:var(--aritech-primary);box-shadow:0 0 0 3px var(--app-tint)}.check{display:flex;align-items:center;gap:10px;font-size:.92rem;padding:4px 0;cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--aritech-primary)}.btn-outline{background:#fff;color:var(--aritech-primary);border:1.5px solid var(--aritech-primary)}.btn-outline:hover,.btn-soft{background:var(--app-tint)}.btn-soft{color:var(--aritech-primary);border:1px solid transparent}.chip-row{display:flex;gap:10px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:12px;border:1px solid var(--app-line-strong);background:#fff;font:inherit;font-size:.86rem;font-weight:600;color:#2b2d4a;cursor:pointer}.chip:hover{border-color:var(--aritech-primary)}.chip svg,.chip:hover{color:var(--aritech-primary)}.data-grid{width:100%;border-collapse:collapse;font-size:.9rem}.data-grid th{text-align:left;font-weight:700;font-size:.8rem;color:#3b3e5c;padding:10px 12px}.data-grid td,.data-grid th{border-bottom:1px solid var(--app-line)}.data-grid td{padding:12px;vertical-align:middle}.data-grid tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto}@media (min-width:1101px){.app-menu-btn{display:none}}@media (max-width:1280px){.ui-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}.split{grid-template-columns:minmax(0,1fr) 300px}}@media (max-width:1100px){.app-shell{grid-template-columns:minmax(0,1fr)}.app-sidebar{position:fixed;inset:0 auto 0 0;width:min(300px,86vw);transform:translateX(-100%);transition:transform .2s ease;box-shadow:0 0 40px rgba(0,0,0,.15)}.is-drawer-open .app-sidebar{transform:none}.icon-btn.app-drawer-close{display:grid}.is-drawer-open .app-scrim{display:block;position:fixed;inset:0;border:0;background:rgba(20,20,50,.35);z-index:25}.ui-grid-3,.ui-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.split,.split-wide{grid-template-columns:minmax(0,1fr)}}@media (max-width:720px){.app-topbar{padding:0 12px;gap:8px}.app-search,.lang-btn span,.profile-text,.streak-chip small{display:none}.app-main{padding:18px 16px 32px}.ui-grid-2,.ui-grid-3,.ui-grid-4,.ui-grid-5{grid-template-columns:minmax(0,1fr)}.page-header h1{font-size:1.4rem}.ai-banner{flex-wrap:wrap}}.app-splash{min-height:100vh;display:grid;place-items:center;background:var(--app-bg)}.page-loading{min-height:240px;border-radius:var(--app-radius);background:linear-gradient(90deg,#f1f1f8 25%,#f7f7fc 50%,#f1f1f8 75%);background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{to{background-position:-200% 0}}.back-link{display:inline-flex;align-items:center;gap:6px;border:0;background:none;font:inherit;font-weight:600;color:var(--app-muted);cursor:pointer;margin-bottom:12px;padding:0}.back-link:hover,.eyebrow{color:var(--aritech-primary)}.eyebrow{margin:0 0 4px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.muted{color:var(--app-muted)}.tone-green-text{color:var(--tone-green)}.tone-red-text{color:var(--tone-red)}.row-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.form-stack{display:flex;flex-direction:column;gap:14px}.btn-static{cursor:default}.toolbar{justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.toolbar,.toolbar-end{display:flex;align-items:center}.toolbar-end{gap:10px}.select-inline{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--app-muted)}.select-inline .select{height:42px;width:auto}.stat-card-ring{gap:8px}.progress-summary,.stat-card-ring{flex-direction:column;align-items:center;text-align:center}.progress-summary{display:flex;gap:10px}.person-cell{display:inline-flex;align-items:center;gap:10px}.person-cell span{display:flex;flex-direction:column}.seg{display:inline-flex;border:1px solid var(--app-line-strong);border-radius:10px;overflow:hidden}.seg-btn{border:0;background:#fff;padding:7px 12px;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;color:#3b3e5c;border-right:1px solid var(--app-line)}.seg-btn:last-child{border-right:0}.seg-btn.is-on{color:#fff;background:var(--aritech-primary)}.seg-btn.is-on.is-present{background:var(--tone-green)}.seg-btn.is-on.is-late{background:var(--tone-amber)}.seg-btn.is-on.is-absent{background:var(--tone-red)}.seg-btn.is-on.is-excused{background:var(--tone-blue)}.modal-scrim{position:fixed;inset:0;background:rgba(20,20,50,.4);display:grid;place-items:center;z-index:100;padding:16px}.modal{background:#fff;border-radius:18px;padding:24px;width:min(460px,100%);box-shadow:0 30px 60px -20px rgba(20,20,60,.4)}.modal h2{font-size:1.2rem;margin-bottom:8px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.mini-cal{margin-top:14px;border-top:1px solid var(--app-line);padding-top:12px}.mini-cal-head{display:flex;align-items:center;justify-content:space-between}.mini-cal-head .icon-btn{width:30px;height:30px}.mini-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px;text-align:center;font-size:.78rem;margin-top:6px}.mini-cal-dow{color:var(--app-faint);font-weight:600;padding:4px 0}.mini-cal-day{padding:6px 0;border-radius:8px;position:relative}.mini-cal-day.is-today{background:var(--aritech-primary);color:var(--aritech-primary-contrast);font-weight:700}.mini-cal-day.has-event:after{content:"";position:absolute;bottom:2px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--tone-orange)}.explore-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:12px;gap:12px}.explore-tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;border:1px solid var(--app-line);border-radius:12px;background:#fff;text-align:left;font:inherit;cursor:pointer}.explore-tile:hover{border-color:var(--aritech-primary)}.explore-tile small{color:var(--app-muted);font-size:.78rem}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:20px;gap:20px}.course-grid-3{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.course-card{background:#fff;border:1px solid var(--app-line);border-radius:16px;box-shadow:var(--app-shadow)}.course-banner,.course-card{position:relative;overflow:hidden;display:flex;flex-direction:column}.course-banner{height:128px;border:0;padding:14px 16px;text-align:left;color:#fff;cursor:pointer;justify-content:space-between;font:inherit}.course-banner-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}.course-banner-title{position:relative;font-size:1.15rem;font-weight:800;line-height:1.1;text-transform:uppercase;max-width:70%;letter-spacing:.01em}.course-banner-icon{position:absolute;right:12px;bottom:8px;opacity:.55}.course-status{position:relative;align-self:flex-start;font-size:.66rem;font-weight:800;letter-spacing:.04em;background:var(--aritech-primary);padding:3px 8px;border-radius:4px}.course-status.is-done{background:#6d28d9}.course-fav{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:999px;border:0;background:rgba(255,255,255,.85);color:#6b6f8a;display:grid;place-items:center;cursor:pointer}.course-fav.is-on{color:#f5a524}.course-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1 1}.course-body h3{font-size:1.02rem;font-weight:700;margin:0}.course-meta{margin:0;font-size:.8rem;color:var(--app-muted)}.course-teacher{margin:2px 0;display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600}.course-progress{display:flex;align-items:center;gap:10px}.course-progress .progress{flex:1 1;margin:0}.course-progress strong{font-size:.85rem}.course-next{margin:4px 0;display:flex;flex-direction:column;gap:8px}.course-next dt{font-size:.72rem;font-weight:700;color:var(--app-muted)}.course-next dd{margin:2px 0 0;font-size:.84rem}.link-row{display:flex;align-items:center;gap:6px;border:0;background:none;padding:0;font:inherit;font-size:.84rem;color:var(--app-text);cursor:pointer;width:100%;text-align:left}.link-row span{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-row-end{color:var(--tone-green)}.course-actions{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:6px}.course-actions-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.course-actions-row .btn{justify-content:center}.course-cert-btn{color:var(--tone-green);border-color:var(--tone-green)}.lesson-reader .ui-card-body{padding:28px 32px}.lesson-title{font-size:1.6rem;margin-bottom:16px}.lesson-content{font-size:1rem;line-height:1.7}.lesson-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:28px;padding-top:18px;border-top:1px solid var(--app-line)}.outline{display:flex;flex-direction:column;gap:6px;margin-top:10px}.outline-chapter{margin:10px 0 4px;font-weight:700;font-size:.85rem}.outline-lesson{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;text-align:left;padding:7px 8px;border-radius:8px;font:inherit;font-size:.86rem;cursor:pointer;color:var(--app-text)}.outline-lesson:hover{background:#f6f6fb}.outline-lesson.is-current{background:var(--app-tint);color:var(--aritech-primary);font-weight:600}.exam-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;margin-bottom:16px;flex-wrap:wrap}.exam-head h1{font-size:1.3rem}.exam-head p{margin:4px 0 0}.exam-head-end{display:flex;align-items:center;gap:14px}.save-state{font-size:.8rem;color:var(--app-muted)}.save-state.is-error{color:var(--tone-red);font-weight:600}.exam-timer{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;background:var(--app-tint);color:var(--aritech-primary);font-weight:800;font-size:1.1rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.exam-timer.is-warning{background:var(--tone-amber-bg);color:#8a5b00}.exam-timer.is-urgent{background:var(--tone-red-bg);color:var(--tone-red)}.exam-body{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-gap:20px;gap:20px;align-items:start}.exam-q-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.exam-q-number{font-weight:800;color:var(--aritech-primary)}.flag-btn{margin-left:auto;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--app-line-strong);background:#fff;border-radius:10px;padding:6px 10px;font:inherit;font-size:.82rem;cursor:pointer}.flag-btn.is-on{background:var(--tone-amber-bg);border-color:var(--tone-amber);color:#8a5b00}.exam-q-body{font-size:1.04rem;margin-bottom:16px}.exam-options{display:flex;flex-direction:column;gap:10px}.exam-option{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid var(--app-line-strong);border-radius:12px;cursor:pointer;background:#fff}.exam-option.is-checked,.exam-option:hover{border-color:var(--aritech-primary)}.exam-option.is-checked{background:var(--app-tint)}.exam-option input{accent-color:var(--aritech-primary);width:18px;height:18px}.exam-option-label{font-weight:800;color:var(--aritech-primary)}.exam-option-body{flex:1 1}.exam-option-body .rt p{margin:0}.exam-options.is-review .exam-option{cursor:default}.exam-option.is-correct{border-color:var(--tone-green);background:var(--tone-green-bg)}.exam-option.is-wrong{border-color:var(--tone-red);background:var(--tone-red-bg)}.exam-written small{display:block;text-align:right;margin-top:4px}.exam-nav{display:flex;justify-content:space-between;margin-top:22px}.exam-palette{position:-webkit-sticky;position:sticky;top:calc(var(--topbar-h) + 16px)}.palette-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:8px;gap:8px;margin:12px 0}.palette-cell{aspect-ratio:1;border-radius:10px;border:1.5px solid var(--app-line-strong);background:#fff;font:inherit;font-weight:700;cursor:pointer}.palette-cell.is-answered{background:var(--tone-green-bg);border-color:var(--tone-green);color:#0b6e48}.palette-cell.is-flagged{background:var(--tone-amber-bg);border-color:var(--tone-amber);color:#8a5b00}.palette-cell.is-current{outline:2px solid var(--aritech-primary);outline-offset:2px}.palette-legend{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:6px;font-size:.82rem}.palette-legend i{display:inline-block;width:12px;height:12px;border-radius:4px;border:1.5px solid var(--app-line-strong);vertical-align:-1px;margin-right:6px}.palette-legend i.is-answered{background:var(--tone-green-bg);border-color:var(--tone-green)}.palette-legend i.is-flagged{background:var(--tone-amber-bg);border-color:var(--tone-amber)}.answer-box,.explain-box,.feedback-box{border-radius:12px;padding:12px 14px;margin-top:12px}.answer-box{background:#f6f6fb}.answer-box small{color:var(--app-muted);font-weight:600}.answer-box p{margin:4px 0 0;white-space:pre-wrap}.feedback-box{background:var(--tone-amber-bg)}.feedback-box p{margin:4px 0 0}.explain-box{background:var(--tone-blue-bg)}.chat-column{gap:16px}.ai-hero{display:flex;align-items:center;gap:24px;padding:20px 24px}.ai-hero h2{font-size:1.5rem;margin-bottom:6px}.ai-hero p{margin:0 0 14px;color:#3b3e5c;max-width:52ch}.chip.is-on{border-color:var(--aritech-primary);background:var(--app-tint);color:var(--aritech-primary)}.chat-row{display:flex;gap:12px;align-items:flex-start}.chat-row.is-user{justify-content:flex-end}.chat-bubble-user{max-width:min(560px,85%);background:var(--app-tint-strong);color:#1c1d3a;border-radius:16px 16px 4px 16px;padding:14px 18px}.chat-bubble-user .rt p{margin:0}.chat-bubble-user small{display:block;text-align:right;color:var(--app-muted);font-size:.72rem;margin-top:6px}.chat-photo{max-width:240px;border-radius:10px;display:block;margin-bottom:8px}.chat-bot-avatar{flex-shrink:0;width:46px;height:46px;border-radius:999px;background:var(--app-tint);display:grid;place-items:center;overflow:hidden}.chat-answer{flex:1 1;min-width:0;padding:18px 22px}.chat-answer-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}.chat-answer-head strong{color:var(--aritech-primary);font-size:1.02rem}.chat-answer-body{line-height:1.65}.chat-actions{margin-top:14px}.chat-answer-foot{display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--app-line);font-size:.85rem;color:#3b3e5c;flex-wrap:wrap}.thumb{width:36px;height:34px;border-radius:10px;border:1px solid var(--app-line-strong);background:#fff;display:grid;place-items:center;cursor:pointer;color:#3b3e5c}.thumb.is-on{background:var(--app-tint);border-color:var(--aritech-primary);color:var(--aritech-primary)}.chat-answer-tools{margin-left:auto;display:flex;align-items:center;gap:4px}.chat-answer-tools small{color:var(--app-faint);margin-left:6px}.chat-typing{display:flex;gap:6px;padding:18px 22px}.chat-typing span{width:8px;height:8px;border-radius:50%;background:var(--aritech-primary);opacity:.4;animation:blink 1.2s infinite}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes blink{50%{opacity:1}}.suggest-head{display:flex;justify-content:space-between;margin-bottom:10px}.composer{padding:14px 16px}.chat-column>.composer{position:-webkit-sticky;position:sticky;bottom:12px;z-index:6;box-shadow:0 0 0 12px var(--app-bg),0 -14px 28px 4px rgba(20,22,60,.08)}.chat-column>.composer .composer-input{max-height:30vh}.composer-label{display:block;font-weight:600;color:#3b3e5c;margin-bottom:4px}.composer-input{width:100%;border:0;outline:0;resize:vertical;font:inherit;font-size:.96rem;color:var(--app-text);background:transparent;min-height:52px}.composer-bar{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}.tool-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--app-line-strong);background:#fff;border-radius:10px;padding:8px 14px;font:inherit;font-size:.86rem;font-weight:600;cursor:pointer;color:#2b2d4a}.tool-btn.is-on,.tool-btn:hover{border-color:var(--aritech-primary);color:var(--aritech-primary)}.send-btn{margin-left:auto;width:54px;height:46px;border-radius:12px;border:0;background:var(--aritech-primary);color:var(--aritech-primary-contrast);display:grid;place-items:center;cursor:pointer}.send-btn:disabled{opacity:.5;cursor:not-allowed}.list-row.is-current{background:var(--app-tint)}.subject-tabs{margin-bottom:20px}.chat-column-wide{max-width:980px}.photo-review{display:grid;grid-template-columns:220px minmax(0,1fr);grid-gap:18px;gap:18px;padding:18px}.photo-review-img img{width:100%;border-radius:12px;border:1px solid var(--app-line)}.photo-review-body{display:flex;flex-direction:column;gap:10px}.photo-preview{background:#f8f8fc;border-radius:10px;padding:10px 14px}.rt p{margin:0 0 10px}.rt-h{font-weight:800;margin:16px 0 8px!important;color:#1c1d3a}.rt-h1{font-size:1.2rem}.rt-h2{font-size:1.08rem;color:var(--aritech-primary)}.rt-h3{font-size:1rem}.rt-list{margin:0 0 12px;padding-left:1.3rem}.rt-list li{margin-bottom:4px}.rt-code{background:#f1f1f8;border-radius:6px;padding:1px 6px;font-family:var(--font-mono);font-size:.88em}.rt-rule{border:0;border-top:1px solid var(--app-line);margin:16px 0}.rt-math-block{overflow-x:auto;padding:6px 0;margin:4px 0 12px}.rt-answer{margin:8px 0 14px;padding:14px 18px;border-radius:12px;background:#eaf8ef;border:1px solid #9bd8b2;overflow-x:auto}.rt-math-boxed .katex .boxpad{border-color:var(--tone-green)}.rt-table-wrap{overflow-x:auto;margin:8px 0 14px}.rt-table{border-collapse:collapse;width:100%;font-size:.92rem}.rt-table td,.rt-table th{border:1px solid var(--app-line-strong);padding:8px 12px;text-align:left}.rt-table th{background:#f6f6fb;font-weight:700}.live-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));grid-gap:20px;gap:20px}.live-card{padding:18px 20px;display:flex;flex-direction:column;gap:6px}.live-card-top{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.live-card h3{font-size:1.05rem;margin:4px 0 0}.live-card p{margin:0}.live-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center}.week-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px}.week-cal-day{border:1px solid var(--app-line);border-radius:12px;padding:10px;min-height:150px;gap:6px}.week-cal-day,.week-cal-head{display:flex;flex-direction:column}.week-cal-head small{color:var(--app-muted)}.week-cal-empty{text-align:center;margin-top:20px}.week-cal-item{border:0;text-align:left;font:inherit;font-size:.78rem;border-radius:8px;padding:6px 8px;background:var(--app-tint);color:#2f2c63;cursor:pointer;display:flex;flex-direction:column}.week-cal-item.is-live{background:var(--tone-red-bg);color:var(--tone-red)}.week-cal-item.is-cancelled,.week-cal-item.is-ended{background:#f1f1f6;color:var(--app-muted)}.cert-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));grid-gap:20px;gap:20px}.cert-card{background:#fff;border:1px solid var(--app-line);border-radius:16px;box-shadow:var(--app-shadow);overflow:hidden}.cert-face{margin:14px;padding:22px 18px;border-radius:12px;border:2px solid color-mix(in srgb,var(--aritech-primary) 35%,#fff);background:radial-gradient(circle at top,var(--app-tint),#fff 70%);display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.cert-school{font-weight:700;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--aritech-secondary,var(--aritech-primary))}.cert-medal{color:#e0a100}.cert-kicker{font-size:.78rem;color:var(--app-muted)}.cert-name{font-size:1.3rem;font-family:Georgia,Times New Roman,serif}.cert-course{font-weight:600}.cert-date{font-size:.78rem;color:var(--app-muted)}.cert-foot{padding:0 16px 16px;display:flex;flex-direction:column;gap:10px}.cert-code{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.85rem;color:#0b6e48}@media (max-width:1100px){.exam-body{grid-template-columns:minmax(0,1fr)}.exam-palette{position:static}.explore-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.week-cal{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.ai-hero{flex-direction:column;text-align:center}.photo-review{grid-template-columns:minmax(0,1fr)}.explore-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-reader .ui-card-body{padding:20px}}.live-gate{padding:32px;max-width:460px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.live-gate h1{font-size:1.3rem}.live-gate p{margin:0;color:var(--app-muted)}.class-card{display:flex;flex-direction:column;gap:6px;padding:18px;text-align:left;font:inherit;cursor:pointer;color:inherit;border:1px solid var(--app-line)}.class-card:hover{border-color:var(--aritech-primary)}.class-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.class-card-stats{display:flex;gap:14px;font-size:.82rem;color:var(--app-muted);margin-top:8px}.class-card-stats span{display:inline-flex;gap:4px;align-items:center}.inline-form{display:flex;gap:10px;align-items:center}.inline-form .text-input{flex:1 1}.lesson-editor{display:flex;flex-direction:column;gap:12px;padding:16px;margin-top:10px;border:1px dashed var(--app-line-strong);border-radius:12px;background:#fcfcff}.option-edit{display:flex;gap:10px;align-items:center;margin-bottom:8px}.option-edit input[type=radio]{width:18px;height:18px;accent-color:var(--tone-green)}.pick-list{max-height:340px;overflow-y:auto;border:1px solid var(--app-line);border-radius:12px;padding:6px 10px}.pick-list .check{gap:10px}.compare{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.compare-col{border-radius:12px;padding:12px 14px;background:#f6f6fb}.compare-col.is-model{background:var(--tone-green-bg)}.compare-col>small{font-weight:700;color:var(--app-muted);display:block;margin-bottom:6px}.compare-body{line-height:1.6}.marking-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;gap:16px;flex-wrap:wrap}.marking-name{font-size:1.2rem}.marking-total{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.marking-total strong{font-size:1.6rem;color:var(--aritech-primary)}.marking-controls-row{display:flex;gap:14px;align-items:flex-end;margin-top:14px;padding-top:14px;border-top:1px solid var(--app-line);flex-wrap:wrap}.marking-controls-row .text-input[type=number]{width:110px}.quick-marks{display:inline-flex;border:1px solid var(--app-line-strong);border-radius:10px;overflow:hidden;height:46px}.quick-marks .seg-btn{min-width:46px}.search-inline{display:flex;align-items:center;gap:10px;height:46px;padding:0 14px;border:1px solid var(--app-line-strong);border-radius:12px;margin-bottom:14px;color:var(--app-faint)}.search-inline input{flex:1 1;border:0;outline:0;font:inherit;color:var(--app-text)}.tool-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:16px;gap:16px}.tool-tile{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:16px;border:1px solid var(--app-line);background:linear-gradient(180deg,var(--tone-bg),#fff 70%);text-align:left;font:inherit;cursor:pointer;color:inherit}.tool-tile:hover{border-color:var(--tone)}.tool-tile small{color:var(--app-muted)}.tips{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:8px}@media (max-width:720px){.compare{grid-template-columns:1fr}}.chat-caret{display:inline-block;width:8px;height:1.05em;margin-left:2px;vertical-align:text-bottom;border-radius:2px;background:var(--aritech-primary);animation:blink 1s steps(2,start) infinite}@media (prefers-reduced-motion:reduce){.chat-caret{animation:none;opacity:.6}}.icon-btn.app-collapse-btn{margin-left:auto;flex-shrink:0}@media (min-width:1101px){.app-shell{transition:grid-template-columns .2s ease}.app-shell.is-collapsed{grid-template-columns:84px minmax(0,1fr)}.is-collapsed .app-sidebar{padding:0 10px 18px}.is-collapsed .app-brand{flex-direction:column;justify-content:center;gap:4px;padding:10px 0}.is-collapsed .app-brand-logo.is-wide,.is-collapsed .app-brand-name{display:none}.is-collapsed .icon-btn.app-collapse-btn{margin:0}.is-collapsed .app-nav-group,.is-collapsed .app-nav-label{display:none}.is-collapsed .app-nav-item{justify-content:center;padding:12px 0;position:relative}.is-collapsed .nav-badge{position:absolute;top:4px;right:4px;padding:1px 4px;font-size:.6rem}}@media (max-width:1100px){.icon-btn.app-collapse-btn{display:none}}.app-main.has-help{padding-bottom:150px}.help-widget{position:fixed;right:20px;bottom:20px;z-index:40;width:min(330px,calc(100vw - 32px));display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:#fff;border:1px solid var(--app-line);border-radius:16px;box-shadow:0 12px 32px rgba(20,20,60,.16)}.help-widget-robot{flex-shrink:0}.help-widget-text{display:grid;grid-gap:6px;gap:6px;justify-items:start;padding-right:18px}.help-widget-text strong{font-size:.98rem}.help-widget-text p{margin:0;color:var(--app-muted);font-size:.84rem;line-height:1.4}.icon-btn.help-widget-close{position:absolute;top:6px;right:6px;width:28px;height:28px}.help-fab{position:fixed;right:20px;bottom:20px;z-index:40;width:60px;height:60px;display:grid;place-items:center;border:0;border-radius:50%;background:#fff;box-shadow:0 10px 26px rgba(20,20,60,.2);cursor:pointer}@media (max-width:720px){.help-widget{right:12px;bottom:12px;padding:12px;width:calc(100vw - 24px)}.help-widget-robot{display:none}.app-main.has-help{padding-bottom:170px}}@media print{.help-fab,.help-widget{display:none}}.app-shell:has(.chat-column) .help-fab,.app-shell:has(.chat-column) .help-widget{display:none}.app-shell:has(.chat-column) .app-main.has-help{padding-bottom:40px}@media (max-width:480px){.app-topbar{gap:4px;padding:0 8px}.app-topbar-actions{gap:2px;margin-left:auto}.lang-btn{padding-left:6px;padding-right:6px;gap:2px}.lang-btn>svg:last-child,.profile-btn>svg{display:none}.streak-chip{padding:4px 8px;gap:4px}.profile-btn{padding:2px;gap:0}.app-topbar .icon-btn{width:38px;height:38px}}.app-search,.app-search input{min-width:0}@media (max-width:1100px){.app-topbar{padding:0 16px;gap:10px}.app-topbar-actions{gap:8px;flex-shrink:0}.profile-text,.streak-chip small{display:none}}.staff-details{border:1px solid var(--app-line,#e6e8f0);border-radius:12px;padding:12px 14px 14px;margin:0;display:grid;grid-gap:12px;gap:12px;min-width:0}.staff-details>legend{padding:0 6px}.page-loading-sm{min-height:80px}.tone-violet-text{color:var(--tone-violet)}.file-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.file-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--app-line);border-radius:12px;background:#fff;flex-wrap:wrap}.file-row-text{flex:1 1;min-width:140px;display:flex;flex-direction:column}.file-row-text strong{font-size:.9rem;font-weight:600;overflow-wrap:anywhere}.file-row-text small{color:var(--app-muted);font-size:.78rem}.file-row .btn{display:inline-flex;align-items:center;gap:6px;text-decoration:none}.file-drop{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:16px;border:1.5px dashed var(--app-line-strong);border-radius:12px;background:#fcfcff;color:var(--app-muted);font-size:.9rem}.file-drop.is-over{border-color:var(--aritech-primary);background:var(--app-tint)}.file-drop small{margin-left:auto}.doc-viewer{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.doc-viewer-frame{width:100%;height:min(78vh,820px);border:1px solid var(--app-line);border-radius:12px;background:#f6f6fb}.doc-viewer-img{max-width:100%;border-radius:12px;border:1px solid var(--app-line)}.doc-viewer-bar{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.doc-viewer-bar .btn{display:inline-flex;align-items:center;gap:6px;text-decoration:none}.player-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.player-video{position:relative;width:100%;aspect-ratio:16/9;background:#0f1029;border-radius:14px;overflow:hidden;margin-bottom:18px}.player-video iframe,.player-video video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#0f1029}.player-link{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--app-line);border-radius:14px;background:#fafaff;margin-bottom:18px;flex-wrap:wrap}.player-link>div{flex:1 1;min-width:160px;display:flex;flex-direction:column}.player-link .btn{display:inline-flex;align-items:center;gap:6px;text-decoration:none}.outline-lesson span{flex:1 1}.outline-type{color:var(--app-faint);flex-shrink:0}.practice-stack{gap:16px}.practice-card{border:1px solid var(--app-line);border-radius:14px;padding:16px}.practice-img{max-width:100%;border-radius:10px;margin-top:10px}.practice-result{margin-top:12px;display:flex;flex-direction:column;gap:8px}.practice-result strong{display:inline-flex;align-items:center;gap:6px}.practice-explain{margin-top:0}.practice-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:12px}.practice-actions .link-btn{display:inline-flex;align-items:center;gap:4px;margin-right:auto}.practice-hint{margin:8px 0 0;padding:10px 12px;background:var(--tone-amber-bg);border-radius:10px;color:#6b4b00}.bookmark-form{margin-bottom:14px;padding:14px;border:1px dashed var(--app-line-strong);border-radius:12px;background:#fcfcff}.bookmark-form .modal-actions{margin-top:0}.bookmark-at{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0}.time-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border:0;border-radius:999px;background:var(--app-tint);color:var(--aritech-primary);font:inherit;font-weight:700;font-size:.8rem;cursor:pointer;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.time-chip:hover{background:var(--app-tint-strong)}.activity-feed{display:flex;flex-direction:column}.activity-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 6px;border:0;border-bottom:1px solid var(--app-line);background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:8px}.activity-row:last-of-type{border-bottom:0}.activity-row:hover:not(:disabled){background:#f8f8fc}.activity-row:disabled{cursor:default}.activity-text{flex:1 1;min-width:0;display:flex;flex-direction:column}.activity-text strong{font-weight:600;font-size:.9rem}.activity-text small{color:var(--app-muted);font-size:.8rem}.activity-more{align-self:center;margin-top:10px}.rec-chapter+.rec-chapter{margin-top:12px}.rec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:14px;gap:14px;margin-top:6px}.rec-tile{display:flex;flex-direction:column;gap:10px;padding:0;border:1px solid var(--app-line);border-radius:14px;background:#fff;overflow:hidden;text-align:left;font:inherit;color:inherit;cursor:pointer}.rec-tile:hover{border-color:var(--aritech-primary);box-shadow:var(--app-shadow)}.rec-thumb{position:relative;display:grid;place-items:center;aspect-ratio:16/9;background:linear-gradient(135deg,var(--aritech-primary),#1f1a7a);color:#fff}.rec-duration{position:absolute;right:8px;bottom:8px;padding:2px 7px;border-radius:6px;background:rgba(0,0,0,.6);font-size:.75rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rec-text{display:flex;flex-direction:column;gap:2px;padding:0 14px 14px}.rec-text strong{font-weight:600;font-size:.92rem}.rec-text small{color:var(--app-muted);font-size:.8rem}.assign-files-label{display:flex;align-items:center;gap:6px;margin-top:18px}.assign-textarea{min-height:180px}.assign-note{font-size:.82rem;margin:12px 0 0}.grade-box{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.grade-score{font-size:2.2rem;font-weight:800;color:var(--tone-green)}.grade-score small{font-size:1.1rem;color:var(--app-muted);font-weight:600}.feedback-box strong{display:inline-flex;align-items:center;gap:6px}.mat-search{flex:1 1;max-width:420px;margin-bottom:0;background:#fff}.toolbar-end .select{width:auto;max-width:260px}.mat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:18px;gap:18px}.mat-card{display:flex;flex-direction:column;gap:8px;padding:18px}.mat-card-top{display:flex;justify-content:space-between;align-items:flex-start}.mat-title{font-size:1rem}.mat-desc{margin:0;font-size:.86rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.mat-meta{margin:0;font-size:.8rem;color:var(--app-muted)}.mat-tags{gap:6px}.mat-actions{display:flex;gap:8px;margin-top:auto;padding-top:6px}.mat-actions .btn,.row-actions .btn{display:inline-flex;align-items:center;gap:6px}.note-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));grid-gap:18px;gap:18px}.note-card{display:flex;flex-direction:column;padding:18px;gap:10px}.note-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.note-card-body{max-height:220px;overflow:hidden;font-size:.92rem;-webkit-mask-image:linear-gradient(180deg,#000 80%,transparent);mask-image:linear-gradient(180deg,#000 80%,transparent)}.note-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;gap:8px}.note-textarea{min-height:220px}.lesson-note-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lesson-note-text{white-space:pre-wrap;margin:12px 0 8px}.time-split{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px;font-size:.84rem;color:var(--app-muted)}.time-split-item{display:inline-flex;align-items:center;gap:6px}.time-split-item i{width:10px;height:10px;border-radius:3px;background:var(--tone)}.time-split-item strong{color:var(--app-text)}.subject-name{display:inline-flex;align-items:center;gap:8px}.subject-name i{width:10px;height:10px;border-radius:999px}.cell-progress{min-width:140px}.cell-progress small{color:var(--app-muted);font-size:.78rem}.streak-box{display:flex;align-items:center;gap:14px}.streak-flame{font-size:2.4rem;line-height:1}.streak-box>div{display:flex;flex-direction:column}.streak-days{font-size:1.6rem;font-weight:800}.streak-best{margin:10px 0 0;font-size:.86rem}.radar-note{text-align:center;font-size:.84rem;margin:6px 0 0}.topic-row{align-items:flex-start}.topic-row .list-row-text{gap:4px}.topic-row small{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.topic-end{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.msg-layout{display:grid;grid-template-columns:340px minmax(0,1fr);grid-gap:20px;gap:20px;align-items:stretch;height:calc(100vh - var(--topbar-h) - 170px);min-height:480px}.msg-list{display:flex;flex-direction:column;padding:14px;min-height:0}.msg-search{margin-bottom:10px;height:42px}.msg-convos{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1 1}.msg-convo{display:flex;gap:12px;align-items:center;width:100%;padding:10px;border:0;border-radius:12px;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.msg-convo:hover{background:#f6f6fb}.msg-convo.is-current{background:var(--app-tint)}.msg-convo-text{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.msg-convo-bottom,.msg-convo-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.msg-convo-top strong{font-weight:600;font-size:.92rem}.msg-convo small,.msg-convo-top strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-convo small{color:var(--app-muted);font-size:.8rem}.msg-convo.is-unread .msg-convo-bottom small,.msg-convo.is-unread strong{color:var(--app-text);font-weight:700}.msg-thread-card{display:flex;flex-direction:column;min-height:0;overflow:hidden}.msg-thread-card>.empty-state{margin:auto}.msg-thread{display:flex;flex-direction:column;height:100%;min-height:0}.msg-thread-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--app-line)}.msg-back{display:none}.msg-scroll{flex:1 1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:6px;background:#fbfbfe}.msg-older{align-self:center;margin-bottom:8px}.msg-empty{text-align:center;margin:auto}.msg-day{text-align:center;margin:10px 0;font-size:.75rem;color:var(--app-faint)}.msg-day span{padding:3px 10px;border-radius:999px;background:#f0f0f7}.msg-bubble-row{display:flex}.msg-bubble-row.is-mine{justify-content:flex-end}.msg-bubble{max-width:min(520px,80%);padding:10px 14px;border-radius:16px 16px 16px 4px;background:#fff;border:1px solid var(--app-line)}.msg-bubble-row.is-mine .msg-bubble{background:var(--aritech-primary);color:var(--aritech-primary-contrast,#fff);border-color:transparent;border-radius:16px 16px 4px 16px}.msg-bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.msg-bubble small{display:block;margin-top:4px;font-size:.7rem;opacity:.7;text-align:right}.msg-composer{display:flex;gap:10px;align-items:flex-end;padding:12px 14px;border-top:1px solid var(--app-line)}.msg-composer .textarea{min-height:46px;max-height:160px}.msg-composer .btn{height:46px}.msg-picker{width:min(520px,100%);max-height:80vh;display:flex;flex-direction:column}.msg-picker-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.msg-picker-head h2{margin:0}.msg-picker-list{overflow-y:auto;flex:1 1}.msg-picker-list .list-row{width:100%;border:0;background:none;font:inherit;color:inherit;text-align:left}.disc-toolbar{margin-bottom:0}.disc-course{width:auto;max-width:280px}.disc-list{list-style:none;margin:0;padding:0}.disc-row{display:flex;align-items:center;gap:12px;width:100%;padding:14px 18px;border:0;border-bottom:1px solid var(--app-line);background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.disc-list li:last-child .disc-row{border-bottom:0}.disc-row:hover{background:#f8f8fc}.disc-row-text{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.disc-row-text strong{font-weight:600;display:inline-flex;align-items:center;gap:4px}.disc-row-text small{color:var(--app-muted);font-size:.8rem}.disc-row-end{display:flex;align-items:center;gap:8px}.disc-count{min-width:30px;padding:3px 8px;border-radius:999px;background:#f0f0f7;text-align:center;font-size:.8rem;font-weight:700}.disc-mod .btn{display:inline-flex;align-items:center;gap:4px}.disc-post{padding:16px 20px}.disc-post.is-first{border-color:var(--app-line-strong)}.disc-post.is-answer{border-color:var(--tone-green);box-shadow:0 0 0 2px var(--tone-green-bg)}.disc-post-head{display:flex;align-items:center;gap:12px}.disc-post-head strong{display:inline-flex}.disc-post-head strong,.disc-quote{align-items:center;gap:6px;flex-wrap:wrap}.disc-quote{display:flex;margin:10px 0 0;padding:6px 10px;border-left:3px solid var(--app-line-strong);color:var(--app-muted);font-size:.84rem}.disc-post-body{margin-top:10px}.disc-post-actions{display:flex;gap:16px;margin-top:10px}.disc-post-actions .link-btn{display:inline-flex;align-items:center;gap:4px;font-size:.84rem}.notif-page-list{list-style:none;margin:0;padding:0}.notif-page-row{display:flex;align-items:center;gap:14px;width:100%;padding:14px 18px;border:0;border-bottom:1px solid var(--app-line);background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.notif-page-list li:last-child .notif-page-row{border-bottom:0}.notif-page-row:hover{background:#f8f8fc}.notif-page-row.is-unread{background:var(--app-tint)}.notif-page-end{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.notif-page-end small{color:var(--app-faint);font-size:.76rem;white-space:nowrap}.unread-dot{width:9px;height:9px;border-radius:999px;background:var(--aritech-primary)}.ann-card{padding:18px 20px}.ann-card.is-unread{border-left:4px solid var(--aritech-primary)}.ann-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ann-body{margin-top:10px}.ann-foot{display:flex;justify-content:flex-end;margin-top:8px}.ann-foot .link-btn{display:inline-flex;align-items:center;gap:4px}.profile-card{display:flex;align-items:center;gap:18px;margin-bottom:18px;flex-wrap:wrap}.profile-card p{margin:2px 0 8px}.profile-name{font-size:1.25rem}.profile-fields .text-input[readonly]{background:#f8f8fc;color:var(--app-muted)}.settings-hint{display:flex;align-items:center;gap:6px;font-size:.84rem;margin:14px 0 0}.avatar-preview{display:flex;align-items:flex-end;gap:16px;margin-bottom:10px}.lang-options{display:flex;flex-direction:column;gap:10px;margin:12px 0}.lang-ai-only{display:block}.pref-intro{padding:4px 20px 0}.pref-grid td.pref-col,.pref-grid th.pref-col{text-align:center;width:90px}.pref-group th{background:#f8f8fc;text-transform:uppercase;letter-spacing:.05em;font-size:.74rem;color:var(--app-muted)}.pref-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;border-top:1px solid var(--app-line);flex-wrap:wrap}.pref-actions .muted{margin-right:auto;font-size:.86rem}.switch{position:relative;display:inline-block;width:40px;height:22px;cursor:pointer;vertical-align:middle}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:inherit}.switch span{inset:0;background:var(--app-line-strong);transition:background .15s;pointer-events:none}.switch span,.switch span:after{position:absolute;border-radius:999px}.switch span:after{content:"";top:3px;left:3px;width:16px;height:16px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s}.switch input:checked+span{background:var(--aritech-primary)}.switch input:checked+span:after{transform:translateX(18px)}.switch input:focus-visible+span{box-shadow:0 0 0 3px var(--app-tint-strong)}.switch.is-locked{cursor:not-allowed;opacity:.6}@media (max-width:900px){.msg-layout{grid-template-columns:minmax(0,1fr);height:auto;min-height:0}.msg-layout .msg-thread-card,.msg-layout.has-thread .msg-list{display:none}.msg-layout.has-thread .msg-thread-card{display:flex;height:calc(100vh - var(--topbar-h) - 150px);min-height:420px}.msg-back{display:grid}}@media (max-width:720px){.mat-search{max-width:none;flex-basis:100%}.toolbar-end{flex-wrap:wrap}.player-head{flex-direction:column}.disc-row{padding:12px}.disc-row-end .ui-pill{display:none}.lesson-reader .ui-card-body{padding:18px}.lesson-footer{flex-wrap:wrap}.doc-viewer-frame{height:70vh}}.status-cards{align-items:stretch}.status-cards>.stat-card{height:100%;padding:18px 20px;align-items:flex-start}.status-cards .stat-card-text{gap:6px}.status-cards .stat-label{min-height:2.6em;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.status-cards .stat-value{font-size:clamp(1.35rem,1.6vw,1.75rem);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-cards .stat-note{line-height:1.3}.status-cards>.stat-card-ring{justify-content:flex-start;align-items:center;gap:6px}.status-cards .stat-card-ring .stat-label{min-height:0}@media (max-width:1100px){.status-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.status-cards>.stat-card-ring{grid-column:1/-1;flex-direction:row;justify-content:center;gap:16px}}@media (max-width:480px){.status-cards{grid-template-columns:minmax(0,1fr)}}.ucard{transition:box-shadow .15s,transform .15s}.ucard:hover{box-shadow:0 12px 28px rgba(20,20,60,.12);transform:translateY(-2px)}.ucard-thumb{position:relative;aspect-ratio:16/9;border:0;padding:0;overflow:hidden;cursor:pointer;display:grid;place-items:center;color:#fff}.ucard-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ucard-thumb-icon{opacity:.85}.ucard-thumb-subject{position:absolute;left:14px;bottom:10px;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.9}.ucard-thumb .course-status{position:absolute;top:10px;left:10px;color:#fff}.ucard-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1 1}.ucard-title{margin:0;font-size:1.02rem;font-weight:800;line-height:1.3}.ucard-title button{border:0;background:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ucard-title button:hover{color:var(--aritech-primary)}.ucard-teacher{margin:0;display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--app-muted)}.ucard-desc{margin:0;font-size:.84rem;color:#3b3e5c;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ucard-meta{font-size:.76rem;font-weight:700}.ucard-details,.ucard-meta{margin:0;color:var(--app-muted)}.ucard-details{font-size:.78rem}.ucard-progress{display:grid;grid-gap:4px;gap:4px;margin-top:4px}.ucard-progress .progress{margin:0}.ucard-progress span{font-size:.78rem;color:var(--app-muted)}.ucard.is-done .ucard-progress span{color:var(--tone-green);font-weight:700}.ucard-next{margin:2px 0 0;display:flex;align-items:center;gap:6px;font-size:.8rem;color:#3b3e5c}.ucard-next span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ucard-actions{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:8px}.ucard-actions .course-actions-row:has(>:only-child){grid-template-columns:1fr}.tone-orange-text{color:var(--tone-orange,#f97316)}.tone-blue-text{color:var(--tone-blue,#3b82f6)}.btn-success{background:var(--tone-green);border-color:var(--tone-green);color:#fff}.btn-danger{background:var(--tone-red);border-color:var(--tone-red);color:#fff}.hub-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:14px;gap:14px}.hub-card{display:grid;grid-gap:8px;gap:8px;align-content:start;justify-items:start;text-align:left;padding:16px;border:1px solid var(--app-line);border-radius:14px;background:#fff;font:inherit;color:inherit;cursor:pointer;transition:box-shadow .15s,transform .15s}.hub-card:hover{box-shadow:0 10px 24px rgba(20,20,60,.1);transform:translateY(-2px)}.hub-card strong{font-size:.95rem}.hub-card-text{font-size:.84rem;color:var(--app-muted);min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hub-card-cta{font-size:.85rem;font-weight:700;color:var(--aritech-primary);display:inline-flex;align-items:center;gap:4px}.hub-card.is-done .hub-card-cta{color:var(--tone-green)}.hub-story{max-width:760px}.hub-story-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start;margin-bottom:8px}.hub-story h2{font-size:1.35rem;margin:0}.hub-story h3{font-size:1.05rem;margin:18px 0 8px}.hub-story p{line-height:1.7;font-size:1rem}.hub-takeaway{display:flex;gap:8px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--app-tint)}.hub-takeaway svg{flex-shrink:0;margin-top:3px;color:var(--aritech-primary)}.hub-factnote{font-size:.82rem!important;color:var(--app-muted);border-left:3px solid var(--app-line);padding-left:10px}.hub-questions{display:grid;grid-gap:14px;gap:14px}.hub-question{border:0;padding:0;margin:0;display:grid;grid-gap:8px;gap:8px}.hub-question legend{font-weight:700;margin-bottom:6px}.hub-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:8px;gap:8px}.hub-option{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--app-line);border-radius:10px;background:#fff;font:inherit;text-align:left;cursor:pointer}.hub-option.is-picked{border-color:var(--aritech-primary);background:var(--app-tint)}.hub-option.is-correct{border-color:var(--tone-green);background:#ecfdf3;color:#166534}.hub-option.is-wrong{border-color:var(--tone-red);background:#fef2f2;color:#991b1b}.hub-explain{margin:0}.hub-news{display:grid;grid-gap:14px;gap:14px}.hub-news h3{margin:6px 0}.hub-news-head{display:flex;gap:6px}.hub-source a{display:inline-flex;align-items:center;gap:3px}.hub-games{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:14px;gap:14px}.hub-games .ui-card-body,.hub-games>*{display:grid;grid-gap:8px;gap:8px;justify-items:start}.hub-stat{display:grid;justify-items:center;grid-gap:4px;gap:4px;text-align:center}.hub-stat strong{font-size:1.6rem}.hub-stat span{font-size:.82rem;color:var(--app-muted)}.hub-week{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:10px;gap:10px;height:120px;align-items:end}.hub-week-day{display:grid;grid-template-rows:1fr auto;height:100%;justify-items:center;grid-gap:4px;gap:4px}.hub-week-bar{align-self:end;width:70%;min-height:4px;border-radius:6px 6px 0 0;background:var(--aritech-primary)}.hub-badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:12px;gap:12px}.hub-badge{display:grid;grid-gap:4px;gap:4px;justify-items:center;text-align:center;padding:12px;border-radius:12px;border:1px dashed var(--app-line);color:var(--app-muted)}.hub-badge.is-earned{border-style:solid;border-color:#f5a524;color:var(--app-text);background:#fffbeb}.hub-badge.is-earned svg{color:#f5a524}.hub-badge .progress{width:100%}.hub-recent{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.hub-recent li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--app-line);padding-bottom:6px}.bg-game{display:grid;grid-gap:12px;gap:12px;justify-items:start}.bg-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.bg-row .text-input{width:220px}.bg-options{display:flex;gap:8px;flex-wrap:wrap}.bg-win{display:inline-flex;align-items:center;gap:6px;color:var(--tone-green);font-weight:700}.sudoku{display:grid;grid-gap:0;gap:0;border:2px solid #3b3e5c;width:min(100%,320px)}.sudoku-cell{aspect-ratio:1;display:grid;place-items:center;border:1px solid #c9ccdf;font-size:1.2rem;font-weight:700;text-align:center;background:#fff;width:100%;padding:0;font-family:inherit}.sudoku-cell.is-given{background:#f1f2f9;color:#2b2d4a}input.sudoku-cell{color:var(--aritech-primary)}.sudoku-cell.edge-r{border-right:2px solid #3b3e5c}.sudoku-cell.edge-b{border-bottom:2px solid #3b3e5c}.memory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));grid-gap:8px;gap:8px;width:min(100%,460px)}.memory-card{aspect-ratio:1;border-radius:12px;border:0;background:var(--aritech-primary);color:#fff;font-size:1.6rem;cursor:pointer}.memory-card.is-open{background:#fff;border:1px solid var(--app-line);color:inherit}.memory-card.is-matched{background:#ecfdf3;border-color:var(--tone-green)}.pattern-terms,.word-scramble{font-size:1.6rem;font-weight:800;letter-spacing:.08em;margin:0}.riddle{font-size:1.1rem;font-weight:600;margin:0;max-width:640px}.hub-month{grid-template-columns:repeat(30,1fr);gap:3px}.hub-month small{font-size:.62rem}.hub-q-edit{display:grid;grid-gap:8px;gap:8px;padding:12px;border:1px solid var(--app-line);border-radius:12px;margin-bottom:10px}