@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.block{display:block}.flex{display:flex}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}}:root{--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--purple:#0284c7;--indigo:#4f46e5;--green:#0d9488;--orange:#ea580c;--rose:#e11d48;--paper:#f8fafc;--shadow:0 14px 40px #0f172a12}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{border-right:1px solid var(--line);z-index:10;background:#fff;flex-direction:column;width:256px;padding:28px 18px 22px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;margin:0 8px 28px;display:flex}.brand>span{color:#fff;background:linear-gradient(135deg,#0284c7,#4f46e5);border-radius:14px;place-items:center;width:42px;height:42px;font-size:21px;display:grid;box-shadow:0 8px 20px #0284c74d}.brand div{flex-direction:column;display:flex}.brand b{letter-spacing:.12em;color:#0f172a;font-size:15px}.brand small{color:var(--muted);font-size:11px;font-weight:600}nav{gap:5px;display:grid}.sidebar nav button{text-align:left;color:#475569;background:0 0;border:0;border-radius:12px;align-items:center;gap:11px;padding:11px 13px;font-size:13px;font-weight:650;transition:all .15s;display:flex}.sidebar nav button:hover{color:#0f172a;background:#f1f5f9}.sidebar nav button i{text-align:center;width:22px;font-size:17px;font-style:normal}.sidebar nav button.active{color:#0369a1;background:#e0f2fe;font-weight:750}.side-note{background:linear-gradient(135deg,#f0f9ff,#eef2ff);border:1px solid #bae6fd;border-radius:14px;flex-direction:column;gap:5px;margin-top:auto;padding:14px;display:flex}.side-note b{color:#0369a1;font-size:12px}.side-note small{color:#334155;font-size:11px;line-height:1.45}.user{border-top:1px solid var(--line);align-items:center;gap:10px;margin:16px 4px 0;padding-top:14px;display:flex}.user>span{color:#fff;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;font-size:20px;display:grid}.user div{flex-direction:column;min-width:0;display:flex}.user b{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.user small{color:var(--muted);font-size:10.5px}main{min-height:100vh;margin-left:256px}header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);z-index:5;background:#ffffffe6;justify-content:space-between;align-items:center;height:72px;padding:0 4%;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:12px;display:flex}.school-badge{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:750;display:inline-flex}.header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.focus{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;align-items:center;gap:8px;padding:7px 13px;font-size:12px;font-weight:700;display:inline-flex}.focus.active-timer{color:#b45309;background:#fef3c7;border-color:#fde68a}.header-actions button,.mobile-logo,.cv-top-link{border:1px solid var(--line);color:#1e293b;background:#fff;border-radius:10px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.cv-top-link.highlight{color:#fff;background:linear-gradient(135deg,#0284c7,#4f46e5);border:0;box-shadow:0 6px 16px #0284c740}.mobile-logo{display:none}.content{width:min(1220px,92%);margin:0 auto;padding:38px 0 90px}.eyebrow{letter-spacing:.14em;color:var(--purple);text-transform:uppercase;font-size:10.5px;font-weight:800}h1,h2,h3,p{margin-top:0}.welcome,.page-title{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.welcome h1,.page-title h1{color:#0f172a;margin:6px 0 8px;font-family:Georgia,serif;font-size:32px;line-height:1.2}.welcome p,.page-title p{color:var(--muted);margin:0;font-size:13.5px;line-height:1.5}.welcome-actions{flex-wrap:wrap;gap:10px;display:flex}.primary,.secondary{border:0;border-radius:11px;align-items:center;gap:6px;padding:11px 16px;font-size:13px;font-weight:750;text-decoration:none;display:inline-flex}.primary{color:#fff;background:linear-gradient(135deg,#0284c7,#2563eb);box-shadow:0 8px 20px #0284c740}.primary:disabled{opacity:.4;cursor:not-allowed}.secondary{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1}.metric-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.metric-grid article,.panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:17px}.metric-grid article{align-items:center;gap:14px;padding:18px;display:flex}.metric-grid article div{flex-direction:column;gap:2px;display:flex}.metric-grid small{color:var(--muted);font-size:11px;font-weight:600}.metric-grid b{color:#0f172a;font-size:25px;line-height:1.15}.metric-grid em{color:var(--green);font-size:10.5px;font-style:normal;font-weight:600}.metric-icon{border-radius:13px;flex:none;place-items:center;width:44px;height:44px;font-size:18px;font-weight:800;display:grid}.metric-icon.purple{color:var(--purple);background:#e0f2fe}.metric-icon.green{color:var(--green);background:#ccfbf1}.metric-icon.orange{color:var(--orange);background:#ffedd5}.metric-icon.indigo{color:var(--indigo);background:#e0e7ff}.guardian-bar{color:#fff;background:linear-gradient(115deg,#0f172a,#1e3a8a);border-radius:17px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;padding:18px 22px;display:flex;box-shadow:0 12px 30px #0f172a24}.guardian-info{flex:1;align-items:center;gap:14px;min-width:260px;display:flex}.guardian-badge{background:#38bdf833;border:1px solid #38bdf866;border-radius:14px;flex:none;place-items:center;width:46px;height:46px;font-size:23px;display:grid}.guardian-info small{letter-spacing:.12em;color:#38bdf8;text-transform:uppercase;font-size:10px;font-weight:800}.guardian-info h3{margin:3px 0 4px;font-size:15px;font-weight:750}.guardian-info p{color:#cbd5e1;margin:0;font-size:12px;line-height:1.45}.guardian-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.timer-display{color:#38bdf8;background:#ffffff1f;border-radius:10px;padding:7px 13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px;font-weight:800}.guardian-btn{color:#fff;background:#ffffff1a;border:1px solid #ffffff38;border-radius:10px;padding:8px 12px;font-size:11.5px;font-weight:700}.guardian-btn.primary-glow{background:#0284c7;border-color:#38bdf8}.dashboard-grid{grid-template-columns:1.5fr 1fr;gap:20px;display:grid}.panel{padding:24px}.panel-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.panel h2{margin:5px 0 18px;font-family:Georgia,serif;font-size:20px}.time-pill{color:#0369a1;background:#e0f2fe;border-radius:99px;padding:6px 11px;font-size:11px;font-weight:700}.plan-item{border-top:1px solid var(--line);grid-template-columns:32px 1fr 32px;align-items:center;gap:13px;padding:14px 0;display:grid}.plan-item>span{color:#94a3b8;font-family:Georgia,serif;font-size:18px}.plan-item div{flex-direction:column;display:flex}.plan-item small{color:var(--purple);text-transform:uppercase;font-size:9.5px;font-weight:800}.plan-item b{margin:3px 0;font-size:13.5px}.plan-item p{color:var(--muted);margin:0;font-size:11.5px}.plan-item button{color:var(--purple);background:#e0f2fe;border:0;border-radius:50%;width:30px;height:30px;font-weight:800}.text-btn,.course-top button,.deadline-item>div:last-child button{color:var(--purple);background:0 0;border:0;font-size:11.5px;font-weight:700}.deadline-row{border-top:1px solid var(--line);grid-template-columns:22px 1fr auto;align-items:center;gap:10px;padding:14px 0;display:grid}.deadline-row input{accent-color:var(--purple)}.deadline-row span{flex-direction:column;display:flex}.deadline-row b{font-size:12.5px}.deadline-row small{color:var(--muted);margin-top:3px;font-size:10.5px}.deadline-row time{color:#c2410c;background:#ffedd5;border-radius:7px;padding:5px 8px;font-size:10.5px;font-weight:800}.insight{color:#fff;background:linear-gradient(110deg,#0c4a6e,#312e81);border-radius:17px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-top:20px;padding:22px 26px;display:flex}.insight-main{flex:1;align-items:center;gap:16px;min-width:260px;display:flex}.insight-main>span{border-radius:16px;place-items:center;min-width:52px;height:52px;font-size:26px;display:grid}.insight small{color:#7dd3fc;letter-spacing:.14em;font-size:9.5px;font-weight:800}.insight h3{margin:5px 0;font-family:Georgia,serif;font-size:18px}.insight p{color:#e0f2fe;margin:0;font-size:12px;line-height:1.5}.course-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.course-card{border:1px solid var(--line);border-top:4px solid var(--course);box-shadow:var(--shadow);background:#fff;border-radius:17px;padding:24px}.course-top{justify-content:space-between;align-items:center;display:flex}.course-top>span{color:var(--course);background:var(--course);font-size:10px;font-weight:850}@supports (color:color-mix(in lab, red, red)){.course-top>span{background:color-mix(in srgb,var(--course) 12%,white)}}.course-top>span{border-radius:7px;padding:6px 10px}.danger{color:#e11d48!important}.course-card h2{margin:16px 0 7px;font-family:Georgia,serif;font-size:20px}.course-card>p{color:var(--muted);min-height:36px;font-size:12.5px;line-height:1.45}.progress{background:#f1f5f9;border-radius:9px;height:6px;margin:16px 0 8px;overflow:hidden}.progress i{background:var(--course);border-radius:9px;height:100%;display:block}.course-card>small{color:var(--muted);font-size:11px;font-weight:600}.topic-list{border-top:1px solid var(--line);margin-top:14px}.topic-list button{border:0;border-bottom:1px solid var(--line);text-align:left;background:#fff;justify-content:space-between;align-items:center;width:100%;padding:11px 4px;display:flex}.topic-list button span{color:#1e293b;flex-direction:column;font-size:12.5px;font-weight:700;display:flex}.topic-list button small{color:var(--muted);margin-top:2px;font-size:10px;font-weight:500}.topic-list button b{color:var(--course);font-size:12.5px}.topic-list .add-topic{color:var(--purple);border-bottom:0;justify-content:center;font-weight:750}.deadline-table{padding:8px 24px}.deadline-item{border-bottom:1px solid var(--line);grid-template-columns:35px minmax(200px,1fr) 78px 95px 90px;align-items:center;gap:14px;padding:16px 0;display:grid}.deadline-item:last-child{border:0}.deadline-item.done{opacity:.55}.deadline-item.done b{text-decoration:line-through}.round-check{width:25px;height:25px;color:var(--green);background:#fff;border:2px solid #cbd5e1;border-radius:50%;font-weight:800}.deadline-item>div:nth-child(2){flex-direction:column;display:flex}.deadline-item b{font-size:13.5px}.deadline-item small{color:var(--muted);align-items:center;gap:6px;margin-top:4px;font-size:11px;display:flex}.deadline-item small i{border-radius:50%;width:8px;height:8px;display:inline-block}.deadline-item time{color:var(--muted);font-size:11.5px;font-weight:600}.priority{text-align:center;border-radius:8px;padding:5px 8px;font-size:10px;font-weight:800}.priority.cao{color:#be123c;background:#ffe4e6}.priority.vừa{color:#c2410c;background:#ffedd5}.priority.thấp{color:#0f766e;background:#ccfbf1}.subtabs{flex-wrap:wrap;gap:10px;margin-bottom:22px;display:flex}.subtab-btn{border:1px solid var(--line);color:#475569;background:#fff;border-radius:12px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:750;display:inline-flex}.subtab-btn.active{color:#fff;background:#0284c7;border-color:#0284c7;box-shadow:0 6px 16px #0284c738}.uni-grid{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px;display:grid}.uni-card{border:1px solid var(--line);border-top:3px solid var(--uni-color,#0284c7);box-shadow:var(--shadow);background:#fff;border-radius:14px;padding:14px}.uni-card small{color:var(--uni-color,#0284c7);text-transform:uppercase;letter-spacing:.08em;font-size:9.5px;font-weight:800}.uni-card h3{color:#0f172a;margin:4px 0;font-size:14.5px;font-weight:800}.uni-card p{color:var(--muted);margin:0;font-size:11px;line-height:1.4}.major-pills{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.major-pill{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;border-radius:99px;padding:7px 12px;font-size:11.5px;font-weight:750}.cv-sheet{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:38px 42px}.cv-header{border-bottom:2px solid #0f172a;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;padding-bottom:22px;display:flex}.cv-header h2{letter-spacing:.02em;color:#0f172a;margin:0 0 6px;font-family:Georgia,serif;font-size:30px}.cv-subtitle{color:#0284c7;margin-bottom:8px;font-size:13.5px;font-weight:750}.cv-meta{color:#475569;font-size:12px;line-height:1.6}.cv-qr-box{border:1px solid var(--line);text-align:right;color:#334155;background:#f8fafc;border-radius:12px;padding:12px 16px;font-size:11px}.cv-qr-box b{color:#0284c7;margin-bottom:3px;font-size:12px;display:block}.cv-section{margin-bottom:24px}.cv-section-title{letter-spacing:.12em;text-transform:uppercase;color:#0f172a;border-bottom:1px solid #cbd5e1;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:6px;font-size:12px;font-weight:850;display:flex}.cv-section-title span{color:#0284c7;font-size:10.5px}.cv-entry{margin-bottom:14px}.cv-entry-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.cv-entry-head b{color:#0f172a;font-size:14px}.cv-entry-head em{color:#0284c7;font-size:11.5px;font-style:normal;font-weight:700}.cv-entry-sub{color:#475569;margin:2px 0 5px;font-size:12px;font-weight:600}.cv-entry ul{color:#334155;margin:4px 0 0;padding-left:18px;font-size:12.5px;line-height:1.55}.cv-entry li{margin-bottom:4px}.cv-skill-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.cv-skill-box{border:1px solid var(--line);background:#f8fafc;border-radius:12px;padding:12px 14px}.cv-skill-box b{color:#0f172a;margin-bottom:4px;font-size:12px;display:block}.cv-skill-box p{color:#475569;margin:0;font-size:11.5px;line-height:1.45}.ctc-category{margin-bottom:20px}.ctc-row{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:14px 0;display:grid}.ctc-row:last-child{border-bottom:0}.ctc-status-btn{text-align:center;border:0;border-radius:9px;min-width:130px;padding:6px 11px;font-size:11px;font-weight:800}.ctc-status-btn.completed{color:#0f766e;background:#ccfbf1}.ctc-status-btn.in_progress{color:#0369a1;background:#e0f2fe}.ctc-status-btn.missing{color:#be123c;background:#ffe4e6}.ctc-grade{color:#475569;white-space:nowrap;background:#f1f5f9;border-radius:7px;padding:5px 9px;font-size:11px;font-weight:700}.settings-grid{grid-template-columns:.85fr 1.15fr;align-items:start;gap:20px;display:grid}.companion-preview{text-align:center;grid-row:span 2}.companion-preview>span{color:#fff;border-radius:28px;place-items:center;width:90px;height:90px;margin:12px auto 18px;font-size:42px;display:grid}.companion-preview p{color:var(--muted);font-family:Georgia,serif}.companion-preview div{border-top:1px solid var(--line);text-align:right;justify-content:space-between;gap:12px;padding:14px 0;font-size:11.5px;display:flex}.companion-preview small{color:var(--muted);text-align:left}.settings label,.modal label{color:#334155;gap:7px;margin:14px 0;font-size:11.5px;font-weight:750;display:grid}.settings input,.settings select,.modal input,.modal select,.modal textarea,.form-card input,.form-card select{width:100%;color:var(--ink);background:#fff;border:1px solid #cbd5e1;border-radius:10px;outline:none;padding:11px 12px}.settings input:focus,.modal input:focus,.form-card input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #0284c726}.privacy{grid-column:2}.privacy p{color:var(--muted);font-size:12.5px;line-height:1.6}.danger-button{color:#be123c;background:#fff;border:1px solid #fecdd3;border-radius:10px;margin-left:8px;padding:11px 15px;font-weight:700}.empty{text-align:center;color:#94a3b8;grid-column:1/-1;padding:35px 10px}.empty p{color:var(--muted);font-size:12.5px}.fab,.bottom-nav{display:none}.modal-backdrop{z-index:40;background:#0f172a8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:19px;width:min(480px,100%);padding:24px;box-shadow:0 30px 80px #0f172a59}.modal-head{justify-content:space-between;align-items:center;display:flex}.modal-head h2{margin:0;font-family:Georgia,serif}.modal-head button{background:#f1f5f9;border:0;border-radius:50%;width:32px;height:32px;font-size:18px}.modal textarea{resize:vertical;min-height:90px}.modal form>.primary{justify-content:center;width:100%;margin-top:10px}.splash{text-align:center;height:100vh;color:var(--muted);place-content:center;display:grid}.splash span{color:var(--purple);font-size:42px}.learning-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.learn-select{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;font-weight:700;display:flex}.learn-select select,.learn-card input,.learn-card select,.learn-card textarea{color:var(--ink);background:#fff;border:1px solid #cbd5e1;border-radius:10px;width:100%;padding:11px}.learn-select select{width:auto;min-width:280px}.learn-card{flex-direction:column;gap:10px;display:flex}.learn-card h2{margin-bottom:2px}.learn-card>p,.learn-card>small{color:var(--muted);font-size:12.5px}.learn-card textarea{resize:vertical;min-height:100px}.learn-card label{gap:5px;font-size:11.5px;font-weight:700;display:grid}.learn-card button{align-self:flex-start}.tutor-answer{background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;padding:14px;font-size:12.5px}.tutor-answer blockquote{color:#334155;border-left:3px solid var(--purple);margin:8px 0;padding-left:10px}.hint{color:#92400e;background:#fef3c7;border-radius:9px;padding:10px 12px;font-size:12.5px}.evidence{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;font-size:11.5px;display:flex}.evidence span{color:var(--muted)}.error-note{color:#be123c;background:#ffe4e6;border-radius:10px;padding:10px 14px;font-size:12.5px;font-weight:600}.assessment{border:2px solid #bae6fd}.companion-chat{z-index:35;position:fixed;bottom:24px;right:24px}.companion-avatar-button{color:#fff;border:4px solid #fff;border-radius:21px;place-items:center;width:62px;height:62px;font-size:27px;display:grid;position:absolute;bottom:0;right:0;box-shadow:0 15px 40px #0f172a59}.companion-avatar-button i{color:#10b981;background:#fff;border-radius:50%;padding:2px;font-size:11px;font-style:normal;position:absolute;top:-2px;right:-2px}.chat-window{border:1px solid var(--line);background:#fff;border-radius:22px;flex-direction:column;width:min(390px,100vw - 30px);height:540px;max-height:calc(100vh - 120px);display:flex;position:absolute;bottom:76px;right:0;overflow:hidden;box-shadow:0 28px 80px #0f172a47}.chat-window>header{color:#fff;background:linear-gradient(125deg,#0c4a6e,#1e3a8a);justify-content:flex-start;gap:11px;height:auto;padding:16px;position:static}.chat-window>header button{color:#fff;background:#ffffff26;border:0;border-radius:50%;width:29px;height:29px}.chat-context{color:#0369a1;background:#f0f9ff;justify-content:space-between;align-items:center;padding:9px 15px;font-size:10.5px;display:flex}.chat-context button{color:#0369a1;background:#e0f2fe;border:0;border-radius:99px;padding:4px 9px;font-size:10px;font-weight:700}.chat-messages{flex-direction:column;flex:1;gap:10px;padding:15px;display:flex;overflow:auto}.chat-messages p{border-radius:14px;max-width:85%;margin:0;padding:11px 13px;font-size:12.5px;line-height:1.5}.message-row{align-items:flex-end;gap:8px;display:flex}.message-row.learner{justify-content:flex-end}.message-row.companion p{color:#0f172a;background:#f0f9ff;border-bottom-left-radius:4px}.message-row.learner p{background:var(--purple);color:#fff;border-bottom-right-radius:4px}.chat-suggestions{gap:6px;padding:0 14px 9px;display:flex;overflow:auto}.chat-suggestions button{white-space:nowrap;color:#0369a1;background:#fff;border:1px solid #bae6fd;border-radius:99px;padding:6px 10px;font-size:10px;font-weight:700}.chat-window form{border-top:1px solid var(--line);grid-template-columns:40px 1fr 40px;gap:7px;padding:11px 13px;display:grid}.chat-window form input{border:1px solid #cbd5e1;border-radius:11px;outline:none;min-width:0;padding:10px;font-size:12.5px}.chat-window form button{background:var(--purple);color:#fff;border:0;border-radius:11px;font-size:16px}.chat-window form .mic{color:#334155;background:#f1f5f9}.chat-window form .mic.active{color:#fff;background:#e11d48}.chat-settings{color:#475569;background:#f8fafc;border:0;padding:9px;font-size:10.5px;font-weight:600}.human-chat{width:min(410px,100vw - 30px);height:610px}.human-chat>header{align-items:center;min-height:148px;padding:14px 16px;overflow:hidden}.character-intro{flex-direction:column;flex:1;align-self:center;display:flex}.character-intro b{font-size:17px}.character-intro small{color:#bae6fd;margin-top:3px;font-size:11px}.presence{color:#e0f2fe;margin-top:6px;font-size:10px}.presence i{background:#34d399;border-radius:50%;width:6px;height:6px;display:inline-block;box-shadow:0 0 0 4px #34d39933}.character-face{--skin:#ffd7b8;filter:drop-shadow(0 9px 12px #0f172a47);flex:none;position:relative}.character-face.large{width:104px;height:126px;margin:-2px 5px -18px -5px}.character-face.small{width:38px;height:44px}.character-head{z-index:2;background:var(--skin);border:2px solid #1e293b;border-radius:48% 48% 44% 44%;width:68%;height:55%;position:absolute;top:14%;left:16%}.character-hair{z-index:4;background:#0284c7;border-radius:52% 52% 28% 28%;width:70%;height:30%;position:absolute;top:8%;left:15%}.character-hair i{background:#0284c7;border-radius:50%;width:35%;height:55%;position:absolute;bottom:-22%}.character-hair i:first-child{left:-3%;transform:rotate(19deg)}.character-hair i:nth-child(2){bottom:-8%;left:33%}.character-hair i:nth-child(3){right:-3%;transform:rotate(-20deg)}.ear{background:var(--skin);border:2px solid #1e293b;border-radius:50%;width:15%;height:24%;position:absolute;top:42%}.ear.left{left:-10%}.ear.right{right:-10%}.eyes,.brows,.cheeks{justify-content:space-between;display:flex;position:absolute;left:18%;right:18%}.eyes{top:46%}.eyes i{background:#0f172a;border-radius:50%;width:10px;height:13px;box-shadow:inset 2px 2px #fff}.brows{top:34%}.brows i{background:#1e293b;border-radius:5px;width:13px;height:3px}.cheeks{top:66%;left:11%;right:11%}.cheeks i{background:#f43f5e59;border-radius:50%;width:12px;height:5px}.mouth{border-bottom:3px solid #be123c;border-radius:0 0 50% 50%;width:14%;height:8%;position:absolute;top:69%;left:43%}.character-body{z-index:1;background:var(--character);color:#fff;text-align:center;border:2px solid #1e293b;border-radius:45% 45% 8px 8px;width:60%;height:39%;padding-top:16%;position:absolute;bottom:0;left:20%}.character-face.small .character-head,.character-face.small .character-body,.character-face.small .mouth{border-width:1px}.character-face.small .eyes i{width:4px;height:5px}.character-face.small .brows,.character-face.small .cheeks{display:none}.character-launcher{padding:0;overflow:visible}.character-launcher>.character-face{transform-origin:bottom;transform:scale(1.18)}@media (max-width:980px){.uni-grid,.metric-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:850px){.sidebar{display:none}main{margin-left:0}header{justify-content:space-between;height:62px}.school-badge{display:none}.mobile-logo{color:var(--purple);font-weight:850;display:inline-flex}.content{width:92%;padding:26px 0 110px}.bottom-nav{border-top:1px solid var(--line);z-index:20;padding:7px 4px max(7px,env(safe-area-inset-bottom));background:#fff;grid-template-columns:repeat(6,1fr);display:grid;position:fixed;inset:auto 0 0}.bottom-nav button{color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;font-size:10px;display:flex}.bottom-nav button.active{color:var(--purple);font-weight:750}.bottom-nav i{font-size:16px;font-style:normal}.dashboard-grid,.course-grid,.settings-grid,.learning-grid,.cv-skill-grid{grid-template-columns:1fr}.privacy{grid-column:auto}.companion-preview{grid-row:auto}.deadline-item{grid-template-columns:32px 1fr auto}.deadline-item .priority{display:none}.ctc-row{grid-template-columns:1fr;gap:8px}.cv-sheet{padding:22px 18px}.companion-chat{bottom:74px;right:14px}}@media print{.sidebar,header,.bottom-nav,.companion-chat,.subtabs,.welcome-actions,.no-print{display:none!important}main{margin-left:0!important}.content{width:100%!important;padding:0!important}.cv-sheet{box-shadow:none!important;border:0!important;padding:0!important}body{background:#fff!important}}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}
