/* SkillOS Premium — responsive, local-first design system. */
:root{color-scheme:light;--bg:#f8faff;--bg2:#f1f5ff;--surface:#fff;--surface2:#f5f8ff;--text:#172033;--muted:#718097;--muted2:#9aa7bb;--line:#e6ebf5;--line2:#edf1f9;--primary:#2563eb;--blue:#3b82f6;--violet:#8b5cf6;--cyan:#22d3ee;--good:#16a66c;--warn:#de911e;--shadow:0 12px 45px rgba(32,65,126,.045);--shadow2:0 20px 60px rgba(40,82,150,.11);--radius:18px;--side:rgba(255,255,255,.93);--card:#fff;--card2:#f5f8ff;--focus:0 0 0 4px rgba(59,130,246,.14);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-synthesis:none}
:root[data-theme=dark]{color-scheme:dark;--bg:#0d1424;--bg2:#152238;--surface:#182437;--surface2:#1c2a40;--text:#f3f7ff;--muted:#9cabc3;--muted2:#7d90ac;--line:#293951;--line2:#253449;--primary:#4988fa;--blue:#60a5fa;--violet:#a88cfb;--cyan:#4cd7f6;--good:#50d6a1;--warn:#f1b451;--shadow:0 12px 42px rgba(0,0,0,.14);--shadow2:0 20px 60px rgba(0,0,0,.23);--side:rgba(20,31,49,.97);--card:#182437;--card2:#1c2a40}
*,*::before,*::after{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:3px}a{color:var(--primary)}svg{display:block}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em}h1{font-size:30px;line-height:1.15;font-weight:760;margin-bottom:10px}h2{font-size:21px;font-weight:740;margin-bottom:15px}h3{font-size:16px;font-weight:700;margin-bottom:10px}p{color:var(--muted);line-height:1.6;font-size:13px;margin-bottom:10px}strong{font-weight:700}.ambient-bg{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.ambient-bg i{position:absolute;width:550px;height:550px;border-radius:50%;filter:blur(125px);opacity:.27}.ambient-bg i:nth-child(1){background:#d7e4ff;top:-210px;left:29%}.ambient-bg i:nth-child(2){background:#e6d9ff;top:13%;right:-270px}.ambient-bg i:nth-child(3){background:#d1faff;bottom:-380px;left:24%}:root[data-theme=dark] .ambient-bg i{opacity:.06}
.app{min-height:100vh;display:flex;max-width:100vw}.sidebar{position:sticky;top:0;z-index:11;width:268px;flex:0 0 268px;height:100vh;display:flex;flex-direction:column;padding:21px 13px 16px;background:var(--side);border-right:1px solid var(--line);backdrop-filter:blur(25px);transition:width .26s cubic-bezier(.2,.85,.2,1),flex-basis .26s cubic-bezier(.2,.85,.2,1),transform .26s}.sidebar-header{display:flex;align-items:flex-start;gap:5px;margin-bottom:31px}.brand{display:flex;align-items:center;min-width:0;flex:1;gap:11px;text-align:left;border:0;background:none;padding:7px 8px;color:var(--text)}.brandmark{width:42px;height:42px;border-radius:15px;flex:0 0 42px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#2c84f5,#2653d8 68%,#704ce5);box-shadow:0 7px 19px #2468e33c}.brandmark svg{width:31px;height:31px}.brand-type{overflow:hidden;white-space:nowrap}.brand strong{display:block;font-size:23px;font-weight:800;letter-spacing:-1.1px;line-height:1.05}.brand-period{color:var(--blue)}.brand small{display:block;font-size:8px;letter-spacing:1.2px;color:var(--muted2);font-weight:750;margin-top:7px}.iconbutton{position:relative;background:var(--card);border:1px solid var(--line);border-radius:12px;color:var(--muted);height:39px;min-width:39px;padding:0 11px;display:grid;place-items:center;font-size:20px;transition:background .2s,color .2s,transform .2s,box-shadow .2s;box-shadow:0 2px 5px rgba(44,70,120,.025)}.iconbutton:hover{background:var(--card2);color:var(--primary);transform:translateY(-1px)}.collapsebtn{border:0;box-shadow:none;background:transparent;min-width:27px;width:27px;height:31px;margin-top:11px;font-size:20px;color:var(--muted2)}.sidebar-scroll{overflow-y:auto;overflow-x:hidden;min-height:0;flex:1;scrollbar-width:thin}.nav-group{margin-bottom:24px}.nav-caption{font-size:10px;letter-spacing:1.75px;font-weight:800;color:var(--muted2);padding:0 18px;white-space:nowrap;margin:0 0 9px}.sidebar nav{display:flex;flex-direction:column;gap:0}.nav-link{position:relative;width:100%;min-height:45px;display:flex;align-items:center;gap:13px;padding:10px 15px;border:1px solid transparent;background:none;border-radius:12px;color:#75839a;text-align:left;margin:2px 0;font-size:12.5px;font-weight:630;transition:background .2s,color .2s,transform .2s;white-space:nowrap}.nav-link:hover{background:var(--surface2);color:var(--text);transform:translateX(2px)}.nav-link.active{background:linear-gradient(100deg,rgba(59,130,246,.105),rgba(139,92,246,.045));color:var(--primary);border-color:rgba(59,130,246,.10);font-weight:750}.nav-link.active::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 5px 5px 0;background:linear-gradient(var(--blue),var(--violet))}.nav-ico{flex:0 0 22px;width:22px;height:22px;display:grid;place-items:center}.nav-ico svg{width:19px;height:19px}.nav-label{flex:1;overflow:hidden;text-overflow:ellipsis}.nav-count{font-size:10px;color:var(--muted2);background:var(--surface2);padding:3px 7px;border-radius:7px}.sidefoot{display:flex;align-items:center;gap:10px;min-height:74px;padding:14px 8px 4px;border-top:1px solid var(--line)}.user-avatar,.top-avatar{border-radius:12px;background:linear-gradient(145deg,#dfedff,#eee6ff);color:#5465bb;display:grid;place-items:center;font-weight:800}.user-avatar{width:39px;height:39px;flex-shrink:0;font-size:15px;border:1px solid #dce6fe}.sidefoot-copy{flex:1;min-width:0}.sidefoot-copy strong{display:block;font-size:12px}.sidefoot-copy small{display:flex;align-items:center;gap:6px;font-size:10px;margin-top:5px;color:var(--muted)}.statusdot,.live-dot{width:7px;height:7px;border-radius:50%;background:var(--good);display:inline-block;box-shadow:0 0 0 3px #15b47719}.side-settings{border:0;background:none;color:var(--muted2);font-size:19px}.side-settings:hover{color:var(--primary)}
.app.nav-collapsed .sidebar{width:86px;flex-basis:86px;padding-left:11px;padding-right:11px}.app.nav-collapsed .brand{padding-left:9px}.app.nav-collapsed .brand-type,.app.nav-collapsed .nav-label,.app.nav-collapsed .nav-caption,.app.nav-collapsed .nav-count,.app.nav-collapsed .sidefoot-copy,.app.nav-collapsed .side-settings{display:none}.app.nav-collapsed .sidebar-header{display:block;position:relative;margin-bottom:36px}.app.nav-collapsed .collapsebtn{position:absolute;top:52px;left:14px;transform:rotate(180deg)}.app.nav-collapsed .nav-link{justify-content:center;padding:12px 0}.app.nav-collapsed .nav-group{padding:9px 0;border-top:1px solid var(--line)}.app.nav-collapsed .sidefoot{justify-content:center}.app.nav-collapsed .brandmark{flex-basis:42px}
.bodycol{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:77px;min-height:77px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,2.7vw,46px);gap:18px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.61);backdrop-filter:blur(16px);position:sticky;top:0;z-index:9}:root[data-theme=dark] .topbar{background:rgba(17,29,47,.83)}.top-left,.topactions{display:flex;align-items:center;gap:11px}.crumb{font-size:12px;color:var(--muted);display:flex;gap:12px;align-items:center;white-space:nowrap}.crumb strong{color:var(--text);font-weight:700}.crumb-sep{color:#c4cedf}.searchTrigger{display:flex;gap:10px;align-items:center;min-width:245px;justify-content:flex-start;padding:0 13px;height:39px;background:var(--card);border:1px solid var(--line);border-radius:11px;color:var(--muted2);font-size:12px;text-align:left;box-shadow:0 2px 9px #466aaa06;transition:border-color .2s,box-shadow .2s}.searchTrigger:hover{border-color:#bdd5fb;box-shadow:0 4px 19px #3476d912}.searchTrigger kbd{background:var(--card2);border:1px solid var(--line2);border-radius:6px;padding:3px 6px;font-size:10px;margin-left:auto;color:var(--muted)}.search-symbol{font-size:25px;line-height:1;color:var(--muted);transform:translateY(-2px)}.top-divider{height:24px;width:1px;background:var(--line);margin:0 3px}.top-avatar{width:37px;height:37px;font-size:14px;border:1px solid #d9e4f9;margin-left:3px}.notification-indicator{position:absolute;top:9px;right:9px;width:5px;height:5px;border-radius:50%;background:#5e88f9}.mobile{display:none}main{width:100%;max-width:1750px;margin:0 auto;padding:clamp(23px,2.8vw,43px) clamp(20px,2.7vw,46px) 56px;flex:1;outline:0;animation:page-enter .32s ease both}.app-footer{padding:18px clamp(20px,2.7vw,46px);display:flex;justify-content:space-between;gap:15px;color:var(--muted2);border-top:1px solid var(--line2);font-size:10px}
.eyebrow{display:flex;align-items:center;gap:9px;color:var(--primary);font-size:10px;letter-spacing:2px;font-weight:830;margin-bottom:10px;text-transform:uppercase}.eyebrow-dot{width:7px;height:7px;background:var(--primary);border-radius:50%}.welcome-header{margin-bottom:25px}.welcome-header h1{font-size:30px;margin-bottom:8px}.welcome-header p{font-size:13px;margin:0}.heading-dot{color:var(--blue)}.live-badge{display:inline-flex;align-items:center;gap:8px;color:#64758a;background:var(--card);font-weight:650;border:1px solid var(--line);padding:9px 12px;border-radius:30px;white-space:nowrap;font-size:11px}.space{display:flex;align-items:center;justify-content:space-between;gap:14px}.inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pagehead{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:25px;flex-wrap:wrap}.pagehead h1{font-size:34px;margin-bottom:8px}.pagehead p{max-width:700px}.pagehead .eyebrow{margin-bottom:11px}.tag,.soft-tag{display:inline-flex;align-items:center;padding:6px 10px;border-radius:8px;font-size:10px;font-weight:680;color:var(--muted);background:var(--surface2);border:1px solid var(--line);white-space:nowrap}.soft-tag{border:0;background:#eff5ff;color:#5c77b0}
/* Hero and 3D */
.hero{position:relative;min-height:358px;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(370px,.97fr);align-items:center;gap:4px;overflow:hidden;isolation:isolate;border:1px solid #dfebff;background:radial-gradient(circle at 86% 28%,rgba(222,213,255,.50),transparent 48%),radial-gradient(circle at 69% 73%,rgba(212,240,255,.60),transparent 52%),linear-gradient(110deg,#fff 3%,#f5f9ff 58%,#f0f5ff 100%);border-radius:27px;padding:36px clamp(24px,3vw,47px);box-shadow:0 20px 70px #3967a808,0 3px 10px #345fb605;margin-bottom:23px}.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(#7da7e92b .7px,transparent .7px);background-size:20px 20px;mask-image:linear-gradient(90deg,transparent 35%,#000);z-index:-1}.hero-copy{z-index:2;min-width:0}.hero-badge{display:inline-flex;align-items:center;gap:9px;color:#5d7da5;background:rgba(255,255,255,.83);border:1px solid #dfeaf9;padding:7px 10px;border-radius:99px;font-size:9px;letter-spacing:1px;font-weight:800;margin-bottom:19px}.hero-badge-icon{color:#7a7ef0;font-size:12px}.hero-badge-line{width:18px;height:1px;background:#c6d4ea}.hero-copy h2{font-size:clamp(37px,3.3vw,54px);line-height:1.115;letter-spacing:-.065em;font-weight:820;margin:0 0 17px;color:#1a2b48}.hero-copy h2 span{background:linear-gradient(100deg,#2364de 2%,#5571e9 53%,#916aee);background-clip:text;-webkit-background-clip:text;color:transparent}.hero-copy p{max-width:430px;color:#7183a0;font-size:13.5px;line-height:1.8;margin-bottom:23px}.hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hero-primary{padding:0 17px!important;min-height:43px!important;box-shadow:0 10px 18px #3b73dc31}.hero-primary span{font-size:17px;margin-left:10px}.hero-secondary{background:rgba(255,255,255,.74)!important;border-color:#dfe7f6!important;color:#405e91!important;min-height:43px!important}.hero-secondary span{margin-left:8px;font-size:16px}.hero-status{display:flex;align-items:center;gap:10px;font-size:10px;color:#8595aa;margin-top:25px;white-space:normal}.hero-status strong{color:#4e678e;font-weight:730}.pulse-mini{width:7px;height:7px;border-radius:50%;background:#3dbf8f;box-shadow:0 0 0 4px #3dbf8f24}.hero-status-divider{font-size:17px;color:#a5b1c5}.hero-visual{min-width:0;height:316px;position:relative;display:flex;align-items:center;justify-content:center}.scene-grid{position:absolute;width:390px;height:250px;left:50%;top:58%;transform:translate(-50%,-40%) rotateX(70deg);border-radius:50%;background:repeating-radial-gradient(ellipse at center,transparent 0 32px,#8caaf628 33px 34px),repeating-linear-gradient(0deg,transparent 0 23px,#9dbefa19 24px 25px),repeating-linear-gradient(90deg,transparent 0 23px,#9dbefa19 24px 25px);mask-image:radial-gradient(ellipse,#000,transparent 68%);pointer-events:none}.scene-halo{position:absolute;inset:0;background:radial-gradient(ellipse 180px 120px at 53% 62%,#a7c5ff53,transparent);filter:blur(9px);pointer-events:none}.orbit{position:relative;width:min(460px,100%);height:305px;isolation:isolate}.core-canvas{position:absolute;width:100%;height:100%;left:0;top:0;touch-action:none;cursor:grab;z-index:2;filter:drop-shadow(0 18px 17px #709df13d)}.core-canvas:active{cursor:grabbing}.orb-fallback{position:absolute;left:50%;top:51%;width:181px;height:181px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 30% 24%,#f9fcff,#5bd5fd 16%,#3b7bff 39%,#3754c3 67%,#b58cf6 98%);box-shadow:inset -22px -16px 30px #27318b77,inset 10px 10px 27px #ffffffad,0 0 70px #589efb63;display:grid;place-items:center;color:#eff9ff;font-size:66px;opacity:0;z-index:1}.orb-fallback::after{content:"";position:absolute;inset:-16px;border:1px solid #6c98ff72;border-radius:50%;transform:rotateX(58deg) rotate(-15deg)}.orbit.fallback-mode .orb-fallback{opacity:1}.orbit.fallback-mode .core-canvas{display:none}.orbit-sheen{position:absolute;left:50%;top:52%;width:230px;height:85px;transform:translate(-50%,-50%) rotate(-18deg);border:1px solid #829bef5b;border-radius:50%;z-index:0;box-shadow:0 0 26px #7b9fff1c;pointer-events:none}.orb-node{position:absolute;z-index:4;display:flex;align-items:center;gap:8px;padding:8px 11px 8px 8px;min-height:38px;white-space:nowrap;background:#fffffff2;border:1px solid #e4e9f8;border-radius:12px;color:#4b648b;box-shadow:0 6px 23px #5d76a61d;font-weight:740;font-size:11px;transition:transform .2s,box-shadow .2s,border-color .2s;animation:node-float 6s ease-in-out infinite}.orb-node:hover{transform:translateY(-5px) scale(1.04);box-shadow:0 12px 32px #526eb12a;border-color:#b7cdff}.orb-node-icon{width:26px;height:26px;display:grid;place-items:center;color:#447bf3;background:#eaf1ff;border-radius:8px}.orb-node-icon svg{width:16px;height:16px}.node-one{left:5%;top:12%}.node-two{right:-1%;top:20%;animation-delay:-1.6s}.node-three{left:0%;bottom:19%;animation-delay:-3.2s}.node-four{right:1%;bottom:13%;animation-delay:-.7s}.scene-caption{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);color:#9aabcc;font-size:9px;letter-spacing:1.4px;white-space:nowrap;font-weight:700}.scene-caption span{color:#bdc9e0;margin:0 5px}.scene-toggle{position:absolute;top:0;right:0;z-index:6;border:1px solid #dbe6fb;border-radius:8px;background:#ffffffc4;color:#58729b;padding:6px 10px;font-size:10px;font-weight:700}.scene-toggle:hover{background:#fff;color:#285fe2}
/* Cards */
.card{min-width:0;border:1px solid var(--line);background:var(--card);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);transition:border-color .22s,box-shadow .25s,transform .25s}.card:hover{border-color:#d5e2f7}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dashboard-stats .stat-card{padding:19px 21px;min-height:165px;position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow2)}.stat-top{display:flex;justify-content:space-between;align-items:flex-start}.stat-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#3477e5;background:#eaf3ff;font-size:22px}.stat-icon svg{width:20px;height:20px}.stat-star{color:#a57ef5;background:#f2edff}.stat-graduation{color:#0ca5aa;background:#e8fbff}.stat-check{color:#19a978;background:#e8f9f2}.stat-index{font-size:10px;color:#bdc7d8;letter-spacing:1px}.metric{color:var(--text);font-size:30px;font-weight:790;letter-spacing:-1.35px;margin:13px 0 3px;font-variant-numeric:tabular-nums}.stat-card strong{font-size:11px;font-weight:730;color:var(--text)}.stat-foot{font-size:10px;color:var(--muted2);margin-top:8px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:35px 0 16px}.section-heading .eyebrow{font-size:9px;margin-bottom:8px}.section-heading h2{font-size:21px;margin:0;letter-spacing:-.8px}.section-hint{color:var(--muted2);font-size:11px}.workspace-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.workspace-card{text-align:left;min-height:205px;display:flex;flex-direction:column;align-items:stretch;position:relative;overflow:hidden;isolation:isolate}.workspace-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 93% 0,rgba(83,141,255,.09),transparent 55%);z-index:-1}.workspace-learn::before{background:radial-gradient(circle at 93% 0,rgba(110,88,230,.09),transparent 55%)}.workspace-fin::before{background:radial-gradient(circle at 93% 0,rgba(16,187,194,.1),transparent 55%)}.workspace-smart::before{background:radial-gradient(circle at 93% 0,rgba(42,178,124,.09),transparent 55%)}.workspace-card:hover{transform:translateY(-5px);box-shadow:var(--shadow2)}.workspace-card-top{display:flex;align-items:center;justify-content:space-between}.workspace-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;color:#3678e9;background:#eaf2ff}.workspace-icon svg{width:21px;height:21px}.workspace-learn .workspace-icon{color:#8065e2;background:#f0ecff}.workspace-fin .workspace-icon{color:#079fab;background:#e7faff}.workspace-smart .workspace-icon{color:#20a176;background:#e8f9f0}.workspace-arrow{width:27px;height:27px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--muted2);font-size:16px}.workspace-card h3{font-size:16px;letter-spacing:-.4px;margin:20px 0 6px}.workspace-card p{font-size:11px;line-height:1.55;margin-bottom:19px}.workspace-card-footer{display:flex;align-items:center;gap:11px;margin-top:auto;font-size:10px;font-weight:780;color:var(--primary)}.workspace-line{flex:1;height:1px;background:linear-gradient(90deg,#bed1f6,transparent)}.dashboard-bottom{align-items:stretch}.dashboard-bottom .card{min-height:340px}.dashboard-bottom .card h3{font-size:17px;margin-bottom:6px}.dashboard-bottom .card p{font-size:11px}.course-dashboard{margin-top:13px}.course-progress{display:flex;width:100%;text-align:left;gap:13px;align-items:center;padding:11px 0;background:none;border:0;border-bottom:1px solid var(--line2);color:var(--text)}.course-progress:last-child{border-bottom:0}.course-progress:hover .course-progress-info strong{color:var(--primary)}.course-monogram{flex:0 0 40px;height:40px;border-radius:12px;background:#edf3ff;color:#456fe5;font-weight:790;display:grid;place-items:center;font-size:12px}.course-progress:nth-child(2) .course-monogram{background:#edfbf6;color:#21aa85}.course-progress:nth-child(3) .course-monogram{background:#fff5e7;color:#d5a245}.course-progress:nth-child(4) .course-monogram{background:#f2edff;color:#926ce3}.course-progress-info{flex:1;min-width:0}.course-progress-info strong,.course-progress-info small{display:block}.course-progress-info strong{font-size:11px;margin-bottom:3px}.course-progress-info small{font-size:10px;color:var(--muted2);margin-bottom:8px}.course-progress-info .progress-track{height:5px}.course-rate{font-size:11px;font-weight:740;color:var(--muted);min-width:35px;text-align:right}.routine-counter{font-size:28px;font-weight:800;letter-spacing:-1px}.routine-counter small{font-size:12px;color:var(--muted2)}.routine-bar{margin:16px 0 10px;height:7px}.task{display:flex;align-items:center;gap:11px;padding:13px 1px;border-bottom:1px solid var(--line2);margin:0;font-size:12px;color:var(--text);cursor:pointer}.task:last-of-type{border:0}.task input{width:17px;height:17px;accent-color:#397cf2;flex-shrink:0}.task span:nth-child(2){flex:1;line-height:1.4}.task.done span:nth-child(2){text-decoration:line-through;color:var(--muted2)}.task-end{color:#b8c8de;font-weight:800}.progress-track{height:8px;border-radius:50px;overflow:hidden;background:#eaf0fa;display:block}.progress-fill{height:100%;border-radius:50px;background:linear-gradient(90deg,#2c74e9,#6f7ef9,#80caff);transition:width .35s ease;display:block}
/* General workspaces */
.btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:11px;padding:10px 14px;font-size:12px;font-weight:700;background:var(--card);border:1px solid var(--line);color:var(--text);transition:background .18s,color .18s,box-shadow .18s,transform .18s,border-color .18s;white-space:normal;text-align:center}.btn:hover:not(:disabled){transform:translateY(-2px);border-color:#c8dcfa;box-shadow:0 6px 17px #3a6baa11}.btn.primary{background:linear-gradient(110deg,#2876ef,#3769e9);color:#fff;border-color:transparent;box-shadow:0 5px 12px #2a6be825}.btn.primary:hover{background:linear-gradient(110deg,#2263e3,#575dea);box-shadow:0 8px 20px #2a6be83a}.btn.ghost{background:transparent}.btn.smallbtn{padding:6px 11px;min-height:33px;font-size:11px}.btn.danger{border-color:#ef9393;color:#d33e57}.btn.danger:hover{background:#fff2f4}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.small,.mini,.metriclabel,.muted{font-size:11px;color:var(--muted)}.hint{font-size:11px!important;color:var(--muted2)!important;margin:12px 0 5px}.line{height:1px;background:var(--line);margin:19px 0}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:17px 0 22px}.chip{border:1px solid var(--line);background:var(--card);color:var(--muted);padding:9px 13px;border-radius:10px;font-size:11px;font-weight:700;transition:background .17s,color .17s,transform .17s}.chip:hover{border-color:#b8d1fb;color:var(--primary);transform:translateY(-1px)}.chip.active{background:#eaf2ff;color:#2563eb;border-color:#d2e2ff;box-shadow:inset 0 -1px 0 #d8e6ff}.tab-strip{border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:23px}.skillsgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.skill-card{position:relative;transform-style:preserve-3d;will-change:transform;overflow:hidden;min-height:244px;display:flex;flex-direction:column}.skill-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--mx,90%) var(--my,0%),rgba(62,135,255,.11),transparent 58%);opacity:0;transition:opacity .25s}.skill-card:hover::before{opacity:1}.skill-card:hover{border-color:#bcd5ff;box-shadow:0 19px 45px #5984cc17}.skill-card .tag{background:#f3f7ff;color:#4971ac;max-width:80%;text-overflow:ellipsis;overflow:hidden;display:block}.skill-card .skill-id{font-size:10px;color:var(--muted2);margin-top:19px;overflow-wrap:anywhere}.skill-card h3{margin:13px 0 8px;font-size:16px;line-height:1.3;min-height:40px}.skill-card p{font-size:11.5px;line-height:1.6;margin-bottom:20px}.skill-card footer{display:flex;align-items:center;gap:8px;justify-content:space-between;margin-top:auto;padding-top:15px;border-top:1px solid var(--line2)}.heart{border:1px solid var(--line);background:var(--card);border-radius:10px;width:35px;height:35px;display:grid;place-items:center;color:#b4becf;font-size:23px;transition:transform .2s,color .2s}.heart:hover{transform:scale(1.08) rotate(-7deg)}.heart.on{color:#f4a92c;background:#fff8e8;border-color:#ffedc7}.searchinput,.field,select,textarea,input[type=number],input[type=text],input[type=search],input[type=file]{border:1px solid var(--line);background:var(--card);border-radius:10px;color:var(--text);padding:11px 12px;width:100%;min-height:41px;outline:none;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;min-height:95px}select{appearance:auto}input::placeholder,textarea::placeholder{color:#a2adc0}input:focus,textarea:focus,select:focus{border-color:#95bdff!important;box-shadow:var(--focus)!important;outline:0}label{display:block;font-size:11px;font-weight:640;color:var(--muted);margin-bottom:7px}input[type=checkbox]{accent-color:var(--primary)}input[type=range]{width:100%;accent-color:var(--primary);cursor:pointer}.card label:not(.task){margin-top:12px}.listrow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line2);font-size:12px}.listrow:last-child{border:0}.listrow strong{font-weight:780}.page-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:17px}.statpill{padding:12px 14px;border-radius:10px;background:var(--card2)}.choice{width:100%;text-align:left;display:block;border:1px solid var(--line);background:var(--card);color:var(--text);padding:15px 17px;margin:10px 0;border-radius:12px;font-size:12px;transition:background .17s,border-color .17s,transform .17s}.choice:hover:not(:disabled){transform:translateX(4px);border-color:#acc8f9;background:#f8fbff}.choice.pick{background:#edf4ff;border-color:#6799ef;color:#1a57c0;box-shadow:inset 3px 0 0 #3977ea}.resultgood{color:#069a67!important}.resultbad{color:#dd5264!important}.tablewrap{overflow:auto;max-width:100%}.datatable{width:100%;border-collapse:collapse;font-size:11px;min-width:500px}.datatable thead{background:var(--card2)}.datatable th{text-align:left;padding:13px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:800;border-bottom:1px solid var(--line)}.datatable td{padding:13px 12px;border-bottom:1px solid var(--line2)}.datatable tr:last-child td{border:0}.datatable tr:hover td{background:var(--surface2)}.datatable tr[hidden]{display:none}.bar{height:17px;border-radius:6px;overflow:hidden;display:flex}.bar span{height:100%}.empty{text-align:center;padding:37px;color:var(--muted);font-size:12px}.elegant-empty{padding:64px 15px;max-width:560px;margin:0 auto}.empty-icon{height:64px;width:64px;border:1px solid #e2ebfa;display:grid;place-items:center;margin:0 auto 18px;border-radius:19px;color:var(--primary);background:var(--card2)}.empty-icon svg{width:29px;height:29px}.empty h3{color:var(--text)}.search-row{max-width:470px;margin:18px 0 24px}.catalogue-card{min-height:360px}
/* Finance visualizations */
.allocation-visual{display:flex;align-items:center;gap:25px;justify-content:center;background:var(--card2);padding:21px 13px;border-radius:15px;margin:13px 0 17px}.allocation-donut{height:170px;width:170px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;box-shadow:0 12px 20px #5a8ccc0c;animation:scale-in .35s ease}.donut-hole{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;border-radius:50%;background:var(--card);height:121px;width:121px;text-align:center;box-shadow:inset 0 1px 10px #244a810a}.donut-hole small{color:var(--muted2);font-size:9px;font-weight:700;letter-spacing:.3px}.donut-hole strong{font-size:17px;letter-spacing:-.6px}.allocation-caption{min-width:0;max-width:170px}.allocation-caption strong{font-size:12px}.allocation-caption p{margin-top:8px;font-size:11px}.dcf-chart{height:145px;display:flex;gap:11px;align-items:end;justify-content:space-evenly;border-bottom:1px solid var(--line);padding:12px 6px 0;margin:18px 0 17px;background:linear-gradient(#eaf1ff32 1px,transparent 1px);background-size:100% 25%}.dcf-col{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;max-width:60px}.dcf-bar{width:100%;max-width:35px;min-height:5px;background:linear-gradient(#8cb5ff,#3c78e6);border-radius:7px 7px 0 0;transition:height .3s;box-shadow:0 5px 14px #4f8bd52b}.dcf-col small{font-size:10px;margin:5px 0 0;color:var(--muted2)}
/* Modal, toast, previews */
.modal-layer{position:fixed;inset:0;display:grid;place-items:center;padding:19px;background:rgba(24,35,59,.44);backdrop-filter:blur(6px);z-index:30;animation:fade-in .2s}.modal-layer[hidden]{display:none}.modalbox{width:min(740px,100%);max-height:90vh;overflow:auto;overscroll-behavior:contain;background:var(--card);border:1px solid var(--line);border-radius:21px;box-shadow:0 30px 95px #0d183951;padding:26px;animation:dialog-in .24s cubic-bezier(.18,.8,.3,1)}.modalbox .line{margin:14px 0 20px}.modalbox textarea{min-height:130px}#toast{position:fixed;bottom:25px;right:25px;opacity:0;pointer-events:none;transform:translateY(11px);z-index:40;background:var(--primary);color:#fff;border-radius:12px;padding:13px 17px;font-size:12px;font-weight:650;box-shadow:0 14px 35px #2167db36;transition:opacity .22s,transform .22s}#toast.show{opacity:1;transform:translateY(0)}.preview{width:100%;height:425px;border:1px solid var(--line);border-radius:13px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--card2);border:1px solid var(--line);border-radius:11px;padding:17px;color:var(--text);font-size:11px;line-height:1.65}.loading-screen{display:grid;gap:19px}.skeleton{height:110px;background:linear-gradient(90deg,var(--card2) 20%,#e6eefc 47%,var(--card2) 80%);background-size:250% 100%;border-radius:16px;animation:shimmer 1.7s ease-in-out infinite}.skeleton.wide{height:38px;width:40%}.skeleton.hero-skeleton{height:350px}.skeleton-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.skeleton-grid .skeleton{height:160px}.side-backdrop{position:fixed;inset:0;background:#0b19345f;z-index:10}.side-backdrop[hidden]{display:none}
/* Dark theme polish */
:root[data-theme=dark] .hero{background:radial-gradient(circle at 87% 36%,#312b546e,transparent 44%),linear-gradient(110deg,#1d3048,#1c2b4c);border-color:#334768}:root[data-theme=dark] .hero-copy h2{color:#f4f7ff}:root[data-theme=dark] .hero-copy p{color:#adc0d8}:root[data-theme=dark] .hero-badge{background:#263c58;color:#b1c6e4;border-color:#344e6d}:root[data-theme=dark] .hero-secondary{background:#273c56!important;color:#c3d8f2!important;border-color:#36516b!important}:root[data-theme=dark] .hero-status strong{color:#b6c9e1}:root[data-theme=dark] .orb-node{background:#253957ee;color:#d5e4f7;border-color:#3a5475}:root[data-theme=dark] .scene-toggle{background:#283b59;color:#c2d4ee;border-color:#3a5574}:root[data-theme=dark] .stat-icon,:root[data-theme=dark] .workspace-icon,:root[data-theme=dark] .course-monogram,:root[data-theme=dark] .soft-tag,:root[data-theme=dark] .chip.active,:root[data-theme=dark] .skill-card .tag{background:#273a59}:root[data-theme=dark] .progress-track{background:#2a3a52}:root[data-theme=dark] .choice:hover{background:#203754}:root[data-theme=dark] .choice.pick{background:#1b355b}:root[data-theme=dark] .donut-hole{background:#1c2a40}:root[data-theme=dark] .user-avatar,:root[data-theme=dark] .top-avatar{background:#394a69;color:#e7efff;border-color:#566587}
/* Responsive */
@media(max-width:1400px){.sidebar{width:245px;flex-basis:245px}.topbar{padding:0 26px}main{padding:29px 26px 54px}.hero{grid-template-columns:1fr minmax(300px,.95fr);padding:30px}.hero-copy h2{font-size:43px}.orb-node{font-size:10px}.node-one{left:0}.node-two{right:-4%}.node-four{right:-4%}.dashboard-stats .stat-card{padding:18px}.workspace-card{padding:18px}.hero-visual{height:306px}}
@media(max-width:1160px){.grid,.workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skillsgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-copy h2{font-size:40px}.hero{grid-template-columns:1fr 340px}.hero-visual{height:300px}.orb-node{transform:scale(.92)}.node-one{left:-8%}.node-two{right:-8%}.node-three{left:-10%}.node-four{right:-5%}.workspace-card{min-height:180px}.searchTrigger{min-width:200px}}
@media(max-width:900px){.sidebar{position:fixed;left:0;top:0;transform:translateX(-100%);width:min(290px,85vw)!important;flex-basis:auto!important;box-shadow:30px 0 70px #18294a20}.sidebar.open{transform:translateX(0)}.sidebar .nav-caption,.sidebar .brand-type,.sidebar .nav-label,.sidebar .sidefoot-copy,.sidebar .side-settings{display:block!important}.sidebar .nav-link{justify-content:flex-start!important;padding:10px 15px!important}.sidebar .nav-group{border-top:0!important;padding:0!important}.collapsebtn{display:none}.topbar{height:65px;min-height:65px}.mobile{display:grid}.bodycol{width:100%}.hero{grid-template-columns:minmax(0,1fr) 340px}.hero-copy h2{font-size:36px}.hero-copy p{font-size:12px}.searchTrigger{min-width:auto}.search-label{display:none}.searchTrigger kbd{margin-left:8px}}
@media(max-width:680px){.topbar{padding:0 14px}.top-left{gap:8px}.topactions{gap:6px}.searchTrigger{padding:0 9px;min-width:38px;width:38px;height:37px}.searchTrigger kbd,.top-divider,.backup-icon,.top-avatar{display:none}.topactions .iconbutton{min-width:36px;height:37px;font-size:17px;padding:0 8px}.crumb{font-size:11px;gap:7px}.crumb span:first-child{display:none}.crumb-sep{display:none}main{padding:22px 15px 40px}.app-footer{padding:13px 15px;flex-direction:column;gap:4px}.welcome-header{margin-bottom:19px}.welcome-header h1{font-size:26px}.live-badge{display:none}.hero{display:flex;flex-direction:column;gap:0;min-height:0;padding:27px 21px 13px;border-radius:22px}.hero-copy{width:100%}.hero-copy h2{font-size:39px}.hero-copy p{font-size:12px;line-height:1.7;margin-bottom:17px}.hero-badge{font-size:8px;margin-bottom:17px}.hero-actions .btn{font-size:11px}.hero-status{margin-top:17px}.hero-visual{height:255px;width:100%;margin-top:10px}.orbit{height:245px;max-width:380px}.node-one{left:1%;top:8%}.node-two{right:0%;top:18%}.node-three{left:-1%;bottom:20%}.node-four{right:0%;bottom:12%}.orb-node{padding:5px 8px 5px 5px;min-height:32px;font-size:9px;gap:5px;border-radius:10px}.orb-node-icon{width:22px;height:22px}.orb-node-icon svg{width:13px;height:13px}.scene-caption{bottom:-3px;font-size:8px}.scene-toggle{font-size:9px;top:0}.grid,.workspace-grid,.grid2,.grid3,.page-grid,.skillsgrid{grid-template-columns:1fr}.dashboard-stats .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-stats .stat-card{min-height:149px;padding:14px}.stat-card .metric{font-size:26px}.stat-card strong{font-size:10px}.stat-foot{font-size:9px}.stat-icon{width:32px;height:32px}.section-heading{margin-top:27px}.section-heading h2{font-size:20px}.section-hint{display:none}.workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.workspace-card{min-height:180px;padding:14px}.workspace-card h3{font-size:14px}.workspace-card p{font-size:10px}.workspace-card-footer{font-size:9px}.workspace-icon{width:35px;height:35px}.workspace-icon svg{width:18px;height:18px}.workspace-arrow{width:25px;height:25px}.dashboard-bottom .card{min-height:unset}.pagehead h1{font-size:27px}.pagehead p{font-size:12px}.card{padding:17px}.skillsgrid{gap:12px}.skill-card{min-height:218px}.skill-card h3{min-height:auto}.chip{padding:9px 11px}.app-footer span:last-child{display:none}.modalbox{padding:20px 17px}.allocation-visual{gap:13px}.allocation-donut{width:130px;height:130px}.donut-hole{width:93px;height:93px}.donut-hole strong{font-size:13px}.donut-hole small{font-size:8px}}
@media(max-width:380px){.hero-copy h2{font-size:35px}.hero-actions .btn{width:100%}.hero-badge{letter-spacing:.3px}.dashboard-stats .stat-card{padding:12px}.workspace-card{padding:12px}.workspace-card h3{font-size:12px}.workspace-card-footer{font-size:8px}.live-badge{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
@media(hover:none){.skill-card,.workspace-card{transform:none!important}.orb-node:hover{transform:none}}
@keyframes page-enter{from{opacity:.65;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes dialog-in{from{opacity:.4;transform:translateY(12px) scale(.975)}to{opacity:1;transform:none}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes scale-in{from{transform:scale(.9);opacity:.5}to{transform:scale(1);opacity:1}}@keyframes node-float{0%,100%{translate:0 0}50%{translate:0 -4px}}@keyframes shimmer{0%{background-position:100% 0}100%{background-position:0 0}}
