@font-face{font-family:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_astro/playfair-display-cyrillic-wght-normal.5WvUvBgz.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_astro/playfair-display-vietnamese-wght-normal.Cabi7G8-.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_astro/playfair-display-latin-ext-wght-normal.CT1r92Rl.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_astro/playfair-display-latin-wght-normal.BOwq7MWX.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display Variable;font-style:italic;font-display:swap;font-weight:400 900;src:url(/_astro/playfair-display-cyrillic-wght-italic.D5dBZ3aJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Playfair Display Variable;font-style:italic;font-display:swap;font-weight:400 900;src:url(/_astro/playfair-display-vietnamese-wght-italic.DUEcMSM3.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display Variable;font-style:italic;font-display:swap;font-weight:400 900;src:url(/_astro/playfair-display-latin-ext-wght-italic.ze_cPdSg.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display Variable;font-style:italic;font-display:swap;font-weight:400 900;src:url(/_astro/playfair-display-latin-wght-italic.DmbndNpe.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/_astro/nunito-cyrillic-ext-wght-normal.D4X5GqEv.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/_astro/nunito-cyrillic-wght-normal.CY6AOgYE.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/_astro/nunito-vietnamese-wght-normal.U01xdrZh.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/_astro/nunito-latin-ext-wght-normal.CXYtwYOx.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/_astro/nunito-latin-wght-normal.BzFMHfZw.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--teal: #7fbfb4;--lavender: #b8a6d9;--plum: #3d3555;--paper: #f8f3ea;--cream: #f2e9da;--ivory: #eadfcb;--dust-lavender: #b8a8c8;--mauve: #a592ae;--aqua: #b8d5ce;--aqua-2: #a8cdc4;--peach: #e8c9b8;--rose-dust: #d8b9b5;--plum-deep: #5d4a63;--taupe: #8a7864;--bg: var(--paper);--surface: #fffcf6;--surface-2: #f4ecdf;--text: #2f2943;--muted: #645a6e;--line: #e4d8c6;--link: #33746a;--accent: #6c5a8f;--accent-soft: #ece4f6;--teal-soft: #dcefea;--peach-soft: #f6e6dc;--shadow: 0 1px 2px rgba(61, 53, 85, .04), 0 12px 32px -12px rgba(61, 53, 85, .14);--shadow-lift: 0 2px 4px rgba(61, 53, 85, .05), 0 22px 48px -18px rgba(61, 53, 85, .24);--grain-opacity: .35;--font-serif: "Playfair Display Variable", "Playfair Display", Georgia, serif;--font-sans: "Nunito Variable", "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--radius: 22px;--radius-sm: 14px;--maxw: 1120px;--readw: 70ch;--ease: cubic-bezier(.22, 1, .36, 1)}:root[data-theme=night]{color-scheme:dark;--bg: #1f1b2c;--surface: #2a2539;--surface-2: #322c44;--text: #ede7f4;--muted: #b9afc8;--line: #433b58;--link: #95d3c8;--accent: #cdbfea;--accent-soft: #3a3352;--teal-soft: #26393a;--peach-soft: #3a2f36;--shadow: 0 1px 2px rgba(0, 0, 0, .2), 0 14px 36px -14px rgba(0, 0, 0, .5);--shadow-lift: 0 2px 4px rgba(0, 0, 0, .25), 0 24px 52px -18px rgba(0, 0, 0, .6);--grain-opacity: .18}@view-transition{navigation:auto}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}html,body{margin:0;padding:0}body{font-family:var(--font-sans);font-size:1.0625rem;background:var(--bg);color:var(--text);line-height:1.7;transition:background-color .5s var(--ease),color .5s var(--ease);overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:var(--grain-opacity);mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.24 0 0 0 0 0.2 0 0 0 0 0.33 0 0 0 0.09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}:root[data-theme=night] body:before{mix-blend-mode:screen}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;line-height:1.15;letter-spacing:-.01em;color:var(--text);text-wrap:balance}p,li{text-wrap:pretty}a{color:var(--link);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}img,svg{max-width:100%}:focus-visible{outline:2px solid var(--link);outline-offset:3px;border-radius:6px}::selection{background:var(--aqua);color:var(--plum)}.skip-link{position:absolute;left:12px;top:-60px;z-index:200;background:var(--surface);padding:10px 14px;border-radius:10px;box-shadow:var(--shadow)}.skip-link:focus{top:12px}.container{width:min(var(--maxw),100% - 40px);margin-inline:auto}main{display:block;padding-bottom:40px}.site-header{position:sticky;top:0;z-index:50;backdrop-filter:saturate(1.2) blur(14px);-webkit-backdrop-filter:saturate(1.2) blur(14px);background:color-mix(in srgb,var(--bg) 78%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);view-transition-name:site-header}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:68px}.site-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);min-width:0}.brand-mark{width:38px;height:38px;flex:0 0 auto;border-radius:50%}.brand-text{display:flex;flex-direction:column;line-height:1.1;min-width:0}.brand-text strong{font-family:var(--font-serif);font-size:1.12rem;font-weight:600;white-space:nowrap}.brand-text span{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}.site-nav{display:flex;align-items:center;gap:4px}.site-nav a{text-decoration:none;color:var(--text);font-weight:600;font-size:.95rem;padding:8px 12px;border-radius:999px;transition:background .25s var(--ease)}.site-nav a:hover,.site-nav a[aria-current=page]{background:var(--accent-soft)}.site-nav .nav-ext{color:var(--muted);font-weight:600}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;transition:transform .3s var(--ease),background .3s var(--ease)}.icon-btn:hover{transform:rotate(-12deg)}.icon-btn svg{width:18px;height:18px}.theme-toggle .moon{display:none}:root[data-theme=night] .theme-toggle .sun{display:none}:root[data-theme=night] .theme-toggle .moon{display:block}.menu-btn{display:none}@media(max-width:760px){.menu-btn{display:inline-grid}.site-nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:2px;padding:10px 20px 18px;background:var(--bg);border-bottom:1px solid var(--line);transform-origin:top;transform:scaleY(.96);opacity:0;pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease)}.site-nav.is-open{opacity:1;transform:none;pointer-events:auto}.site-nav a{padding:12px 14px}.brand-text span{display:none}}.reveal{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.is-visible{opacity:1;transform:none}.hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(56px,10vw,120px) 0 clamp(64px,10vw,110px)}.hero-bg{position:absolute;inset:-10% -5% 0;z-index:-1;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 55%,transparent 100%)}.hero-bg svg{width:100%;height:100%}.blob{transform-box:fill-box;transform-origin:center;animation:drift 26s var(--ease) infinite alternate}.blob:nth-child(2){animation-duration:32s;animation-delay:-6s}.blob:nth-child(3){animation-duration:38s;animation-delay:-12s}.blob:nth-child(4){animation-duration:30s;animation-delay:-3s}@keyframes drift{0%{transform:translate(0) scale(1) rotate(0)}50%{transform:translate(3%,-4%) scale(1.06) rotate(6deg)}to{transform:translate(-3%,3%) scale(.97) rotate(-4deg)}}:root[data-theme=night] .hero-bg{opacity:.55}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.eyebrow:before{content:"";width:22px;height:1px;background:currentColor}.hero h1{font-size:clamp(2.4rem,6.4vw,4.6rem);margin:18px 0 20px;font-weight:500}.hero h1 em{font-style:italic;color:var(--accent);font-weight:500}.hero-lead{font-size:clamp(1.06rem,1.6vw,1.22rem);color:var(--muted);max-width:54ch;margin:0 0 32px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease)}.btn-primary{background:var(--plum);color:#fff;box-shadow:var(--shadow)}:root[data-theme=night] .btn-primary{background:var(--accent);color:#1f1b2c}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}.btn-ghost{background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--text);border-color:var(--line)}.btn-ghost:hover{background:var(--surface);transform:translateY(-2px)}.btn svg{width:18px;height:18px;transition:transform .35s var(--ease)}.btn:hover svg{transform:translate(3px)}.lighthouse{position:relative;justify-self:center;width:min(320px,70vw);aspect-ratio:1}.lighthouse svg{width:100%;height:100%;overflow:visible}.beam{transform-box:view-box;transform-origin:160px 118px;animation:sweep 9s ease-in-out infinite}@keyframes sweep{0%,to{transform:rotate(-16deg);opacity:.35}50%{transform:rotate(16deg);opacity:.7}}.wave{animation:wave 7s ease-in-out infinite}.wave-2{animation-duration:9s;animation-delay:-2s}@keyframes wave{0%,to{transform:translate(0)}50%{transform:translate(-14px)}}@media(max-width:860px){.hero-grid{grid-template-columns:1fr}.lighthouse{order:-1;width:min(200px,52vw);justify-self:start}}.section{padding:clamp(40px,6vw,72px) 0}.section-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px;margin-bottom:32px}.section-head h2{font-size:clamp(1.8rem,3.6vw,2.6rem);margin:10px 0 0;font-weight:500}.section-head p{margin:0;color:var(--muted);max-width:46ch}.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px}.post-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:26px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--text);box-shadow:var(--shadow);overflow:hidden;transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease)}.post-card:after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,var(--card-tint, var(--aqua)) 0%,transparent 70%);opacity:.55;transition:transform .8s var(--ease)}.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.post-card:hover:after{transform:scale(1.35)}.post-card .meta{display:flex;gap:10px;align-items:center;font-size:.82rem;color:var(--muted);font-weight:700;position:relative;z-index:1}.chip{display:inline-flex;padding:3px 10px;border-radius:999px;background:var(--teal-soft);color:var(--link);font-size:.75rem;font-weight:800;letter-spacing:.04em}.post-card h3{margin:0;font-size:1.45rem;font-weight:500;position:relative;z-index:1}.post-card p{margin:0;color:var(--muted);position:relative;z-index:1}.post-card .more{margin-top:auto;font-weight:800;color:var(--link);font-size:.92rem;display:inline-flex;gap:6px;align-items:center;position:relative;z-index:1}.post-card--featured{grid-column:1 / -1;padding:clamp(28px,4vw,44px);--card-tint: var(--lavender)}.post-card--featured h3{font-size:clamp(1.7rem,3.4vw,2.4rem);max-width:22ch}.post-card--featured p{max-width:60ch;font-size:1.08rem}.upcoming{margin-top:28px;padding:22px 24px;border-radius:var(--radius);border:1px dashed var(--line)}.upcoming h3{margin:0 0 6px;font-size:1.1rem}.upcoming p{margin:0 0 14px;color:var(--muted);font-size:.95rem}.upcoming ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.upcoming li{padding:6px 12px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.86rem;font-weight:600}.journey{position:relative}.journey-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 18px;scrollbar-width:thin;position:relative}.journey-step{scroll-snap-align:start;flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;font-weight:700;font-size:.92rem;cursor:pointer;transition:background .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease)}.journey-step .n{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--surface-2);font-size:.82rem;transition:background .35s var(--ease),color .35s var(--ease)}.journey-step:hover{transform:translateY(-2px)}.journey-step[aria-selected=true]{background:var(--plum);border-color:var(--plum);color:#fff}.journey-step[aria-selected=true] .n{background:var(--teal);color:var(--plum)}:root[data-theme=night] .journey-step[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:#1f1b2c}.journey-step.is-past .n{background:var(--teal-soft);color:var(--link)}.journey-progress{height:4px;border-radius:4px;background:var(--surface-2);overflow:hidden;margin-bottom:22px}.journey-progress span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--lavender));transition:width .7s var(--ease)}.journey-panel{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;padding:clamp(24px,4vw,40px);border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.journey-panel[hidden]{display:none}.journey-panel.is-entering{animation:panelIn .6s var(--ease)}@keyframes panelIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.journey-panel h3{font-size:clamp(1.5rem,3vw,2rem);margin:6px 0 12px;font-weight:500}.journey-panel p{margin:0 0 12px;color:var(--muted)}.journey-panel .phase{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.journey-ask{padding:20px 22px;border-radius:var(--radius-sm);background:var(--teal-soft)}.journey-ask h4{margin:0 0 10px;font-family:var(--font-sans);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--link);font-weight:800}.journey-ask ul{margin:0;padding-left:18px}.journey-ask li{margin:4px 0;font-size:.97rem}.journey-nav{display:flex;gap:10px;margin-top:18px}.journey-note{margin-top:16px;font-size:.86rem;color:var(--muted)}@media(max-width:760px){.journey-panel{grid-template-columns:1fr}}.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.tool-card{display:flex;flex-direction:column;gap:10px;padding:26px;border-radius:var(--radius);text-decoration:none;color:var(--text);border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}.tool-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift)}.tool-card h3{margin:6px 0 0;font-size:1.35rem;font-weight:500}.tool-card p{margin:0;color:var(--muted)}.tool-card .ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--surface) 65%,transparent)}.tool-card .ico svg{width:24px;height:24px}.tint-aqua{background:linear-gradient(160deg,var(--teal-soft),var(--surface))}.tint-lav{background:linear-gradient(160deg,var(--accent-soft),var(--surface))}.tint-peach{background:linear-gradient(160deg,var(--peach-soft),var(--surface))}.site-footer{border-top:1px solid var(--line);padding:40px 0 48px;color:var(--muted);font-size:.92rem}.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px}.site-footer p{margin:0 0 6px;max-width:60ch}.site-footer nav{display:flex;gap:16px;flex-wrap:wrap}.read-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;pointer-events:none;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--teal),var(--lavender))}.article-hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(40px,7vw,84px) 0 clamp(28px,4vw,44px)}.article-hero .hero-bg{opacity:.75}.crumbs{font-size:.88rem;color:var(--muted);margin-bottom:16px}.crumbs a{color:var(--muted)}.article-hero h1{font-size:clamp(2.1rem,5.4vw,3.7rem);font-weight:500;margin:0 0 18px;max-width:20ch}.article-hero .lead{color:var(--muted);font-size:1.12rem;max-width:60ch;margin:0 0 22px}.article-meta{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;font-size:.9rem;color:var(--muted);font-weight:700}.article-meta span{display:inline-flex;align-items:center;gap:6px}.article-meta svg{width:16px;height:16px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:56px;align-items:start}.toc{position:sticky;top:96px;padding:20px 0 20px 20px;border-left:1px solid var(--line);font-size:.9rem}.toc h2{font-family:var(--font-sans);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-weight:800}.toc ol{list-style:none;margin:0;padding:0}.toc li{margin:0}.toc a{display:block;padding:6px 0 6px 12px;margin-left:-21px;border-left:2px solid transparent;color:var(--muted);text-decoration:none;line-height:1.35;transition:color .25s,border-color .25s}.toc a:hover{color:var(--text)}.toc a.is-active{color:var(--text);border-left-color:var(--teal);font-weight:700}.toc-mobile{display:none;margin:0 0 28px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.toc-mobile summary{cursor:pointer;padding:14px 18px;font-weight:800;list-style:none;display:flex;justify-content:space-between;align-items:center}.toc-mobile summary::-webkit-details-marker{display:none}.toc-mobile summary:after{content:"+";font-size:1.3rem;color:var(--muted);transition:transform .3s var(--ease)}.toc-mobile[open] summary:after{transform:rotate(45deg)}.toc-mobile ol{margin:0;padding:0 18px 16px 36px}.toc-mobile li{margin:6px 0}.toc-mobile a{color:var(--text);text-decoration:none}@media(max-width:980px){.article-layout{grid-template-columns:1fr;gap:0}.toc{display:none}.toc-mobile{display:block}}.prose{max-width:var(--readw);font-size:1.1rem}.prose>:first-child{margin-top:0}.prose>p:first-of-type{font-size:1.22rem;color:var(--text)}.prose h2{font-size:clamp(1.55rem,3vw,2.05rem);font-weight:500;margin:2.6em 0 .6em;scroll-margin-top:96px}.prose h3{font-size:1.28rem;margin:1.9em 0 .5em;scroll-margin-top:96px}.prose p{margin:0 0 1.05em}.prose ul,.prose ol{padding-left:1.25em;margin:0 0 1.2em}.prose li{margin:.35em 0}.prose ul li::marker{color:var(--teal)}.prose ol li::marker{color:var(--accent);font-weight:800}.prose strong{font-weight:800}.prose blockquote{margin:1.8em 0;padding:18px 22px;border-radius:var(--radius-sm);background:var(--surface-2);border-left:3px solid var(--lavender);font-size:.98rem;color:var(--muted)}.prose blockquote p:last-child{margin:0}.prose hr{border:0;height:1px;background:var(--line);margin:2.4em 0}.prose table{width:100%;border-collapse:collapse;font-size:.97rem;margin:1.4em 0;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}.prose th{font-weight:800;background:var(--surface-2)}.editorial-box{margin:1.8em 0;padding:24px 24px 20px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);font-size:1rem}.editorial-box h2,.editorial-box h3{margin-top:0}.editorial-box ul,.editorial-box ol{margin-bottom:0}.editorial-box--normative{background:linear-gradient(170deg,var(--accent-soft),var(--surface) 70%);border-color:color-mix(in srgb,var(--lavender) 45%,var(--line))}.editorial-box--pale{background:linear-gradient(170deg,var(--teal-soft),var(--surface) 75%)}.editorial-box--sources{background:var(--surface-2);box-shadow:none}.editorial-box--cta{background:linear-gradient(160deg,var(--peach-soft),var(--surface) 80%)}.tip-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.tip-item{padding:18px;background:color-mix(in srgb,var(--surface) 80%,transparent);border:1px solid var(--line);border-radius:var(--radius-sm);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}.tip-item:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.tip-item h3{margin:0 0 8px;font-size:1.1rem;color:var(--accent)}.tip-item p{margin:0;font-size:.97rem}.article-end{margin-top:56px;padding-top:28px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}.share-btn .done,.share-btn.is-done .label{display:none}.share-btn.is-done .done{display:inline}.to-top{position:fixed;right:18px;bottom:18px;z-index:40;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease);box-shadow:var(--shadow)}.to-top.is-visible{opacity:1;transform:none;pointer-events:auto}.tool{padding:clamp(24px,4vw,44px);border-radius:calc(var(--radius) + 6px);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);margin-bottom:28px;scroll-margin-top:90px}.tool-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;margin-bottom:26px}.tool-head h2{margin:6px 0;font-size:clamp(1.6rem,3.2vw,2.2rem);font-weight:500}.tool-head p{margin:0;color:var(--muted);max-width:58ch}.privacy-note{display:inline-flex;gap:8px;align-items:center;font-size:.84rem;color:var(--muted);font-weight:700}.privacy-note svg{width:16px;height:16px}.field{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:.92rem}.field input,.field select{font:inherit;font-weight:600;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:11px 14px;min-height:46px;width:100%}.field input:focus,.field select:focus{outline:2px solid var(--teal);outline-offset:1px}.segmented{display:inline-flex;padding:4px;border-radius:999px;background:var(--surface-2);gap:4px;flex-wrap:wrap}.segmented button{font:inherit;font-weight:700;font-size:.9rem;border:0;background:transparent;color:var(--muted);padding:8px 14px;border-radius:999px;cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.breath{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.breath-stage{position:relative;aspect-ratio:1;width:min(360px,100%);justify-self:center;display:grid;place-items:center}.breath-ring{position:absolute;inset:0;border-radius:50%;border:1px dashed color-mix(in srgb,var(--lavender) 60%,transparent)}.breath-orb{width:46%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0%,var(--aqua) 38%,var(--lavender) 100%);box-shadow:0 0 0 18px color-mix(in srgb,var(--aqua) 22%,transparent),0 0 80px 10px color-mix(in srgb,var(--lavender) 45%,transparent);transform:scale(.72);filter:blur(.3px);transition-property:transform;transition-timing-function:cubic-bezier(.45,0,.55,1)}.breath-label{position:absolute;text-align:center;font-family:var(--font-serif);font-size:clamp(1.3rem,3vw,1.8rem);color:var(--plum);pointer-events:none}:root[data-theme=night] .breath-label{color:#1f1b2c}.breath-label small{display:block;font-family:var(--font-sans);font-size:.85rem;font-weight:800;letter-spacing:.08em;opacity:.7}.breath-controls{display:flex;flex-direction:column;gap:18px}.breath-controls .row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.breath-time{font-variant-numeric:tabular-nums;font-weight:800;color:var(--muted)}@media(max-width:760px){.breath{grid-template-columns:1fr}}.wait{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:center}.wait-form{display:grid;gap:14px}.wait-viz{display:grid;place-items:center;text-align:center}.wait-ring{width:min(300px,80vw);aspect-ratio:1;position:relative}.wait-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.wait-ring .track{stroke:var(--surface-2)}.wait-ring .bar{stroke:url(#waitGrad);stroke-linecap:round;transition:stroke-dashoffset 1.4s var(--ease)}.wait-center{position:absolute;inset:0;display:grid;place-content:center}.wait-center strong{font-family:var(--font-serif);font-size:clamp(3rem,9vw,4.4rem);font-weight:500;line-height:1}.wait-center span{color:var(--muted);font-weight:700;font-size:.95rem}.wait-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:18px 0 10px;max-width:340px}.wait-dots i{width:12px;height:12px;border-radius:50%;background:var(--surface-2);transition:background .5s var(--ease),transform .5s var(--ease)}.wait-dots i.done{background:var(--teal)}.wait-dots i.today{background:var(--lavender);transform:scale(1.35)}.wait-phrase{font-family:var(--font-serif);font-style:italic;font-size:1.15rem;max-width:34ch;margin:8px auto 0;min-height:3.2em}@media(max-width:760px){.wait{grid-template-columns:1fr}}.budget>*,.wait>*,.breath>*{min-width:0}.budget{display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:start}.budget-table{width:100%;border-collapse:separate;border-spacing:0 8px;table-layout:fixed}.budget-table th{text-align:left;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:800;padding:0 8px}.budget-table td{padding:0 4px;vertical-align:middle}.budget-table td:first-child{font-weight:700;padding-left:0}.budget-table .sw{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:8px;vertical-align:1px}.budget-table input{width:100%;font:inherit;font-weight:700;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:9px 10px;min-height:42px;text-align:right;font-variant-numeric:tabular-nums}.budget-table tfoot td{padding-top:10px;border-top:1px solid var(--line);font-weight:800;font-variant-numeric:tabular-nums;text-align:right}.budget-table tfoot td:first-child{text-align:left}.budget-viz{position:sticky;top:96px;display:grid;gap:20px}.donut{position:relative;width:min(280px,100%);aspect-ratio:1;justify-self:center}.donut svg{width:100%;height:100%;transform:rotate(-90deg)}.donut circle.seg{transition:stroke-dasharray .9s var(--ease),stroke-dashoffset .9s var(--ease)}.donut-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.donut-center strong{font-family:var(--font-serif);font-size:1.9rem;font-weight:500;font-variant-numeric:tabular-nums}.donut-center span{font-size:.82rem;color:var(--muted);font-weight:700}.bars{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:100px 1fr;gap:10px;align-items:center;font-size:.85rem;font-weight:700}.bar-pair{display:grid;gap:3px}.bar-pair span{display:block;height:7px;border-radius:4px;width:0;transition:width .9s var(--ease)}.bar-pair .plan{background:color-mix(in srgb,var(--c) 45%,transparent)}.bar-pair .real{background:var(--c)}.legend{display:flex;gap:14px;font-size:.8rem;color:var(--muted);font-weight:700}.legend i{display:inline-block;width:18px;height:7px;border-radius:4px;margin-right:6px;background:var(--plum-deep);vertical-align:1px}.legend i.plan{opacity:.45}.delta{font-weight:800;padding:14px 16px;border-radius:var(--radius-sm);background:var(--surface-2);font-size:.95rem}.delta.over{background:var(--peach-soft)}.delta.under{background:var(--teal-soft)}.budget-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}@media(max-width:900px){.budget{grid-template-columns:1fr}.budget-viz{position:static}}@media(max-width:520px){.tool{padding:22px 16px;border-radius:var(--radius)}.budget-table td:first-child{font-size:.86rem;line-height:1.3}.budget-table th{font-size:.68rem;letter-spacing:.06em}.budget-table input{padding:8px 6px}.budget-table th:nth-child(1),.budget-table td:nth-child(1){width:34%}.bar-row{grid-template-columns:82px 1fr}}.disclaimer{font-size:.88rem;color:var(--muted);max-width:70ch}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}.prose h2 strong,.prose h3 strong{font-weight:inherit}:root[data-theme=night] .lh-halo{opacity:.45}
