/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:var(--font-jetbrains),ui-monospace,monospace;--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:var(--font-bricolage),"DM Sans",sans-serif;--font-body:var(--font-dm-sans),system-ui,sans-serif}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.text-wrap{text-wrap:wrap}.italic{font-style:italic}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.ring,.shadow{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root,[data-theme=dark]{--bg-primary:oklch(13% .012 254);--bg-secondary:oklch(16% .015 254);--bg-tertiary:oklch(19% .018 254);--card-bg:oklch(17% .016 254/.7);--card-bg-solid:oklch(17% .016 254);--text-primary:oklch(97% .005 250);--text-secondary:oklch(78% .012 250);--text-muted:oklch(58% .018 250);--border-color:oklch(28% .018 254);--border-soft:oklch(22% .014 254);--accent-primary:oklch(68% .19 268);--accent-glow:oklch(72% .2 268);--accent-deep:oklch(54% .2 268);--gradient-primary:linear-gradient(135deg,oklch(70% .2 268),oklch(72% .18 220));--gradient-text:linear-gradient(180deg,oklch(95% .04 268),oklch(72% .2 268));--gradient-cert:linear-gradient(120deg,oklch(70% .2 268),oklch(72% .18 220),oklch(82% .14 180));--shadow-glow:0 0 0 1px oklch(28% .018 254),0 24px 60px -20px oklch(20% .2 268/.45);--shadow-lift:0 1px 0 oklch(100% 0 0/.04) inset,0 12px 30px -12px oklch(0% 0 0/.6);--grid-dot:oklch(100% 0 0/.05);--noise-opacity:.03;--L1:oklch(82% .06 268);--L2:oklch(76% .1 268);--L3:oklch(70% .15 268);--L4:oklch(64% .18 268);--L5:oklch(58% .2 268);--ok:oklch(70% .16 150);--bad:oklch(66% .19 25);--scope-1:oklch(82% .06 268);--scope-2:oklch(70% .14 268);--scope-3:oklch(58% .2 268)}[data-theme=light]{--bg-primary:oklch(98.5% .003 250);--bg-secondary:oklch(96.5% .005 250);--bg-tertiary:oklch(94% .006 250);--card-bg:oklch(100% 0 0/.7);--card-bg-solid:oklch(100% 0 0);--text-primary:oklch(18% .012 254);--text-secondary:oklch(38% .014 254);--text-muted:oklch(55% .014 254);--border-color:oklch(88% .008 254);--border-soft:oklch(92% .006 254);--accent-primary:oklch(52% .22 268);--accent-glow:oklch(58% .22 268);--accent-deep:oklch(44% .22 268);--gradient-primary:linear-gradient(135deg,oklch(54% .22 268),oklch(58% .18 220));--gradient-text:linear-gradient(180deg,oklch(30% .12 268),oklch(50% .22 268));--gradient-cert:linear-gradient(120deg,oklch(54% .22 268),oklch(58% .18 220),oklch(64% .14 180));--shadow-glow:0 0 0 1px oklch(88% .008 254),0 24px 60px -20px oklch(54% .22 268/.3);--shadow-lift:0 1px 0 oklch(100% 0 0) inset,0 14px 32px -16px oklch(20% .05 254/.18);--grid-dot:oklch(20% .01 254/.08);--noise-opacity:.02;--L1:oklch(70% .06 268);--L2:oklch(64% .1 268);--L3:oklch(58% .15 268);--L4:oklch(52% .18 268);--L5:oklch(46% .22 268);--ok:oklch(55% .16 150);--bad:oklch(54% .19 25);--scope-1:oklch(70% .06 268);--scope-2:oklch(58% .14 268);--scope-3:oklch(46% .22 268)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"ss01","cv11";font-size:16px;line-height:1.55;transition:background-color .4s,color .4s;overflow-x:hidden}::selection{background:var(--accent-primary);color:#fff}.display{font-family:var(--font-display);letter-spacing:-.025em;font-variation-settings:"wdth" 100;font-weight:500;line-height:1.02}.mono{font-family:var(--font-mono)}a{text-decoration:none}a,button{color:inherit}button{font:inherit;cursor:pointer;background:0 0;border:none}svg{display:block}.shell{max-width:1280px;margin:0 auto;padding:0 32px}@media (max-width:720px){.shell{padding:0 20px}}.header{z-index:50;-webkit-backdrop-filter:blur(16px)saturate(140%);background:var(--bg-primary);padding:14px 0;position:fixed;top:0;left:0;right:0}@supports (color:color-mix(in lab,red,red)){.header{background:color-mix(in oklab,var(--bg-primary) 75%,transparent)}}.header{border-bottom:1px solid var(--border-soft);transition:background-color .4s,border-color .4s}.header-row{justify-content:space-between;gap:24px}.header-row,.logo{align-items:center;display:flex}.logo{font-family:var(--font-display);letter-spacing:-.02em;gap:10px;font-size:18px;font-weight:600}.logo-mark{background:var(--gradient-primary);width:28px;height:28px;box-shadow:0 4px 14px -4px var(--accent-deep);border-radius:7px;place-items:center;display:grid;position:relative}.logo-mark:after{content:"";background:radial-gradient(circle at 30% 30%,oklch(100% 0 0/.5),#0000 60%);border-radius:4px;position:absolute;inset:6px}.logo .dot{color:var(--accent-primary)}.nav{align-items:center;gap:4px;display:flex}.nav a{color:var(--text-secondary);border-radius:7px;padding:8px 14px;font-size:14px;transition:color .2s,background-color .2s}.nav a:hover{background:var(--bg-secondary)}.nav a.active,.nav a:hover{color:var(--text-primary)}@media (max-width:880px){.header-row{gap:10px}.nav{scrollbar-width:none;flex:1;min-width:0;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10px calc(100% - 18px),#0000);mask-image:linear-gradient(90deg,#0000,#000 10px calc(100% - 18px),#0000)}.nav::-webkit-scrollbar{display:none}.nav a{flex:none;padding-inline:10px;font-size:12px}}.header-tools{align-items:center;gap:8px;display:flex}.toggle{border:1px solid var(--border-color);background:var(--bg-secondary);height:34px;font-size:12px;font-family:var(--font-mono);border-radius:8px;align-items:center;font-weight:500;transition:border-color .2s,background-color .4s;display:inline-flex;overflow:hidden}.toggle button{height:100%;color:var(--text-muted);padding:0 10px;transition:color .2s,background-color .2s}.toggle button.on{color:var(--text-primary);background:var(--bg-tertiary)}.icon-btn{border:1px solid var(--border-color);background:var(--bg-secondary);width:34px;height:34px;color:var(--text-secondary);border-radius:8px;place-items:center;transition:color .2s,border-color .2s,background-color .4s;display:grid}.icon-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.xp-badge{border:1px solid var(--border-color);background:var(--bg-secondary);height:34px;font-family:var(--font-mono);color:var(--text-primary);border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:500;display:inline-flex;position:relative}.xp-badge .xp-dot{background:var(--accent-primary);width:6px;height:6px;box-shadow:0 0 8px var(--accent-glow);border-radius:50%}.xp-badge .xp-num{color:var(--accent-primary);font-weight:600}@media (max-width:520px){.xp-badge .xp-label{display:none}}.hero{align-items:center;min-height:100vh;padding-top:120px;padding-bottom:80px;display:flex;position:relative;overflow:hidden}.hero-canvas{z-index:0;width:100%;height:100%;animation:canvas-in 1s ease-out both;position:absolute;inset:0}@keyframes canvas-in{0%{opacity:0}to{opacity:.55}}.hero-grid{background-image:radial-gradient(var(--grid-dot) 1px,transparent 1px);z-index:1;background-position:-1px -1px;background-size:28px 28px;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 35%,#000 30%,#0000 80%);mask-image:radial-gradient(80% 60% at 50% 35%,#000 30%,#0000 80%)}.hero-glow,.hero-grid{pointer-events:none;position:absolute}.hero-glow{background:radial-gradient(circle,var(--accent-primary),transparent 60%);opacity:.12;filter:blur(60px);z-index:0;width:800px;height:800px;top:20%;left:50%;transform:translate(-50%)}.hero-inner{z-index:2;text-align:center;width:100%;position:relative}.eyebrow{border:1px solid var(--border-color);background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-family:var(--font-mono);color:var(--text-secondary);border-radius:100px;align-items:center;gap:10px;margin-bottom:28px;padding:6px 12px 6px 8px;font-size:12px;animation:rise .7s cubic-bezier(.2,.7,.2,1) 50ms backwards;display:inline-flex}.eyebrow .pulse{background:var(--accent-primary);width:6px;height:6px;box-shadow:0 0 0 0 var(--accent-glow);border-radius:50%;animation:pulse 2.2s ease-out infinite}.eyebrow .sep{color:var(--text-muted)}.hero h1{font-family:var(--font-display);letter-spacing:-.035em;max-width:14ch;margin:0 auto 24px;font-size:clamp(48px,7vw,92px);font-weight:500;line-height:.98;animation:rise .8s cubic-bezier(.2,.7,.2,1) .12s backwards}.hero h1 .grad{background:var(--gradient-text);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:italic;font-weight:400}.hero .lede{max-width:56ch;color:var(--text-secondary);margin:0 auto 40px;font-size:clamp(16px,1.4vw,19px);line-height:1.55;animation:rise .8s cubic-bezier(.2,.7,.2,1) .2s backwards}.hero-stats{font-family:var(--font-mono);color:var(--text-muted);flex-wrap:wrap;justify-content:center;gap:8px 24px;margin-bottom:40px;font-size:13px;animation:rise .8s cubic-bezier(.2,.7,.2,1) .28s backwards;display:flex}.hero-stats span strong{color:var(--text-primary);font-weight:500}.hero-stats .divider{color:var(--border-color)}.cta-row{flex-wrap:wrap;justify-content:center;gap:12px;animation:rise .8s cubic-bezier(.2,.7,.2,1) .36s backwards}.btn,.cta-row{display:inline-flex}.btn{border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;height:46px;padding:0 22px;font-size:15px;font-weight:500;transition:transform .18s,box-shadow .2s,background .2s,border-color .2s;position:relative}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--text-primary);color:var(--bg-primary);box-shadow:inset 0 1px oklch(100% 0 0/.15),0 10px 24px -10px oklch(0 0 0/.5)}.btn-primary:hover{box-shadow:0 1px 0 oklch(100% 0 0/.2) inset,0 14px 36px -10px var(--accent-deep)}.btn-ghost{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-color:var(--border-color);color:var(--text-primary)}.btn-ghost:hover{border-color:var(--text-muted);background:var(--bg-secondary)}.btn-sm{border-radius:7px;height:34px;padding:0 14px;font-size:13px}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-tertiary) 50%,var(--bg-secondary) 75%);background-size:800px 100%;border-radius:4px;animation:shimmer 1.4s linear infinite}.btn .arrow{transition:transform .2s}.btn:hover .arrow{transform:translate(3px)}.scroll-hint{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.12em;z-index:2;flex-direction:column;align-items:center;gap:8px;font-size:11px;animation:pulse-fade 2.4s ease-in-out infinite;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.scroll-hint .line{background:linear-gradient(to bottom,var(--text-muted),transparent);width:1px;height:24px}.section{padding:120px 0;position:relative}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:56px;display:flex}.section-eyebrow{font-family:var(--font-mono);color:var(--accent-primary);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:16px;font-size:12px;display:flex}.section-eyebrow:before{content:"";background:var(--accent-primary);border-radius:2px;width:6px;height:6px}.section-title{font-family:var(--font-display);letter-spacing:-.025em;max-width:18ch;font-size:clamp(34px,4vw,52px);font-weight:500;line-height:1.05}.section-sub{max-width:42ch;color:var(--text-secondary);font-size:16px;line-height:1.55}.feature-grid{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:14px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.feature{border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);padding:36px 32px 32px;transition:background-color .25s;position:relative}.feature:nth-child(3n){border-right:none}.feature:nth-last-child(-n+3){border-bottom:none}.feature:hover{background:var(--bg-tertiary)}.feature:hover .feature-icon{color:var(--accent-primary);transform:translateY(-2px)}.feature-icon{width:40px;height:40px;color:var(--text-primary);margin-bottom:24px;transition:color .2s,transform .25s}.feature-title{font-family:var(--font-display);letter-spacing:-.015em;margin-bottom:8px;font-size:19px;font-weight:500}.feature-desc{color:var(--text-secondary);text-wrap:pretty;font-size:14.5px;line-height:1.55}.feature-tag{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.1em;font-size:10px;position:absolute;top:20px;right:24px}@media (max-width:960px){.feature-grid{grid-template-columns:repeat(2,1fr)}.feature{border-right:1px solid var(--border-color)!important;border-bottom:1px solid var(--border-color)!important}.feature:nth-child(2n){border-right:none!important}.feature:nth-last-child(-n+2){border-bottom:none!important}}@media (max-width:640px){.feature-grid{grid-template-columns:1fr}.feature{border-right:none!important;border-bottom:1px solid var(--border-color)!important}.feature:last-child{border-bottom:none!important}}.level-grid{grid-template-columns:repeat(5,1fr);gap:16px;display:grid}.level-card{background:var(--card-bg-solid);border:1px solid var(--border-color);border-radius:14px;flex-direction:column;min-height:260px;padding:28px 22px 24px;transition:transform .2s,border-color .2s,box-shadow .25s;display:flex;position:relative;overflow:hidden}.level-card:before{content:"";background:var(--top);height:2px;position:absolute;top:0;left:0;right:0}.level-card:hover{border-color:var(--top);transform:translateY(-3px)}@supports (color:color-mix(in lab,red,red)){.level-card:hover{border-color:color-mix(in oklab,var(--top) 50%,var(--border-color))}}.level-card:hover{box-shadow:0 18px 40px -20px var(--top)}@supports (color:color-mix(in lab,red,red)){.level-card:hover{box-shadow:0 18px 40px -20px color-mix(in oklab,var(--top) 60%,transparent)}}.level-badge{font-family:var(--font-mono);color:var(--top);background:var(--top);justify-content:center;align-items:center;font-size:14px;font-weight:600;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.level-badge{background:color-mix(in oklab,var(--top) 14%,transparent)}}.level-badge{border:1px solid var(--top)}@supports (color:color-mix(in lab,red,red)){.level-badge{border:1px solid color-mix(in oklab,var(--top) 30%,transparent)}}.level-badge{letter-spacing:.04em;border-radius:7px;align-self:flex-start;margin-bottom:18px;padding:5px 9px}.level-title{letter-spacing:-.015em;margin-bottom:6px;font-size:18px;font-weight:500}.level-desc{flex:1;font-size:13px;line-height:1.5}.level-meta{font-family:var(--font-mono);color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;display:flex}.level-meta .xp{color:var(--top);font-weight:500}.progress{background:var(--bg-tertiary);border-radius:100px;height:4px;overflow:hidden}.progress>i{background:var(--top);transform-origin:0;border-radius:100px;height:100%;animation:bar 1.2s cubic-bezier(.2,.7,.2,1) .2s backwards;display:block}.lock-icon{color:var(--text-muted);position:absolute;top:18px;right:18px}@media (max-width:1100px){.level-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:680px){.level-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:460px){.level-grid{grid-template-columns:1fr}}.cert-row{grid-template-columns:1fr 1.1fr;align-items:center;gap:56px;display:grid}@media (max-width:960px){.cert-row{grid-template-columns:1fr;gap:40px}}.cert-copy h2{font-family:var(--font-display);letter-spacing:-.025em;margin-bottom:20px;font-size:clamp(32px,3.8vw,48px);font-weight:500;line-height:1.05}.cert-copy p{color:var(--text-secondary);max-width:44ch;margin-bottom:28px;font-size:16px}.cert-check{flex-direction:column;gap:12px;margin-bottom:36px;list-style:none;display:flex}.cert-check li{color:var(--text-secondary);align-items:flex-start;gap:12px;font-size:15px;display:flex}.cert-check li .tick{background:var(--accent-primary);border-radius:6px;flex-shrink:0;width:22px;height:22px}@supports (color:color-mix(in lab,red,red)){.cert-check li .tick{background:color-mix(in oklab,var(--accent-primary) 14%,transparent)}}.cert-check li .tick{border:1px solid var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.cert-check li .tick{border:1px solid color-mix(in oklab,var(--accent-primary) 30%,transparent)}}.cert-check li .tick{color:var(--accent-primary);place-items:center;margin-top:1px;display:grid}.cert-card{aspect-ratio:1.414;background:linear-gradient(180deg,var(--bg-tertiary) 0,var(--bg-secondary) 100%);border-radius:16px;position:relative}@supports (color:color-mix(in lab,red,red)){.cert-card{background:linear-gradient(180deg,color-mix(in oklab,var(--bg-tertiary) 90%,var(--accent-primary)) 0,var(--bg-secondary) 100%)}}.cert-card{border:1px solid var(--border-color);box-shadow:var(--shadow-glow);padding:44px 44px 36px;transition:transform .4s;overflow:hidden}.cert-card:hover{transform:translateY(-4px)rotate(-.4deg)}.cert-card:before{content:"";background:var(--gradient-cert);height:4px;position:absolute;top:0;left:0;right:0}.cert-watermark{font-family:var(--font-display);letter-spacing:-.04em;color:var(--text-primary);opacity:.04;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(80px,14vw,180px);font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-12deg)}.cert-head{justify-content:space-between;margin-bottom:32px;position:relative}.cert-brand,.cert-head{align-items:center;display:flex}.cert-brand{font-family:var(--font-display);letter-spacing:-.01em;gap:10px;font-size:15px;font-weight:600}.cert-brand .logo-mark{border-radius:5px;width:22px;height:22px}.cert-id{color:var(--text-muted);letter-spacing:.08em;font-size:10.5px}.cert-eyebrow,.cert-id{font-family:var(--font-mono)}.cert-eyebrow{color:var(--accent-primary);letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px;font-size:11px;position:relative}.cert-presented{color:var(--text-muted);margin-bottom:6px;font-size:13px;position:relative}.cert-name{font-family:var(--font-display);letter-spacing:-.025em;background:var(--gradient-cert);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:18px;font-size:clamp(28px,3.4vw,44px);font-weight:500;line-height:1;position:relative}.cert-statement{color:var(--text-secondary);max-width:55ch;font-size:14px;line-height:1.5;position:relative}.cert-foot{justify-content:space-between;align-items:flex-end;gap:24px;display:flex;position:absolute;bottom:32px;left:44px;right:44px}.cert-sig{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.06em;font-size:10.5px}.cert-sig .sig-line{background:var(--text-secondary);opacity:.4;width:160px;height:1px;margin-bottom:6px}.cert-sig .role{color:var(--text-secondary)}.cert-seal{width:84px;height:84px;position:relative}.cert-seal .ring{border:1px solid var(--accent-primary);border-radius:50%;position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.cert-seal .ring{border:1px solid color-mix(in oklab,var(--accent-primary) 60%,transparent)}}.cert-seal .ring-inner{border:1px dashed var(--accent-primary);border-radius:50%;position:absolute;inset:8px}@supports (color:color-mix(in lab,red,red)){.cert-seal .ring-inner{border:1px dashed color-mix(in oklab,var(--accent-primary) 40%,transparent)}}.cert-seal .seal-core{background:var(--gradient-cert);color:oklch(15% .02 254);font-family:var(--font-display);letter-spacing:-.02em;border-radius:50%;place-items:center;font-size:18px;font-weight:700;display:grid;position:absolute;inset:18px}.cert-seal .seal-text{animation:spin 24s linear infinite;position:absolute;inset:0}.cert-seal .seal-text text{font-family:var(--font-mono);fill:var(--text-muted);letter-spacing:.1em;font-size:7.5px}.certificate-page{padding:112px 0 96px}.cert-page-head{max-width:680px;margin-bottom:42px}.cert-page-head .eyebrow{margin-bottom:14px}.cert-page-head h1{letter-spacing:-.04em;margin-bottom:18px;font-size:clamp(2.5rem,6vw,4rem);line-height:1}.cert-page-head p,.certificate-form-panel p,.certificate-state-card p{color:var(--text-secondary);font-size:1rem;line-height:1.6}.certificate-workbench{grid-template-columns:minmax(0,1fr) minmax(320px,440px);align-items:start;gap:24px;display:grid}.certificate-panel,.certificate-state-card{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:14px}.certificate-panel{padding:28px}.certificate-meter{gap:16px;margin-bottom:28px;display:grid}.certificate-meter div{justify-content:space-between;align-items:end;gap:20px;display:flex}.certificate-facts span,.certificate-meter span{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem}.certificate-meter strong{font-family:var(--font-display);font-size:2.6rem;line-height:1}.certificate-meter i{background:var(--bg-primary);border-radius:999px;height:7px;overflow:hidden}.certificate-meter b{border-radius:inherit;background:var(--gradient-primary);height:100%;display:block}.certificate-checklist{gap:12px;list-style:none;display:grid}.certificate-checklist li{border:1px solid var(--border-color);background:var(--bg-primary);border-radius:10px;gap:12px;padding:13px 14px;display:flex}.certificate-checklist .tick{width:18px;height:18px;color:var(--accent-primary);flex:none}.certificate-checklist strong{color:var(--text-primary);font-family:var(--font-display);font-size:.95rem;display:block}.certificate-checklist small{color:var(--text-muted);font-family:var(--font-mono);margin-top:2px;font-size:.72rem;display:block}.certificate-form-panel{justify-items:start;gap:18px;display:grid}.certificate-form-panel h2,.certificate-state-card h1{letter-spacing:-.03em;font-size:clamp(1.7rem,4vw,2.4rem)}.cert-form-mark{border:1px solid var(--accent-primary);place-items:center;min-width:48px;height:34px;padding:0 10px;display:inline-grid}@supports (color:color-mix(in lab,red,red)){.cert-form-mark{border:1px solid color-mix(in oklab,var(--accent-primary) 35%,transparent)}}.cert-form-mark{color:var(--accent-primary);background:var(--accent-primary);border-radius:9px}@supports (color:color-mix(in lab,red,red)){.cert-form-mark{background:color-mix(in oklab,var(--accent-primary) 10%,transparent)}}.cert-form-mark{font-family:var(--font-mono);letter-spacing:.1em;font-size:.75rem}.cert-form-mark.is-locked{color:var(--text-muted);border-color:var(--border-color);background:var(--bg-primary)}.certificate-form{gap:10px;width:100%;display:grid}.certificate-form label{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem}.certificate-form input{border:1px solid var(--border-color);width:100%;height:44px;color:var(--text-primary);background:var(--bg-primary);font:inherit;border-radius:10px;outline:none;padding:0 13px}.certificate-form input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.certificate-form input:focus{box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-primary) 18%,transparent)}}.certificate-form .btn{justify-content:center;margin-top:8px}.certificate-error{color:var(--bad)!important;font-size:.82rem!important}.certificate-remaining{border:1px solid var(--border-color);background:var(--bg-primary);border-radius:10px;align-items:baseline;gap:10px;padding:12px 14px;display:flex}.certificate-remaining strong{font-family:var(--font-display);font-size:1.8rem;line-height:1}.certificate-remaining span{color:var(--text-muted)}.certificate-state-card{justify-items:start;gap:16px;max-width:620px;padding:36px;display:grid}.certificate-actions{justify-content:space-between;gap:14px;margin-bottom:26px;display:flex}.certificate-view-page{max-width:920px;margin:0 auto}.cert-card-full{aspect-ratio:auto;width:100%;min-height:auto;padding-bottom:100px}.certificate-facts{border:1px solid var(--border-color);background:var(--border-color);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:26px 0 10px;display:grid;overflow:hidden}.certificate-facts div{background:var(--bg-primary);gap:6px;padding:14px;display:grid}@supports (color:color-mix(in lab,red,red)){.certificate-facts div{background:color-mix(in oklab,var(--bg-primary) 70%,transparent)}}.certificate-facts strong{color:var(--text-primary);font-family:var(--font-mono);font-size:.82rem}.certificate-verify{color:var(--text-muted);justify-content:center;gap:8px;margin-top:18px;font-size:.75rem;display:flex}.certificate-verify svg{width:14px;height:14px;color:var(--accent-primary)}@media (max-width:900px){.certificate-facts,.certificate-workbench{grid-template-columns:1fr}.certificate-actions{flex-direction:column}}.open-access-panel{border:1px solid var(--border-color);background:linear-gradient(135deg,var(--accent-primary),transparent 34%),var(--bg-secondary);border-radius:16px;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.open-access-panel{background:linear-gradient(135deg,color-mix(in oklab,var(--accent-primary) 10%,transparent),transparent 34%),var(--bg-secondary)}}.open-access-ledger{border-bottom:1px solid var(--border-color);background:var(--bg-primary);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@supports (color:color-mix(in lab,red,red)){.open-access-ledger{background:color-mix(in oklab,var(--bg-primary) 56%,transparent)}}.open-access-ledger span{border-right:1px solid var(--border-color);min-height:46px;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;padding:0 18px;font-size:.6875rem;display:flex}.open-access-ledger span:last-child{border-right:0}.open-access-grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.open-card{border-right:1px solid var(--border-color);flex-direction:column;min-height:360px;padding:38px 34px 34px;display:flex}.open-card:last-child{border-right:0}.open-card-mark{border:1px solid var(--accent-primary);width:fit-content;margin-bottom:26px;padding:5px 8px}@supports (color:color-mix(in lab,red,red)){.open-card-mark{border:1px solid color-mix(in oklab,var(--accent-primary) 34%,transparent)}}.open-card-mark{color:var(--accent-primary);background:var(--accent-primary);border-radius:7px}@supports (color:color-mix(in lab,red,red)){.open-card-mark{background:color-mix(in oklab,var(--accent-primary) 10%,transparent)}}.open-card-mark{font-family:var(--font-mono);letter-spacing:.12em;font-size:.6875rem}.open-card h3{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:10px;font-size:1.45rem;font-weight:600}.open-card p{color:var(--text-secondary);text-wrap:pretty;font-size:.90625rem;line-height:1.62}.open-card ul{gap:12px;margin-top:auto;padding-top:28px;list-style:none;display:grid}.open-card li{color:var(--text-secondary);align-items:flex-start;gap:10px;font-size:.875rem;line-height:1.45;display:flex}.open-card .tick{width:16px;height:16px;color:var(--accent-primary);flex:none;margin-top:2px}.open-access-foot{border-top:1px solid var(--border-color);background:var(--bg-primary);justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;display:flex}@supports (color:color-mix(in lab,red,red)){.open-access-foot{background:color-mix(in oklab,var(--bg-primary) 42%,transparent)}}.open-access-foot{color:var(--text-secondary);font-size:.875rem}.open-access-foot a,.open-access-foot div{align-items:center;gap:10px;display:inline-flex}.open-access-foot a{color:var(--accent-primary);font-weight:600}.open-pulse{background:var(--accent-primary);width:8px;height:8px;box-shadow:0 0 10px var(--accent-glow);border-radius:50%}@media (max-width:960px){.open-access-grid,.open-access-ledger{grid-template-columns:1fr}.open-access-ledger span,.open-card{border-right:0;border-bottom:1px solid var(--border-color)}.open-card{min-height:auto}.open-access-foot{flex-direction:column;align-items:flex-start}}.cta-section{text-align:center;padding:140px 0 160px;position:relative;overflow:hidden}.cta-section:before{background:radial-gradient(circle,var(--accent-primary),transparent 55%);opacity:.13;filter:blur(40px);width:900px;height:900px;top:50%;left:50%;transform:translate(-50%,-50%)}.cta-section:after,.cta-section:before{content:"";pointer-events:none;position:absolute}.cta-section:after{background-image:radial-gradient(var(--grid-dot) 1px,transparent 1px);background-size:28px 28px;inset:0;-webkit-mask-image:radial-gradient(50% 60%,#000 0,#0000 80%);mask-image:radial-gradient(50% 60%,#000 0,#0000 80%)}.cta-section .shell{z-index:1;position:relative}.cta-section h2{font-family:var(--font-display);letter-spacing:-.035em;max-width:14ch;margin-bottom:24px;margin-left:auto;margin-right:auto;font-size:clamp(40px,5.5vw,76px);font-weight:500;line-height:1}.cta-section h2 em{background:var(--gradient-text);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:italic;font-weight:400}.cta-section p{max-width:50ch;color:var(--text-secondary);margin:0 auto 40px;font-size:17px}.footer{border-top:1px solid var(--border-color);padding:64px 0 0}.footer-main{grid-template-columns:1.6fr 1fr 1fr 1fr 1.8fr;gap:48px;padding-bottom:56px;display:grid}@media (max-width:1100px){.footer-main{grid-template-columns:1fr 1fr 1fr}.footer-brand,.footer-newsletter{grid-column:1/-1}}@media (max-width:640px){.footer-main{grid-template-columns:1fr 1fr;gap:32px}.footer-brand,.footer-newsletter{grid-column:1/-1}}.footer-brand{flex-direction:column;gap:16px;display:flex}.footer-logo{font-size:16px!important}.footer-tagline{color:var(--text-secondary);max-width:28ch;font-size:13.5px;line-height:1.55}.footer-badges{flex-wrap:wrap;gap:8px;display:flex}.footer-badge{letter-spacing:.06em;color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:100px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;display:inline-flex}.footer-badge-live{color:var(--text-secondary)}.footer-badge-dot{background:var(--accent-primary);width:5px;height:5px;box-shadow:0 0 6px var(--accent-glow);border-radius:50%}.footer-nav-group{flex-direction:column;gap:16px;display:flex}.footer-col-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:11px}.footer-col-links{flex-direction:column;gap:10px;list-style:none;display:flex}.footer-col-links a{color:var(--text-secondary);font-size:14px;transition:color .15s}.footer-col-links a:hover{color:var(--text-primary)}.footer-newsletter{flex-direction:column;gap:16px;display:flex}.footer-nl-desc{color:var(--text-secondary);max-width:30ch;font-size:13.5px;line-height:1.55}.footer-nl-form{flex-wrap:wrap;gap:8px;display:flex}.footer-nl-input{letter-spacing:.02em;background:var(--bg-secondary);border:1px solid var(--border-color);min-width:160px;height:38px;color:var(--text-primary);border-radius:8px;outline:none;flex:1;padding:0 12px;font-size:12px;transition:border-color .2s}.footer-nl-input::placeholder{color:var(--text-muted)}.footer-nl-input:focus{border-color:var(--accent-primary)}.footer-nl-btn{white-space:nowrap;border-radius:8px!important;height:38px!important;padding:0 16px!important;font-size:13px!important}.footer-bottom{border-top:1px solid var(--border-soft);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 0 24px;font-size:12px;display:flex}.footer-coffee{transition:color .15s}.footer-coffee:hover{color:var(--text-primary)}.footer-built{letter-spacing:.05em;font-size:11px}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes bar{0%{transform:scaleX(0)}}@keyframes pulse{50%{opacity:.5}}@keyframes pulse-fade{0%,to{opacity:.5}50%{opacity:1}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes packet-wire-travel{0%{transform-origin:0;opacity:.4;transform:scaleX(0)}60%{transform-origin:0;opacity:1;transform:scaleX(1)}to{opacity:1;transform:scaleX(1)}}.reading-progress{background:var(--gradient-primary);z-index:100;width:0;height:2px;box-shadow:0 0 10px var(--accent-glow);transition:width 80ms linear;position:fixed;top:0;left:0}.lesson-page{padding-top:100px;padding-bottom:120px}.lesson-layout{grid-template-columns:220px minmax(0,1fr) 200px;align-items:start;gap:40px;display:grid}@media (max-width:1180px){.lesson-layout{grid-template-columns:minmax(0,1fr) 220px}.toc-left{display:none}}@media (max-width:880px){.lesson-layout{grid-template-columns:minmax(0,1fr);gap:0}.toc-right{display:none}}.toc-left{align-self:start;font-size:13px;position:sticky;top:96px}.toc-left .level-pill{border:1px solid var(--accent-primary);border-radius:7px;align-items:center;gap:8px;padding:4px 9px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.toc-left .level-pill{border:1px solid color-mix(in oklab,var(--accent-primary) 30%,transparent)}}.toc-left .level-pill{background:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.toc-left .level-pill{background:color-mix(in oklab,var(--accent-primary) 12%,transparent)}}.toc-left .level-pill{color:var(--accent-primary);font-family:var(--font-mono);letter-spacing:.04em;margin-bottom:16px;font-size:11px;font-weight:600}.toc-left .toc-level-title{font-family:var(--font-display);letter-spacing:-.015em;margin-bottom:4px;font-size:18px;font-weight:500}.toc-left .toc-level-meta{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.05em;margin-bottom:24px;font-size:11px}.toc-left .lesson-list{flex-direction:column;gap:2px;list-style:none;display:flex;position:relative}.toc-left .lesson-list:before{content:"";background:var(--border-color);width:1px;position:absolute;top:4px;bottom:4px;left:9px}.toc-left .lesson-list a{color:var(--text-secondary);align-items:center;gap:10px;padding:6px 0 6px 26px;line-height:1.4;transition:color .2s;display:flex;position:relative}.toc-left .lesson-list a:hover{color:var(--text-primary)}.toc-left .lesson-list a:before{content:"";background:var(--bg-primary);border:1px solid var(--border-color);border-radius:50%;width:5px;height:5px;position:absolute;top:12px;left:7px}.toc-left .lesson-list a.current{color:var(--text-primary);font-weight:500}.toc-left .lesson-list a.current:before{background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.toc-left .lesson-list a.current:before{box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-primary) 25%,transparent)}}.toc-left .lesson-list .num{font-family:var(--font-mono);color:var(--text-muted);min-width:22px;font-size:11px}.lesson-body{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;min-width:0;padding:48px 40px;position:relative}.lesson-breadcrumb{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.08em;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:28px;font-size:11.5px;display:flex}.lesson-breadcrumb a{color:var(--text-muted);transition:color .2s}.lesson-breadcrumb a:hover{color:var(--text-primary)}.lesson-breadcrumb .sep{color:var(--border-color)}.lesson-breadcrumb .here{color:var(--text-primary)}.lesson-tag{border:1px solid var(--accent-primary);border-radius:100px;align-items:center;gap:8px;padding:5px 11px 5px 8px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.lesson-tag{border:1px solid color-mix(in oklab,var(--accent-primary) 30%,transparent)}}.lesson-tag{background:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.lesson-tag{background:color-mix(in oklab,var(--accent-primary) 10%,transparent)}}.lesson-tag{color:var(--accent-primary);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:24px;font-size:11px;font-weight:600}.lesson-tag:before{content:"";background:var(--accent-primary);width:6px;height:6px;box-shadow:0 0 8px var(--accent-glow);border-radius:50%}.lesson-title{font-family:var(--font-display);letter-spacing:-.03em;max-width:18ch;margin-bottom:20px;font-size:clamp(40px,5vw,64px);font-weight:500;line-height:1.02}.lesson-lede{color:var(--text-secondary);text-wrap:pretty;max-width:56ch;margin-bottom:36px;font-size:19px;line-height:1.5}.meta-strip{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:12px;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:56px;display:grid}@media (max-width:720px){.meta-strip{grid-template-columns:repeat(2,1fr)}}.meta-cell{border-right:1px solid var(--border-color);padding:16px 20px}@media (min-width:721px){.meta-cell:last-child{border-right:none}}@media (max-width:720px){.meta-cell:nth-child(2n){border-right:none}.meta-cell:nth-child(-n+2){border-bottom:1px solid var(--border-color)}}.meta-label{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:6px;font-size:10px;display:flex}.meta-value{font-family:var(--font-display);letter-spacing:-.01em;align-items:baseline;gap:4px;font-size:18px;font-weight:500;display:flex}.meta-value .unit{color:var(--text-muted);font-size:12px;font-weight:400;font-family:var(--font-body);letter-spacing:0}.meta-value.accent{color:var(--accent-primary)}.meta-progress{align-items:center;gap:10px;display:flex}.prose{color:var(--text-secondary);max-width:68ch;font-size:17px;line-height:1.65}.prose>*+*{margin-top:1.1em}.prose strong{font-weight:600}.prose em,.prose strong{color:var(--text-primary)}.prose em{font-style:italic}.prose code{font-family:var(--font-mono);background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:5px;padding:2px 6px;font-size:.92em}.prose a{color:var(--accent-primary);border-bottom:1px solid var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.prose a{border-bottom:1px solid color-mix(in oklab,var(--accent-primary) 40%,transparent)}}.prose a:hover{border-bottom-color:var(--accent-primary)}.prose ol,.prose ul{color:var(--text-secondary);padding-left:1.5rem}.prose li{margin-bottom:6px}.prose blockquote{border-left:3px solid var(--accent-primary);color:var(--text-secondary);padding-left:18px;font-style:italic}.lesson-h2{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);align-items:baseline;gap:12px;margin:64px 0 8px;scroll-margin-top:100px;font-size:clamp(26px,2.4vw,32px);font-weight:500;line-height:1.15;display:flex}.lesson-h2 .h2-num{font-family:var(--font-mono);color:var(--accent-primary);letter-spacing:.08em;flex-shrink:0;font-size:13px;font-weight:500}.h2-sub{color:var(--text-muted);margin-bottom:28px;font-size:15px}.lesson-h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-primary);margin:32px 0 8px;font-size:1.125rem;font-weight:500}.callout{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:12px;grid-template-columns:36px 1fr;gap:16px;margin:32px 0;padding:22px 24px 22px 22px;display:grid;position:relative}.callout:before{content:"";background:var(--accent-primary);border-radius:2px 0 0 2px;width:2px;position:absolute;top:0;bottom:0;left:0}.callout-title{font-family:var(--font-mono);color:var(--accent-primary);letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:600}.callout-body{color:var(--text-secondary);font-size:15px;line-height:1.55}.callout-body strong{color:var(--text-primary);font-weight:600}.codeblock{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:10px;margin:24px 0;overflow:hidden}.codeblock-head{border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.08em;justify-content:space-between;align-items:center;padding:10px 14px;font-size:11px;display:flex}.codeblock pre{font-family:var(--font-mono);color:var(--text-primary);margin:0;padding:16px 18px;font-size:13px;line-height:1.6;overflow-x:auto}.codeblock pre code{font-size:inherit;color:inherit;background:0 0;border:none;border-radius:0;padding:0}.compare{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:12px;width:100%;margin:28px 0;overflow:hidden}.compare table{border-collapse:collapse;width:100%}.compare td,.compare th{text-align:left;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);color:var(--text-secondary);padding:14px 18px;font-size:14px}.compare td:last-child,.compare th:last-child{border-right:none}.compare tr:last-child td{border-bottom:none}.compare thead th{background:var(--bg-tertiary);font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:500}.compare td strong{color:var(--text-primary);font-weight:600}.compare code{font-family:var(--font-mono);background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:4px;padding:2px 5px;font-size:.88em}.prose .tool-cta,.tool-cta{border-bottom:1px solid var(--border-color);border:1px solid var(--border-color);background:var(--bg-secondary);color:inherit;border-radius:12px;grid-template-columns:44px 1fr auto;align-items:center;gap:16px;margin:30px 0;padding:18px 20px;transition:border-color .2s,transform .2s,box-shadow .2s;display:grid;position:relative;overflow:hidden}.tool-cta:before{content:"";background:var(--accent-primary);width:2px;position:absolute;top:0;bottom:0;left:0}.prose .tool-cta:hover,.tool-cta:hover{border-color:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.prose .tool-cta:hover,.tool-cta:hover{border-color:color-mix(in oklab,var(--accent-primary) 45%,var(--border-color))}}.prose .tool-cta:hover,.tool-cta:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.tool-cta-icon{width:44px;height:44px;color:var(--accent-primary);background:var(--accent-primary);border-radius:10px;justify-content:center;align-items:center;display:flex}@supports (color:color-mix(in lab,red,red)){.tool-cta-icon{background:color-mix(in oklab,var(--accent-primary) 12%,transparent)}}.tool-cta-icon{border:1px solid var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.tool-cta-icon{border:1px solid color-mix(in oklab,var(--accent-primary) 25%,transparent)}}.tool-cta-body{flex-direction:column;gap:3px;min-width:0;display:flex}.tool-cta-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-primary);font-size:10px;font-weight:600}.tool-cta-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-primary);font-size:17px;font-weight:500}.tool-cta-note{color:var(--text-secondary);font-size:13.5px;line-height:1.5}.tool-cta-action{letter-spacing:.04em;color:var(--accent-primary);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.tool-cta-action svg{transition:transform .2s}.tool-cta:hover .tool-cta-action svg{transform:translate(3px)}@media (max-width:640px){.tool-cta{grid-template-columns:44px 1fr}.tool-cta-action{display:none}}.lesson-embed{margin:30px 0}.lesson-embed .terminal-tool{grid-template-columns:1fr;gap:16px}.lesson-embed .terminal-guide{position:static}.quiz-player{max-width:68ch}.quiz-progress{gap:4px;margin-bottom:30px;display:flex}.quiz-progress span{background:var(--bg-tertiary);border-radius:2px;flex:1;height:3px;transition:background .25s}.quiz-progress span.active{background:var(--accent-primary)}.quiz-progress span.hit{background:var(--ok)}.quiz-progress span.miss{background:var(--bad)}.quiz-count{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-primary);margin-bottom:12px;font-size:11px;font-weight:600}.quiz-question{font-family:var(--font-display);letter-spacing:-.015em;color:var(--text-primary);margin-bottom:26px;font-size:clamp(21px,2.3vw,27px);font-weight:500;line-height:1.25}.quiz-options{flex-direction:column;gap:10px;display:flex}.quiz-option{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:14px;padding:13px 16px;font-size:15.5px;line-height:1.4;transition:border-color .15s,color .15s,background .15s,opacity .15s;display:flex}.quiz-option:hover:not(:disabled){border-color:var(--text-muted);color:var(--text-primary)}.quiz-option .key{border:1px solid var(--border-color);background:var(--bg-tertiary);width:24px;height:24px;color:var(--text-muted);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;transition:inherit;display:inline-flex}.quiz-option.correct{border-color:var(--ok)}@supports (color:color-mix(in lab,red,red)){.quiz-option.correct{border-color:color-mix(in oklab,var(--ok) 55%,transparent)}}.quiz-option.correct{background:var(--ok)}@supports (color:color-mix(in lab,red,red)){.quiz-option.correct{background:color-mix(in oklab,var(--ok) 10%,var(--bg-secondary))}}.quiz-option.correct{color:var(--text-primary)}.quiz-option.correct .key{background:var(--ok);border-color:var(--ok);color:oklch(15% .02 150)}.quiz-option.wrong{border-color:var(--bad)}@supports (color:color-mix(in lab,red,red)){.quiz-option.wrong{border-color:color-mix(in oklab,var(--bad) 55%,transparent)}}.quiz-option.wrong{background:var(--bad)}@supports (color:color-mix(in lab,red,red)){.quiz-option.wrong{background:color-mix(in oklab,var(--bad) 10%,var(--bg-secondary))}}.quiz-option.wrong{color:var(--text-primary)}.quiz-option.wrong .key{background:var(--bad);border-color:var(--bad);color:oklch(98% .01 25)}.quiz-option.dim{opacity:.45}.quiz-option:disabled{cursor:default}.quiz-feedback{color:var(--text-secondary);margin-top:20px;font-size:14.5px;line-height:1.55}.quiz-feedback strong{font-weight:600}.quiz-feedback.ok strong{color:var(--ok)}.quiz-feedback.bad strong{color:var(--bad)}.quiz-feedback em{color:var(--text-primary);font-style:normal;font-weight:500}.quiz-actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.quiz-actions .btn:disabled{opacity:.4;cursor:default;transform:none}.quiz-score{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-primary);margin-bottom:14px;font-size:clamp(56px,7vw,84px);font-weight:500;line-height:1}.quiz-score-total{color:var(--text-muted);margin-left:6px;font-size:.42em}.quiz-verdict{color:var(--text-secondary);max-width:46ch;font-size:16.5px;line-height:1.55}.quiz-dots{gap:6px;margin:22px 0 4px;display:flex}.quiz-dots span{border-radius:50%;width:10px;height:10px}.quiz-dots span.hit{background:var(--ok)}.quiz-dots span.miss{background:var(--bad)}.lesson-nav{border-top:1px solid var(--border-color);grid-template-columns:1fr 1fr;gap:16px;margin-top:56px;padding-top:32px;display:grid}@media (max-width:640px){.lesson-nav{grid-template-columns:1fr}}.nav-card{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:12px;padding:18px 22px;transition:border-color .2s,transform .2s;display:block}.nav-card:hover{border-color:var(--text-muted);transform:translateY(-2px)}.nav-card.next{text-align:right}.nav-card .nav-dir{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:6px;font-size:11px;display:flex}.nav-card.next .nav-dir{justify-content:flex-end}.nav-card .nav-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-primary);font-size:16px;font-weight:500}.toc-right{align-self:start;font-size:13px;position:sticky;top:96px}.toc-right .toc-label{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--border-soft);margin-bottom:14px;padding-bottom:12px;font-size:10px}.toc-right ul{flex-direction:column;gap:8px;list-style:none;display:flex}.toc-right a{color:var(--text-muted);border-left:1px solid #0000;margin-left:-12px;padding:2px 0 2px 12px;line-height:1.4;transition:color .2s,border-color .2s;display:block}.toc-right a.active,.toc-right a:hover{color:var(--text-primary)}.toc-right a.active{border-left-color:var(--accent-primary)}.levels-page{padding-top:96px;padding-bottom:80px}.levels-page-hero{margin-bottom:56px}.levels-page-title{font-family:var(--font-display);letter-spacing:-.035em;color:var(--text-primary);margin-block:0 24px;font-size:clamp(2.75rem,6vw,4rem);font-weight:600;line-height:1}.levels-page-sub{color:var(--text-secondary);max-width:680px;font-size:1.125rem;line-height:1.55}.levels-list{border-top:1px solid var(--border-color);flex-direction:column;display:flex}.level-row{border-bottom:1px solid var(--border-color);grid-template-columns:80px 1fr 1.4fr;align-items:start;gap:0 2rem;padding-block:40px;display:grid}.level-num-bg{font-family:var(--font-display);letter-spacing:-.04em;color:var(--accent-primary);opacity:.4;-webkit-user-select:none;user-select:none;font-size:3rem;font-weight:500;line-height:1}.level-meta-row{align-items:center;gap:8px;margin-bottom:10px;display:flex}.level-meta-label{font-family:var(--font-mono);color:var(--text-muted);font-size:.6875rem}.level-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);margin-block:0 12px;font-size:1.875rem;font-weight:600;line-height:1.1}.level-desc{color:var(--text-secondary);margin-bottom:18px;font-size:.90625rem;line-height:1.6}.level-cta{font-size:.875rem}.level-lessons-panel{background:var(--border-color);border:1px solid var(--border-color);border-radius:6px;flex-direction:column;gap:1px;display:flex;overflow:hidden}.level-lesson-item{background:var(--bg-secondary);cursor:pointer;align-items:center;gap:14px;padding:10px 14px;font-size:.84375rem;transition:background .1s;display:flex}.level-lesson-item:hover{background:var(--bg-tertiary)}.lesson-num{font-family:var(--font-mono);color:var(--text-muted);min-width:1.5rem;font-size:.6875rem}.lesson-title-text{color:var(--text-primary);flex:1;line-height:1.35}.lesson-type-badge{font-family:var(--font-mono);letter-spacing:.05em;white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:.2rem .5rem;font-size:.625rem;font-weight:600}.lesson-type-lesson{color:oklch(65% .14 240);background:oklch(55% .14 240/.14);border-color:oklch(55% .14 240/.28)}.lesson-type-simulation{color:oklch(68% .18 145);background:oklch(58% .18 145/.14);border-color:oklch(58% .18 145/.28)}.lesson-type-quiz{color:oklch(66% .15 300);background:oklch(56% .15 300/.14);border-color:oklch(56% .15 300/.28)}.lesson-type-dragdrop{color:oklch(67% .16 40);background:oklch(57% .16 40/.14);border-color:oklch(57% .16 40/.28)}.lesson-type-terminal{color:oklch(66% .12 150);background:oklch(56% .12 150/.14);border-color:oklch(56% .12 150/.28)}@media (max-width:960px){.level-row{grid-template-rows:auto auto;grid-template-columns:60px 1fr}.level-lessons-panel{grid-column:1/-1;margin-top:24px}}@media (max-width:600px){.level-row{grid-template-columns:1fr}.level-num-bg{display:none}}.levels-stats{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.stat-chip{font-family:var(--font-mono);letter-spacing:.03em;color:var(--text-secondary);border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:999px;padding:6px 12px;font-size:11.5px}.stat-chip-link{color:var(--accent-primary);border-color:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.stat-chip-link{border-color:color-mix(in oklab,var(--accent-primary) 30%,transparent)}}.stat-chip-link{transition:border-color .2s,background .2s}.stat-chip-link:hover{border-color:var(--accent-primary);background:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.stat-chip-link:hover{background:color-mix(in oklab,var(--accent-primary) 10%,transparent)}}.resume-cta{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);border-radius:10px;align-items:center;gap:10px;margin-top:24px;padding:11px 16px;font-size:13.5px;transition:border-color .2s,transform .2s;display:inline-flex}.resume-cta:hover{border-color:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.resume-cta:hover{border-color:color-mix(in oklab,var(--accent-primary) 45%,var(--border-color))}}.resume-cta:hover{transform:translateY(-1px)}.resume-cta strong{color:var(--text-primary);font-weight:600}.resume-cta svg{color:var(--accent-primary);flex-shrink:0}.resume-dot{background:var(--accent-primary);width:7px;height:7px;box-shadow:0 0 8px var(--accent-glow);border-radius:50%;flex-shrink:0}.level-progress{align-items:center;gap:10px;max-width:240px;min-height:14px;margin-bottom:14px;display:flex}.level-progress-bar{background:var(--bg-tertiary);border-radius:2px;flex:1;height:3px;overflow:hidden}.level-progress-bar span{background:var(--accent-primary);border-radius:2px;height:100%;transition:width .4s;display:block}.level-progress.complete .level-progress-bar span{background:var(--ok)}.level-progress-text{color:var(--text-muted);letter-spacing:.04em;white-space:nowrap;font-size:10.5px}.level-progress.complete .level-progress-text{color:var(--ok)}.lesson-done-check{color:var(--ok);flex-shrink:0;align-items:center;display:inline-flex}.level-lesson-item.done .lesson-num{color:var(--ok)}.lesson-quiz-score{color:var(--ok);letter-spacing:.04em;flex-shrink:0;font-size:10.5px}.toc-left .lesson-list a.done:before{background:var(--ok);border-color:var(--ok)}.toc-left .lesson-list a.done .num{color:var(--ok)}.sandbox-page,.sandbox-tool-page{padding-top:96px;padding-bottom:88px}.sandbox-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;margin-bottom:52px;display:grid}.sandbox-hero .eyebrow,.sandbox-tool-hero .eyebrow{margin-bottom:14px}.sandbox-hero h1{letter-spacing:-.04em;margin-bottom:18px;font-size:clamp(2.75rem,6vw,4.75rem)}.sandbox-hero p,.sandbox-tool-hero p{max-width:680px;color:var(--text-secondary);font-size:1.0625rem;line-height:1.58}.sandbox-kicker{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem}.sandbox-grid{border:1px solid var(--border-color);background:var(--border-color);border-radius:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1px;display:grid;overflow:hidden}.sandbox-card{background:var(--bg-secondary);flex-direction:column;justify-content:space-between;gap:24px;min-height:260px;padding:24px;transition:background .18s,transform .18s;display:flex}.sandbox-card:hover{background:var(--bg-tertiary);transform:translateY(-2px)}.sandbox-card.is-planned{opacity:.78}.sandbox-card.is-live{background:linear-gradient(180deg,var(--accent-primary),transparent 42%),var(--bg-secondary)}@supports (color:color-mix(in lab,red,red)){.sandbox-card.is-live{background:linear-gradient(180deg,color-mix(in oklab,var(--accent-primary) 9%,transparent),transparent 42%),var(--bg-secondary)}}.sandbox-card-foot,.sandbox-card-top{justify-content:space-between;align-items:center;gap:16px;display:flex}.sandbox-card-top svg,.sandbox-tool-icon svg{color:var(--accent-primary)}.sandbox-card-body h2{margin:10px 0 9px;font-size:1.25rem}.sandbox-card-body p{color:var(--text-secondary);font-size:.90625rem;line-height:1.58}.sandbox-card-foot{color:var(--text-muted);font-size:.75rem}.sandbox-card-foot .mono{font-size:.6875rem}.sandbox-breadcrumb{color:var(--text-muted);font-family:var(--font-mono);align-items:center;gap:8px;margin-bottom:32px;font-size:.8125rem;display:flex}.sandbox-breadcrumb a{color:var(--text-secondary)}.sandbox-breadcrumb span:last-child{color:var(--text-primary)}.sandbox-tool-hero{border-bottom:1px solid var(--border-color);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:22px;margin-bottom:36px;padding-bottom:32px;display:grid}.sandbox-tool-icon{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:14px;place-items:center;width:58px;height:58px;display:grid}.sandbox-tool-hero h1{letter-spacing:-.035em;margin-bottom:14px;font-size:clamp(2.25rem,5vw,4rem)}.sandbox-tool-note{color:var(--text-secondary);font-size:.9375rem;line-height:1.6}.sandbox-empty{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:14px;max-width:720px;padding:40px}.sandbox-empty-mark{border:1px solid var(--accent-primary);border-radius:9px;width:34px;height:34px;margin-bottom:18px;display:block}@supports (color:color-mix(in lab,red,red)){.sandbox-empty-mark{border:1px solid color-mix(in oklab,var(--accent-primary) 40%,transparent)}}.sandbox-empty-mark{background:linear-gradient(90deg,transparent 47%,var(--accent-primary) 47% 53%,transparent 53%),linear-gradient(0deg,transparent 47%,var(--accent-primary) 47% 53%,transparent 53%),var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.sandbox-empty-mark{background:linear-gradient(90deg,transparent 47%,var(--accent-primary) 47% 53%,transparent 53%),linear-gradient(0deg,transparent 47%,var(--accent-primary) 47% 53%,transparent 53%),color-mix(in oklab,var(--accent-primary) 9%,transparent)}}.sandbox-empty h2{margin-bottom:10px;font-size:1.5rem}.sandbox-empty p{max-width:560px;color:var(--text-secondary);margin-bottom:24px;line-height:1.6}.cheat-sheet{grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.cheat-index{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:14px;padding:24px;position:sticky;top:96px}.cheat-index nav{border:1px solid var(--border-color);background:var(--border-color);border-radius:10px;gap:1px;margin-top:22px;display:grid;overflow:hidden}.cheat-index a{color:var(--text-secondary);background:var(--bg-primary);align-items:center;gap:12px;padding:12px 13px;font-size:.875rem;transition:color .15s,background .15s;display:flex}.cheat-index a:hover{color:var(--text-primary);background:var(--bg-tertiary)}.cheat-index a span{min-width:22px;color:var(--accent-primary);font-family:var(--font-mono);font-size:.6875rem}.cheat-content{gap:18px;display:grid}.cheat-block{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:14px;scroll-margin-top:112px;overflow:hidden}.cheat-block-head{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:end;gap:16px;padding:20px 22px;display:flex}.cheat-block-head h2{font-size:clamp(1.25rem,2.5vw,1.7rem)}.cheat-table-wrap{overflow-x:auto}.cheat-table{border-collapse:collapse;width:100%;min-width:680px}.cheat-table td,.cheat-table th{text-align:left;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);color:var(--text-secondary);vertical-align:top;padding:13px 16px;font-size:.875rem}.cheat-table td:last-child,.cheat-table th:last-child{border-right:0}.cheat-table tr:last-child td{border-bottom:0}.cheat-table th{color:var(--text-muted);background:var(--bg-primary);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem;font-weight:500}.cheat-table strong{color:var(--text-primary);font-weight:600}.cheat-table code{border:1px solid var(--border-color);max-width:100%;color:var(--text-primary);background:var(--bg-primary);font-family:var(--font-mono);overflow-wrap:anywhere;border-radius:6px;padding:3px 6px;font-size:.8125rem;display:inline-block}.glossary-tool{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.glossary-controls{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:14px;padding:24px;position:sticky;top:96px}.glossary-search{gap:10px;margin-top:22px;display:grid}.glossary-search span{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem}.glossary-search input{border:1px solid var(--border-color);width:100%;height:44px;color:var(--text-primary);background:var(--bg-primary);font-family:var(--font-mono);border-radius:9px;outline:none;padding:0 13px;font-size:.875rem;transition:border-color .18s,box-shadow .18s}.glossary-search input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.glossary-search input:focus{box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-primary) 18%,transparent)}}.glossary-categories{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.glossary-categories button{border:1px solid var(--border-color);height:30px;color:var(--text-secondary);background:var(--bg-primary);font-family:var(--font-mono);border-radius:999px;padding:0 10px;font-size:.75rem}.glossary-categories button.active,.glossary-categories button:hover{color:var(--accent-primary);border-color:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.glossary-categories button.active,.glossary-categories button:hover{border-color:color-mix(in oklab,var(--accent-primary) 42%,transparent)}}.glossary-count{border-top:1px solid var(--border-color);align-items:baseline;gap:9px;margin-top:24px;padding-top:20px;display:flex}.glossary-count strong{font-family:var(--font-display);font-size:2rem;line-height:1}.glossary-count span{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem}.glossary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.glossary-card,.glossary-empty{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:14px}.glossary-card{flex-direction:column;gap:16px;min-height:260px;padding:22px;transition:background .16s,transform .16s;display:flex}.glossary-card:hover{background:var(--bg-tertiary);transform:translateY(-2px)}.glossary-card-head h2{letter-spacing:-.03em;margin-top:8px;font-size:1.45rem}.glossary-card>p{color:var(--text-secondary);font-size:.9375rem;line-height:1.58}.glossary-aliases,.glossary-example{gap:9px;margin-top:auto;display:grid}.glossary-aliases+.glossary-example{margin-top:0}.glossary-aliases>span,.glossary-example>span{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem}.glossary-aliases div{flex-wrap:wrap;gap:7px;display:flex}.glossary-aliases code{border:1px solid var(--border-color);color:var(--text-primary);background:var(--bg-primary);font-family:var(--font-mono);border-radius:7px;padding:4px 7px;font-size:.75rem}.glossary-example{border-top:1px solid var(--border-color);padding-top:15px}.glossary-example p{color:var(--text-secondary);font-size:.875rem;line-height:1.55}.glossary-empty{color:var(--text-secondary);grid-column:1/-1;padding:32px}.terminal-tool{grid-template-columns:minmax(250px,330px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.terminal-guide{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:14px;padding:24px;position:sticky;top:96px}.terminal-examples{gap:10px;margin-top:22px;display:grid}.terminal-examples>span{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem}.terminal-examples div{gap:8px;display:grid}.terminal-clear,.terminal-examples button{border:1px solid var(--border-color);min-height:34px;color:var(--text-secondary);background:var(--bg-primary);font-family:var(--font-mono);text-align:left;border-radius:8px;padding:8px 10px;font-size:.75rem;transition:color .15s,border-color .15s,background .15s}.terminal-clear:hover,.terminal-examples button:hover{color:var(--text-primary);border-color:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.terminal-clear:hover,.terminal-examples button:hover{border-color:color-mix(in oklab,var(--accent-primary) 38%,transparent)}}.terminal-clear:hover,.terminal-examples button:hover{background:var(--bg-tertiary)}.terminal-clear{text-align:center;width:100%;margin-top:18px}.terminal-window{border:1px solid var(--border-color);background:var(--bg-primary);box-shadow:var(--shadow-lift);border-radius:14px;overflow:hidden}.terminal-window-head{border-bottom:1px solid var(--border-color);background:var(--bg-secondary);align-items:center;gap:8px;height:42px;padding:0 14px;display:flex}.terminal-window-head span{border:1px solid var(--border-color);background:var(--bg-tertiary);border-radius:50%;width:10px;height:10px}.terminal-window-head strong{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin-left:8px;font-size:.6875rem;font-weight:500}.terminal-screen{background:linear-gradient(180deg,var(--accent-primary),transparent 220px),var(--bg-primary);min-height:560px;max-height:680px;padding:20px;overflow:auto}@supports (color:color-mix(in lab,red,red)){.terminal-screen{background:linear-gradient(180deg,color-mix(in oklab,var(--accent-primary) 5%,transparent),transparent 220px),var(--bg-primary)}}.terminal-line{color:var(--text-secondary);font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.8125rem;line-height:1.58}.terminal-line-input{color:var(--text-primary);margin-top:12px}.terminal-line-system{color:var(--text-muted)}.terminal-line-error{color:var(--accent-primary)}.terminal-input-row{border-top:1px solid var(--border-color);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:16px;padding-top:16px;display:grid}.terminal-input-row label{color:var(--accent-primary);font-family:var(--font-mono);white-space:nowrap;font-size:.8125rem}.terminal-input-row input{min-width:0;color:var(--text-primary);font-family:var(--font-mono);background:0 0;border:0;outline:0;font-size:.875rem}.terminal-input-row button{border:1px solid var(--border-color);height:30px;color:var(--text-secondary);background:var(--bg-secondary);font-family:var(--font-mono);border-radius:8px;padding:0 12px;font-size:.75rem}.terminal-input-row button:hover{color:var(--text-primary);border-color:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.terminal-input-row button:hover{border-color:color-mix(in oklab,var(--accent-primary) 38%,transparent)}}.ping-tool{grid-template-columns:minmax(250px,330px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.ping-controls,.ping-panel,.trace-panel{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:14px}.ping-controls{padding:24px;position:sticky;top:96px}.ping-destinations{gap:10px;margin-top:22px;display:grid}.ping-destinations>span{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem}.ping-destinations button{border:1px solid var(--border-color);color:var(--text-secondary);background:var(--bg-primary);text-align:left;border-radius:10px;gap:4px;padding:12px;transition:color .15s,border-color .15s,background .15s;display:grid}.ping-destinations button.active,.ping-destinations button:hover{color:var(--text-primary);border-color:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.ping-destinations button.active,.ping-destinations button:hover{border-color:color-mix(in oklab,var(--accent-primary) 42%,transparent)}}.ping-destinations button.active,.ping-destinations button:hover{background:var(--bg-tertiary)}.ping-destinations strong{font-family:var(--font-display);font-size:1rem;font-weight:600}.ping-destinations small{color:var(--text-muted);font-family:var(--font-mono);font-size:.75rem}.ping-results{gap:16px;display:grid}.ping-summary{border:1px solid var(--border-color);background:var(--border-color);border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.ping-summary div{background:var(--bg-secondary);padding:18px 20px}.ping-summary span{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-size:.6875rem;display:block}.ping-summary strong{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(1.35rem,3vw,2rem);line-height:1}.ping-panel,.trace-panel{overflow:hidden}.ping-panel-head{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:end;gap:16px;padding:20px 22px;display:flex}.ping-panel-head h2{overflow-wrap:anywhere;font-size:clamp(1.25rem,2.5vw,1.7rem)}.ping-table{display:grid}.ping-table-head,.ping-table>div:not(.ping-table-head){border-bottom:1px solid var(--border-color);grid-template-columns:1fr 1.4fr .7fr;align-items:center;gap:14px;padding:13px 18px;display:grid}.ping-table-head{color:var(--text-muted);background:var(--bg-primary);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem}.ping-table>div:last-child{border-bottom:0}.ping-table>div:not(.ping-table-head) span{color:var(--text-secondary);font-family:var(--font-mono);font-size:.8125rem}.ping-table strong{color:var(--text-primary);font-family:var(--font-mono);font-size:.8125rem}.ping-table .is-lost span,.ping-table .is-lost strong{color:var(--text-muted)}.trace-list{list-style:none;display:grid}.trace-list li{border-bottom:1px solid var(--border-color);grid-template-columns:42px minmax(0,1fr) 110px 80px;align-items:center;gap:14px;padding:15px 18px;display:grid}.trace-list li:last-child{border-bottom:0}.trace-hop-num{color:var(--accent-primary);font-family:var(--font-mono);font-size:.75rem}.trace-list strong{color:var(--text-primary);font-family:var(--font-display);margin-bottom:3px;font-size:1rem;display:block}.trace-list code{color:var(--text-muted)}.trace-list code,.trace-role,.trace-time{font-family:var(--font-mono);font-size:.75rem}.trace-role,.trace-time{color:var(--text-secondary)}.trace-time{text-align:right;color:var(--text-primary)}.builder-tool,.packet-tool{grid-template-columns:minmax(250px,330px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.builder-controls,.builder-path,.packet-notes,.packet-panel{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:14px}.builder-controls,.packet-notes{padding:24px;position:sticky;top:96px}.dhcp-step-buttons{grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 18px;display:grid}.dhcp-step-buttons button{border:1px solid var(--border-color);min-height:58px;color:var(--text-secondary);background:var(--bg-primary);font-family:var(--font-mono);text-align:left;cursor:pointer;border-radius:9px;padding:10px 12px;font-size:.75rem;transition:border-color .16s,color .16s,background .16s}.dhcp-step-buttons button.active,.dhcp-step-buttons button:hover{color:var(--accent-primary);border-color:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.dhcp-step-buttons button.active,.dhcp-step-buttons button:hover{border-color:color-mix(in oklab,var(--accent-primary) 42%,transparent)}}.dhcp-step-buttons button.active,.dhcp-step-buttons button:hover{background:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.dhcp-step-buttons button.active,.dhcp-step-buttons button:hover{background:color-mix(in oklab,var(--accent-primary) 8%,var(--bg-primary))}}.dhcp-step-buttons strong{color:var(--accent-primary);font-size:.9rem;display:block}.builder-path p,.dhcp-packet-label{font-family:var(--font-mono);color:var(--text-secondary)}.dhcp-packet-label{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.dhcp-detail h2{margin:8px 0 10px;font-size:1.75rem}.dhcp-detail p{color:var(--text-secondary);line-height:1.6}.dhcp-detail dl{gap:10px;margin-top:18px;display:grid}.dhcp-detail div{grid-template-columns:90px minmax(0,1fr);gap:12px;display:grid}.dhcp-detail dt{color:var(--text-muted);font-family:var(--font-mono);font-size:.6875rem}.dhcp-detail dd{color:var(--text-secondary)}.packet-notes ol{gap:10px;margin-top:20px;list-style:none;display:grid}.packet-notes li{color:var(--text-secondary);grid-template-columns:32px 1fr;gap:10px;display:grid}.packet-notes li span{color:var(--accent-primary);font-family:var(--font-mono);font-size:.75rem}.packet-panels{gap:16px;display:grid}.packet-panel{padding:0 22px 22px;overflow:hidden}.builder-tool-2d{grid-template-columns:260px minmax(0,1fr) 280px}.builder-workbench{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:14px;min-width:0;overflow:hidden}.builder-canvas-bar{border-bottom:1px solid var(--border-color);background:var(--bg-primary);justify-content:space-between;align-items:center;gap:16px;height:46px;padding:0 16px;display:flex}@supports (color:color-mix(in lab,red,red)){.builder-canvas-bar{background:color-mix(in oklab,var(--bg-primary) 62%,var(--bg-secondary))}}.builder-canvas-bar strong{color:var(--text-muted);font-family:var(--font-mono);font-size:.75rem;font-weight:500}.builder-mode{grid-template-columns:1fr 1fr;gap:8px;margin:18px 0 20px;display:grid}.builder-mode button{border:1px solid var(--border-color);height:34px;color:var(--text-secondary);background:var(--bg-primary);font-family:var(--font-mono);border-radius:9px;font-size:.75rem}.builder-mode button.active,.builder-mode button:hover{color:var(--accent-primary);border-color:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.builder-mode button.active,.builder-mode button:hover{border-color:color-mix(in oklab,var(--accent-primary) 42%,transparent)}}.builder-path{align-self:start;padding:22px}.builder-path h2{margin:10px 0 8px;font-size:1.35rem}.builder-path p{overflow-wrap:anywhere;line-height:1.55}.builder-inspector-list{gap:9px;margin:18px 0;display:grid}.builder-inspector-list div{border-bottom:1px solid var(--border-color);justify-content:space-between;gap:16px;padding-bottom:8px;display:flex}.builder-inspector-list dt{color:var(--text-muted);font-family:var(--font-mono);font-size:.6875rem}.builder-inspector-list dd{color:var(--text-secondary);font-family:var(--font-mono);font-size:.75rem}.builder-linking{margin:14px 0;color:var(--accent-primary)!important}.builder-tool{--dc-host:oklch(72% .13 235);--dc-switch:oklch(74% .12 195);--dc-router:oklch(68% .19 268);--dc-firewall:oklch(72% .15 45);--dc-server:oklch(72% .14 160);--dc-internet:oklch(72% .1 300);--iso-ok:oklch(72% .17 155);--iso-bad:oklch(66% .19 25)}[data-theme=light] .builder-tool{--dc-host:oklch(56% .13 235);--dc-switch:oklch(58% .12 195);--dc-router:oklch(52% .2 268);--dc-firewall:oklch(58% .15 45);--dc-server:oklch(56% .14 160);--dc-internet:oklch(56% .1 300);--iso-ok:oklch(56% .17 155);--iso-bad:oklch(54% .19 25)}.iso-stage{background:radial-gradient(120% 90% at 50% 0,var(--accent-primary),transparent 55%),var(--bg-secondary);position:relative}@supports (color:color-mix(in lab,red,red)){.iso-stage{background:radial-gradient(120% 90% at 50% 0,color-mix(in oklab,var(--accent-primary) 8%,transparent),transparent 55%),var(--bg-secondary)}}.iso-svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.iso-svg.is-linking{cursor:crosshair}.iso-svg.is-dragging{cursor:grabbing}.iso-platform-top{fill:var(--bg-tertiary)}@supports (color:color-mix(in lab,red,red)){.iso-platform-top{fill:color-mix(in oklab,var(--bg-tertiary) 72%,var(--bg-secondary))}}.iso-platform-top{stroke:var(--border-color);stroke-width:1px}.iso-platform-side-l{fill:var(--bg-primary)}@supports (color:color-mix(in lab,red,red)){.iso-platform-side-l{fill:color-mix(in oklab,var(--bg-primary) 72%,oklch(0% 0 0))}}.iso-platform-side-r{fill:var(--bg-primary)}@supports (color:color-mix(in lab,red,red)){.iso-platform-side-r{fill:color-mix(in oklab,var(--bg-primary) 86%,oklch(0% 0 0))}}.iso-grid-line{stroke:var(--grid-dot);stroke-width:1px}.iso-device{cursor:grab}.iso-svg.is-linking .iso-device{cursor:crosshair}.iso-device.is-drag{cursor:grabbing}.iso-hit{fill:#0000}.iso-body{transition:transform .18s}.iso-body.is-hot{animation:iso-hot .45s}.iso-body.is-shake{animation:iso-shake .4s}.iso-body path,.iso-body polygon{stroke:var(--dc)}@supports (color:color-mix(in lab,red,red)){.iso-body path,.iso-body polygon{stroke:color-mix(in oklab,var(--dc) 45%,oklch(12% .02 260))}}.iso-body path,.iso-body polygon{stroke-width:.7px;stroke-linejoin:round}.iso-face-t{fill:var(--dc)}@supports (color:color-mix(in lab,red,red)){.iso-face-t{fill:color-mix(in oklab,var(--dc) 58%,oklch(97% .005 250))}}.iso-face-l{fill:var(--dc)}@supports (color:color-mix(in lab,red,red)){.iso-face-l{fill:color-mix(in oklab,var(--dc) 88%,oklch(30% .01 250))}}.iso-face-r{fill:var(--dc)}@supports (color:color-mix(in lab,red,red)){.iso-face-r{fill:color-mix(in oklab,var(--dc) 62%,oklch(14% .02 260))}}.iso-shadow{fill:oklch(0 0 0/.3);stroke:none}[data-theme=light] .iso-shadow{fill:oklch(0 0 0/.12)}.iso-screen{fill:var(--dc)}@supports (color:color-mix(in lab,red,red)){.iso-screen{fill:color-mix(in oklab,var(--dc) 34%,oklch(94% .02 250))}}.iso-screen{stroke:none}.iso-screen-line{stroke:var(--dc)}@supports (color:color-mix(in lab,red,red)){.iso-screen-line{stroke:color-mix(in oklab,var(--dc) 75%,oklch(20% 0 0))}}.iso-screen-line{stroke-width:1.2px;stroke-linecap:round}.iso-led{fill:var(--iso-ok);stroke:none;animation:iso-led 2.1s infinite;animation-delay:var(--led-delay,0s)}.iso-port{fill:oklch(15% .01 260/.6);stroke:none}.iso-seam{stroke:oklch(0 0 0/.28);stroke-width:.8px}.iso-halo{fill:none;stroke:oklch(100% 0 0/.55);stroke-width:1.3px;stroke-dasharray:6 5;animation:iso-march 1.4s linear infinite}.iso-antenna{stroke:var(--dc)}@supports (color:color-mix(in lab,red,red)){.iso-antenna{stroke:color-mix(in oklab,var(--dc) 60%,oklch(10% 0 0))}}.iso-antenna{stroke-width:1.6px}.iso-antenna-tip{fill:var(--dc);stroke:none;filter:drop-shadow(0 0 4px var(--dc))}.iso-shield{fill:oklch(100% 0 0/.88);stroke:none}.iso-anchor{stroke:var(--border-color);stroke-dasharray:3 4}.iso-cloud{fill:var(--dc)}@supports (color:color-mix(in lab,red,red)){.iso-cloud{fill:color-mix(in oklab,var(--dc) 30%,var(--bg-secondary))}}.iso-cloud{stroke:var(--dc)}@supports (color:color-mix(in lab,red,red)){.iso-cloud{stroke:color-mix(in oklab,var(--dc) 70%,transparent)}}.iso-cloud{stroke-width:1.2px}.iso-cloud-dot{fill:var(--dc)}@supports (color:color-mix(in lab,red,red)){.iso-cloud-dot{fill:color-mix(in oklab,var(--dc) 70%,oklch(98% 0 0))}}.iso-cloud-dot{stroke:none;animation:iso-led 2.4s infinite}.iso-cloud-dot:nth-of-type(2){animation-delay:.4s}.iso-cloud-dot:nth-of-type(3){animation-delay:.8s}.iso-cloud-bob{animation:iso-bob 4.5s ease-in-out infinite}.iso-label-ip,.iso-label-name{text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:var(--bg-secondary);stroke-width:3px;stroke-linejoin:round}.iso-label-name{fill:var(--text-primary);font-family:var(--font-display);font-size:11px;font-weight:650}.iso-label-ip{fill:var(--text-muted);font-family:var(--font-mono);font-size:8.5px}.iso-link-shadow{stroke:oklch(0 0 0/.3);stroke-width:3.4px;stroke-linecap:round}[data-theme=light] .iso-link-shadow{stroke:oklch(0 0 0/.1)}.iso-link{stroke:var(--text-muted)}@supports (color:color-mix(in lab,red,red)){.iso-link{stroke:color-mix(in oklab,var(--text-muted) 68%,transparent)}}.iso-link{stroke-width:2.2px;stroke-linecap:round;transition:stroke .2s}.iso-link.is-active{stroke:var(--accent-primary);stroke-width:2.6px;stroke-dasharray:7 5;filter:drop-shadow(0 0 5px var(--accent-primary));animation:iso-march .5s linear infinite}@supports (color:color-mix(in lab,red,red)){.iso-link.is-active{filter:drop-shadow(0 0 5px color-mix(in oklab,var(--accent-primary) 70%,transparent))}}.iso-link.is-critical{stroke:var(--iso-bad);stroke-dasharray:4 4;filter:drop-shadow(0 0 5px var(--iso-bad));animation:iso-march .5s linear infinite}@supports (color:color-mix(in lab,red,red)){.iso-link.is-critical{filter:drop-shadow(0 0 5px color-mix(in oklab,var(--iso-bad) 70%,transparent))}}.iso-link.is-selected{stroke:var(--accent-glow);stroke-width:3.2px}.iso-link-hit{stroke:#0000;stroke-width:16px;cursor:pointer}.iso-ghost-link{stroke:var(--accent-primary);stroke-width:1.6px;stroke-dasharray:5 5;opacity:.75;pointer-events:none}.iso-tile-ring{fill:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.iso-tile-ring{fill:color-mix(in oklab,var(--accent-primary) 14%,transparent)}}.iso-tile-ring{stroke:var(--accent-primary);stroke-width:1.4px;animation:iso-ring 1.6s ease-in-out infinite}.iso-tile-ring.is-link-start{stroke-dasharray:5 4}.iso-packet{pointer-events:none;filter:drop-shadow(0 0 6px var(--accent-glow))}.iso-packet-core{stroke:oklch(100% 0 0/.7);stroke-width:1px}.iso-packet-aura,.iso-packet-core{fill:var(--accent-glow)}@supports (color:color-mix(in lab,red,red)){.iso-packet-aura{fill:color-mix(in oklab,var(--accent-glow) 32%,transparent)}}.iso-packet-aura{stroke:none;transform-box:fill-box;transform-origin:50%;animation:iso-pulse .9s ease-in-out infinite}.iso-burst{pointer-events:none}.iso-burst-ring{stroke-width:2px;animation:iso-burst .7s ease-out forwards}.iso-burst-mark,.iso-burst-ring{fill:none;transform-box:fill-box;transform-origin:50%}.iso-burst-mark{stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;animation:iso-mark .45s cubic-bezier(.34,1.56,.64,1) 80ms both}.iso-burst.is-ok .iso-burst-mark,.iso-burst.is-ok .iso-burst-ring{stroke:var(--iso-ok)}.iso-burst.is-fail .iso-burst-mark,.iso-burst.is-fail .iso-burst-ring{stroke:var(--iso-bad)}@keyframes iso-march{to{stroke-dashoffset:-12px}}@keyframes iso-ring{50%{opacity:.5}}@keyframes iso-led{0%,to{opacity:1}50%{opacity:.2}}@keyframes iso-bob{50%{transform:translateY(-4px)}}@keyframes iso-hot{30%{transform:translateY(-4px)}}@keyframes iso-shake{20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}@keyframes iso-pulse{50%{opacity:.5;transform:scale(1.4)}}@keyframes iso-burst{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(3.2)}}@keyframes iso-mark{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1.7)}}.nb-palette{grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 20px;display:grid}.nb-chip{border:1px solid var(--border-color);color:var(--text-secondary);background:var(--bg-primary);font-family:var(--font-mono);cursor:pointer;border-radius:9px;align-items:center;gap:8px;padding:9px 11px;font-size:.72rem;transition:border-color .16s,color .16s;display:flex}.nb-chip i{background:var(--chip-c,var(--accent-primary));width:10px;height:10px;box-shadow:0 0 8px var(--chip-c,var(--accent-primary));border-radius:3px;flex:none}@supports (color:color-mix(in lab,red,red)){.nb-chip i{box-shadow:0 0 8px color-mix(in oklab,var(--chip-c,var(--accent-primary)) 55%,transparent)}}.nb-chip b{color:var(--text-muted);margin-left:auto;font-weight:600}.nb-chip:hover:not(:disabled){color:var(--accent-primary);border-color:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.nb-chip:hover:not(:disabled){border-color:color-mix(in oklab,var(--accent-primary) 42%,transparent)}}.nb-chip:disabled{opacity:.35;cursor:not-allowed}.nb-chip-host i{--chip-c:var(--dc-host)}.nb-chip-switch i{--chip-c:var(--dc-switch)}.nb-chip-router i{--chip-c:var(--dc-router)}.nb-chip-firewall i{--chip-c:var(--dc-firewall)}.nb-chip-server i{--chip-c:var(--dc-server)}.nb-chip-internet i{--chip-c:var(--dc-internet)}.nb-test{gap:10px;margin:14px 0 6px;display:grid}.nb-test label{gap:6px;display:grid}.nb-test label span{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem}.nb-test select{border:1px solid var(--border-color);width:100%;height:38px;color:var(--text-primary);background:var(--bg-primary);font-family:var(--font-mono);border-radius:9px;outline:none;padding:0 10px;font-size:.78rem}.nb-test select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.nb-test select:focus{box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-primary) 18%,transparent)}}.nb-primary{background:var(--gradient-primary);color:#fff;width:100%;height:42px;font-family:var(--font-display);cursor:pointer;box-shadow:0 10px 24px -12px var(--accent-primary);border:none;border-radius:10px;margin:8px 0 10px;font-size:.9rem;font-weight:700}@supports (color:color-mix(in lab,red,red)){.nb-primary{box-shadow:0 10px 24px -12px color-mix(in oklab,var(--accent-primary) 70%,transparent)}}.nb-primary{transition:transform .15s,opacity .15s}.nb-primary:hover:not(:disabled){transform:translateY(-1px)}.nb-primary:disabled{opacity:.55;cursor:default}.nb-notice{border:1px solid var(--iso-bad);margin:4px 0 10px;padding:10px 12px}@supports (color:color-mix(in lab,red,red)){.nb-notice{border:1px solid color-mix(in oklab,var(--iso-bad) 40%,transparent)}}.nb-notice{color:var(--text-secondary);background:var(--iso-bad);border-radius:9px}@supports (color:color-mix(in lab,red,red)){.nb-notice{background:color-mix(in oklab,var(--iso-bad) 7%,var(--bg-primary))}}.nb-notice{font-size:.8rem}.nb-net-toggle{margin:4px 0 16px}.nb-net-toggle div{gap:8px;margin-top:10px;display:grid}.nb-net-toggle button{border:1px solid var(--border-color);height:34px;color:var(--text-secondary);background:var(--bg-primary);font-family:var(--font-mono);cursor:pointer;border-radius:9px;font-size:.72rem}.nb-net-toggle button.active,.nb-net-toggle button:hover{color:var(--accent-primary);border-color:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.nb-net-toggle button.active,.nb-net-toggle button:hover{border-color:color-mix(in oklab,var(--accent-primary) 42%,transparent)}}.nb-verdict{font-family:var(--font-display);margin:10px 0 6px;font-size:1.35rem;font-weight:700}.nb-verdict.is-ok{color:var(--iso-ok)}.nb-verdict.is-fail{color:var(--iso-bad)}.nb-hops{margin-top:12px;list-style:none;display:grid}.nb-hops li{grid-template-columns:14px minmax(0,1fr);column-gap:10px;padding:7px 0;display:grid;position:relative}.nb-hops li:before{content:"";background:var(--border-color);width:1px;position:absolute;top:20px;bottom:-10px;left:4.5px}.nb-hops li:last-child:before{display:none}.nb-hops li i{background:var(--accent-primary);width:10px;height:10px;box-shadow:0 0 8px var(--accent-primary);border-radius:50%;margin-top:4px}@supports (color:color-mix(in lab,red,red)){.nb-hops li i{box-shadow:0 0 8px color-mix(in oklab,var(--accent-primary) 60%,transparent)}}.nb-hops li strong{font-family:var(--font-display);font-size:.9rem}.nb-hops li small{color:var(--text-muted);font-family:var(--font-mono);grid-column:2;font-size:.7rem}.nb-hops li.is-dead i{background:var(--iso-bad);box-shadow:0 0 8px var(--iso-bad)}@supports (color:color-mix(in lab,red,red)){.nb-hops li.is-dead i{box-shadow:0 0 8px color-mix(in oklab,var(--iso-bad) 60%,transparent)}}.nb-hops li.is-unreached{opacity:.4}.nb-hops li.is-unreached i{background:var(--text-muted);box-shadow:none}.challenge-iso{gap:18px;display:grid}.nc-missions{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.nc-mission-chip{border:1px solid var(--border-color);background:var(--bg-secondary);text-align:left;cursor:pointer;border-radius:12px;justify-items:start;gap:4px;padding:12px 14px;transition:border-color .16s,transform .16s,box-shadow .16s;display:grid}.nc-mission-chip:hover:not(:disabled){border-color:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.nc-mission-chip:hover:not(:disabled){border-color:color-mix(in oklab,var(--accent-primary) 42%,transparent)}}.nc-mission-chip:hover:not(:disabled){transform:translateY(-1px)}.nc-mission-chip.is-active{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.nc-mission-chip.is-active{box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-primary) 14%,transparent)}}.nc-mission-chip.is-locked{opacity:.45;cursor:not-allowed}.nc-mission-num{color:var(--accent-primary);font-family:var(--font-mono);font-size:.65rem}.nc-mission-name{color:var(--text-primary);font-family:var(--font-display);font-size:.85rem;font-weight:650}.nc-mission-stars{gap:2px;display:flex}.nc-star{fill:none;width:13px;height:13px;stroke:var(--text-muted);stroke-width:1.6px}.nc-star.is-filled{fill:oklch(80% .16 85);stroke:oklch(72% .16 85);filter:drop-shadow(0 0 4px oklch(80% .16 85/.55))}.nc-title{margin:8px 0 10px;font-size:1.45rem}.nc-hint{border:1px dashed var(--border-color);border-radius:10px;margin:12px 0 4px;padding:10px 12px}.nc-hint summary{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;font-size:.72rem}.nc-hint p{color:var(--text-secondary);margin-top:8px;font-size:.85rem;line-height:1.6}.nc-goals{gap:9px;margin:12px 0 20px;list-style:none;display:grid}.nc-goals li{color:var(--text-secondary);align-items:flex-start;gap:10px;font-size:.84rem;line-height:1.5;display:flex}.nc-goals li i{border:1.5px solid var(--border-color);border-radius:50%;flex:none;width:16px;height:16px;margin-top:2px;transition:border-color .2s,background .2s;position:relative}.nc-goals li i:after{place-items:center;font-size:10px;font-weight:700;line-height:1;display:grid;position:absolute;inset:0}.nc-goals li.is-pass{color:var(--text-primary)}.nc-goals li.is-pass i{border-color:var(--iso-ok);background:var(--iso-ok)}@supports (color:color-mix(in lab,red,red)){.nc-goals li.is-pass i{background:color-mix(in oklab,var(--iso-ok) 16%,transparent)}}.nc-goals li.is-pass i:after{content:"✓";color:var(--iso-ok)}.nc-goals li.is-fail i{border-color:var(--iso-bad);background:var(--iso-bad)}@supports (color:color-mix(in lab,red,red)){.nc-goals li.is-fail i{background:color-mix(in oklab,var(--iso-bad) 14%,transparent)}}.nc-goals li.is-fail i:after{content:"✕";color:var(--iso-bad)}.nc-criteria{gap:7px;margin:12px 0 4px;list-style:none;display:grid}.nc-criteria li{color:var(--text-muted);font-family:var(--font-mono);align-items:center;gap:8px;font-size:.72rem;display:flex}.nc-criteria li.is-met{color:var(--text-secondary)}.nc-banner{border:1px solid var(--border-color);border-radius:12px;justify-items:start;gap:8px;margin-top:18px;padding:18px;animation:nc-banner-in .35s;display:grid}.nc-banner.is-ok{border-color:var(--iso-ok)}@supports (color:color-mix(in lab,red,red)){.nc-banner.is-ok{border-color:color-mix(in oklab,var(--iso-ok) 45%,transparent)}}.nc-banner.is-ok{background:var(--iso-ok)}@supports (color:color-mix(in lab,red,red)){.nc-banner.is-ok{background:color-mix(in oklab,var(--iso-ok) 9%,var(--bg-primary))}}.nc-banner.is-fail{border-color:var(--iso-bad)}@supports (color:color-mix(in lab,red,red)){.nc-banner.is-fail{border-color:color-mix(in oklab,var(--iso-bad) 40%,transparent)}}.nc-banner.is-fail{background:var(--iso-bad)}@supports (color:color-mix(in lab,red,red)){.nc-banner.is-fail{background:color-mix(in oklab,var(--iso-bad) 7%,var(--bg-primary))}}.nc-banner strong{font-family:var(--font-display);font-size:1.05rem}.nc-banner p{color:var(--text-secondary);margin:0;font-size:.84rem;line-height:1.55}.nc-banner p:empty{display:none}.nc-banner-tip{color:var(--text-muted)!important;font-size:.78rem!important}.nc-banner .nb-primary{width:auto;margin:6px 0 0;padding:0 18px}.nc-banner-stars{gap:6px;display:flex}.nc-banner-stars .nc-star{width:26px;height:26px;animation:nc-star-pop .5s cubic-bezier(.34,1.56,.64,1) both}.nc-banner-stars .nc-star:nth-child(2){animation-delay:.15s}.nc-banner-stars .nc-star:nth-child(3){animation-delay:.3s}.nc-delete{margin-top:14px}@keyframes nc-banner-in{0%{opacity:0;transform:translateY(8px)}}@keyframes nc-star-pop{0%{opacity:0;transform:scale(0)rotate(-25deg)}}.pj-controls{grid-template-columns:42px 1fr 42px;gap:8px;margin:16px 0 12px;display:grid}.pj-controls button{border:1px solid var(--border-color);background:var(--bg-primary);height:38px;color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;border-radius:9px;font-size:1rem;transition:color .16s,border-color .16s}.pj-controls button:hover:not(:disabled){color:var(--accent-primary);border-color:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.pj-controls button:hover:not(:disabled){border-color:color-mix(in oklab,var(--accent-primary) 42%,transparent)}}.pj-controls button:disabled{opacity:.35;cursor:not-allowed}.pj-controls .pj-play{background:var(--gradient-primary);color:#fff;font-family:var(--font-display);border:none;font-size:.85rem;font-weight:700}.pj-controls .pj-play:hover:not(:disabled){color:#fff}.pj-progress{border:1px solid var(--border-soft);background:var(--bg-primary);border-radius:999px;height:5px;overflow:hidden}.pj-progress i{border-radius:inherit;background:var(--gradient-primary);height:100%;transition:width .3s;display:block}.pj-progress-label{color:var(--text-muted);font-family:var(--font-mono);margin:8px 0 18px;font-size:.7rem}.pj-steps{gap:4px;margin:12px 0 18px;list-style:none;display:grid}.pj-steps button{width:100%;color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:.8rem;transition:color .15s,background .15s,border-color .15s;display:flex}.pj-steps button span{font-family:var(--font-mono);color:var(--text-muted);font-size:.65rem}.pj-steps button:hover{color:var(--text-primary);background:var(--bg-primary)}.pj-steps button.is-past{color:var(--text-secondary)}.pj-steps button.is-past span{color:var(--iso-ok)}.pj-steps button.is-active{border-color:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.pj-steps button.is-active{border-color:color-mix(in oklab,var(--accent-primary) 42%,transparent)}}.pj-steps button.is-active{background:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.pj-steps button.is-active{background:color-mix(in oklab,var(--accent-primary) 8%,transparent)}}.pj-steps button.is-active{color:var(--text-primary)}.pj-steps button.is-active span{color:var(--accent-primary)}.pj-stack{margin:14px 0 18px;animation:pj-pop .35s}.pj-cap{--cap:var(--L3);border:1.5px solid var(--cap);gap:4px;padding:10px 12px;display:grid}@supports (color:color-mix(in lab,red,red)){.pj-cap{border:1.5px solid color-mix(in oklab,var(--cap) 60%,transparent)}}.pj-cap{background:var(--cap);border-radius:12px}@supports (color:color-mix(in lab,red,red)){.pj-cap{background:color-mix(in oklab,var(--cap) 8%,transparent)}}.pj-cap .pj-cap{margin-top:8px}.pj-cap-l2{--cap:var(--L2)}.pj-cap-l3{--cap:var(--L3)}.pj-cap-l4{--cap:var(--L4)}.pj-cap-l7{--cap:var(--L5)}.pj-cap-name{color:var(--text-primary);font-family:var(--font-display);font-size:.8rem;font-weight:650}.pj-cap-detail{color:var(--text-muted);font-family:var(--font-mono);font-size:.68rem}@keyframes pj-pop{0%{opacity:.4;transform:scale(.97)}}.pj-explain{border:1px solid var(--border-color);background:var(--bg-primary);border-radius:12px;gap:6px;padding:14px 16px;transition:border-color .3s;display:grid}.pj-explain strong{font-family:var(--font-display);font-size:.95rem}.pj-explain p{color:var(--text-secondary);font-family:var(--font-body);font-size:.85rem;line-height:1.6}.pj-explain.is-done{border-color:var(--iso-ok)}@supports (color:color-mix(in lab,red,red)){.pj-explain.is-done{border-color:color-mix(in oklab,var(--iso-ok) 45%,transparent)}}.pj-explain.is-done{background:var(--iso-ok)}@supports (color:color-mix(in lab,red,red)){.pj-explain.is-done{background:color-mix(in oklab,var(--iso-ok) 8%,var(--bg-primary))}}.dns-tool{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.dns-answer-card,.dns-authority-card,.dns-control-panel,.dns-error,.dns-trace-card{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:14px}.dns-control-panel{padding:24px;position:sticky;top:96px}.dns-cache-toggle,.dns-field,.dns-mode-toggle,.dns-presets,.dns-record-types{gap:10px;margin-top:22px;display:grid}.dns-cache-toggle>span,.dns-field span,.dns-mode-toggle>span,.dns-presets>span,.dns-record-types>span{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem}.dns-field input{border:1px solid var(--border-color);width:100%;height:44px;color:var(--text-primary);background:var(--bg-primary);font-family:var(--font-mono);border-radius:9px;outline:none;padding:0 13px;font-size:.875rem;transition:border-color .18s,box-shadow .18s}.dns-field input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.dns-field input:focus{box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-primary) 18%,transparent)}}.dns-mode-toggle div,.dns-presets div,.dns-record-types div{flex-wrap:wrap;gap:8px;display:flex}.dns-cache-toggle button,.dns-mode-toggle button,.dns-presets button,.dns-record-types button{border:1px solid var(--border-color);height:30px;color:var(--text-secondary);background:var(--bg-primary);font-family:var(--font-mono);border-radius:999px;padding:0 10px;font-size:.75rem}.dns-cache-toggle button.active,.dns-cache-toggle button:hover,.dns-mode-toggle button.active,.dns-mode-toggle button:hover,.dns-presets button:hover,.dns-record-types button.active,.dns-record-types button:hover{color:var(--accent-primary);border-color:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.dns-cache-toggle button.active,.dns-cache-toggle button:hover,.dns-mode-toggle button.active,.dns-mode-toggle button:hover,.dns-presets button:hover,.dns-record-types button.active,.dns-record-types button:hover{border-color:color-mix(in oklab,var(--accent-primary) 42%,transparent)}}.dns-results{gap:16px;display:grid}.dns-answer-card,.dns-authority-card,.dns-trace-card{padding:24px}.dns-answer-head{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:start;gap:16px;padding-bottom:18px;display:flex}.dns-answer-head h2{overflow-wrap:anywhere;margin-top:8px;font-size:clamp(1.4rem,3vw,2rem)}.dns-tld{border:1px solid var(--accent-primary);justify-content:center;align-items:center;min-width:56px;height:56px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.dns-tld{border:1px solid color-mix(in oklab,var(--accent-primary) 34%,transparent)}}.dns-tld{color:var(--accent-primary);background:var(--accent-primary);border-radius:14px}@supports (color:color-mix(in lab,red,red)){.dns-tld{background:color-mix(in oklab,var(--accent-primary) 8%,transparent)}}.dns-tld{font-family:var(--font-mono);font-size:.875rem}.dns-record-list{background:var(--border-color);gap:1px;margin:18px -24px -24px;display:grid}.dns-record{background:var(--bg-secondary);grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 24px;display:grid}.dns-record span{color:var(--accent-primary);font-family:var(--font-mono);font-size:.75rem;font-weight:600}.dns-record strong{overflow-wrap:anywhere;min-width:0;font-family:var(--font-mono);font-size:.9375rem;font-weight:500}.dns-record small{color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap;font-size:.6875rem}.dns-error,.dns-no-answer{color:var(--text-secondary);padding:24px 0 0}.dns-error{padding:24px}.dns-trace{gap:10px;margin-top:16px;list-style:none;display:grid}.dns-trace li{border:1px solid var(--border-color);background:var(--bg-primary);animation:rise .42s calc(var(--dns-i) * 55ms) cubic-bezier(.2,.7,.2,1) backwards;border-radius:10px;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:12px;padding:13px 14px;display:grid}.dns-trace li span{color:var(--accent-primary);font-family:var(--font-mono);font-size:.75rem}.dns-trace li p{color:var(--text-secondary);font-size:.90625rem;line-height:1.5}.dns-authority-card dl{gap:14px;margin-top:16px;display:grid}.dns-authority-card div{grid-template-columns:150px minmax(0,1fr);gap:16px;display:grid}.dns-authority-card dt{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem}.dns-authority-card dd{color:var(--text-secondary);overflow-wrap:anywhere}.subnet-tool{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.subnet-control-panel,.subnet-error,.subnet-results{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:14px}.subnet-control-panel{padding:24px;position:sticky;top:96px}.subnet-field{gap:9px;margin-top:22px;display:grid}.subnet-field span,.subnet-quick>span{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem}.subnet-field strong{color:var(--text-primary);font-weight:600}.subnet-field input:not([type]),.subnet-field input[type=text]{width:100%}.subnet-field input{border:1px solid var(--border-color);height:44px;color:var(--text-primary);background:var(--bg-primary);font-family:var(--font-mono);border-radius:9px;outline:none;padding:0 13px;font-size:.875rem;transition:border-color .18s,box-shadow .18s}.subnet-field input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.subnet-field input:focus{box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-primary) 18%,transparent)}}.subnet-field input[type=range]{accent-color:var(--accent-primary);background:0 0;border:0;padding:0}.subnet-quick{gap:10px;margin-top:22px;display:grid}.subnet-quick div{flex-wrap:wrap;gap:8px;display:flex}.subnet-quick button{border:1px solid var(--border-color);height:30px;color:var(--text-secondary);background:var(--bg-primary);font-family:var(--font-mono);border-radius:999px;padding:0 10px;font-size:.75rem}.subnet-quick button.active,.subnet-quick button:hover{color:var(--accent-primary);border-color:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.subnet-quick button.active,.subnet-quick button:hover{border-color:color-mix(in oklab,var(--accent-primary) 42%,transparent)}}.subnet-results{overflow:hidden}.subnet-summary{border-bottom:1px solid var(--border-color);grid-template-columns:1.4fr repeat(2,.8fr);display:grid}.subnet-summary>div{padding:18px 20px}.subnet-summary>div+div{border-left:1px solid var(--border-color)}.subnet-summary span{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px;font-size:.6875rem;display:block}.subnet-summary strong{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.25rem}.subnet-grid{background:var(--border-color);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.subnet-result-card{background:var(--bg-secondary);padding:18px 20px}.subnet-result-card span{color:var(--text-muted);margin-bottom:5px;font-size:.75rem;display:block}.subnet-result-card strong{font-family:var(--font-mono);font-size:clamp(1rem,2vw,1.25rem);font-weight:500}.subnet-binary,.subnet-samples{border-top:1px solid var(--border-color);padding:22px 24px}.subnet-binary h2{margin-bottom:14px;font-size:1.125rem}.subnet-binary dl{gap:10px;display:grid}.subnet-binary div{grid-template-columns:56px minmax(0,1fr);align-items:center;gap:12px;display:grid}.subnet-binary dt{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem}.subnet-binary dd,.subnet-samples code{font-family:var(--font-mono);color:var(--text-primary)}.subnet-binary dd{overflow-wrap:anywhere;font-size:.875rem}.subnet-samples>div{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.subnet-samples code{border:1px solid var(--border-color);background:var(--bg-primary);border-radius:7px;padding:6px 9px;font-size:.8125rem}.subnet-error{color:var(--text-secondary);padding:24px}@media (max-width:900px){.builder-tool,.cheat-sheet,.dns-tool,.glossary-tool,.packet-tool,.ping-tool,.sandbox-hero,.sandbox-tool-hero,.subnet-tool,.terminal-tool{grid-template-columns:1fr}.builder-controls,.cheat-index,.dns-control-panel,.glossary-controls,.packet-notes,.ping-controls,.subnet-control-panel,.terminal-guide{position:static}.builder-path,.dhcp-detail{grid-column:auto}.builder-tool-2d{grid-template-columns:1fr}.ping-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.trace-list li{grid-template-columns:36px minmax(0,1fr)}.trace-role,.trace-time{text-align:left}}@media (max-width:620px){.sandbox-grid{grid-template-columns:1fr}.sandbox-card{min-height:220px}.dns-authority-card div,.dns-record,.glossary-grid,.ping-summary,.ping-table-head,.ping-table>div:not(.ping-table-head),.subnet-grid,.subnet-summary{grid-template-columns:1fr}.dns-record small{white-space:normal}.subnet-summary>div+div{border-left:0;border-top:1px solid var(--border-color)}}.osi-stack{border:1px solid var(--border-color);border-radius:14px;flex-direction:column;margin:28px 0 24px;display:flex;overflow:hidden}.osi-layer{background:var(--lc);grid-template-columns:52px 1fr auto;align-items:center;gap:0 20px;padding:14px 20px;display:grid}@supports (color:color-mix(in lab,red,red)){.osi-layer{background:color-mix(in oklab,var(--lc) 6%,var(--bg-secondary))}}.osi-layer{border-left:3px solid var(--lc);cursor:default;transition:background .15s}.osi-layer+.osi-layer{border-top:1px solid var(--border-soft)}@supports (color:color-mix(in lab,red,red)){.osi-layer:hover{background:color-mix(in oklab,var(--lc) 13%,var(--bg-secondary))}}.osi-num{font:700 20px/1 var(--font-display);color:var(--lc);text-align:center}.osi-name{font:600 14px/1.2 var(--font-display);color:var(--text-primary);margin-bottom:3px}.osi-role{color:var(--text-muted);font-size:12.5px;line-height:1.4}.osi-protos{flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:200px;display:flex}.osi-protos .chip{font-family:var(--font-mono);padding:3px 7px;font-size:11px}.mnemonic{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:12px;margin:28px 0;padding:20px 24px}.mnemonic-label{font:600 10px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px}.mnemonic-phrase{font:700 20px/1.4 var(--font-display);color:var(--text-primary);letter-spacing:-.01em;margin-bottom:8px}.mnemonic-phrase .l{color:var(--lc,var(--accent-primary))}.mnemonic-map{font:400 12px/1.8 var(--font-mono);color:var(--text-secondary)}.encap-diagram{flex-direction:column;gap:4px;margin:28px 0 24px;display:flex}.encap-row{border:1px solid var(--border-color);border-radius:9px;align-items:stretch;min-height:40px;display:flex;overflow:hidden}.encap-label{width:80px;font:500 10px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);border-right:1px solid var(--border-soft);background:var(--bg-tertiary);flex-shrink:0;padding:0 12px}.encap-header,.encap-label{align-items:center;display:flex}.encap-header{font:700 11px/1 var(--font-mono);letter-spacing:.06em;white-space:nowrap;background:var(--hc);justify-content:center;padding:0 13px}@supports (color:color-mix(in lab,red,red)){.encap-header{background:color-mix(in oklab,var(--hc) 12%,var(--bg-secondary))}}.encap-header{color:var(--hc);border-right:1px solid var(--hc)}@supports (color:color-mix(in lab,red,red)){.encap-header{border-right:1px solid color-mix(in oklab,var(--hc) 22%,var(--border-color))}}.encap-data{color:var(--text-secondary);background:var(--bg-secondary);flex:1;padding:0 16px;font-size:13px}.encap-data,.encap-trailer{align-items:center;display:flex}.encap-trailer{font:700 11px/1 var(--font-mono);letter-spacing:.06em;white-space:nowrap;background:oklch(70% .19 25);justify-content:center;padding:0 13px}@supports (color:color-mix(in lab,red,red)){.encap-trailer{background:color-mix(in oklab,oklch(70% .19 25) 10%,var(--bg-secondary))}}.encap-trailer{color:oklch(70% .19 25);border-left:1px solid oklch(70% .19 25)}@supports (color:color-mix(in lab,red,red)){.encap-trailer{border-left:1px solid color-mix(in oklab,oklch(70% .19 25) 20%,var(--border-color))}}.encap-anim .ea-row,.pj-anim .pj-network,.pj-anim .pj-row{opacity:0}.encap-anim--running .ea-row{animation:rise .5s calc(var(--ea-i) * .55s) cubic-bezier(.2,.7,.2,1) forwards}.pj-anim--running .pj-network,.pj-anim--running .pj-row{animation:rise .5s calc(var(--pj-i) * .5s) cubic-bezier(.2,.7,.2,1) forwards}.encap-anim .ea-hdr{opacity:0}.encap-anim--running .ea-hdr{animation:slide-in-left .35s calc((var(--ea-ri) * .55s) + (var(--ea-hi) * 80ms) + .18s) cubic-bezier(.2,.7,.2,1) forwards}.pj-section-label{font:600 10px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);padding-top:20px;padding-bottom:8px}.pj-section-label--decap{padding-top:0}.pj-network{align-items:center;gap:12px;padding:18px 0 16px;display:flex}.pj-wire{background:linear-gradient(90deg,var(--border-color),var(--accent-primary),var(--border-color));border-radius:2px;flex:1;height:2px}.pj-network-label{font:600 11px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border-color);background:var(--bg-secondary);white-space:nowrap;border-radius:20px;padding:6px 14px}.pj-bits{font-family:var(--font-mono);opacity:.65;letter-spacing:.04em;font-size:12px}.pj-delivered strong{color:var(--accent-primary)}.anim-replay{font:500 11px/1 var(--font-mono);letter-spacing:.06em;color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:8px;align-items:center;gap:6px;margin-top:14px;padding:7px 14px;transition:color .15s,border-color .15s;display:inline-flex}.anim-replay:hover{color:var(--text-primary);border-color:var(--border-color)}.osi-layer{transition:background .2s,opacity .2s,padding .2s}.osi-stack:has(.osi-layer:hover) .osi-layer:not(:hover){opacity:.45}.osi-layer:hover{background:var(--lc);padding-top:18px;padding-bottom:18px}@supports (color:color-mix(in lab,red,red)){.osi-layer:hover{background:color-mix(in oklab,var(--lc) 18%,var(--bg-secondary))}}.osi-layer:hover .osi-role{color:var(--text-secondary)}.osi-layer:hover .osi-protos .chip{background:var(--lc)}@supports (color:color-mix(in lab,red,red)){.osi-layer:hover .osi-protos .chip{background:color-mix(in oklab,var(--lc) 22%,var(--bg-secondary))}}@media (prefers-reduced-motion:reduce){.ea-hdr,.ea-row,.pj-network,.pj-row{opacity:1!important;animation:none!important}}.concept-stack{flex-direction:column;gap:20px;margin:32px 0 24px;display:flex}.concept{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:14px;transition:border-color .25s,transform .25s;position:relative;overflow:hidden}.concept:before{content:"";background:var(--c,var(--accent-primary));width:3px;position:absolute;top:0;bottom:0;left:0}.concept:hover{border-color:var(--c,var(--accent-primary))}@supports (color:color-mix(in lab,red,red)){.concept:hover{border-color:color-mix(in oklab,var(--c,var(--accent-primary)) 50%,var(--border-color))}}.concept:hover{transform:translateY(-2px)}.concept-lan{--c:var(--scope-1)}.concept-wan{--c:var(--scope-2)}.concept-internet{--c:var(--scope-3)}.concept-inner{grid-template-columns:80px minmax(0,1fr);gap:24px;padding:28px 28px 26px;display:grid}.concept-icon{border:1px solid var(--c,var(--accent-primary));border-radius:12px;width:64px;height:64px}@supports (color:color-mix(in lab,red,red)){.concept-icon{border:1px solid color-mix(in oklab,var(--c,var(--accent-primary)) 35%,var(--border-color))}}.concept-icon{background:var(--c,var(--accent-primary))}@supports (color:color-mix(in lab,red,red)){.concept-icon{background:color-mix(in oklab,var(--c,var(--accent-primary)) 10%,var(--bg-tertiary))}}.concept-icon{color:var(--c,var(--accent-primary));flex-shrink:0;place-items:center;display:grid}.concept-head{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:6px;display:flex}.concept-abbrev{font-family:var(--font-display);letter-spacing:-.025em;color:var(--text-primary);font-size:28px;font-weight:500;line-height:1}.concept-fullname{font-family:var(--font-mono);color:var(--c,var(--accent-primary));letter-spacing:.08em;text-transform:uppercase;font-size:11px}.concept-def{color:var(--text-secondary);max-width:60ch;margin-bottom:22px;font-size:15px;line-height:1.6}.concept-def strong{color:var(--text-primary);font-weight:600}.concept-grid{border-top:1px solid var(--border-soft);grid-template-columns:1fr 1fr;align-items:center;gap:24px;padding-top:18px;display:grid}.concept-group-label{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;font-size:10px}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);border-radius:6px;padding:5px 10px;font-size:13px}.trait-list{flex-direction:column;gap:6px;list-style:none;display:flex}.trait-list li{color:var(--text-secondary);align-items:center;gap:8px;font-size:14px;display:flex}.trait-list li .pip{background:var(--c,var(--accent-primary));border-radius:50%;flex-shrink:0;width:5px;height:5px}.diagram{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:14px;margin:40px 0;padding:32px;position:relative;overflow:hidden}.diagram:after{content:"";background-image:radial-gradient(var(--grid-dot) 1px,transparent 1px);pointer-events:none;background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 20% 80%,#0000);mask-image:linear-gradient(#0000,#000 20% 80%,#0000)}.diagram-caption{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:20px;font-size:11px;display:flex;position:relative}.diagram-caption:before{content:"";background:var(--accent-primary);border-radius:2px;width:6px;height:6px}.diagram svg{width:100%;height:auto;position:relative}@media (max-width:640px){.concept-inner{grid-template-columns:1fr;gap:16px;padding:24px}.concept-grid{grid-template-columns:1fr;gap:14px}}.about-page{padding-top:120px;padding-bottom:80px;position:relative;overflow:hidden}.about-inner{z-index:2;position:relative}.about-hero{text-align:center;max-width:56ch;margin-inline:auto;padding-bottom:56px}.about-title{font:700 clamp(2.4rem,5.5vw,4rem)/1.12 var(--font-display);letter-spacing:-.025em;color:var(--text-primary);margin-block:12px 18px}.about-lede{color:var(--text-secondary);max-width:50ch;margin-inline:auto;font-size:1.0625rem;line-height:1.72}.about-principles{border-top:1px solid var(--border-color);grid-template-columns:repeat(3,1fr);gap:20px;padding-block:48px;display:grid}.about-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;gap:12px;padding:28px;transition:border-color .2s,transform .2s;display:flex}.about-card:hover{border-color:var(--text-muted);transform:translateY(-2px)}.about-card-num{letter-spacing:.1em;color:var(--accent-primary);font-size:.72rem}.about-card-icon{color:var(--accent-primary);opacity:.9;margin-block:4px 2px}.about-card-title{font:700 1.05rem/1.3 var(--font-display);letter-spacing:-.01em;color:var(--text-primary);margin-top:4px}.about-card-body{color:var(--text-secondary);font-size:.9rem;line-height:1.7}.about-oss{border-top:1px solid var(--border-color);grid-template-columns:1fr auto;align-items:center;gap:40px;padding-block:48px;display:grid}.about-oss-title{font:700 clamp(1.4rem,2.8vw,2rem)/1.2 var(--font-display);letter-spacing:-.015em;color:var(--text-primary);margin-bottom:10px}.about-oss-body{color:var(--text-secondary);max-width:58ch;font-size:.9375rem;line-height:1.68}.about-oss-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:10px;display:flex}.about-oss-badge{letter-spacing:.08em;color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:100px;padding:4px 12px;font-size:.72rem}.about-stack{border-top:1px solid var(--border-color);flex-wrap:wrap;align-items:center;gap:8px;padding-block:32px;display:flex}.about-stack-label{letter-spacing:.1em;color:var(--text-muted);margin-right:4px;font-size:.72rem}@media (max-width:860px){.about-principles{grid-template-columns:1fr 1fr}.about-oss{grid-template-columns:1fr}.about-oss-actions{align-items:flex-start}}@media (max-width:540px){.about-principles{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}