:root{--bg: #f8fafc;--card: #ffffff;--border: #e2e8f0;--text: #0f172a;--muted: #64748b;--primary: #1a7f8e;--primary-dark: #146673;--sidebar: #1c2b36;--sidebar-text: #cbd5e1;--sidebar-active: #1a7f8e;--sev-critical: #dc2626;--sev-high: #ea580c;--sev-medium: #ca8a04;--sev-low: #2563eb;--sev-info: #64748b;--radius: 8px;--shadow: 0 1px 3px rgba(15, 23, 42, .08), 0 1px 2px rgba(15, 23, 42, .04);--ring: rgba(26, 127, 142, .25)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.app{display:flex;min-height:100vh}.sidebar{width:240px;background:var(--sidebar);color:var(--sidebar-text);display:flex;flex-direction:column;position:fixed;height:100vh;padding:24px 0}.sidebar-brand{font-size:16px;font-weight:700;color:#fff;padding:0 24px 24px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.08);text-decoration:none}.sidebar-nav{padding:16px 12px;display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 16px;border-radius:8px;color:var(--sidebar-text);cursor:pointer;font-size:14px;font-weight:500;transition:background .15s,color .15s;border:none;background:none;width:100%;text-align:left;text-decoration:none}.nav-item:hover{background:#ffffff0f;color:#fff}.nav-item.active{background:var(--sidebar-active);color:#fff}.brand-icon{width:18px;height:18px;color:#67e8f9}.nav-icon{width:17px;height:17px;flex:0 0 auto}.sidebar-footer{margin-top:auto;padding:16px 24px;font-size:11px;color:#64748b;border-top:1px solid rgba(255,255,255,.08)}.main{margin-left:240px;flex:1;padding:32px 40px;max-width:1400px}.page-header{margin-bottom:28px}.page-title{font-size:24px;font-weight:700;color:var(--text)}.page-subtitle{font-size:14px;color:var(--muted);margin-top:4px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.card-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:16px}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 22px}.stat-label{font-size:12px;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.stat-value{font-size:30px;font-weight:700;color:var(--text);margin-top:6px}.stat-sub{font-size:12px;color:var(--muted);margin-top:4px}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge-critical{background:#fef2f2;color:var(--sev-critical)}.badge-high{background:#fff7ed;color:var(--sev-high)}.badge-medium{background:#fefce8;color:var(--sev-medium)}.badge-low{background:#eff6ff;color:var(--sev-low)}.badge-info{background:#f1f5f9;color:var(--sev-info)}.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border)}table{width:100%;border-collapse:collapse;background:var(--card)}th{text-align:left;padding:12px 16px;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);background:#f8fafc}td{padding:12px 16px;font-size:13px;border-bottom:1px solid var(--border)}tr:last-child td{border-bottom:none}tr.clickable{cursor:pointer}tr.clickable:hover{background:#f8fafc}.filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}select,input[type=text],input[type=number]{padding:9px 12px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:var(--card);color:var(--text);font-family:inherit}select:focus,input[type=text]:focus,input[type=number]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}select{cursor:pointer;min-width:160px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:12px;font-weight:600;color:var(--muted)}.form-field input,.form-field select{width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:8px;border:none;font-size:14px;font-weight:600;cursor:pointer;background:var(--primary);color:#fff;transition:background .15s;font-family:inherit}.btn-icon{width:16px;height:16px}.btn:hover{background:var(--primary-dark)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#e2e8f0;color:var(--text)}.btn-secondary:hover{background:#cbd5e1}.toggle-group{display:inline-flex;background:#f1f5f9;border-radius:8px;padding:4px;gap:4px}.toggle-btn{padding:8px 18px;border-radius:6px;border:none;background:none;font-size:13px;font-weight:600;cursor:pointer;color:var(--muted);font-family:inherit}.toggle-btn.active{background:var(--card);color:var(--text);box-shadow:var(--shadow)}.detail-panel{position:fixed;top:0;right:0;width:420px;height:100vh;background:var(--card);box-shadow:-4px 0 24px #0f172a1f;padding:28px;overflow-y:auto;z-index:50}.detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a4d;z-index:40}.detail-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}.detail-row .k{color:var(--muted);font-weight:500}.detail-row .v{color:var(--text);font-weight:600;text-align:right;max-width:220px}.close-btn{background:none;border:none;font-size:22px;cursor:pointer;color:var(--muted);float:right}.result-box{padding:20px;border-radius:var(--radius);margin-top:20px}.result-normal{background:#f0fdf4;border:1px solid #bbf7d0}.result-anomaly{background:#fef2f2;border:1px solid #fecaca}.result-headline{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;margin-bottom:8px}.result-icon{width:20px;height:20px}.reason-list{list-style:none;margin-top:10px}.reason-list li{font-size:13px;color:var(--text);padding:6px 0 6px 18px;position:relative}.reason-list li:before{content:"->";position:absolute;left:0;color:var(--primary)}.fault-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.fault-chip{padding:5px 9px;border-radius:6px;background:#f1f5f9;color:var(--muted);font-size:12px;text-transform:capitalize}.fault-chip.bad{background:#fef2f2;color:var(--sev-critical);font-weight:600}.loading{text-align:center;padding:60px;color:var(--muted);font-size:14px}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:48px;text-align:center;color:var(--muted);cursor:pointer;transition:border-color .15s,background .15s}.dropzone:hover{border-color:var(--primary);background:#f8fafc}.dropzone-icon{width:34px;height:34px;color:var(--primary);margin-bottom:10px}.separator{height:1px;background:var(--border);margin:20px 0}.docs-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px}.docs-nav{position:sticky;top:24px;align-self:start;display:flex;flex-direction:column;gap:6px}.docs-nav a{color:var(--muted);text-decoration:none;font-size:13px;padding:8px 10px;border-radius:7px}.docs-nav a:hover{background:#f1f5f9;color:var(--text)}.docs-content{display:flex;flex-direction:column;gap:20px}.docs-section h2{font-size:19px;margin-bottom:10px}.docs-section h3{font-size:15px;margin:18px 0 8px}.docs-section p,.docs-section li{font-size:14px;line-height:1.65;color:#334155}.docs-section ul,.docs-section ol{padding-left:20px;margin-top:8px}.docs-section code{background:#f1f5f9;border:1px solid var(--border);border-radius:5px;padding:1px 5px;font-size:12px}.docs-section pre{background:#0f172a;color:#e2e8f0;border-radius:8px;padding:14px;overflow-x:auto;margin-top:10px;font-size:12px;line-height:1.5}.docs-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.docs-kpi{border:1px solid var(--border);border-radius:var(--radius);background:#f8fafc;padding:14px}.docs-kpi strong{display:block;font-size:20px;color:var(--text)}.docs-kpi span{display:block;margin-top:4px;font-size:12px;color:var(--muted)}.tutorial-app{--learn-green: #58cc02;--learn-green-dark: #46a302;--learn-blue: #1cb0f6;--learn-purple: #ce82ff;--learn-yellow: #ffc800;--learn-ink: #173042;background:#f7faf5;color:var(--learn-ink)}.tutorial-sidebar{background:#173042}.tutorial-sidebar .nav-item.active{background:var(--learn-green);color:#fff}.tutorial-main{margin-left:240px;width:calc(100% - 240px);min-height:100vh}.tutorial-topbar{height:68px;border-bottom:2px solid #e7ede3;background:#ffffffeb;display:flex;align-items:center;justify-content:flex-end;padding:0 44px;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tutorial-mobile-brand{display:none;font-weight:800;align-items:center;gap:8px}.tutorial-mobile-brand svg{width:24px;color:var(--learn-yellow)}.tutorial-stats{display:flex;gap:24px;font-size:14px;font-weight:800}.tutorial-stats>span{display:flex;align-items:center;gap:7px}.tutorial-stats>span svg{width:20px;height:20px}.tutorial-stats>span:nth-child(3) svg{color:#ff9600;fill:#ff9600}.tutorial-stats>span:nth-child(4) svg{color:var(--learn-yellow);fill:var(--learn-yellow)}.tutorial-stats>span:nth-child(5) svg{color:var(--learn-purple)}.learner-chip{border:2px solid #e2e9de;background:#f8fbf6;border-radius:999px;padding:6px 11px 6px 7px;display:flex;align-items:center;gap:7px;font:inherit;color:var(--learn-ink);font-weight:800;cursor:pointer}.learner-chip span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--learn-green);color:#fff}.learner-chip svg{width:14px;height:14px;color:#819087}.cloud-status{border:2px solid #dce6d8;background:#f7faf5;color:#667871;border-radius:999px;padding:8px 11px;display:flex;align-items:center;gap:6px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.cloud-status svg{width:17px;height:17px}.cloud-synced{color:#3a8f13;background:#effbe8;border-color:#bce69f}.cloud-saving,.cloud-loading{color:#087caf;background:#eef9ff;border-color:#b9e6fb}.cloud-error{color:#c24d18;background:#fff4ed;border-color:#ffc7aa}.tutorial-content{max-width:1050px;margin:0 auto;padding:46px 40px 90px}.learn-hero{min-height:360px;border-radius:28px;padding:48px 54px;color:#fff;background:linear-gradient(135deg,#45b800,#58cc02 48%,#83dc24);box-shadow:0 10px #3c9d05;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;overflow:hidden;position:relative}.learn-hero:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:#ffffff14;left:-130px;bottom:-180px}.learn-kicker{font-size:12px;font-weight:900;letter-spacing:.14em;opacity:.82}.learn-hero h1{font-size:clamp(36px,5vw,58px);line-height:1.02;letter-spacing:-.04em;max-width:610px;margin:12px 0 18px}.learn-hero p{font-size:18px;line-height:1.55;max-width:620px;color:#ffffffe6}.learn-primary,.learn-secondary{border:0;border-radius:14px;padding:14px 22px;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:900;font-family:inherit;cursor:pointer;transition:transform .12s,box-shadow .12s}.learn-primary{color:#fff;background:var(--learn-green);box-shadow:0 5px 0 var(--learn-green-dark)}.learn-hero .learn-primary{margin-top:28px;background:#fff;color:var(--learn-green-dark);box-shadow:0 5px #1f670052}.learn-primary:hover:not(:disabled),.learn-secondary:hover{transform:translateY(-1px)}.learn-primary:active:not(:disabled),.learn-secondary:active{transform:translateY(3px);box-shadow:0 2px 0 var(--learn-green-dark)}.learn-primary:disabled{opacity:.45;cursor:not-allowed}.learn-primary svg,.learn-secondary svg{width:18px;height:18px}.learn-secondary{background:#fff;border:2px solid #dce5d8;color:#52656f;box-shadow:0 3px #dce5d8}.solar-orbit{position:relative;width:270px;height:270px;justify-self:center}.orbit-ring{position:absolute;border:2px solid rgba(255,255,255,.22);border-radius:50%;top:20px;right:20px;bottom:20px;left:20px}.orbit-two{top:55px;right:55px;bottom:55px;left:55px;border-style:dashed}.orbit-sun{position:absolute;width:82px;height:82px;left:94px;top:94px;color:#ffe046;fill:#ffe046;filter:drop-shadow(0 8px 12px rgba(71,91,0,.2))}.orbit-chip{position:absolute;background:#fff;color:var(--learn-ink);padding:9px 13px;border-radius:12px;font-weight:800;font-size:13px;box-shadow:0 5px #2b720440}.chip-sensor{left:0;top:45px}.chip-rules{right:0;top:55px}.chip-ml{bottom:25px;left:105px}.learn-progress-card{margin:34px 0 42px;background:#fff;border:2px solid #e4ebe0;border-radius:20px;padding:22px 26px;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;box-shadow:0 4px #e4ebe0}.learn-progress-card h2{margin:4px 0;font-size:21px}.learn-progress-card p{color:#70808a;font-size:14px}.progress-ring{width:68px;height:68px;border-radius:50%;background:conic-gradient(var(--learn-green) var(--progress),#e8eee5 0);display:grid;place-items:center}.progress-ring:before{content:"";width:52px;height:52px;border-radius:50%;background:#fff;position:absolute}.progress-ring div{position:relative;font-size:13px;font-weight:900}.icon-reset{border:0;background:#f2f6f0;width:42px;height:42px;border-radius:12px;cursor:pointer;color:#70808a}.icon-reset svg{width:18px}.level-card{margin:-18px 0 42px;border:2px solid #e4ebe0;background:#fff;border-radius:20px;padding:20px 24px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px;box-shadow:0 4px #e4ebe0}.level-badge{width:66px;height:66px;border-radius:18px;background:linear-gradient(145deg,#ffe36c,#ffc800);color:#9e7400;display:grid;place-items:center;position:relative;box-shadow:0 5px #dda900}.level-badge svg{width:31px;height:31px;fill:#fff;color:#fff}.level-badge span{position:absolute;bottom:4px;right:6px;width:23px;height:23px;border-radius:50%;background:#173042;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:900;border:2px solid white}.level-heading{display:flex;justify-content:space-between;align-items:end;gap:15px}.level-heading h2{font-size:20px;margin-top:3px}.level-heading>strong{color:#d5a400;font-size:14px}.level-track{height:12px;border-radius:999px;background:#edf2ea;overflow:hidden;margin:10px 0 6px}.level-track span{display:block;height:100%;background:linear-gradient(90deg,#ffc800,#ffdf49);border-radius:inherit}.level-copy>p{color:#829087;font-size:12px}.achievement-section{margin:0 0 42px}.compact-heading{margin-bottom:16px}.compact-heading>strong{color:#819087;font-size:13px}.achievement-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.achievement-card{border:2px solid #e2e9de;border-radius:16px;background:#fff;padding:14px 12px;min-height:145px;display:grid;justify-items:center;align-content:center;text-align:center;position:relative;gap:8px}.achievement-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#eef3eb;color:#a2aea0}.achievement-icon svg{width:25px;height:25px}.achievement-card h3{font-size:13px}.achievement-card p{color:#89958d;font-size:10px;line-height:1.35;margin-top:3px}.achievement-card.earned{border-color:#ffe169;background:#fffdf2;box-shadow:0 4px #f0cf43}.achievement-card.earned .achievement-icon{background:#fff0a8;color:#d19b00}.achievement-card.earned .achievement-icon svg{fill:#ffc800}.achievement-check{position:absolute;width:16px;height:16px;top:9px;right:9px;color:#bdc8b9}.achievement-card.earned .achievement-check{color:var(--learn-green)}.learning-path+.learning-path{margin-top:42px}.unit-banner{background:var(--learn-blue);color:#fff;border-radius:20px;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 6px #1595cf}.unit-banner.unit-green{background:var(--learn-green);box-shadow:0 6px 0 var(--learn-green-dark)}.unit-banner.unit-purple{background:#a85de0;box-shadow:0 6px #8142b1}.unit-banner.unit-orange{background:#ff9600;box-shadow:0 6px #d87900}.unit-banner span{font-size:12px;font-weight:900;letter-spacing:.12em}.unit-banner h2{margin:5px 0;font-size:26px}.unit-banner p{color:#ffffffdb}.unit-reward{min-width:130px;border-radius:15px;padding:10px 13px;background:#ffffff2b;border:2px solid rgba(255,255,255,.25);display:flex;align-items:center;gap:9px}.unit-reward svg{width:30px;height:30px;fill:#fff;opacity:.95}.unit-reward div{display:grid}.unit-reward strong{font-size:15px}.unit-reward span{font-size:10px;opacity:.82;letter-spacing:.06em;text-transform:uppercase;font-weight:800}.unit-reward.claimed{background:#164a0929}.unit-progress-line{height:8px;background:#e4ebe0;margin:12px 24px 0;border-radius:0 0 8px 8px;overflow:hidden}.unit-progress-line span{display:block;height:100%;background:var(--learn-green);border-radius:inherit;transition:width .25s}.lesson-path{padding:44px 70px 30px;position:relative}.lesson-path:before{content:"";position:absolute;left:113px;top:40px;bottom:40px;width:6px;background:#e3eae0;border-radius:6px}.lesson-row{min-height:170px;display:grid;grid-template-columns:90px 1fr;gap:28px;position:relative;align-items:start}.lesson-offset-1{margin-left:48px}.lesson-offset-2{margin-left:16px}.lesson-node{width:82px;height:74px;border-radius:50%;border:0;color:#fff;cursor:pointer;position:relative;z-index:2;box-shadow:0 8px #41a500;transition:transform .15s}.lesson-node:before{content:"";position:absolute;top:7px;right:10px;bottom:16px;left:10px;border-radius:50%;background:#ffffff24}.lesson-node:hover:not(:disabled){transform:translateY(-3px)}.lesson-node svg{width:31px;height:31px;position:relative}.node-green{background:var(--learn-green)}.node-blue{background:var(--learn-blue);box-shadow:0 8px #1286bd}.node-purple{background:var(--learn-purple);box-shadow:0 8px #a956dc}.node-orange{background:#ff9600;box-shadow:0 8px #d87900}.lesson-node:disabled{background:#d7dfd3;box-shadow:0 8px #bcc7b7;cursor:not-allowed}.lesson-node.complete{background:var(--learn-yellow);box-shadow:0 8px #d5a800}.lesson-node.revision{border-radius:18px;transform:rotate(-3deg)}.lesson-node.revision svg{transform:rotate(3deg)}.lesson-node.checkpoint{border-radius:16px;outline:5px solid rgba(255,200,0,.2)}.activity-revision .lesson-info,.activity-checkpoint .lesson-info{border:2px solid #e4ebe0;border-radius:16px;background:#fff;padding:14px 18px;margin-top:-8px}.activity-revision .lesson-info{border-color:#bfe7aa;background:#f8fff4}.activity-checkpoint .lesson-info{border-color:#ffe169;background:#fffdf2}.lesson-info{padding-top:3px}.lesson-info.locked{opacity:.45}.lesson-meta{font-size:11px;color:#8b9b83;font-weight:900;letter-spacing:.12em}.lesson-info h3{font-size:21px;margin:6px 0}.lesson-info p{color:#70808a;font-size:14px}.lesson-link{margin-top:10px;border:0;background:none;color:var(--learn-blue);font-weight:900;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:3px}.lesson-link svg{width:17px}.unit-mastered{margin:0 auto;width:max-content;max-width:100%;border-radius:999px;background:#fff7cf;color:#9b7400;border:2px solid #ffe169;padding:9px 17px;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:900}.unit-mastered svg{width:18px;fill:#ffc800}.coming-section{border-top:2px solid #e4ebe0;padding-top:38px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.section-heading h2{margin-top:7px;font-size:27px}.section-heading a{text-decoration:none;color:var(--learn-blue);font-weight:900;display:flex;align-items:center;gap:6px}.section-heading a svg{width:18px}.coming-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.coming-card{background:#fff;border:2px solid #e4ebe0;border-radius:17px;padding:18px;display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center}.coming-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eef5eb;color:#75846e}.coming-icon svg,.coming-lock{width:20px}.coming-card h3{font-size:15px}.coming-card p{color:#7b898f;font-size:12px;margin-top:4px;line-height:1.35}.coming-lock{color:#bdc7b8}.path-finish{margin-top:30px}.path-finish-copy{color:#697b82;line-height:1.7;max-width:720px}.onboarding-shell{min-height:100vh;background:linear-gradient(145deg,#f4fbef,#e9f7ff);display:grid;place-items:center;padding:28px;position:relative;overflow:hidden;--learn-green: #58cc02;--learn-green-dark: #46a302;--learn-ink: #173042}.onboarding-glow{position:absolute;border-radius:50%;filter:blur(2px);opacity:.55}.glow-one{width:430px;height:430px;background:#c9f5ad;left:-170px;top:-160px}.glow-two{width:360px;height:360px;background:#bfeaff;right:-120px;bottom:-150px}.onboarding-card{width:min(560px,100%);background:#fff;border:2px solid #e0e9dc;border-radius:28px;padding:45px;box-shadow:0 9px #d9e5d4,0 30px 70px #3a592f1f;position:relative;z-index:1;color:var(--learn-ink)}.onboarding-sun{width:80px;height:80px;border-radius:24px;background:#fff4ad;display:grid;place-items:center;margin-bottom:24px;transform:rotate(-5deg)}.onboarding-sun svg{width:50px;height:50px;color:#ffc800;fill:#ffc800;transform:rotate(5deg)}.onboarding-card h1{font-size:clamp(32px,6vw,45px);line-height:1.08;letter-spacing:-.035em;margin:10px 0 14px}.onboarding-card>p{color:#677a82;line-height:1.65;font-size:16px}.onboarding-card label{display:block;margin:28px 0 8px;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#61736c}.onboarding-card input{width:100%;height:58px;border:2px solid #dbe5d7;border-radius:14px;padding:0 17px;font-size:18px;font-weight:700;color:var(--learn-ink);background:#fbfdf9}.onboarding-card input:focus{border-color:#1cb0f6;box-shadow:0 0 0 4px #1cb0f624;outline:0}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#eef3eb;border-radius:13px;padding:4px;gap:4px;margin-top:24px}.auth-tabs button{border:0;border-radius:10px;padding:11px;background:transparent;color:#718078;font:inherit;font-weight:900;cursor:pointer}.auth-tabs button.active{background:#fff;color:var(--learn-ink);box-shadow:0 2px 5px #314d271a}.auth-error{margin-top:14px;border:2px solid #ffc1a0;background:#fff4ed;color:#b84914;border-radius:12px;padding:11px 13px;font-size:13px;font-weight:700}.onboarding-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.local-only-button{display:block;margin:18px auto 0;border:0;background:none;color:#718188;text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:13px;cursor:pointer}.privacy-note{margin-top:24px;padding-top:18px;border-top:2px solid #edf2ea;color:#8a9990;font-size:12px;text-align:center}.lesson-shell{min-height:100vh;background:#fbfdf9;display:flex;flex-direction:column;color:var(--learn-ink, #173042);--learn-green: #58cc02;--learn-green-dark: #46a302;--learn-yellow: #ffc800}.lesson-topbar{height:78px;display:grid;grid-template-columns:48px minmax(200px,720px) 90px;justify-content:center;align-items:center;gap:22px;padding:0 24px}.lesson-topbar>button{border:0;background:none;color:#9aa9b0;cursor:pointer}.lesson-topbar>button svg{width:25px}.lesson-progress{height:15px;background:#e3eae0;border-radius:999px;overflow:hidden}.lesson-progress span{display:block;height:100%;border-radius:inherit;background:var(--learn-green);transition:width .25s}.lesson-xp{font-weight:900;color:#d9a800;display:flex;align-items:center;gap:5px}.lesson-xp svg{fill:var(--learn-yellow);color:var(--learn-yellow);width:21px}.lesson-stage{width:min(760px,calc(100% - 40px));margin:auto;padding:40px 0 150px}.sol-guide{display:flex;align-items:center;gap:10px;color:var(--learn-green-dark);font-weight:900;font-size:12px;letter-spacing:.12em}.sol-guide svg{width:34px;height:34px;color:var(--learn-yellow);fill:var(--learn-yellow)}.lesson-stage h1{font-size:clamp(30px,5vw,43px);letter-spacing:-.035em;margin:18px 0 8px}.lesson-prompt{color:#718188;font-size:17px;margin-bottom:28px}.explain-layout{margin-top:34px;display:grid;grid-template-columns:.95fr 1.05fr;gap:35px;align-items:center}.explain-copy{font-size:17px;line-height:1.65;color:#52656f}.explain-copy>p{font-size:19px}.explain-points{margin:20px 0 0;list-style:none;display:grid;gap:10px}.explain-points li{position:relative;padding-left:22px}.explain-points li:before{content:"";position:absolute;left:0;top:.65em;width:9px;height:9px;border-radius:50%;background:var(--learn-green);box-shadow:0 0 0 4px #e4f7d8}.system-visual{height:300px;border-radius:26px;background:linear-gradient(#dff5ff 0,#dff5ff 56%,#8bd26a 56%);position:relative;overflow:hidden;box-shadow:inset 0 -8px #43862b26}.visual-sun{position:absolute;right:30px;top:24px;color:#ffd21c;fill:#ffd21c;width:64px;height:64px}.panel{position:absolute;bottom:43px;width:125px;height:83px;background:#215b8f;border:6px solid #e8f4f9;transform:skew(-10deg);display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:5px;box-shadow:0 12px #1d481a2e}.panel i{border:1px solid #7ec8ef}.panel span{position:absolute;top:-29px;left:28px;font-size:11px;font-weight:900;transform:skew(10deg)}.panel-left{left:45px}.panel-right{right:45px}.signal-waves{position:absolute;bottom:155px;left:165px;color:#fff;font-weight:900;transform:rotate(-90deg)}.pipeline-visual{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pipeline-visual div{min-height:100px;border:2px solid #dde7d9;border-radius:16px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font-weight:800;box-shadow:0 4px #dde7d9}.pipeline-visual span{width:30px;height:30px;border-radius:50%;background:#dff6d3;color:var(--learn-green-dark);display:grid;place-items:center}.mini-dashboard{background:#fff;border:2px solid #e1e9dd;border-radius:22px;padding:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;box-shadow:0 5px #e1e9dd}.mini-dashboard>div:not(.mini-bars){padding:15px 8px;border-radius:12px;background:#f4f8f2;text-align:center;color:#728078;font-size:12px}.mini-dashboard span{display:block;color:var(--learn-ink);font-size:25px;font-weight:900}.mini-bars{grid-column:1 / -1;height:100px;display:flex;align-items:end;gap:10px;padding:12px}.mini-bars i{flex:1;background:var(--learn-green);border-radius:7px 7px 0 0}.mini-bars i:nth-child(1){height:40%}.mini-bars i:nth-child(2){height:80%;background:#ff9600}.mini-bars i:nth-child(3){height:55%;background:#1cb0f6}.mini-bars i:nth-child(4){height:25%;background:#ce82ff}.concept-visual{min-height:280px;border-radius:24px;padding:25px;background:#f2f8ef;border:2px solid #dde8d8;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;align-content:center}.concept-visual div{min-height:92px;border:2px solid #dce6d8;border-radius:15px;background:#fff;box-shadow:0 4px #dce6d8;display:flex;align-items:center;gap:10px;padding:14px}.concept-visual span{width:31px;height:31px;border-radius:10px;background:#dff6d3;color:var(--learn-green-dark);display:grid;place-items:center;flex:0 0 auto;font-weight:900}.concept-timeline{background:#fff7e9}.concept-timeline span{background:#ffe4ba;color:#b96000}.concept-forest{background:#eaf8ff}.concept-forest span{background:#cef;color:#087caf}.concept-architecture{background:#f4edff}.concept-architecture span{background:#ead8ff;color:#7b3dae}.choice-grid{display:grid;gap:13px;margin-top:30px}.choice-card{border:2px solid #dfe7dc;background:#fff;min-height:65px;border-radius:15px;padding:12px 18px;box-shadow:0 4px #dfe7dc;text-align:left;font:inherit;font-weight:700;color:var(--learn-ink);display:flex;align-items:center;gap:15px;cursor:pointer}.choice-card span{width:34px;height:34px;border:2px solid #dfe7dc;border-radius:9px;display:grid;place-items:center;color:#82908a}.choice-card:hover{background:#f8fbf6}.choice-card.selected{border-color:#1cb0f6;background:#e9f8ff;box-shadow:0 4px #1cb0f6;color:#0875a8}.choice-card.selected span{border-color:#1cb0f6;color:#0875a8}.question-support{margin-top:24px}.hint-button{border:0;background:none;color:#b27c00;font:inherit;font-weight:900;display:inline-flex;align-items:center;gap:7px;cursor:pointer;padding:8px 2px}.hint-button svg{width:20px;fill:#ffc800;color:#dca700}.hint-card{margin-top:8px;border:2px solid #ffe169;background:#fffbea;border-radius:16px;padding:16px 18px;display:flex;align-items:flex-start;gap:13px;color:#6c5b18;box-shadow:0 4px #f2d34f}.hint-card>svg{width:28px;height:28px;flex:0 0 auto;color:#dba500;fill:#ffc800}.hint-card strong{display:block;color:#8d6800;margin-bottom:4px}.hint-card p{line-height:1.55;font-size:14px}.answer-explanation{margin:30px 0 10px;border:2px solid #b9e894;border-radius:20px;background:#f4ffed;padding:22px;box-shadow:0 5px #b9e894}.answer-explanation.incorrect{border-color:#ffc39d;background:#fff7f0;box-shadow:0 5px #ffc39d}.answer-explanation-head{display:flex;gap:13px;align-items:center;margin-bottom:17px}.answer-explanation-head>svg{width:38px;height:38px;border-radius:12px;padding:8px;background:#fff;color:var(--learn-green-dark)}.answer-explanation.incorrect .answer-explanation-head>svg{color:#d95d1d}.answer-explanation-head span{display:block;font-size:10px;font-weight:900;letter-spacing:.12em;color:#718188}.answer-explanation-head h2{font-size:19px;margin-top:3px}.answer-choice-review{border:2px solid #dce7d7;background:#fff;border-radius:12px;padding:10px 13px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:9px}.answer-choice-review span{color:#7b8a80;font-size:11px;font-weight:900;text-transform:uppercase}.answer-choice-review strong{font-size:14px;text-align:right}.answer-choice-review.correct-answer{border-color:#aade82;color:#388800}.explanation-block{margin-top:13px;border-top:2px solid rgba(87,125,70,.12);padding-top:13px}.explanation-block strong{color:#397e16;font-size:12px;text-transform:uppercase;letter-spacing:.07em}.answer-explanation.incorrect .explanation-block strong{color:#b44b16}.explanation-block p{margin-top:5px;color:#52656f;line-height:1.6;font-size:14px}.explanation-block.technical{background:#ffffffb3;border:0;border-radius:12px;padding:13px}.explanation-block.technical strong{color:#087caf}.explanation-block.misconception strong{color:#9b6500}.match-list{display:grid;gap:14px;margin-top:30px}.match-row{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:16px;border:2px solid #e0e8dc;border-radius:15px;padding:13px 16px;background:#fff}.match-row strong{font-size:17px}.match-row select{min-width:0;width:100%;border:2px solid #dfe7dc;font-weight:700}.order-exercise{margin-top:30px}.order-answer{min-height:180px;border:2px dashed #cad6c5;background:#f5f9f3;border-radius:18px;padding:14px;display:grid;gap:9px;align-content:start}.order-answer p{text-align:center;color:#91a08a;margin:auto}.order-answer button{border:2px solid #9fe36b;background:#fff;border-radius:12px;padding:10px 14px;display:flex;align-items:center;gap:12px;color:var(--learn-ink);font-weight:800;cursor:pointer}.order-answer button span{width:26px;height:26px;border-radius:50%;background:#dff6d3;color:var(--learn-green-dark);display:grid;place-items:center}.order-bank{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.order-bank button{border:2px solid #dfe7dc;box-shadow:0 3px #dfe7dc;background:#fff;border-radius:11px;padding:10px 13px;font-weight:700;color:#52656f;cursor:pointer}.lesson-footer{position:fixed;bottom:0;left:0;right:0;min-height:112px;border-top:2px solid #e3eae0;background:#fff;display:grid;grid-template-columns:minmax(0,650px) auto;justify-content:center;align-items:center;gap:40px;padding:20px 30px;z-index:10}.lesson-footer.correct{background:#e7fbd8;border-color:#b8ed91}.lesson-footer.incorrect{background:#fff1e8;border-color:#ffc5a3}.feedback-message{min-height:50px;display:flex;align-items:center;gap:14px}.feedback-message>svg{width:42px;height:42px;padding:8px;border-radius:50%;background:#fff;color:var(--learn-green-dark)}.lesson-footer.incorrect .feedback-message>svg{color:#e05d18}.feedback-message div{display:flex;flex-direction:column;gap:4px}.feedback-message strong{font-size:18px}.feedback-message span{font-size:14px;color:#52656f}.footer-actions{display:flex;gap:12px}.lesson-complete-screen{align-items:center;justify-content:center;text-align:center;padding:40px}.completion-burst{width:120px;height:120px;border-radius:50%;background:#fff2a8;display:grid;place-items:center;box-shadow:0 0 0 16px #fff8d4;margin-bottom:30px}.completion-burst svg{width:62px;height:62px;color:#d6a300;fill:var(--learn-yellow)}.lesson-complete-screen h1{font-size:52px;margin:8px 0}.lesson-complete-screen>p{color:#64777f;font-size:18px}.completion-stats{display:grid;grid-template-columns:repeat(3,150px);gap:14px;margin:36px 0}.completion-stats div{border:2px solid #e0e8dc;border-radius:16px;padding:18px 10px;background:#fff;display:grid;justify-items:center;gap:5px}.completion-stats svg{color:var(--learn-yellow)}.completion-stats strong{font-size:25px}.completion-stats span{color:#78888e;font-size:12px;text-transform:uppercase;font-weight:800}.completion-burst.needs-review{background:#dff4ff;box-shadow:0 0 0 16px #eff9ff}.completion-burst.needs-review svg{color:#1cb0f6;fill:none}.completion-actions{display:flex;gap:12px}.reward-breakdown{width:min(470px,100%);border:2px solid #dce7d7;border-radius:18px;background:#fff;padding:15px 18px;margin:-18px 0 30px;box-shadow:0 4px #dce7d7;text-align:left}.reward-breakdown.unit-unlocked{border-color:#ffd84d;box-shadow:0 4px #e0ad00;background:#fffdf1}.reward-row,.reward-total{display:flex;justify-content:space-between;gap:20px;padding:8px 2px;color:#64777f;font-size:14px}.reward-row strong{color:#d49f00}.reward-total{border-top:2px solid #edf1ea;margin-top:5px;padding-top:12px;color:var(--learn-ink);font-weight:900}.reward-total strong{color:var(--learn-green-dark)}.unit-celebration{display:flex;align-items:center;justify-content:center;gap:8px;font-size:18px;font-weight:900;color:#ad7e00;padding:2px 0 10px}.unit-celebration svg{width:24px;fill:#ffc800}.reward-breakdown.no-reward{text-align:center;color:#718188;font-size:13px;padding:14px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,1fr)}.docs-layout{grid-template-columns:1fr}.docs-nav{position:static;flex-direction:row;flex-wrap:wrap}.docs-kpi-grid{grid-template-columns:repeat(2,1fr)}.learn-hero{grid-template-columns:1fr}.solar-orbit{display:none}.coming-grid{grid-template-columns:1fr}.achievement-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.app{flex-direction:column}.sidebar{position:static;width:100%;height:auto;padding:14px 0}.sidebar-brand{padding:0 18px 12px}.sidebar-nav{padding:12px;flex-direction:row;overflow-x:auto}.nav-item{width:auto;min-width:max-content;padding:10px 12px}.sidebar-footer{display:none}.main{margin-left:0;padding:22px 16px;max-width:none}.grid-4,.grid-2,.form-grid,.docs-kpi-grid{grid-template-columns:1fr}.detail-panel{width:min(100vw,420px)}.dropzone{padding:34px 18px}.tutorial-main{margin-left:0;width:100%}.tutorial-topbar{height:58px;padding:0 16px;justify-content:space-between}.tutorial-mobile-brand{display:flex}.tutorial-content{padding:25px 15px 70px}.learn-hero{min-height:0;padding:32px 25px;border-radius:20px}.learn-hero h1{font-size:38px}.learn-hero p{font-size:16px}.tutorial-stats{gap:7px}.tutorial-stats>span{font-size:12px}.tutorial-stats>span:nth-child(3),.tutorial-stats>span:nth-child(4){display:none}.learner-chip{max-width:110px;overflow:hidden;white-space:nowrap}.learner-chip svg{display:none}.cloud-status{padding:7px;font-size:0}.cloud-status svg{width:20px;height:20px}.learn-progress-card{grid-template-columns:auto 1fr;padding:17px}.icon-reset{display:none}.level-card{margin-top:-20px;padding:16px}.level-badge{width:54px;height:54px}.level-heading{align-items:start;flex-direction:column;gap:3px}.achievement-grid{grid-template-columns:repeat(2,1fr)}.achievement-card:last-child{grid-column:1 / -1}.unit-banner{padding:20px;gap:12px;align-items:start}.unit-reward{min-width:105px;padding:8px}.unit-reward svg{width:22px;height:22px}.unit-reward strong{font-size:13px}.lesson-path{padding:35px 5px 10px}.lesson-path:before{left:45px}.lesson-row{grid-template-columns:82px 1fr;gap:12px;min-height:165px}.lesson-offset-1,.lesson-offset-2{margin-left:0}.lesson-node{width:76px;height:68px}.section-heading{align-items:start;gap:15px;flex-direction:column}.lesson-topbar{grid-template-columns:35px 1fr 70px;gap:10px;padding:0 12px}.lesson-stage{width:calc(100% - 30px);padding-top:25px}.explain-layout{grid-template-columns:1fr}.explain-copy{font-size:17px}.system-visual{height:260px}.match-row{grid-template-columns:1fr;gap:7px}.lesson-footer{grid-template-columns:1fr;padding:14px 16px;gap:8px}.feedback-message:empty{display:none}.footer-actions{justify-content:flex-end}.lesson-footer .learn-primary{flex:1}.completion-stats{grid-template-columns:repeat(3,1fr);width:100%}.lesson-complete-screen h1{font-size:42px}.answer-explanation{padding:17px}.answer-choice-review{align-items:flex-start;flex-direction:column;gap:4px}.answer-choice-review strong{text-align:left}.hint-card{padding:14px}.onboarding-shell{padding:16px}.onboarding-card{padding:30px 22px;border-radius:22px}.onboarding-actions{flex-direction:column-reverse}.onboarding-actions .learn-primary,.onboarding-actions .learn-secondary{width:100%}}
