:root{--background: oklch(.975 .008 105);--foreground: oklch(.22 .022 225);--card: oklch(.99 .005 105);--card-foreground: oklch(.22 .022 225);--popover: oklch(.99 .005 105);--popover-foreground: oklch(.22 .022 225);--primary: oklch(.45 .105 115);--primary-foreground: oklch(.99 .005 105);--secondary: oklch(.91 .018 225);--secondary-foreground: oklch(.26 .022 225);--muted: oklch(.94 .009 105);--muted-foreground: oklch(.43 .025 225);--accent: oklch(.9 .095 75);--accent-foreground: oklch(.25 .04 75);--destructive: oklch(.628 .258 29.23);--destructive-foreground: oklch(.98 0 0);--border: oklch(.85 .018 225);--input: oklch(.8 .02 225);--ring: oklch(.45 .105 115);--font-sans: "Source Sans 3", system-ui, sans-serif;--font-heading: "Space Grotesk", system-ui, sans-serif;--font-mono: "IBM Plex Mono", monospace;--radius: .5rem}.dark{--background: oklch(.13 .015 225);--foreground: oklch(.95 .01 145);--card: oklch(.24 .022 225);--card-foreground: oklch(.95 .01 145);--popover: oklch(.24 .022 225);--popover-foreground: oklch(.95 .01 145);--primary: oklch(.87 .15 115);--primary-foreground: oklch(.18 .025 115);--secondary: oklch(.3 .025 225);--secondary-foreground: oklch(.87 .025 225);--muted: oklch(.22 .015 225);--muted-foreground: oklch(.78 .025 225);--accent: oklch(.85 .13 75);--accent-foreground: oklch(.22 .04 75);--destructive: oklch(.628 .258 29.23);--destructive-foreground: oklch(.98 0 0);--border: oklch(.4 .025 225);--input: oklch(.45 .025 225);--ring: oklch(.87 .15 115)}*{box-sizing:border-box}html,body{height:100%;overflow:hidden;overscroll-behavior:none}body{margin:0;font-family:var(--font-sans);background:var(--background);color:var(--foreground);font-size:17px;line-height:1.55}#root{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{color:inherit}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--ring);outline-offset:4px}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.2}h1{font-size:42px;letter-spacing:-1.8px}h2{font-size:24px;letter-spacing:-.6px}h3{font-size:19px;letter-spacing:-.4px}p{color:var(--muted-foreground)}svg{flex-shrink:0}button{border:0;background:none}::selection{background:var(--primary);color:var(--primary-foreground)}.shell{height:100%;display:flex;overflow:hidden}.sidebar{width:256px;flex-shrink:0;background:var(--muted);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:30px 20px 22px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-mark{width:35px;height:35px;color:var(--primary);display:grid;place-items:center;background:color-mix(in oklch,var(--primary) 10%,transparent);border:1px solid color-mix(in oklch,var(--primary) 40%,transparent);border-radius:9px}.brand-name{font-family:var(--font-heading);font-size:19px;font-weight:600;letter-spacing:-.8px}.brand-name span{color:var(--primary)}.sidebar-caption{font-size:11px;letter-spacing:2px;color:var(--muted-foreground);margin:38px 12px 12px}.nav-list{display:flex;flex-direction:column;gap:7px}.nav-link{display:flex;align-items:center;gap:12px;text-align:left;padding:12px 13px;border-radius:var(--radius);font-size:15px;font-weight:500;color:var(--muted-foreground);transition:background .15s,color .15s}.nav-link:hover{background:var(--secondary);color:var(--foreground)}.nav-link.active{color:var(--primary);background:color-mix(in oklch,var(--primary) 10%,transparent);box-shadow:inset 3px 0 var(--primary)}.nav-link svg{width:19px}.sidebar-bottom{margin-top:auto}.local-note{border-top:1px solid var(--border);padding:20px 10px 0;font-size:13px;display:flex;gap:10px;color:var(--muted-foreground)}.local-note strong{color:var(--foreground);font-weight:500;display:block}.workspace{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.topbar{height:76px;flex-shrink:0;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:var(--background)}.breadcrumb{font-size:14px;color:var(--muted-foreground);display:flex;align-items:center;gap:12px}.breadcrumb strong{color:var(--foreground);font-weight:500}.header-right{display:flex;gap:24px;align-items:center;font-size:13px}.score-pill{display:flex;align-items:center;gap:7px;color:var(--primary)}.avatar{height:33px;width:33px;border-radius:50%;background:var(--secondary);display:grid;place-items:center;color:var(--muted-foreground)}.mobile-brand,.menu-toggle{display:none}.scroll-area{flex:1;min-height:0;overflow-y:auto;scroll-behavior:smooth}.page{max-width:1450px;margin:0 auto;padding:38px 42px 32px}.eyebrow{color:var(--primary);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;display:flex;align-items:center;gap:8px;margin-bottom:13px}.eyebrow-dot{width:6px;height:6px;background:var(--primary);border-radius:50%}.intro{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:29px}.intro p{margin-top:13px;max-width:550px;font-size:17px}.pill{display:inline-flex;align-items:center;gap:6px;background:var(--muted);border:1px solid var(--border);border-radius:99px;padding:5px 11px;font-size:12px;color:var(--muted-foreground);white-space:nowrap}.btn{min-height:44px;padding:11px 18px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:var(--radius);font-size:15px;font-weight:600;text-decoration:none;transition:background .15s,transform .15s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn-primary{background:var(--primary);color:var(--primary-foreground)}.btn-primary:hover:not(:disabled){background:color-mix(in oklch,var(--primary) 88%,var(--foreground))}.btn-secondary{background:var(--secondary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--card)}.btn-quiet{padding-left:0;color:var(--muted-foreground)}.text-link{color:var(--primary);display:inline-flex;align-items:center;gap:6px;font-size:14px;text-decoration:none}.text-link:hover{text-decoration:underline}.overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:25px;align-items:start}.continue-card{background:var(--card);border:1px solid var(--border);border-radius:12px;display:grid;grid-template-columns:1fr 210px;overflow:hidden;margin-bottom:28px;min-height:245px;position:relative}.continue-copy{padding:26px 28px;position:relative;z-index:1}.continue-copy .eyebrow{color:var(--muted-foreground);font-size:10px;margin-bottom:14px}.continue-copy h2{font-size:27px;max-width:360px}.continue-copy p{max-width:380px;font-size:15px;margin:10px 0 22px}.diagram{display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,color-mix(in oklch,var(--primary) 7%,transparent),transparent 70%);position:relative}.diagram:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background-image:radial-gradient(var(--border) .65px,transparent .65px);background-size:16px 16px;opacity:.5}.diagram svg{width:205px;position:relative}.diagram .lime{stroke:var(--primary)}.diagram .outline{stroke:var(--border)}.diagram .node{fill:var(--muted);stroke:var(--border)}.diagram .key{fill:var(--primary);stroke:var(--primary)}.module-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.module-heading h2{font-size:21px}.muted{color:var(--muted-foreground)}.small{font-size:13px}.module-list{display:flex;flex-direction:column;gap:9px}.module-row{display:flex;align-items:center;gap:16px;width:100%;padding:17px 18px;border:1px solid var(--border);background:var(--card);border-radius:var(--radius);text-align:left;transition:background .15s,border-color .15s}.module-row:hover{background:var(--secondary);border-color:var(--primary)}.module-number{font-family:var(--font-heading);font-size:13px;color:var(--muted-foreground);width:22px}.module-icon{width:39px;height:39px;border-radius:7px;display:grid;place-items:center;background:var(--secondary);color:var(--muted-foreground)}.module-row:first-child .module-icon{color:var(--primary)}.module-text{flex:1;min-width:0}.module-text h3{font-family:var(--font-sans);font-size:16px;font-weight:600;letter-spacing:0}.module-text p{font-size:13px;margin-top:2px}.module-status{font-size:11px;color:var(--muted-foreground)}.complete-icon{color:var(--primary)}.right-stack{display:flex;flex-direction:column;gap:20px}.panel{border:1px solid var(--border);background:var(--card);border-radius:12px;padding:23px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.panel-heading h3{font-size:16px}.ring-container{position:relative;margin:0 auto 20px;width:130px;height:130px;display:grid;place-items:center}.ring-container svg{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg)}.ring-value{text-align:center;font-family:var(--font-heading);font-size:30px;line-height:1.2}.ring-value small{font-family:var(--font-sans);display:block;font-size:12px;color:var(--muted-foreground);margin-top:5px}.progress-stats{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding-top:16px}.progress-stats div{font-size:12px;color:var(--muted-foreground)}.progress-stats strong{display:block;font-size:19px;font-family:var(--font-heading);color:var(--foreground)}.challenge-panel{background:linear-gradient(145deg,color-mix(in oklch,var(--accent) 6%,var(--card)),var(--card))}.challenge-icon{color:var(--accent);width:39px;height:39px;background:color-mix(in oklch,var(--accent) 9%,transparent);border-radius:8px;display:grid;place-items:center;margin-bottom:15px}.challenge-panel h3{font-size:19px;margin-bottom:10px}.challenge-panel p{font-size:14px;margin-bottom:17px}.challenge-panel .text-link{color:var(--accent)}.trust-panel{padding:4px 7px}.trust-panel h3{font-family:var(--font-sans);font-size:14px;display:flex;gap:8px;align-items:center}.trust-panel p{font-size:13px;margin:9px 0}.source-links{display:flex;flex-direction:column;gap:8px}.source-links a{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted-foreground);text-decoration:none;gap:10px}.source-links a:hover{color:var(--primary)}.footer{display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted-foreground);border-top:1px solid var(--border);padding-top:22px;margin-top:30px}.footer button:hover{color:var(--primary)}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:26px;align-items:start}.lesson-card{padding:30px;background:var(--card);border:1px solid var(--border);border-radius:12px}.lesson-section+.lesson-section{margin-top:29px;padding-top:26px;border-top:1px solid var(--border)}.lesson-section h3{display:flex;gap:12px;align-items:center;margin-bottom:13px}.step-number{color:var(--primary);font-size:12px;letter-spacing:1px}.lesson-section p{line-height:1.75;font-size:17px}.takeaway{padding:20px;background:color-mix(in oklch,var(--primary) 6%,var(--card));border-left:3px solid var(--primary);margin:27px 0;border-radius:0 8px 8px 0}.takeaway h3{font-size:16px;color:var(--primary);margin-bottom:7px}.takeaway p{font-size:15px}.lesson-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:25px}.question-counter{font-size:13px;color:var(--primary);letter-spacing:1px;margin-bottom:16px}.quiz h2{font-size:25px;line-height:1.4;margin-bottom:25px}.answers{display:flex;flex-direction:column;gap:11px}.answer{display:flex;align-items:center;gap:13px;min-height:55px;border:1px solid var(--border);border-radius:var(--radius);padding:14px;text-align:left;background:var(--muted)}.answer:hover:not(:disabled){border-color:var(--primary)}.answer.selected{border-color:var(--primary);background:color-mix(in oklch,var(--primary) 8%,var(--muted))}.answer.good{border-color:var(--primary)}.answer.wrong{border-color:var(--accent)}.answer:disabled{opacity:1}.radio{width:19px;height:19px;border:1px solid var(--input);border-radius:50%;flex-shrink:0;display:grid;place-items:center}.selected .radio{border-color:var(--primary)}.selected .radio:after{content:"";width:9px;height:9px;border-radius:50%;background:var(--primary)}.feedback{margin-top:22px;background:var(--muted);border-left:3px solid var(--primary);padding:19px;border-radius:0 8px 8px 0}.feedback.caution{border-color:var(--accent)}.feedback strong{display:flex;gap:8px;align-items:center;color:var(--primary);margin-bottom:7px}.feedback.caution strong{color:var(--accent)}.feedback p{font-size:16px;line-height:1.65}.result-icon{color:var(--primary);margin-bottom:18px}.result h2{font-size:31px;margin-bottom:14px}.result p{margin-bottom:23px}.result-score{font-size:56px;font-family:var(--font-heading);color:var(--primary);margin:24px 0}.result-score span{font-size:22px;color:var(--muted-foreground)}.track{height:5px;background:var(--secondary);border-radius:99px;overflow:hidden;margin:18px 0}.track>span{height:100%;display:block;background:var(--primary);border-radius:99px}.meta-row{display:flex;align-items:center;gap:9px;font-size:14px;padding:10px 0;color:var(--muted-foreground)}.meta-row svg{color:var(--primary)}.notice{display:flex;align-items:flex-start;gap:10px;padding:16px 19px;border:1px solid var(--border);background:var(--muted);border-radius:var(--radius);font-size:14px;color:var(--muted-foreground);margin-bottom:25px}.notice svg{margin-top:2px;color:var(--primary)}.field{width:100%;min-height:50px;border:1px solid var(--input);background:var(--muted);border-radius:var(--radius);padding:12px 15px;color:var(--foreground)}.field::placeholder{color:var(--muted-foreground);opacity:.7}.label{display:block;margin-bottom:10px;font-weight:600;font-size:15px}.password-wrap{position:relative}.password-wrap input{padding-right:60px}.password-wrap button{position:absolute;right:7px;top:4px;width:44px;height:44px;display:grid;place-items:center;color:var(--muted-foreground)}.strength-bars{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:24px 0 12px}.strength-bars span{height:7px;background:var(--secondary);border-radius:4px}.strength-bars .filled{background:var(--accent)}.strength-bars.strong .filled{background:var(--primary)}.strength-label{font-family:var(--font-heading);font-size:23px;margin-bottom:16px}.criteria{padding:0;list-style:none;display:flex;flex-direction:column;gap:14px;margin:24px 0}.criteria li{display:flex;align-items:start;gap:10px;color:var(--muted-foreground);font-size:15px}.criteria svg{color:var(--primary);margin-top:2px}.search-wrap{position:relative;max-width:550px;margin-bottom:28px}.search-wrap svg{position:absolute;left:15px;top:15px;color:var(--muted-foreground)}.search-wrap input{padding-left:45px}.glossary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.term-card{padding:22px 25px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.term-card h3{font-size:19px;margin-bottom:9px;color:var(--primary)}.term-card p{font-size:16px}.empty-state{padding:40px 20px;text-align:center;border:1px dashed var(--border);border-radius:12px}.empty-state svg{color:var(--muted-foreground);margin-bottom:16px}.empty-state p{max-width:500px;margin:0 auto 17px}.badge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px}.badge-card{border:1px solid var(--border);padding:24px;background:var(--card);border-radius:12px}.badge-card svg{color:var(--muted-foreground);margin-bottom:14px}.badge-card.earned{border-color:color-mix(in oklch,var(--primary) 45%,var(--border))}.badge-card.earned svg{color:var(--primary)}.badge-card h3{font-size:18px;margin-bottom:8px}.badge-card p{font-size:14px}.badge-status{font-size:11px;letter-spacing:1px;color:var(--muted-foreground);display:block;margin-top:18px}.earned .badge-status{color:var(--primary)}.big-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:28px}.stat-card{padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--card)}.stat-card strong{display:block;font-family:var(--font-heading);font-size:37px;color:var(--primary)}.stat-card p{font-size:14px}.rules{margin:26px 0;font-size:14px}.reset-area{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:25px;border-top:1px solid var(--border);margin-top:30px}.reset-area p{font-size:13px}.danger-btn{color:var(--accent);border:1px solid var(--border)}.simulation-label{font-size:11px;letter-spacing:1.5px;color:var(--accent);display:flex;align-items:center;gap:8px;margin-bottom:19px}.mail-window{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--card)}.mail-toolbar{background:var(--secondary);display:flex;align-items:center;gap:7px;padding:14px 20px;font-size:12px;color:var(--muted-foreground)}.mail-toolbar span{height:7px;width:7px;border-radius:50%;background:var(--border)}.mail-toolbar em{margin-left:auto;font-style:normal}.mail-head{padding:24px 27px;border-bottom:1px solid var(--border)}.mail-head h2{font-size:23px;margin-bottom:18px}.sender{display:flex;gap:12px;align-items:center;font-size:14px}.sender-icon{background:var(--secondary);width:38px;height:38px;border-radius:50%;display:grid;place-items:center}.sender small{color:var(--muted-foreground);display:block;font-size:13px;overflow-wrap:anywhere}.message-body{padding:27px;font-size:17px;line-height:1.9;color:var(--foreground)}.message-body p{color:var(--foreground);margin-bottom:17px}.message-link{color:var(--muted-foreground);overflow-wrap:anywhere;font-family:var(--font-mono);font-size:13px;padding:12px 15px;border-radius:5px;background:var(--muted);display:block}.clue{display:inline;text-align:left;padding:0;color:inherit;font:inherit;cursor:default}.clue.revealed{color:var(--accent);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;cursor:pointer}.clue.revealed:hover{background:color-mix(in oklch,var(--accent) 10%,transparent)}.clue-explanation{margin-top:15px;border:1px solid var(--accent);border-radius:var(--radius);padding:14px;color:var(--accent);font-size:15px}.phish-actions{display:flex;gap:12px;margin-top:22px}.phish-actions .btn{flex:1}.phish-guidance h3{font-size:17px;margin-bottom:15px}.phish-guidance ol{padding-left:21px;color:var(--muted-foreground);font-size:15px;margin-bottom:0}.phish-guidance li+li{margin-top:15px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:color-mix(in oklch,var(--background) 85%,transparent);display:flex;align-items:center;justify-content:center;padding:22px}.modal{background:var(--popover);border:1px solid var(--border);border-radius:14px;padding:30px;width:540px;max-height:85%;overflow-y:auto}.modal h2{margin-bottom:18px}.modal p+p{margin-top:14px}.modal .btn{margin-top:24px}.toast{color:var(--accent);font-size:14px;border:1px solid var(--accent);padding:12px 18px;border-radius:8px;margin-bottom:20px}.progress-module{margin-top:25px}.desktop-only{display:block}@media(min-width:1500px){.page{padding-top:48px}.overview-grid,.detail-grid{grid-template-columns:minmax(0,1fr) 310px}.continue-card{grid-template-columns:1fr 270px}.diagram svg{width:230px}}@media(max-width:1180px){.sidebar{width:220px;padding-left:13px;padding-right:13px}.brand-name{font-size:17px}.page{padding:30px}.topbar{padding:0 30px}.overview-grid,.detail-grid{grid-template-columns:minmax(0,1fr) 250px;gap:20px}.continue-card{grid-template-columns:1fr 145px}.diagram svg{width:150px}.continue-copy{padding:24px}.module-status{display:none}h1{font-size:36px}.panel{padding:19px}}@media(max-width:950px){.sidebar{width:205px}.overview-grid,.detail-grid{grid-template-columns:minmax(0,1fr)}.right-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.trust-panel{grid-column:1/-1}.ring-container{width:105px;height:105px}.continue-card{grid-template-columns:1fr 210px}.intro .pill{display:none}.badge-grid{grid-template-columns:1fr}.detail-grid .right-stack{display:flex}.glossary-grid{grid-template-columns:1fr}.header-right .desktop-only{display:none}}@media(max-width:700px){.sidebar{display:none}.mobile-brand{display:flex}.menu-toggle{display:grid;place-items:center;width:44px;height:44px}.topbar{height:68px;padding:0 16px}.breadcrumb{display:none}.header-right{gap:9px}.avatar{display:none}.page{padding:26px 19px 28px}.intro{margin-bottom:23px}.intro p{font-size:16px;line-height:1.55;margin-top:12px}h1{font-size:32px;letter-spacing:-1.2px}.eyebrow{font-size:10px;letter-spacing:1.7px}.overview-grid{gap:25px}.continue-card{grid-template-columns:1fr;min-height:0;margin-bottom:25px}.continue-copy{padding:23px}.continue-copy h2{font-size:25px;max-width:280px}.continue-copy p{max-width:290px;font-size:15px}.diagram{display:none}.continue-card:after{position:absolute;content:"";width:130px;height:130px;right:-60px;top:-60px;border:1px solid var(--border);border-radius:50%;box-shadow:0 0 0 20px color-mix(in oklch,var(--primary) 3%,transparent),0 0 0 40px color-mix(in oklch,var(--primary) 2%,transparent)}.module-row{padding:14px 12px;gap:10px}.module-icon{width:32px;height:34px}.module-number{width:18px;font-size:11px}.module-text h3{font-size:15px}.module-text p{font-size:12px}.module-heading h2{font-size:20px}.right-stack{grid-template-columns:1fr 1fr;gap:14px}.panel{padding:17px}.panel-heading h3{font-size:14px}.challenge-panel h3{font-size:18px}.challenge-panel p{font-size:13px}.progress-stats{gap:10px}.progress-stats strong{font-size:17px}.trust-panel{padding:12px 4px}.footer{flex-direction:column;gap:6px;font-size:11px}.lesson-card{padding:23px 19px}.lesson-section h3{font-size:18px}.lesson-section p{font-size:16px}.detail-grid{gap:20px}.lesson-actions{flex-wrap:wrap}.quiz h2{font-size:22px}.answer{font-size:16px;padding:13px 12px}.big-stats{gap:10px}.stat-card{padding:17px 12px}.stat-card strong{font-size:29px}.stat-card p{font-size:12px}.mail-head,.message-body{padding:22px 19px}.mail-head h2{font-size:21px}.message-body{font-size:16px}.phish-actions{flex-wrap:wrap;gap:10px}.phish-actions .btn{font-size:14px;padding:11px 12px}.notice{padding:15px;font-size:13px}.mobile-drawer{position:fixed;top:68px;right:0;bottom:0;left:0;background:var(--muted);z-index:40;display:flex;flex-direction:column;padding:24px 20px}.mobile-drawer .nav-link{padding:16px;font-size:17px}.mobile-drawer .local-note{margin-top:auto}.term-card{padding:21px}.modal{padding:24px}.score-pill{font-size:12px}.result-score{font-size:47px}.search-wrap{margin-bottom:22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
