: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{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--app-faint);padding:14px 12px 6px}.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;min-width:0}.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}.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(300px,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(320px,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}}.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(300px,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}}.aif-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0;vertical-align:1px}.aif-mt{margin-top:14px}.aif-small{font-size:.82rem}.aif-left{align-self:flex-start;margin-top:6px}.aif-center{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%}.aif-card-sub{margin:-4px 0 12px;font-size:.85rem}.aif-soft-note{margin:12px 0 0;padding:10px 14px;border-radius:10px;background:var(--app-tint);color:#2f2c63;font-size:.85rem;text-align:center}.aif-static{margin:0;padding:11px 14px;border-radius:12px;background:#f6f6fb;font-size:.93rem}.aif-tag{display:inline-block;margin-left:8px;padding:1px 7px;font-size:.7rem;vertical-align:1px}.aif-chip-tag,.aif-tag{border-radius:999px;background:var(--tone-red-bg);color:var(--tone-red);font-weight:700}.aif-chip-tag{padding:1px 6px;font-size:.68rem}.aif-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.aif-inline{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.86rem}.aif-inline .text-input{height:38px;width:auto}.aif-num{width:80px!important}.aif-select-sm{height:36px;width:auto;max-width:180px;font-size:.85rem}.aif-seg-full{display:flex;width:100%}.aif-seg-full .seg-btn{flex:1 1;padding:10px 8px}.aif-fieldset{border:0;margin:0;padding:0;min-width:0}.aif-check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:2px 14px;gap:2px 14px}.aif-danger{color:var(--tone-red);border-color:var(--tone-red)}.aif-spin{animation:aif-spin 1s linear infinite}@keyframes aif-spin{to{transform:rotate(1turn)}}.aif-balance{display:flex;height:8px;border-radius:999px;overflow:hidden;background:#eeeef6;gap:2px;margin-top:8px}.aif-balance span{display:block;height:100%}.aif-goal-strip{display:grid;grid-template-columns:1fr 1fr 1.6fr;margin-bottom:20px;overflow:hidden}.aif-goal-cell{display:flex;align-items:center;gap:14px;padding:18px 22px;min-width:0;text-align:left}.aif-goal-cell+.aif-goal-cell{border-left:1px solid var(--app-line)}.aif-goal-cell small{display:block;color:var(--app-muted);font-size:.8rem;font-weight:600}.aif-goal-cell strong{display:block;font-size:1.15rem;font-weight:800}.aif-goal-cell p{margin:2px 0 0;font-size:.9rem;color:#2b2d4a}.aif-goal-rec{border:0;background:none;font:inherit;color:inherit;cursor:pointer;border-left:1px solid var(--app-line)}.aif-goal-rec:hover{background:#fafaff}.aif-goal-rec>div{flex:1 1;min-width:0}.aif-week-head,.aif-week-nav{flex-wrap:wrap}.aif-week-nav{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#3b3e5c}.aif-week-nav .icon-btn{width:32px;height:32px;border:1px solid var(--app-line-strong);border-radius:8px}.aif-days{display:flex;flex-direction:column}.aif-day{display:grid;grid-template-columns:74px minmax(0,1fr);grid-gap:12px;gap:12px;padding:12px 0;border-bottom:1px solid var(--app-line)}.aif-day:last-child{border-bottom:0}.aif-day.is-today .aif-day-label strong{color:var(--aritech-primary)}.aif-day-label{display:flex;flex-direction:column;padding-top:6px}.aif-day-label strong{font-size:.95rem}.aif-day-label small{color:var(--app-muted);font-size:.8rem}.aif-day-tasks{display:flex;flex-direction:column;border-left:2px solid var(--app-line);padding-left:14px;min-width:0}.aif-day-empty{margin:6px 0;font-size:.85rem}.aif-task{position:relative;display:grid;grid-template-columns:130px minmax(0,1fr) 64px 22px 30px;grid-gap:10px;gap:10px;align-items:center;padding:7px 0;font-size:.88rem}.aif-task-subject{display:inline-flex;align-items:center;gap:8px;font-weight:500;min-width:0}.aif-task-subject>span:last-child:not(.ui-pill){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aif-task-topic{min-width:0;color:#2b2d4a}.aif-task-min{color:var(--app-muted);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.aif-task-check{width:20px;height:20px;accent-color:var(--tone-green);cursor:pointer}.aif-task-more{width:30px;height:30px}.aif-task.is-done .aif-task-topic{color:var(--app-muted);text-decoration:line-through}.aif-task-menu{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 12px;border-radius:10px;background:#f6f6fb}.aif-task-err,.aif-task-menu{grid-column:1/-1}.aif-add-task{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:14px;padding:12px;border-radius:12px;border:1.5px dashed var(--app-line-strong);background:#fff;font:inherit;font-weight:600;color:var(--aritech-primary);cursor:pointer}.aif-add-task:hover{background:var(--app-tint);border-color:var(--aritech-primary)}.aif-add-form{margin-top:14px;padding:16px;border-radius:12px;background:#f8f8fc;border:1px solid var(--app-line)}.aif-donut-row{display:flex;justify-content:center;margin-bottom:8px}.aif-donut-row>div>:not(:first-child){display:none!important}.aif-legend{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.aif-legend li{display:flex;align-items:center;gap:10px;font-size:.9rem}.aif-legend li span{flex:1 1}.aif-datebadge{display:flex;flex-direction:column;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border-radius:12px;background:var(--app-tint);color:var(--aritech-primary);line-height:1.05}.aif-datebadge strong{font-size:1.05rem}.aif-datebadge small{font-size:.65rem;font-weight:700}.aif-weak-list{display:flex;flex-direction:column;gap:4px}.aif-weak{display:grid;grid-template-columns:auto minmax(0,1fr) 80px 44px;grid-gap:12px;gap:12px;align-items:center;padding:6px 0}.aif-weak:not(:has(.icon-tile)){grid-template-columns:minmax(0,1fr) 90px 44px}.aif-weak-bar .progress{margin-top:0}.aif-weak-pct{text-align:right;font-size:.88rem}.aif-rec-text{color:#2b2d4a!important;font-size:.88rem!important}.aif-insights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.aif-insight{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:12px;border:1px solid var(--app-line);background:#fcfcff;min-width:0}.aif-insight small{color:#3b3e5c;font-weight:600;font-size:.8rem;margin-top:6px}.aif-insight strong{font-size:1.05rem}.aif-insight p{margin:0;font-size:.78rem;color:var(--app-muted)}.aif-summary{display:flex;align-items:center;gap:20px}.aif-summary p{margin:4px 0}.aif-why{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:.88rem}.aif-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}.aif-month-dow{text-align:center;font-size:.78rem;font-weight:700;color:var(--app-muted);padding-bottom:4px}.aif-month-cell{min-height:74px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px;border-radius:10px;border:1px solid var(--app-line);background:#fff;font:inherit;font-size:.85rem;cursor:pointer;text-align:left}.aif-month-cell.is-today,.aif-month-cell:hover{border-color:var(--aritech-primary)}.aif-month-cell.is-today{background:var(--app-tint)}.aif-month-cell.is-picked{outline:2px solid var(--aritech-primary);outline-offset:1px}.aif-month-cell small{color:var(--app-muted);font-size:.72rem}.aif-month-dots{display:flex;gap:3px;flex-wrap:wrap}.aif-dl{display:grid;grid-template-columns:max-content 1fr;grid-gap:10px 20px;gap:10px 20px;margin:0}.aif-dl dt{color:var(--app-muted);font-weight:600;font-size:.88rem}.aif-dl dd{margin:0;font-weight:600}.aif-subject-rings{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));grid-gap:16px;gap:16px}.aif-subject-rings>div{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.aif-modal{width:min(620px,100%);max-height:calc(100vh - 32px);overflow-y:auto}.aif-modal-head{display:flex;align-items:center;justify-content:space-between}.aif-le-hero{display:grid;grid-template-columns:auto minmax(0,1.1fr) minmax(0,1.2fr) auto;grid-gap:24px;gap:24px;align-items:center;padding:22px 26px;margin-bottom:20px;background:linear-gradient(110deg,#f4f1ff,#fbfaff 55%,#f4f1ff)}.aif-le-brain{width:104px;height:104px;border-radius:50%;display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 35% 30%,#8b6cff,var(--aritech-primary));box-shadow:0 0 0 12px rgba(109,75,239,.12)}.aif-le-hello h2{font-size:1.4rem;margin-bottom:6px}.aif-le-hello p{margin:0;color:#3b3e5c}.aif-le-status{list-style:none;margin:0;padding:0 0 0 22px;border-left:1px solid var(--app-line-strong);display:flex;flex-direction:column;gap:12px}.aif-le-status li{display:flex;align-items:center;gap:12px}.aif-le-status li>span:last-child{display:flex;flex-direction:column;min-width:0}.aif-le-status strong{font-size:.9rem;font-weight:600}.aif-le-status small{color:var(--app-muted);font-size:.78rem}.aif-le-ring{display:flex;flex-direction:column;align-items:center;gap:8px}.aif-le-ring strong{font-size:.88rem}.aif-le-card{border-color:color-mix(in srgb,var(--tone) 22%,#fff);background:linear-gradient(180deg,color-mix(in srgb,var(--tone-bg) 45%,#fff),#fff)}.aif-le-style{font-size:1.15rem;font-weight:800;color:var(--tone)}.aif-fit{align-self:flex-start;margin-top:6px}.aif-topic-table{display:flex;flex-direction:column}.aif-topic-row{display:grid;grid-template-columns:minmax(0,1.4fr) 110px 44px auto;grid-gap:14px;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--app-line)}.aif-topic-row:last-child{border-bottom:0}.aif-path{list-style:none;margin:0;padding:0;position:relative}.aif-path:before{content:"";position:absolute;left:13px;top:18px;bottom:18px;border-left:2px dashed var(--app-line-strong)}.aif-path-item{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;grid-gap:12px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--app-line)}.aif-path-item:last-child{border-bottom:0}.aif-path-dot{position:relative;z-index:1;width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:50%;background:#fff;color:var(--tone);cursor:pointer;padding:0}.aif-path-body{display:flex;flex-direction:column;align-items:flex-start;gap:3px;border:0;background:none;font:inherit;text-align:left;cursor:pointer;padding:0;min-width:0;color:inherit}.aif-path-body .ui-pill{font-size:.68rem;padding:2px 8px}.aif-path-body strong{font-size:.95rem}.aif-path-body small{color:var(--app-muted);font-size:.82rem}.aif-path-body:hover strong{color:var(--aritech-primary)}.aif-path-status{font-size:.78rem;color:var(--app-muted);white-space:nowrap}.aif-path-item.is-done strong{text-decoration:line-through;color:var(--app-muted)}.aif-path-item.is-done .aif-path-dot{color:var(--tone-green)}.aif-shelf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.aif-shelf-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 10px;border-radius:12px;border:1px solid color-mix(in srgb,var(--tone) 25%,#fff);background:var(--tone-bg);font:inherit;text-align:center;cursor:pointer;color:#2b2d4a;min-width:0}.aif-shelf-card svg{color:var(--tone);margin-bottom:4px}.aif-shelf-card strong{font-size:.82rem}.aif-shelf-card span{font-size:.8rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.aif-shelf-card small{font-size:.72rem;color:var(--app-muted)}.aif-shelf-card:hover{border-color:var(--tone)}.aif-le-insights{display:flex;flex-direction:column;gap:14px}.aif-le-insight{display:flex;gap:14px;align-items:flex-start}.aif-le-insight p{margin:2px 0 0;font-size:.9rem;color:#2b2d4a}.aif-tg{display:grid;grid-template-columns:300px minmax(0,1fr) 300px;grid-gap:20px;gap:20px;align-items:start}.aif-stepper{display:flex;align-items:center;gap:8px}.aif-stepper .icon-btn{width:40px;height:40px;border:1px solid var(--app-line-strong);border-radius:10px}.aif-stepper .text-input{width:80px;text-align:center}.aif-generating{flex-direction:column;gap:10px;padding:40px 0;color:var(--app-muted)}.aif-generating,.aif-set-meta{display:flex;align-items:center}.aif-set-meta{justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.aif-practice{gap:16px}.aif-practice,.aif-qgroup{display:flex;flex-direction:column}.aif-qgroup{gap:10px}.aif-qgroup-head{align-self:flex-start;padding:6px 12px;border-radius:8px;background:var(--tone-bg);color:var(--tone);font-weight:700;font-size:.88rem;border:1px solid color-mix(in srgb,var(--tone) 30%,#fff)}.aif-question{padding:14px 16px;border:1px solid var(--app-line);border-radius:12px;background:#fff}.aif-question header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.aif-question-text{display:flex;gap:6px;font-weight:600;min-width:0}.aif-question-text .rt p:first-child{margin-top:0}.aif-marks{flex-shrink:0;padding:3px 10px;border-radius:6px;background:var(--tone-blue-bg);color:var(--tone-blue);font-size:.75rem;font-weight:700}.aif-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px 16px;gap:8px 16px;margin-top:10px}.aif-option{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid transparent;cursor:pointer;font-size:.92rem}.aif-option input{position:absolute;opacity:0;pointer-events:none}.aif-option b{color:var(--app-muted)}.aif-option .rt p{margin:0}.aif-option:hover{background:#f8f8fc}.aif-option.is-chosen{border-color:var(--aritech-primary);background:var(--app-tint)}.aif-option:has(input:focus-visible){outline:2px solid var(--aritech-primary)}.aif-option.is-correct{border-color:var(--tone-green);background:var(--tone-green-bg);color:#0b6e48}.aif-option.is-wrong{border-color:var(--tone-red);background:var(--tone-red-bg);color:#a3242a}.aif-question .textarea{margin-top:10px;min-height:60px}.aif-hint{margin-top:8px;font-size:.86rem}.aif-hint .rt{margin-top:4px;padding:8px 12px;border-radius:8px;background:var(--tone-amber-bg)}.aif-answer-key{margin-top:10px;padding-top:10px;border-top:1px dashed var(--app-line-strong);font-size:.88rem;display:flex;flex-direction:column;gap:6px}.aif-answer-key p{margin:0}.aif-answer-key .rt p{margin:2px 0}.aif-practice-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.aif-score{display:flex;flex-direction:column;gap:6px;padding:16px 18px;background:var(--app-tint)}.aif-score>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.aif-score strong{font-size:1.5rem}.aif-score p{margin:0;font-size:.86rem}.aif-quiz-form .ui-card-head h2{gap:8px}.aif-goal-pct{display:flex;align-items:center;gap:8px;margin:0;font-size:.9rem}.aif-goal-pct strong{font-size:1.1rem}.aif-goal-topics{margin:8px 0;padding-left:18px;font-size:.84rem;color:#3b3e5c}.aif-conv-row,.aif-doubt-row{display:flex;align-items:center;gap:4px;border-radius:10px}.aif-conv-row>.list-row,.aif-doubt-row>.list-row{flex:1 1;min-width:0;border-bottom:0}.aif-conv-row.is-current,.aif-doubt-row.is-current{background:var(--app-tint)}.aif-conv-row+.aif-conv-row,.aif-doubt-row+.aif-doubt-row{border-top:1px solid var(--app-line)}.aif-more{position:relative;display:inline-flex}.aif-more-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:200px;display:flex;flex-direction:column;padding:6px;border-radius:12px;background:#fff;border:1px solid var(--app-line);box-shadow:var(--shadow-lg)}.aif-more-menu button{display:flex;align-items:center;gap:10px;padding:9px 12px;border:0;border-radius:8px;background:none;font:inherit;text-align:left;cursor:pointer}.aif-more-menu button:hover{background:#f4f4fa}.aif-doubt-split{grid-template-columns:minmax(0,1fr) 360px}.aif-doubt-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.aif-doubt-stats div{display:flex;flex-direction:column;align-items:center;padding:10px 4px;border-radius:10px;background:#f6f6fb;text-align:center}.aif-doubt-stats strong{font-size:1.15rem}.aif-doubt-stats small{font-size:.72rem;color:var(--app-muted)}.aif-history-filters{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin:14px 0 8px}.aif-history-filters .select{height:40px;font-size:.85rem}.aif-search-mini{grid-column:1/-1;display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border:1px solid var(--app-line-strong);border-radius:12px;color:var(--app-muted)}.aif-search-mini input{flex:1 1;border:0;outline:0;font:inherit;font-size:.88rem;min-width:0;background:none}.aif-pager{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.aif-search-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:20px;gap:20px;align-items:start}.aif-searchbox{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 18px}.aif-searchbox input{flex:1 1;min-width:0;border:0;outline:0;font:inherit;font-size:1.05rem;padding:10px 0;background:none}.aif-searchbox:focus-within{border-color:var(--aritech-primary);box-shadow:0 0 0 3px var(--app-tint)}.aif-type-tabs{margin-bottom:0;gap:18px}.aif-results{padding:6px 18px 18px}.aif-results-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;font-size:.9rem}.aif-results-tools{display:flex;align-items:center;gap:8px}.aif-loading-bar{height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,var(--aritech-primary),transparent);background-size:200% 100%;animation:shimmer 1s infinite;margin-bottom:8px}.aif-result-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.aif-result{display:grid;grid-template-columns:200px minmax(0,1fr);grid-gap:18px;gap:18px;padding:12px;border:1px solid var(--app-line);border-radius:14px}.aif-thumb{position:relative;display:grid;place-items:center;min-height:112px;border-radius:10px;border:0;background:linear-gradient(135deg,var(--tone-bg),#fff);color:var(--tone);cursor:pointer}.aif-thumb-time{position:absolute;right:8px;bottom:8px;padding:2px 7px;border-radius:6px;background:rgba(20,20,50,.75);color:#fff;font-size:.72rem;font-weight:600}.aif-result-body{min-width:0;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.aif-result-top{display:flex;justify-content:space-between;align-items:center;width:100%}.aif-match{padding:3px 9px;border-radius:6px;background:var(--tone-green-bg);color:var(--tone-green);font-size:.75rem;font-weight:700}.aif-result-title{border:0;background:none;padding:0;font:inherit;font-size:1rem;font-weight:700;text-align:left;color:var(--app-text);cursor:pointer}.aif-result-title:hover{color:var(--aritech-primary)}.aif-result-preview{margin:0;font-size:.86rem;color:#3b3e5c;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.aif-result-meta{margin:0;font-size:.78rem;color:var(--app-muted)}.aif-result-ask{font-size:.82rem;display:inline-flex;align-items:center;gap:4px}.aif-ai-summary{padding:18px 20px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,#f6f3ff,#fff)}.aif-ai-summary-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.aif-ai-summary-head .chat-bot-avatar{width:40px;height:40px}.aif-ai-summary-text{font-size:.88rem;max-height:260px;overflow-y:auto}.aif-subpanel{margin-top:10px;padding-top:10px;border-top:1px solid var(--app-line);display:flex;flex-direction:column;gap:4px}.aif-subrow{display:flex;align-items:center;gap:8px}.aif-subrow .link-btn{flex:1 1;text-align:left;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aif-subrow .icon-btn{width:30px;height:30px}.aif-tipbar{display:flex;align-items:center;gap:14px;margin-top:20px;padding:10px 20px;border-radius:14px;background:linear-gradient(90deg,#f3f0ff,#f7f5ff 60%,#f3f0ff);border:1px solid #ebe6ff}.aif-tipbar p{margin:0;color:#2f2c63;font-weight:500;font-size:.9rem}.aif-search-side .list-row:disabled{opacity:.5;cursor:default}@media (max-width:1280px){.aif-tg{grid-template-columns:280px minmax(0,1fr)}.aif-tg-side{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.aif-le-hero{grid-template-columns:auto minmax(0,1fr) auto}.aif-le-status{grid-column:1/-1;grid-row:2;border-left:0;padding-left:0;flex-direction:row;flex-wrap:wrap}.aif-insights{grid-template-columns:repeat(2,minmax(0,1fr))}.aif-search-layout{grid-template-columns:minmax(0,1fr) 300px}.aif-doubt-split{grid-template-columns:minmax(0,1fr) 320px}}@media (max-width:1100px){.aif-doubt-split,.aif-search-layout,.aif-tg,.aif-tg-side{grid-template-columns:minmax(0,1fr)}.aif-goal-strip{grid-template-columns:1fr 1fr}.aif-goal-rec{grid-column:1/-1;border-left:0;border-top:1px solid var(--app-line)}.aif-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.aif-goal-strip{grid-template-columns:minmax(0,1fr)}.aif-goal-cell+.aif-goal-cell{border-left:0;border-top:1px solid var(--app-line)}.aif-day{grid-template-columns:minmax(0,1fr);gap:4px}.aif-day-label{flex-direction:row;gap:8px;padding-top:0}.aif-day-tasks{border-left:0;padding-left:0}.aif-task{grid-template-columns:minmax(0,1fr) auto 22px 30px}.aif-task-subject{grid-column:1/-1}.aif-insights{grid-template-columns:minmax(0,1fr)}.aif-month-cell{min-height:56px;padding:5px}.aif-month-cell small{display:none}.aif-le-hero{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}.aif-le-status{grid-row:auto;flex-direction:column;text-align:left;justify-self:stretch}.aif-le-brain{width:80px;height:80px}.aif-topic-row{grid-template-columns:minmax(0,1fr) 70px 40px}.aif-topic-row .row-actions{grid-column:1/-1}.aif-path-item{grid-template-columns:28px minmax(0,1fr) auto}.aif-path-status{display:none}.aif-options,.aif-result{grid-template-columns:minmax(0,1fr)}.aif-thumb{min-height:80px}.aif-searchbox{flex-wrap:wrap;padding:8px 12px}.aif-searchbox input{flex-basis:calc(100% - 40px)}.aif-searchbox .btn{width:100%;justify-content:center}.aif-doubt-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.aif-weak{grid-template-columns:auto minmax(0,1fr) 44px}.aif-weak .aif-weak-bar{display:none}}