*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}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{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.static{position:static}.absolute{position:absolute}.flex{display:flex}.table{display:table}.grow{flex-grow:1}.border{border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--bg:#acd2b3;--bg-2:#d2e4d8;--bg-3:#fff;--glow-rgb:199,255,153;--glow-alpha:0.46;--paper:hsla(0,0%,98%,.32);--ink:#1a231e;--ink-rgb:26,35,30;--muted:#23392b;--rust:#005c0e;--accent-rgb:0,92,14;--clay:#c6dfc9;--line:rgba(22,32,26,.18);--shadow:rgba(14,26,18,.24)}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at 20% 20%,rgba(var(--glow-rgb),var(--glow-alpha)),transparent 18%),radial-gradient(circle at 80% 0,rgba(var(--accent-rgb),.1),transparent 22%),linear-gradient(135deg,var(--bg) 0,var(--bg-2) 42%,var(--bg-3) 100%);background-attachment:fixed}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.34;background-image:linear-gradient(hsla(0,0%,100%,.08) 1px,transparent 1px),linear-gradient(90deg,hsla(0,0%,100%,.08) 1px,transparent 1px),radial-gradient(rgba(var(--ink-rgb),.08) .8px,transparent .8px);background-size:22px 22px;-webkit-mask-image:radial-gradient(circle at center,#000 45%,transparent 100%);mask-image:radial-gradient(circle at center,#000 45%,transparent 100%)}*{box-sizing:border-box}.site-layout{min-height:100vh;display:flex;flex-direction:column}.site-content{flex:1}.site-footer{padding:0 18px 26px}.site-footer-inner{display:flex;justify-content:center;gap:12px 24px;max-width:1344px;margin:0 auto;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}.page-shell{position:relative;max-width:1380px;margin:0 auto;padding:24px 18px 60px}.topbar{justify-content:space-between;gap:18px;padding:18px 40px;margin-bottom:28px;background:rgba(250,253,250,.6);border:1px solid var(--line);border-radius:18px;backdrop-filter:blur(8px);box-shadow:0 8px 28px rgba(var(--ink-rgb),.04)}.brand-wrap,.topbar{display:flex;align-items:center}.brand-wrap{gap:12px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#fff,#d3e6d6);color:#f5faf6;font-weight:700;letter-spacing:.08em}.brand-logo{width:30px;height:30px;color:#f5faf6}.brand-name{font-weight:700;letter-spacing:.02em}.brand-sub{color:var(--muted);font-size:12px}.nav{display:flex;gap:18px;flex-wrap:wrap}.nav,.nav-link{align-items:center}.nav-link{position:relative;display:inline-flex;min-height:32px;color:var(--muted);font-size:14px;transition:color .2s ease,transform .2s ease}.nav-link:after{content:"";position:absolute;right:0;bottom:1px;left:0;height:2px;border-radius:999px;background:var(--rust);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}.nav-link:hover{transform:translateY(-1px)}.nav-link.is-active,.nav-link:hover,.nav-link:hover:after{color:var(--ink)}.nav-link.is-active:after,.nav-link:hover:after{transform:scaleX(1)}.ghost-button,.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;border:1px solid var(--line);transition:transform .2s ease}.ghost-button{padding:10px 14px;background:hsla(0,0%,100%,.35)}.primary-button,.secondary-button{padding:12px 18px;font-weight:600}.primary-button{background:var(--ink);color:#f4faf5;box-shadow:0 12px 24px var(--shadow)}.secondary-button{background:hsla(0,0%,100%,.3);color:var(--ink)}.ghost-button:hover,.post-card:hover,.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.content-wrap{display:grid;gap:28px}.lead-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;align-items:stretch}.lead-copy,.note-card,.post-card{background:rgba(250,254,251,.52);border:1px solid var(--line);border-radius:28px;box-shadow:0 12px 32px rgba(var(--ink-rgb),.04)}.lead-copy{padding:38px 26px 22px;position:relative;overflow:hidden}.lead-copy:after{content:"";position:absolute;inset:8% auto auto -8%;width:180px;height:180px;border-radius:50%;background:rgba(122,186,132,.15);filter:blur(20px)}.eyebrow,.mini-label{display:inline-block;padding:7px 10px;border-radius:999px;background:rgba(var(--accent-rgb),.08);color:var(--rust);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.lead-copy h1{margin:18px 0 14px;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,3.7vw,5rem);line-height:.9;letter-spacing:-.06em}.lead-copy p{margin:0;max-width:34rem;color:var(--muted);line-height:1.7}.cta-row{margin-top:26px}.cta-row,.meta-row{display:flex;flex-wrap:wrap;gap:12px}.meta-row{margin-top:28px}.meta-box{min-width:60px;padding:14px 16px;background:hsla(0,0%,100%,.28);border:1px solid var(--line);border-radius:18px}.meta-box strong{display:block;font-size:1rem;margin-bottom:4px;color:var(--muted)}.meta-box span{color:var(--muted);font-size:12px}.lead-visual{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:12px;min-height:420px;overflow:hidden}.case-card{display:flex;flex-direction:column;min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:rgba(250,254,251,.52);box-shadow:0 12px 32px rgba(var(--ink-rgb),.04);transition:transform .2s ease}.case-card:hover{transform:translateY(-2px)}.case-shot{position:relative;flex:1 1 0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:rgba(var(--ink-rgb),.04)}.case-shot img{position:absolute;inset:0;display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;filter:saturate(.85) contrast(1.06)}.case-shot-hint{display:grid;gap:6px;padding:12px;text-align:center}.case-shot-hint>span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--rust)}.case-shot-hint code{font-size:11px;line-height:1.55;word-break:break-all;color:var(--muted)}.case-caption{flex:none;padding:10px 12px 12px;border-top:1px solid var(--line);background:hsla(0,0%,100%,.3)}.case-caption strong{display:block;font-size:13px;line-height:1.45}.case-caption span{display:block;margin-top:3px;font-size:11px;line-height:1.5;color:var(--muted)}.floating-tag{position:absolute;display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(var(--ink-rgb),.1);border-radius:999px;background:rgba(252,254,252,.78);box-shadow:0 12px 26px rgba(14,26,18,.08);font-size:13px}.tag-left{left:18px;bottom:24px}.tag-right{right:18px;top:24px}.icon{width:18px;height:18px}.notes-grid{display:grid;grid-template-columns:1.2fr .8fr .9fr;gap:18px}.note-card{padding:24px}.accent-card{background:linear-gradient(135deg,rgba(var(--accent-rgb),.09),hsla(0,0%,100%,.4))}.accent-card h3{margin:14px 0 8px;font-size:clamp(1.4rem,2vw,2rem)}.accent-card p,.quote-card p{margin:0;color:var(--muted)}.quote-card{display:flex;align-items:center;justify-content:center;text-align:center;font-size:clamp(1.2rem,2vw,1.9rem);font-family:Georgia,Times New Roman,serif}.quote-icon{width:28px;height:28px;color:var(--rust)}.image-card img{height:230px;width:100%;-o-object-fit:cover;object-fit:cover;border-radius:18px}.search-panel{display:flex;align-items:center;gap:10px;margin-top:22px;padding:12px 14px;border:1px solid var(--line);border-radius:999px;background:hsla(0,0%,100%,.32);box-shadow:0 10px 24px rgba(var(--ink-rgb),.03)}.search-icon{display:grid;place-items:center;width:22px;height:22px;color:var(--muted)}.search-panel input{width:100%;border:none;outline:none;background:transparent;font:inherit;color:var(--ink)}.search-panel input::-moz-placeholder{color:rgba(93,107,98,.75)}.search-panel input::placeholder{color:rgba(93,107,98,.75)}.tag-filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.post-tags span,.tag-chip{border:1px solid rgba(var(--accent-rgb),.2);border-radius:999px;background:hsla(0,0%,100%,.34);color:var(--muted);font-size:12px}.tag-chip{padding:7px 11px;cursor:pointer}.tag-chip.is-active,.tag-chip:hover{border-color:var(--rust);background:var(--rust);color:#fcfffc}.post-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0}.post-tags span{padding:4px 8px}.empty-state{width:100%;padding:24px;border:1px dashed var(--line);border-radius:18px;background:hsla(0,0%,100%,.28);color:var(--muted)}.news-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}.content-card{background:rgba(250,254,251,.62);border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 16px 32px rgba(var(--ink-rgb),.04)}.news-list{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:20px}.card-thumb{flex:none;position:relative;width:160px;aspect-ratio:4/3;overflow:hidden;border-radius:16px;background:rgba(var(--accent-rgb),.05)}.card-thumb img{position:absolute;inset:0;display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.card-thumb-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border:1px dashed rgba(var(--accent-rgb),.3);border-radius:inherit;color:rgba(var(--accent-rgb),.45);font-size:24px}.card-thumb.is-icon{background:#fff;border:1px solid var(--line)}.card-thumb.is-icon img{-o-object-fit:contain;object-fit:contain;padding:16px}.post-thumb{width:148px;align-self:stretch;aspect-ratio:auto;height:auto}.resource-thumb{width:128px}.lab-tool-thumb{width:128px}.lab-tool-thumb,.news-thumb{align-self:stretch;aspect-ratio:auto;height:auto}.news-item{display:flex;align-items:flex-start;gap:16px;padding:20px 18px;border:1px solid var(--line);border-radius:20px;background:hsla(0,0%,100%,.25);transition:transform .2s ease}.news-body{flex:1;min-width:0}.news-item:hover,.resource-card:hover{transform:translateY(-1px)}.news-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:8px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.about-panel h3{margin:0 0 8px;font-size:clamp(1.2rem,2vw,1.8rem);overflow-wrap:anywhere}.news-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px 14px;margin-bottom:10px}.news-head h3{flex:1 1 0;min-width:220px;margin:0;font-size:clamp(1.08rem,1.5vw,1.35rem);line-height:1.4;overflow-wrap:anywhere}.news-head .post-tags{flex:0 1 auto;margin-left:auto;justify-content:flex-end}.about-panel li,.about-panel p,.news-item p{margin:14px 0;color:var(--muted);line-height:1.7;overflow-wrap:anywhere}.news-item p{margin:0;font-size:.92rem}.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.resource-card{display:flex;align-items:stretch;gap:16px;padding:20px;border:1px solid var(--line);border-radius:22px;background:hsla(0,0%,100%,.28);transition:transform .2s ease}.resource-card .card-thumb.is-icon{align-self:stretch;aspect-ratio:auto;height:auto}.resource-body{flex:1;min-width:0}.resource-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.resource-head h3{flex:1;min-width:0;margin:0;font-size:1.05rem;line-height:1.4;overflow-wrap:anywhere}.resource-tag{flex:0 0 auto;padding:4px 9px;border-radius:999px;background:rgba(var(--accent-rgb),.08);color:var(--rust);font-size:10px;line-height:1.5;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.resource-body p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.7;overflow-wrap:anywhere}.resource-link{display:inline-block;margin-top:12px;color:var(--rust);font-weight:600}.about-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:20px;margin-top:24px}.about-panel{padding:22px;border:1px solid var(--line);border-radius:20px;background:hsla(0,0%,100%,.22)}.contact-panel ul{margin:10px 0 0;padding-left:18px}.contact-panel .about-qrcode{margin-top:16px;padding:12px;border:1px solid var(--line);border-radius:14px;background:hsla(0,0%,100%,.5);text-align:center}.contact-panel .about-qrcode img{display:block;width:148px;max-width:100%;margin:0 auto;border:1px solid var(--line);border-radius:10px;background:#fff}.contact-panel .about-qrcode p{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.4}.post-section{display:grid;gap:18px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:4px 2px}.section-head>div{min-width:0}.section-head h2{margin:8px 0 0;font-size:clamp(2rem,3vw,3rem);font-family:Georgia,Times New Roman,serif}.text-link{color:var(--rust);font-weight:600}.section-head>.text-link{flex:0 0 auto;white-space:nowrap}.post-list{display:grid;grid-template-columns:1.15fr 1fr;gap:18px}.post-card{display:flex;align-items:stretch;gap:18px;padding:20px;min-height:180px}.post-copy{display:flex;flex-direction:column;justify-content:center;flex:1;min-width:0;gap:12px}.post-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:12px}.post-copy h3{font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.4}.post-copy h3,.post-copy p{margin:0;overflow-wrap:anywhere}.post-copy p{color:var(--muted);font-size:.92rem;line-height:1.7}.post-arrow{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:rgba(var(--ink-rgb),.04);align-self:center}@media (max-width:980px){.lead-grid,.notes-grid,.post-list{grid-template-columns:1fr}.resource-grid{grid-template-columns:minmax(0,1fr)}.topbar{flex-wrap:wrap}.nav{width:100%;justify-content:space-between}}@media (max-width:640px){.page-shell{padding:12px 12px 42px}.topbar{padding:14px 16px}.lead-copy{padding:24px 18px 18px}.post-card{flex-direction:column}.post-thumb{width:100%;aspect-ratio:16/9}.site-footer-inner{flex-direction:column;gap:4px}}.article-page{padding-top:24px}.article-topbar{margin-bottom:22px}.article-shell{display:flex;justify-content:center}.article-card{width:min(980px,100%);background:rgba(250,254,251,.68);border:1px solid var(--line);border-radius:30px;box-shadow:0 18px 42px rgba(var(--ink-rgb),.06);overflow:hidden}.article-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:22px 48px 0;font-size:13px;color:var(--muted)}.article-breadcrumb a{color:var(--muted);text-decoration:none;border-bottom:1px solid transparent}.article-breadcrumb a:hover{color:var(--rust);border-bottom-color:var(--rust)}.article-byline{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 48px 0;font-size:13px;color:var(--muted)}.article-byline strong{font-weight:600;color:var(--ink)}.article-byline .byline-date,.article-byline .byline-original{padding-left:8px;border-left:1px solid var(--line)}.related-posts{margin:0 48px 48px;padding-top:28px;border-top:1px solid var(--line)}.related-posts h2{margin:0 0 16px;font-size:17px;font-weight:600;color:var(--ink)}.related-posts ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.related-posts a{display:flex;flex-direction:column;gap:6px;height:100%;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:rgba(253,255,253,.7);text-decoration:none;transition:border-color .16s ease,transform .16s ease}.related-posts a:hover{border-color:var(--rust);transform:translateY(-2px)}.related-title{font-size:15px;line-height:1.5;color:var(--ink)}.related-meta{font-size:12px;color:var(--muted)}.playground-page,.playground-shell{height:100vh;background:#14181f}.playground-shell{display:flex;min-height:360px;color:#e8ecf4}.playground-pane{flex:1 1 50%;min-width:0;display:flex;flex-direction:column}.playground-editor{border-right:1px solid hsla(0,0%,100%,.08)}.playground-tabs{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#1b202b;border-bottom:1px solid hsla(0,0%,100%,.08)}.playground-title{font-size:12px;color:#9aa5b8;margin-right:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playground-tab-list{display:flex;gap:4px;flex:1;overflow-x:auto}.playground-tab{border:none;background:transparent;color:#9aa5b8;font-size:12px;padding:6px 10px;border-radius:8px;cursor:pointer;white-space:nowrap}.playground-tab.is-active{background:rgba(120,210,132,.16);color:#78d284}.playground-run{border:none;background:#78d284;color:#14181f;font-size:12px;font-weight:600;padding:6px 14px;border-radius:8px;cursor:pointer}.playground-editor-surface{flex:1;overflow:auto}.playground-editor-surface .cm-editor{height:100%;font-size:13px}.playground-preview{background:#0c0f14}.playground-preview-frame{flex:1;width:100%;border:none;background:#fff}@media (max-width:720px){.playground-shell{flex-direction:column}.playground-editor{border-right:none;border-bottom:1px solid hsla(0,0%,100%,.08)}}.article-header{padding:32px 28px 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,hsla(0,0%,100%,.22),transparent)}.article-header h1{margin:16px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.4rem,5vw,4.2rem);line-height:.96;letter-spacing:-.06em}.article-meta{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.article-linkline{margin:18px 0 0;color:var(--muted);line-height:1.7}.article-linkline a{color:var(--rust);text-decoration:underline;text-underline-offset:.18em}.article-body{padding:28px;color:var(--ink);line-height:1.8}.article-body>:first-child{margin-top:0}.article-body>:last-child{margin-bottom:0}.article-body h1,.article-body h2,.article-body h3,.article-body h4{margin:2.2rem 0 .8rem;line-height:1.15;font-family:Georgia,Times New Roman,serif;letter-spacing:-.04em}.article-body h1{font-size:clamp(2rem,4vw,2.8rem)}.article-body h2{font-size:clamp(1.7rem,3vw,2.2rem)}.article-body h3{font-size:clamp(1.3rem,2vw,1.7rem)}.article-body dd,.article-body dt,.article-body li,.article-body p{color:rgba(var(--ink-rgb),.82);font-size:1.02rem}.article-body p{margin:1.1rem 0}.article-body strong{color:var(--ink)}.article-body a{color:var(--rust);text-decoration:underline;text-underline-offset:.14em}.article-body blockquote{margin:1.8rem 0;padding:1rem 1.2rem;border-left:3px solid var(--rust);background:rgba(var(--accent-rgb),.05);border-radius:0 14px 14px 0;color:var(--ink)}.article-body blockquote p{margin:0}.article-body hr{margin:2rem 0;border:none;border-top:1px solid var(--line)}.article-body ol,.article-body ul{padding-left:1.2rem;margin:1rem 0}.article-body li+li{margin-top:.42rem}.article-body pre{margin:1.6rem 0;padding:1rem;overflow-x:auto;background:rgba(14,26,18,.92);color:#f4faf5;border:1px solid hsla(0,0%,100%,.06);border-radius:18px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.05)}.article-body code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9em;background:rgba(var(--accent-rgb),.08);padding:.12rem .38rem;border-radius:6px}.article-body pre code{background:transparent;padding:0}.article-body table{width:100%;min-width:720px;margin:2rem 0;border-collapse:separate;border-spacing:0;border:1px solid rgba(var(--ink-rgb),.2);border-radius:12px;background:rgba(252,254,252,.5);box-shadow:0 12px 24px rgba(var(--ink-rgb),.06)}.article-body td,.article-body th{padding:1rem 1.1rem;border-bottom:1px solid rgba(var(--ink-rgb),.12);border-right:1px solid rgba(var(--ink-rgb),.12);text-align:left;vertical-align:top}.article-body th:first-child{width:25%}.article-body td:first-child{color:var(--ink);font-weight:650}.article-body tr:last-child td{border-bottom:none}.article-body td:last-child,.article-body th:last-child{border-right:none}.article-body tbody tr:nth-child(2n){background:rgba(var(--accent-rgb),.035)}.article-body th{background:var(--ink);color:#fcfffc;font-weight:700;white-space:nowrap}.article-body th:first-child{border-radius:11px 0 0 0}.article-body th:last-child{border-radius:0 11px 0 0}.article-body td code{color:var(--rust);font-weight:650}@media (max-width:760px){.article-body table{display:block;overflow-x:auto;min-width:0;white-space:normal}}.article-body img{display:block;width:100%;max-height:560px;-o-object-fit:cover;object-fit:cover;border-radius:20px;margin:1.5rem 0;border:1px solid var(--line)}@media (max-width:760px){.article-body,.article-header{padding-left:18px;padding-right:18px}.article-topbar{flex-wrap:wrap}.article-breadcrumb,.article-byline{padding-left:18px;padding-right:18px}.related-posts{margin-left:18px;margin-right:18px;margin-bottom:28px}.related-posts ul{grid-template-columns:minmax(0,1fr)}}.contact-float{position:fixed;right:20px;bottom:20px;z-index:40;display:flex;flex-direction:column;align-items:flex-end}.contact-float-pop{position:absolute;right:0;bottom:100%;padding-bottom:10px;pointer-events:none}.contact-float.is-open .contact-float-pop{pointer-events:auto}.contact-float-panel{width:180px;padding:10px;border:1px solid var(--line);border-radius:16px;background:rgba(252,254,252,.96);backdrop-filter:blur(8px);box-shadow:0 18px 40px var(--shadow);transform-origin:bottom right;opacity:0;visibility:hidden;transform:translateY(8px) scale(.96);pointer-events:none;transition:opacity .22s ease,transform .22s ease,visibility .22s}.contact-float.is-open .contact-float-panel{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}.contact-float-panel img{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff}.contact-float-panel p{margin:8px 0 2px;color:var(--muted);font-size:12px;line-height:1.4;text-align:center}.contact-float-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid rgba(var(--accent-rgb),.3);border-radius:999px;background:linear-gradient(135deg,var(--rust),var(--rust));color:#fcfffc;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 10px 24px rgba(var(--accent-rgb),.26);transition:transform .2s ease,box-shadow .2s ease}.contact-float-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(var(--accent-rgb),.32)}.contact-float-btn:focus-visible{outline:2px solid var(--rust);outline-offset:3px}.contact-float-icon{font-size:18px}@media (max-width:640px){.contact-float{right:14px;bottom:14px}.contact-float-text{display:none}.contact-float-btn{padding:12px}.contact-float-panel{width:156px}}.lab-intro{margin:0 0 8px;max-width:86ch;color:var(--muted);line-height:1.8}.lab-intro-sm{font-size:12px;margin:0 0 22px}.lab-tool-card{display:flex;align-items:stretch;justify-content:space-between;gap:22px;margin-bottom:26px;padding:22px 24px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,rgba(var(--accent-rgb),.1),hsla(0,0%,100%,.42));transition:transform .2s ease}.lab-tool-card:hover{transform:translateY(-1px)}.lab-tool-copy{flex:1;min-width:0}.lab-tool-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.lab-tool-head h3{flex:1;min-width:0;margin:0;font-size:clamp(1.05rem,1.3vw,1.2rem);line-height:1.4;overflow-wrap:anywhere}.lab-tool-head .mini-label{flex:none}.lab-tool-copy p{margin:0;max-width:62ch;font-size:.9rem;line-height:1.7;color:var(--muted)}.lab-tool-cta{flex:none;align-self:center;color:var(--rust);font-weight:600;white-space:nowrap}@media (max-width:640px){.lab-tool-card{flex-direction:column;align-items:flex-start;gap:14px}.lab-tool-thumb{width:100%;aspect-ratio:16/9}}.article-section-back{margin:0 48px 48px;padding-top:20px;border-top:1px solid var(--line);font-weight:600}@media (max-width:640px){.article-section-back{margin:0 20px 32px}}.calc{display:grid;gap:20px}.calc-tabs{display:inline-flex;gap:6px;padding:5px;border:1px solid var(--line);border-radius:999px;background:rgba(252,254,252,.6);width:-moz-fit-content;width:fit-content}.calc-tab{padding:9px 18px;border:none;border-radius:999px;background:transparent;color:var(--muted);font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease}.calc-tab.is-active{background:var(--ink);color:#f4faf5}.calc-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:20px;align-items:start}.calc-panel,.calc-results>.calc-block{background:rgba(252,254,252,.72);border:1px solid var(--line);border-radius:22px;padding:22px}.calc-panel-title{margin:0 0 16px;font-size:15px;font-weight:600;color:var(--ink)}.calc-results{display:grid;gap:16px}.calc-field{display:grid;gap:6px;margin-bottom:14px}.calc-field:last-child{margin-bottom:0}.calc-field label{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:13px;color:var(--muted)}.calc-field-hint{color:var(--rust);font-size:12px;text-align:right}.calc-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.calc-field input[type=number],.calc-field select{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:hsla(0,0%,100%,.7);color:var(--ink);font-size:14px;font-family:inherit}.calc-field input[type=range]{width:100%;accent-color:var(--rust)}.calc-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.calc-metric{display:grid;gap:4px;padding:16px;border-radius:18px;background:rgba(var(--accent-rgb),.07)}.calc-metric-label{font-size:12px;color:var(--muted)}.calc-metric-value{font-size:24px;font-weight:600;color:var(--ink);line-height:1.2}.calc-metric-note{font-size:11px;color:var(--muted)}.calc-bar{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--line)}.calc-bar span{display:block;height:100%}.calc-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:12px;color:var(--muted)}.calc-legend i{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:2px}.calc-actions{display:grid;gap:10px;margin:0;padding:0;list-style:none}.calc-actions li{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink)}.calc-actions li:last-child{padding-bottom:0;border-bottom:none}.calc-actions em{display:block;margin-top:4px;font-style:normal;font-size:11px;color:var(--muted)}.calc-actions strong{white-space:nowrap;color:var(--rust)}.calc-note{margin:12px 0 0;color:var(--muted)}.calc-note,.calc-price-line{font-size:12px;line-height:1.7}.calc-price-line{margin:0 0 14px;padding:10px 12px;border-radius:10px;background:rgba(var(--accent-rgb),.06);color:var(--ink)}.calc-price-line em{display:block;margin-top:4px;font-style:normal;color:var(--muted)}.calc-disclaimer{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(var(--accent-rgb),.05)}.calc-coef{border:1px solid var(--line);border-radius:22px;background:rgba(252,254,252,.72);padding:18px 22px}.calc-coef summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--ink)}.calc-coef-body{margin-top:16px;font-size:13px;color:var(--muted)}.calc-coef-body table{width:100%;border-collapse:collapse;margin-top:12px;table-layout:fixed}.calc-coef-body td,.calc-coef-body th{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:12px;word-break:break-word}.calc-coef-body th{color:var(--ink);font-weight:600}.calc-promo{display:grid;grid-template-columns:.85fr 1.15fr;gap:26px;align-items:center;padding:28px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,rgba(var(--accent-rgb),.09),hsla(0,0%,100%,.4));box-shadow:0 12px 32px rgba(var(--ink-rgb),.04)}.calc-promo-copy h3{margin:14px 0 10px;font-size:clamp(1.4rem,2vw,2rem)}.calc-promo-copy p{margin:0;color:var(--muted);line-height:1.7}.calc-promo-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.calc-promo-shot{display:grid;place-items:center;min-height:240px;border:1px dashed var(--line);border-radius:20px;background:hsla(0,0%,100%,.35);overflow:hidden}.calc-promo-shot img{display:block;width:100%;height:auto;border-radius:20px}.calc-promo-shot-hint{padding:24px;text-align:center;font-size:13px;line-height:1.8;color:var(--muted)}.calc-promo-shot-hint code{display:inline-block;margin-top:6px;padding:3px 8px;border-radius:6px;background:rgba(var(--ink-rgb),.06);font-size:12px;color:var(--ink)}@media (max-width:900px){.calc-grid,.calc-promo{grid-template-columns:1fr}}@media (max-width:640px){.calc-field-row{grid-template-columns:1fr}.calc-coef,.calc-panel,.calc-results>.calc-block{padding:18px}.calc-promo{padding:22px}}.section-head h1{margin:8px 0 0;font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.2;font-family:Georgia,Times New Roman,serif}.guide-block{margin-top:40px;padding-top:32px;border-top:1px solid var(--line)}.guide-block h2{margin:0 0 14px;font-size:clamp(1.35rem,2vw,1.75rem);font-family:Georgia,Times New Roman,serif}.guide-block>p{margin:0 0 14px;color:var(--muted);line-height:1.85}.guide-block>p strong{color:var(--ink)}.guide-steps{margin:0;padding-left:1.2em;color:var(--muted);line-height:1.85}.guide-steps li{margin-bottom:10px}.guide-steps strong{color:var(--ink)}.guide-moves{display:grid;gap:16px;margin:18px 0 0;padding:0;list-style:none}.guide-moves li{display:flex;gap:16px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:hsla(0,0%,100%,.42)}.guide-move-index{flex:none;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;color:var(--rust);line-height:1.6}.guide-moves h3{margin:0 0 6px;font-size:1rem}.guide-moves p{margin:0;font-size:14px;line-height:1.75;color:var(--muted)}.guide-readings{display:grid;gap:12px;margin:18px 0 0;padding:0;list-style:none}.guide-readings a{display:grid;gap:4px;padding:14px 18px;border:1px solid var(--line);border-radius:14px;background:hsla(0,0%,100%,.42);transition:transform .2s ease}.guide-readings a:hover{transform:translateY(-1px)}.guide-reading-title{font-weight:600;color:var(--ink)}.guide-reading-note{font-size:13px;line-height:1.7;color:var(--muted)}.guide-faq{display:grid;gap:18px;margin-top:18px}.guide-faq-item{padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:hsla(0,0%,100%,.42)}.guide-faq-item h3{margin:0 0 8px;font-size:1rem}.guide-faq-item p{margin:0;font-size:14px;line-height:1.8;color:var(--muted)}.calc-cta{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 48px 32px;padding:22px 24px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,rgba(var(--accent-rgb),.1),hsla(0,0%,100%,.42))}.calc-cta-copy h2{margin:10px 0 8px;font-size:1.2rem}.calc-cta-copy p{margin:0;max-width:62ch;font-size:14px;line-height:1.7;color:var(--muted)}.calc-cta .primary-button{flex:none;white-space:nowrap}@media (max-width:640px){.calc-cta{flex-direction:column;align-items:flex-start;gap:14px;margin:0 20px 28px}}.lab-tools{display:grid;gap:14px;margin-bottom:26px}.lab-tools .lab-tool-card{margin-bottom:0}@media (min-width:1200px){.lab-tools{grid-template-columns:1fr 1fr}}@media (max-width:640px){.lead-visual{min-height:360px;gap:10px}.case-card{border-radius:16px}.case-caption{padding:8px 10px 10px}.case-caption strong{font-size:12px}.case-shot-hint{padding:8px}}.back-to-top{position:fixed;right:20px;bottom:72px;z-index:30;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:999px;background:rgba(252,254,252,.92);color:var(--ink);cursor:pointer;box-shadow:0 10px 24px rgba(14,26,18,.14);backdrop-filter:blur(8px);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease,visibility .22s,box-shadow .2s ease}.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{color:var(--rust);box-shadow:0 14px 30px rgba(14,26,18,.2)}.back-to-top:focus-visible{outline:2px solid var(--rust);outline-offset:3px}.back-to-top-icon{font-size:22px}@media (prefers-reduced-motion:reduce){.back-to-top{transform:none;transition:opacity .15s ease,visibility .15s}}@media (max-width:640px){.back-to-top{right:14px;bottom:68px;width:42px;height:42px}.content-card{padding:18px;border-radius:22px}.about-grid,.resource-grid{grid-template-columns:minmax(0,1fr);gap:14px}.news-item{padding:16px 14px;border-radius:16px}.about-panel,.resource-card{padding:18px 16px}.empty-state{padding:18px}.contact-panel .about-qrcode img{width:128px}.section-head{flex-wrap:wrap;gap:10px 20px}.section-head>div{flex:1 1 100%}}@media (max-width:560px){.card-thumb{width:100%;aspect-ratio:16/9;align-self:stretch;border-radius:14px}.news-item,.resource-card{flex-direction:column;gap:14px}.card-thumb.is-icon,.resource-card .card-thumb.is-icon{aspect-ratio:auto;height:116px}}.theme-tuner{--tt-bg:#1f2933;--tt-bg-2:#27313b;--tt-fg:#e8eef2;--tt-muted:#9aa8b3;--tt-line:hsla(0,0%,100%,.14);--tt-accent:#6fd3a0;--tt-shadow:rgba(0,0,0,.42);position:fixed;top:16px;right:16px;width:340px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;z-index:80;border-radius:14px;background:var(--tt-bg);backdrop-filter:blur(14px);border:1px solid var(--tt-line);box-shadow:0 1px 3px var(--tt-shadow),0 14px 38px var(--tt-shadow);color:var(--tt-fg);font-size:12px;overflow:hidden}.theme-tuner-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--tt-line);background:var(--tt-bg-2)}.theme-tuner-title{display:block;font-size:13px;letter-spacing:.2px}.theme-tuner-hint{display:block;margin-top:3px;font-size:10.5px;color:var(--tt-muted)}.theme-tuner-close{border:none;background:transparent;color:var(--tt-muted);font-size:20px;line-height:1;padding:0 2px;cursor:pointer;border-radius:6px}.theme-tuner-close:hover{color:var(--tt-accent)}.theme-tuner-body{padding:10px 14px 14px;overflow-y:auto}.theme-tuner-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0}.theme-tuner-label{min-width:0;display:flex;flex-direction:column;gap:1px}.theme-tuner-name{font-size:11.5px;color:var(--tt-fg)}.theme-tuner-var{font-size:9.5px;color:var(--tt-muted);font-family:ui-monospace,Consolas,monospace}.theme-tuner-inputs{display:flex;align-items:center;gap:6px;flex-shrink:0}.theme-tuner-swatch{width:30px;height:24px;padding:0;background:transparent;cursor:pointer}.theme-tuner-swatch,.theme-tuner-text{border:1px solid var(--tt-line);border-radius:6px}.theme-tuner-text{width:118px;padding:4px 7px;font-size:10.5px;font-family:ui-monospace,Consolas,monospace;color:var(--tt-fg);background:var(--tt-bg)}.theme-tuner-alpha{width:52px}.theme-tuner-preview{width:30px;height:24px;border-radius:6px;border:1px solid var(--tt-line)}.theme-tuner-derived{margin-top:8px;padding-top:10px;border-top:1px dashed var(--tt-line)}.theme-tuner-derived-title{display:block;font-size:11px;font-weight:600;color:var(--tt-muted);margin-bottom:2px}.theme-tuner-derived-val{font-size:10px;font-family:ui-monospace,Consolas,monospace;color:var(--tt-muted)}.theme-tuner-derived-note{display:block;margin-top:4px;font-size:9.5px;line-height:1.5;color:var(--tt-muted)}.theme-tuner-snippet{margin-top:10px;padding-top:10px;border-top:1px dashed var(--tt-line)}.theme-tuner-snippet-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10.5px;color:var(--tt-muted);margin-bottom:6px}.theme-tuner-actions button,.theme-tuner-snippet-head button{border:1px solid var(--tt-line);background:var(--tt-bg);color:var(--tt-fg);font-size:10.5px;padding:5px 10px;border-radius:7px;cursor:pointer}.theme-tuner-actions button:hover,.theme-tuner-snippet-head button:hover{border-color:var(--tt-accent);color:var(--tt-accent)}.theme-tuner-snippet pre{margin:0;padding:9px 10px;max-height:148px;overflow:auto;font-size:10px;line-height:1.55;font-family:ui-monospace,Consolas,monospace;color:var(--tt-fg);background:var(--tt-bg);border:1px solid var(--tt-line);border-radius:8px;white-space:pre}.theme-tuner-actions{margin-top:10px;display:flex;justify-content:flex-end}@media (max-width:520px){.theme-tuner{left:10px;right:10px;width:auto;top:10px}}