:root{--brand-accent:#d9773f;--brand-accent-ink:#fff;--brand-accent-soft:#d9773f1f;--brand-accent-hover:#c2642f;--bg:#fbfaf8;--surface:#fff;--surface-2:#f4f2ee;--text:#1f1d1b;--text-muted:#6b6560;--border:#e5e1da;--border-strong:#d3cec5;--success:#3f7d58;--warning:#b7791f;--danger:#b3453c;--font-sans:"Pretendard", "Pretendard Variable", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--font-serif:"Nanum Myeongjo", "Apple SD Gothic Neo", Georgia, "Times New Roman", serif;--font-mono:"SFMono-Regular", ui-monospace, Menlo, Consolas, monospace;--font-body:var(--font-sans);--font-heading:var(--font-sans);--fs-base:16px;--lh-base:1.75;--tracking-base:0em;--lh-tight:1.32;--lh-prose:1.85;--tracking-prose:0em;--radius:12px;--radius-sm:7px;--radius-media:12px;--radius-pill:999px;--shadow-sm:0 1px 2px #1f1d1b0d;--shadow:0 2px 4px #1f1d1b0a, 0 8px 24px #1f1d1b0f;--shadow-lg:0 4px 8px #1f1d1b0d, 0 16px 40px #1f1d1b1a;--density:1;--card-pad:calc(20px * var(--density));--grid-gap:calc(24px * var(--density));--section-gap:calc(64px * var(--density));--container:1180px;--reading-width:700px;--logo-h:40px;--header-h:max(68px, calc(var(--logo-h) + 28px));--t-fast:.12s ease;--t:.2s cubic-bezier(.32, .72, 0, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-base);letter-spacing:var(--tracking-base);-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}@supports not (overflow-x:clip){body{overflow-x:hidden}}img,svg{max-width:100%;display:block}button{font:inherit;color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-heading);line-height:var(--lh-tight);letter-spacing:-.02em;margin:0;font-weight:700}:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}.wr-site{accent-color:var(--brand-accent)}.wr-site ::selection{background:var(--brand-accent);color:var(--brand-accent-ink)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--brand-accent);color:var(--brand-accent-ink);border-radius:var(--radius-sm);transition:top var(--t);padding:10px 16px;font-weight:600;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:24px}.btn{border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast), transform var(--t-fast), color var(--t-fast);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.9375rem;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--text-muted)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--brand-accent-ink)}.btn-primary:hover{background:var(--brand-accent-hover);border-color:var(--brand-accent-hover)}.btn-ghost{color:var(--text-muted);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-2);color:var(--text);border-color:#0000}.btn-danger{color:var(--danger)}.btn-danger:hover{border-color:var(--danger);background:#b3453c14}.btn-sm{border-radius:6px;padding:6px 12px;font-size:.8125rem}.btn-icon{border-radius:var(--radius-sm);padding:9px}.btn-icon svg{width:18px;height:18px}.badge{border-radius:var(--radius-pill);letter-spacing:.01em;background:var(--brand-accent-soft);width:fit-content;max-width:100%;color:var(--brand-accent);white-space:nowrap;flex:none;align-self:flex-start;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.badge-status{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}.badge-status[data-status=published]{color:var(--success);background:#3f7d581a;border-color:#0000}.badge-status[data-status=draft]{color:var(--warning);background:#b7791f1a;border-color:#0000}.thumb{aspect-ratio:16/9;border-radius:var(--radius-media);background:var(--surface-2);isolation:isolate;place-items:center;display:grid;position:relative;overflow:hidden}.thumb:after{content:attr(data-label);letter-spacing:.06em;text-transform:uppercase;color:#ffffffe6;background:linear-gradient(#0000,#00000047);padding:10px 12px;font-size:.6875rem;font-weight:600;position:absolute;inset:auto 0 0}.toast-region{z-index:300;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--text);min-width:260px;max-width:min(92vw,380px);color:var(--bg);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);animation:toast-in var(--t) both;pointer-events:auto;align-items:center;gap:10px;padding:13px 16px;font-size:.875rem;font-weight:500;display:flex}.toast[data-leaving=true]{animation:.16s forwards toast-out}.toast svg{flex-shrink:0;width:17px;height:17px}.toast[data-kind=success] svg{color:#7fd4a0}.toast[data-kind=danger] svg{color:#f0938c}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)scale(.97)}}@keyframes toast-out{to{opacity:0;transform:translateY(6px)scale(.98)}}.empty{text-align:center;color:var(--text-muted);border:1px dashed var(--border-strong);border-radius:var(--radius);grid-column:1/-1;padding:56px 24px}.empty strong{color:var(--text);margin-bottom:6px;font-size:1.0625rem;display:block}.site-header{z-index:100;background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0}[data-gnb-sticky=false] .site-header{position:static}[data-gnb=plain] .site-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:0 0;background:color-mix(in srgb, var(--bg) 82%, transparent);border-bottom-color:#0000}[data-gnb=floating] .site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:0;padding-top:14px}[data-gnb=floating] .site-header__inner{background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-pill);height:calc(var(--header-h) - 12px);max-width:calc(var(--container) - 48px);margin-inline:auto;padding-inline:22px;box-shadow:0 2px 6px #1f1d1b0f,0 10px 30px #1f1d1b14}[data-gnb=floating] .container.site-header__inner{width:auto}.site-header__inner{height:var(--header-h);align-items:center;gap:20px;display:flex}.logo{font-family:var(--font-heading);letter-spacing:.06em;color:var(--brand-accent);flex-shrink:0;font-size:1.375rem;font-weight:800}.logo small{letter-spacing:.14em;color:var(--text-muted);margin-top:-2px;font-size:.625rem;font-weight:600;display:block}.logo-img{height:var(--logo-h);object-fit:contain;width:auto;max-width:360px;display:block}.site-footer .logo-img{height:calc(var(--logo-h) * .78);max-width:220px}.footer-brand .logo-img{height:calc(var(--logo-h) * .58);max-width:160px}.nav{flex-wrap:nowrap;flex:0 auto;align-items:center;gap:4px;min-width:0;display:flex}.nav>a,.nav-more__btn{border-radius:var(--radius-sm);color:var(--text-muted);white-space:nowrap;transition:background var(--t-fast), color var(--t-fast);padding:8px 13px;font-size:.9375rem;font-weight:500}.nav>a:hover,.nav-more__btn:hover{background:var(--surface-2);color:var(--text)}.nav>a[aria-current=page],.nav>a.is-active{color:var(--brand-accent);font-weight:600}.nav-more{flex:none;align-items:center;display:inline-flex;position:relative}.nav-more__btn{cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;font-family:inherit;display:inline-flex}.nav-more__btn svg{transition:transform var(--t-fast)}.nav-more__btn[aria-expanded=true]{background:var(--surface-2);color:var(--text)}.nav-more__btn[aria-expanded=true] svg{transform:rotate(180deg)}.nav-more__menu{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:180px;max-width:260px;box-shadow:var(--shadow-lg);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.nav-more__item{border-radius:var(--radius-sm);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;padding:9px 12px;font-size:.9375rem;font-weight:500;display:block;overflow:hidden}.nav-more__item:hover{background:var(--surface-2);color:var(--text)}.nav-more__item.is-active{color:var(--brand-accent);font-weight:600}.nav-measure{visibility:hidden;pointer-events:none;gap:4px;display:flex;position:absolute;top:0;left:-9999px}.nav-measure .nav-mi{white-space:nowrap;padding:8px 13px;font-size:.9375rem;font-weight:500}.header-actions{align-items:center;gap:10px;min-width:0;margin-left:auto;display:flex}.search-inline{background:var(--surface-2);border-radius:var(--radius-pill);transition:border-color var(--t-fast), background var(--t-fast);border:1px solid #0000;align-items:center;gap:8px;padding:7px 14px;display:flex}.search-inline:focus-within{border-color:var(--brand-accent);background:var(--surface)}.search-inline svg{width:16px;height:16px;color:var(--text-muted);flex-shrink:0}.search-inline input{font:inherit;width:140px;color:var(--text);background:0 0;border:0;outline:none;font-size:.875rem}.search-inline input::placeholder{color:var(--text-muted)}.header-cta{white-space:nowrap}.header-cta.btn-sm{padding:8px 16px}.hamburger{display:none}.mobile-nav{inset:var(--header-h) 0 0 0;z-index:99;background:var(--surface);padding:24px;animation:.16s both fade-in;display:none;position:fixed;overflow-y:auto}.mobile-nav[data-open=true]{display:block}.mobile-nav a{border-bottom:1px solid var(--border);padding:15px 4px;font-size:1.0625rem;font-weight:600;display:block}.mobile-nav a.is-active{color:var(--brand-accent)}@keyframes fade-in{0%{opacity:0}}.hero{padding:calc(56px * var(--density)) 0 calc(40px * var(--density))}.hero__intro{max-width:640px;margin-bottom:calc(36px * var(--density))}.hero__intro h1{margin-bottom:12px;font-size:clamp(1.875rem,1.2rem + 2.6vw,2.875rem)}.hero__intro p{color:var(--text-muted);margin:0;font-size:1.0625rem}.featured-grid{gap:var(--grid-gap);grid-template-columns:1.6fr 1fr;display:grid}.featured-grid__side{gap:var(--grid-gap);align-content:start;display:grid}.card-feature{box-shadow:none;transition:transform var(--t);background:0 0;border:0;border-radius:0;display:block;position:relative;overflow:visible}.card-feature .thumb{border-radius:var(--radius-media)}.card-feature__body{padding:0}.card-feature h2{margin:0 0 12px;font-size:clamp(1.375rem,1rem + 1.15vw,1.875rem);line-height:1.35}.card-feature p{color:var(--text-muted);margin:0;font-size:.9375rem;line-height:1.7}.card-feature:hover h2{color:var(--brand-accent)}.card-feature:hover .thumb{transform:translateY(-2px)}.card-feature .thumb{transition:transform var(--t)}.card-feature[data-variant=featured] .card-feature__body{padding-top:calc(var(--card-pad) * .9)}.card-feature[data-variant=single]{gap:calc(var(--grid-gap) * 1.4);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;display:grid}.card-feature[data-variant=single] h2{font-size:clamp(1.5rem,1.1rem + 1.4vw,2.125rem)}.card-feature[data-variant=single] p{font-size:1rem}.card-hero-side{box-shadow:none;background:0 0;border:0;display:block}.card-hero-side .thumb{border-radius:var(--radius-media);transition:transform var(--t)}.card-hero-side:hover .thumb{transform:translateY(-2px)}.card-hero-side:hover h3{color:var(--brand-accent)}.card-hero-side__body{padding-top:calc(var(--card-pad) * .65)}.card-hero-side h3{margin:0 0 8px;font-size:1.0625rem;line-height:1.45}.card-hero-side p{color:var(--text-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.8125rem;line-height:1.65;display:-webkit-box;overflow:hidden}.hero-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;font-size:.8125rem;display:flex}.hero-meta__cat{color:var(--brand-accent);font-weight:700}.hero-meta__sep{background:var(--border-strong);flex-shrink:0;width:1px;height:11px}.card-hero-side .hero-meta{margin-bottom:8px;font-size:.75rem}.meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.8125rem;display:flex}.meta__dot{opacity:.5;background:currentColor;border-radius:50%;flex-shrink:0;width:3px;height:3px}.section{padding-block:calc(40px * var(--density))}.section__head{margin-bottom:calc(28px * var(--density));border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:14px;display:flex}.section__head h2{font-size:1.375rem}.section__count{color:var(--text-muted);font-size:.875rem}.cat-filter-bar{margin:0 0 calc(28px * var(--density));flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.cat-filter-bar button{border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast);align-items:center;gap:7px;padding:8px 15px;font-size:.875rem;font-weight:600;display:inline-flex}.cat-filter-bar button:hover{border-color:var(--text-muted)}.cat-filter-bar button[aria-pressed=true]{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--brand-accent-ink)}.cat-filter-bar .count{font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:.75rem}.cat-filter-bar button[aria-pressed=true] .count{color:inherit;opacity:.8}.post-grid{grid-template-columns:repeat(var(--home-cols,3), minmax(0, 1fr));gap:var(--grid-gap);display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform var(--t), box-shadow var(--t), border-color var(--t);flex-direction:column;display:flex;overflow:hidden}.card:hover{box-shadow:var(--shadow);border-color:var(--border-strong);transform:translateY(-3px)}.card .thumb{border-radius:0}.card__body{padding:var(--card-pad);flex-direction:column;flex:1;gap:10px;display:flex}.card__body h3{font-size:1.0625rem}.card__body p{color:var(--text-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.875rem;display:-webkit-box;overflow:hidden}.card__body .meta{margin-top:auto;padding-top:4px}.featured-grid[data-style=single]{grid-template-columns:minmax(0,1fr)}.featured-grid[data-style=triple]{grid-template-columns:repeat(3,minmax(0,1fr))}[data-list=borderless] .card{box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}[data-list=borderless] .card:hover{box-shadow:none;transform:translateY(-2px)}[data-list=borderless] .card:hover h3{color:var(--brand-accent)}[data-list=borderless] .card .thumb{border-radius:var(--radius-media)}[data-list=borderless] .card__body{padding:var(--card-pad) 0 0}[data-list=list] .post-grid{gap:0;grid-template-columns:minmax(0,1fr)!important}[data-list=list] .card{border:0;border-bottom:1px solid var(--border);box-shadow:none;padding:calc(var(--card-pad) * .8) 0;background:0 0;border-radius:0;flex-direction:row;align-items:center;gap:20px}[data-list=list] .card:hover{box-shadow:none;transform:none}[data-list=list] .card:hover h3{color:var(--brand-accent)}[data-list=list] .card .thumb{aspect-ratio:16/9;border-radius:var(--radius-media);flex-shrink:0;width:200px}[data-list=list] .card__body{padding:0}[data-list=list] .card:not(:has(.thumb)){padding-block:calc(var(--card-pad) * .7)}.cat-section+.cat-section{margin-top:var(--section-gap)}.cat-section__more{color:var(--text-muted);white-space:nowrap;align-items:center;gap:5px;font-size:.875rem;font-weight:600;display:inline-flex}.cat-section__more:hover{color:var(--brand-accent)}.cat-section__more svg{width:13px;height:13px}.private-notice{text-align:center;place-content:center;justify-items:center;gap:6px;min-height:100dvh;padding:40px 24px;display:grid}.private-notice__icon{background:var(--brand-accent-soft);width:64px;height:64px;color:var(--brand-accent);border-radius:50%;place-items:center;margin-bottom:18px;display:grid}.private-notice h1{margin:0;font-size:clamp(1.375rem,1.1rem + 1vw,1.75rem)}.private-notice p{color:var(--text-muted);margin:10px 0 24px;font-size:.9375rem;line-height:1.8}.private-notice em{color:var(--text);font-style:normal;font-weight:600}.dev-fab{z-index:90;background:var(--text);color:var(--bg);border-radius:var(--radius-pill);transition:transform var(--t), opacity var(--t-fast);opacity:.55;align-items:center;gap:8px;padding:12px 16px;font-size:.875rem;font-weight:600;display:inline-flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 10px #0000002e,0 12px 32px #00000029}.dev-fab:hover{opacity:1;transform:translateY(-2px)}.dev-fab svg{width:18px;height:18px}@media (max-width:767px){.dev-fab{padding:12px;bottom:16px;right:16px}.dev-fab__label{display:none}}.load-more{padding-top:calc(36px * var(--density));place-items:center;display:grid}.site-footer{margin-top:var(--section-gap);border-top:1px solid var(--border);background:var(--surface);padding-block:calc(52px * var(--density)) 28px}.footer-grid{gap:calc(var(--grid-gap) * 1.6);grid-template-columns:1.5fr 1.1fr;padding-bottom:36px;display:grid}.site-footer[data-no-newsletter=true] .footer-grid{grid-template-columns:1fr}.site-footer[data-style=simple]{padding-block:28px}.site-footer[data-style=simple] .footer-bottom{border-top:0;padding-top:0}.footer-brand{font-family:var(--font-heading);letter-spacing:.06em;color:var(--brand-accent);font-size:1rem;font-weight:800}.footer-admin{margin-left:10px;text-decoration:underline}.footer-grid h4{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:14px;font-size:.75rem;font-weight:700}.footer-grid p{color:var(--text-muted);max-width:34ch;margin:10px 0 0;font-size:.875rem}.footer-links{gap:9px;margin:0;padding:0;list-style:none;display:grid}.footer-links a{color:var(--text-muted);font-size:.875rem}.footer-links a:hover{color:var(--brand-accent)}.subscribe{gap:8px;margin-top:12px;display:flex}.subscribe input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);min-width:0;font:inherit;color:var(--text);flex:1;padding:10px 14px;font-size:.875rem}.subscribe input:focus{outline:2px solid var(--brand-accent);outline-offset:1px;border-color:#0000}.social{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.social a{border:1px solid var(--border);border-radius:var(--radius-sm);height:36px;color:var(--text-muted);transition:all var(--t-fast);align-items:center;gap:7px;padding:0 14px;font-size:.875rem;font-weight:500;display:inline-flex}.social a:hover{color:var(--brand-accent);border-color:var(--brand-accent)}.social svg{flex:none;width:16px;height:16px}.social-label{white-space:nowrap}.footer-bottom__lead{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.social--inline{margin-top:0}.social--inline a{height:32px;padding:0 12px;font-size:.8125rem}.social--inline svg{width:15px;height:15px}.footer-bottom{border-top:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:22px;font-size:.8125rem;display:flex}.footer-bottom a:hover{color:var(--brand-accent)}.powered{align-items:center;gap:6px;display:inline-flex}.powered strong{color:var(--text);font-weight:700}.article-head{padding:calc(48px * var(--density)) 0 calc(28px * var(--density));max-width:var(--reading-width);text-align:center;margin-inline:auto}.article-head h1{letter-spacing:-.028em;margin:16px 0;font-size:clamp(1.75rem,1.1rem + 2.6vw,2.75rem)}.article-head .meta{justify-content:center}.related-rail-fallback{display:none}.article-cover{border-radius:var(--radius-media);background-position:50%;background-size:cover;width:100%;margin:6px 0 10px}.article-head .article-excerpt{opacity:.75;max-width:640px;margin:12px auto 0;font-size:16px;line-height:1.65}.article-cover{max-width:var(--container);margin-inline:auto;margin-bottom:calc(44px * var(--density));padding-inline:24px}.article-cover .thumb{border-radius:var(--radius-media)}.article-divider{max-width:var(--reading-width);margin:0 auto calc(40px * var(--density));border:0;border-top:1px solid var(--border)}.article-layout{grid-template-columns:minmax(0, 1fr) minmax(0, var(--reading-width)) minmax(0, 1fr);align-items:start;gap:32px;display:grid}.article-layout[data-railgap=medium]{gap:48px;max-width:min(1300px,100%)}.article-layout[data-railgap=wide]{gap:64px;max-width:min(1420px,100%)}.article-layout>.prose{grid-area:1/2}.article-layout>.rail-left{grid-area:1/1;justify-self:end}.article-layout>.rail-right{grid-area:1/3;justify-self:start}.rail{top:calc(var(--header-h) + 28px);gap:16px;width:100%;max-width:260px;display:grid;position:sticky}.rail[data-narrow=true]{justify-items:center;max-width:56px}.rail-left[data-narrow=true]{justify-self:end}.widget-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:calc(var(--card-pad) * .8);font-size:.875rem}.widget-card h4{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:6px;margin:0 0 12px;font-size:.75rem;font-weight:700;display:flex}.widget-card>p{color:var(--text-muted);margin:0 0 14px;font-size:.8125rem;line-height:1.6}.widget-card .btn{width:100%}.toc.widget-card{background:0 0;border:0;padding:0}.widget-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.widget-list a{align-items:center;gap:10px;display:flex}.wl-thumb{aspect-ratio:16/9;border-radius:var(--radius-media);background-size:cover;flex-shrink:0;width:64px}.wl-text{min-width:0}.wl-text strong{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.8125rem;font-weight:600;line-height:1.45;display:-webkit-box;overflow:hidden}.wl-text small{color:var(--text-muted);font-size:.75rem}.widget-list a:hover strong{color:var(--brand-accent)}.widget-rank{counter-reset:r;gap:11px;margin:0;padding:0;list-style:none;display:grid}.widget-rank a{align-items:baseline;gap:10px;font-size:.8125rem;line-height:1.45;display:flex}.widget-rank .num{font-family:var(--font-mono);color:var(--brand-accent);flex-shrink:0;font-weight:700}.widget-rank a:hover{color:var(--brand-accent)}.widget-author{text-align:center}.widget-author .avatar{background:var(--brand-accent-soft);width:52px;height:52px;color:var(--brand-accent);border-radius:50%;place-items:center;margin:0 auto 10px;font-size:1.125rem;font-weight:700;display:grid}.widget-author h4{text-transform:none;letter-spacing:-.01em;color:var(--text);margin-bottom:6px;font-size:.9375rem;display:block}.widget-author .btn{justify-content:center}.widget-subscribe form{gap:8px;display:grid}.widget-subscribe input{width:100%;font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);padding:9px 12px;font-size:.8125rem}.widget-subscribe input:focus{outline:2px solid var(--brand-accent);outline-offset:1px;border-color:#0000}.widget-cta{background:var(--brand-accent-soft);border-color:#0000}.widget-cta h4{text-transform:none;letter-spacing:.04em;color:var(--brand-accent)}.share-rail{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);justify-items:center;gap:6px;padding:8px;display:grid}.share-rail__btn{width:38px;height:38px;color:var(--text-muted);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.share-rail__btn:hover{background:var(--surface-2);color:var(--text)}.share-rail__btn[aria-pressed=true]{color:var(--brand-accent)}.share-rail__btn[aria-pressed=true] svg{fill:currentColor}.footer-contact{color:var(--text);align-items:center;gap:6px;margin-top:14px;font-size:.8125rem;font-weight:600;text-decoration:none;display:inline-flex}.footer-contact:hover{color:var(--brand-accent)}.footer-contact svg{width:15px;height:15px}.footer-contact__addr{color:var(--text-muted);font-weight:400}.site-footer[data-style=simple] .footer-contact{margin-top:0}.progress-rail{justify-items:center;gap:8px;display:grid}.progress-rail__track{background:var(--border);border-radius:999px;align-items:flex-start;width:4px;height:140px;display:flex;overflow:hidden}.progress-rail__fill{background:var(--brand-accent);width:100%;height:0;transition:height 90ms linear}.progress-rail__label{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.6875rem}.toc{max-width:240px;font-size:.875rem}.toc h4{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;font-size:.6875rem;font-weight:700}.toc ol{border-left:2px solid var(--border);gap:2px;margin:0;padding:0;list-style:none;display:grid}.toc a{color:var(--text-muted);transition:color var(--t-fast), border-color var(--t-fast);border-left:2px solid #0000;margin-left:-2px;padding:6px 0 6px 14px;line-height:1.45;display:block}.toc a:hover{color:var(--text)}.toc a.is-active{color:var(--brand-accent);border-left-color:var(--brand-accent);font-weight:600}.toc li.lvl-3 a{padding-left:26px;font-size:.8125rem}.toc-mobile{margin-bottom:28px;display:none}.toc-mobile summary{cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:14px 16px;font-size:.9375rem;font-weight:600;list-style:none;display:flex}.toc-mobile summary::-webkit-details-marker{display:none}.toc-mobile summary svg{width:16px;height:16px;transition:transform var(--t)}.toc-mobile[open] summary svg{transform:rotate(180deg)}.toc-mobile[open] summary{border-radius:var(--radius-sm) var(--radius-sm) 0 0;border-bottom:0}.toc-mobile .toc{border:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm);background:var(--surface);border-top:0;max-width:none;padding:8px 16px 16px}.toc-mobile .toc h4{display:none}.prose{max-width:var(--reading-width)}.prose[data-contentbg=box],.prose[data-contentbg=card]{background:var(--surface);border-radius:var(--radius-media);margin-top:8px;padding:clamp(22px,4vw,44px)}.prose[data-contentbg=box]{border:1px solid var(--border)}.prose[data-contentbg=card]{box-shadow:var(--shadow-lg)}.prose>*+*{margin-top:1.5em}.prose p{font-size:1.0625rem;line-height:var(--lh-prose);letter-spacing:var(--tracking-prose);color:var(--text);word-break:keep-all;margin:0}.prose h2{letter-spacing:var(--tracking-prose);scroll-margin-top:calc(var(--header-h) + 20px);margin-top:2.2em;margin-bottom:0;font-size:1.5rem}.prose h3{letter-spacing:var(--tracking-prose);scroll-margin-top:calc(var(--header-h) + 20px);margin-top:1.8em;margin-bottom:0;font-size:1.1875rem}.prose h2+*,.prose h3+*{margin-top:.85em}.prose blockquote{border-left:3px solid var(--brand-accent);font-family:var(--font-heading);letter-spacing:var(--tracking-prose);color:var(--text);margin:2.2em 0;padding:4px 0 4px 24px;font-size:1.1875rem;font-style:italic;font-weight:500;line-height:1.65}.prose blockquote cite{color:var(--text-muted);margin-top:12px;font-size:.875rem;font-style:normal;font-weight:500;display:block}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose ul,.prose ol{margin:0 0 1em;padding-left:1.5em}.prose li{font-size:1.0625rem;line-height:var(--lh-prose);letter-spacing:var(--tracking-prose);margin:.4em 0}.prose li::marker{color:var(--brand-accent);font-weight:600}.prose ul li::marker{font-size:1.1em}.prose a{color:var(--brand-accent);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}.prose a:hover{text-decoration-thickness:2px}.prose figure{margin:2.6em 0}.prose figure .thumb{border-radius:var(--radius-media)}.prose figcaption{text-align:center;color:var(--text-muted);margin-top:12px;font-size:.8125rem;line-height:1.6}.prose hr{border:0;border-top:2px solid var(--border-strong);width:64px;height:0;margin:3.2em auto}.prose code{font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:.15em .4em;font-size:.875em}.prose pre{background:var(--text);color:#e9e6e2;border-radius:var(--radius-sm);padding:20px 22px;font-size:.875rem;line-height:1.7;overflow-x:auto}.prose pre code{color:inherit;background:0 0;border:0;padding:0}.prose strong{color:var(--text);font-weight:700}.prose mark{background:var(--brand-accent-soft);color:inherit;border-radius:3px;padding:.1em .25em}.callout{background:var(--brand-accent-soft);border-radius:var(--radius-sm);border-left:3px solid var(--brand-accent);padding:18px 20px}.callout p{margin:0!important;font-size:.9375rem!important;line-height:1.7!important}.article-actions{margin-top:calc(48px * var(--density));border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding-top:28px;display:flex}.action-btn{border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius-pill);cursor:pointer;transition:all var(--t-fast);align-items:center;gap:7px;padding:9px 15px;font-size:.875rem;font-weight:600;display:inline-flex}.action-btn svg{width:16px;height:16px}.action-btn:hover{border-color:var(--text-muted)}.action-btn[aria-pressed=true]{background:var(--brand-accent-soft);border-color:var(--brand-accent);color:var(--brand-accent)}.action-btn[aria-pressed=true] svg{fill:currentColor}.action-btn .count{font-variant-numeric:tabular-nums}.article-actions .spacer{margin-left:auto}.share-set{flex-wrap:wrap;gap:6px;display:flex}.action-btn--icon{border-radius:50%;padding:9px}.action-btn--icon svg{width:17px;height:17px}.share-btn{position:relative}.share-btn:after{content:attr(data-tip);white-space:nowrap;color:#fff;opacity:0;pointer-events:none;z-index:25;background:#141614eb;border-radius:6px;padding:5px 8px;font-size:11px;font-weight:600;line-height:1;transition:opacity .12s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.share-btn:hover:after,.share-btn:focus-visible:after{opacity:1}.share-set,.share-rail__set{position:relative}.share-copied{z-index:30;white-space:nowrap;letter-spacing:-.01em;color:#fff;pointer-events:none;background:#141614eb;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:600;line-height:1;animation:.14s ease-out share-copied-in;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 6px 18px #0003}.share-copied:after{content:"";border:4px solid #0000;border-top-color:#141614eb;position:absolute;top:100%;left:50%;transform:translate(-50%)}@keyframes share-copied-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}.subscribe-band{margin-top:calc(36px * var(--density));padding:calc(var(--card-pad) * 1.1);background:var(--brand-accent-soft);border-radius:var(--radius);grid-template-columns:1fr auto;align-items:center;gap:20px;display:grid}.subscribe-band h3{margin-bottom:5px;font-size:1.0625rem}.subscribe-band p{color:var(--text-muted);margin:0;font-size:.875rem}.subscribe-band .subscribe{min-width:300px;margin-top:0}.post-nav{margin-top:calc(40px * var(--density));grid-template-columns:1fr 1fr;gap:16px;display:grid}.post-nav a{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:border-color var(--t-fast), transform var(--t-fast);padding:20px}.post-nav a:hover{border-color:var(--brand-accent);transform:translateY(-2px)}.post-nav .dir{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:6px;margin-bottom:8px;font-size:.75rem;font-weight:700;display:flex}.post-nav svg{width:13px;height:13px}.post-nav h4{font-size:.9375rem;line-height:1.5}.post-nav .next{text-align:right}.post-nav .next .dir{justify-content:flex-end}.post-nav a[aria-disabled=true]{opacity:.35;pointer-events:none}body.admin{--sidebar-w:248px;background:var(--surface-2)}.admin-shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100vh;display:grid}.admin-side{background:var(--surface);border-right:1px solid var(--border);z-index:60;flex-direction:column;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.admin-brand{border-bottom:1px solid var(--border);align-items:center;gap:11px;margin-bottom:14px;padding:6px 8px 22px;display:flex}.admin-brand .mark{background:var(--brand-accent);width:36px;height:36px;color:var(--brand-accent-ink);letter-spacing:.02em;border-radius:9px;flex-shrink:0;place-items:center;font-size:.9375rem;font-weight:800;display:grid}.admin-brand .name{font-size:.9375rem;font-weight:700;line-height:1.2}.admin-brand .sub{color:var(--text-muted);font-size:.75rem}.admin-brand .txt{min-width:0;overflow:hidden}.admin-brand .txt>*{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.admin-nav{gap:2px;display:grid}.admin-nav .group-label{letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);padding:16px 10px 7px;font-size:.6875rem;font-weight:700}.admin-nav button{border-radius:var(--radius-sm);text-align:left;cursor:pointer;width:100%;color:var(--text-muted);transition:background var(--t-fast), color var(--t-fast);background:0 0;border:0;align-items:center;gap:11px;padding:10px 11px;font-size:.9375rem;font-weight:500;display:flex}.admin-nav button svg{flex-shrink:0;width:18px;height:18px}.admin-nav button:hover{background:var(--surface-2);color:var(--text)}.admin-nav button[aria-current=true]{background:var(--brand-accent-soft);color:var(--brand-accent);font-weight:600}.admin-nav button .label{white-space:nowrap;overflow:hidden}.admin-side__foot{border-top:1px solid var(--border);margin-top:auto;padding-top:16px}.admin-side__foot .btn{width:100%}.admin-main{flex-direction:column;min-width:0;display:flex}.admin-top{z-index:50;background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);align-items:center;gap:14px;height:64px;padding-inline:26px;display:flex;position:sticky;top:0}.admin-top h1{font-size:1.125rem}.admin-top .crumb{color:var(--text-muted);font-size:.8125rem}.admin-top .actions{align-items:center;gap:8px;margin-left:auto;display:flex}.drawer-toggle{display:none}.admin-body{flex:1;min-width:0;padding:28px 26px 64px}.panel{min-width:0;animation:.22s both panel-in;display:none}.panel[data-active=true]{display:block}@keyframes panel-in{0%{opacity:0;transform:translateY(6px)}}.panel-head{margin-bottom:24px}.panel-head h2{margin-bottom:6px;font-size:1.375rem}.panel-head p{color:var(--text-muted);margin:0;font-size:.9375rem}.admin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px}.admin-card+.admin-card{margin-top:20px}.admin-card__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.admin-card__head h3{font-size:1.0625rem}.admin-card__head p{color:var(--text-muted);margin:4px 0 0;font-size:.8125rem}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.stat .label{color:var(--text-muted);margin-bottom:10px;font-size:.8125rem}.stat .value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.875rem;font-weight:700;line-height:1.1}.stat .delta{align-items:center;gap:4px;margin-top:10px;font-size:.8125rem;font-weight:600;display:inline-flex}.stat .delta[data-trend=up]{color:var(--success)}.stat .delta[data-trend=down]{color:var(--danger)}.stat .delta .hint{color:var(--text-muted);font-weight:400}.spark{align-items:flex-end;gap:6px;height:110px;padding-top:8px;display:flex}.spark .bar{background:var(--brand-accent-soft);min-height:6px;transition:background var(--t-fast);border-radius:5px 5px 2px 2px;flex:1;position:relative}.spark .bar:last-child,.spark .bar:hover{background:var(--brand-accent)}.spark .bar span{text-align:center;color:var(--text-muted);font-size:.6875rem;position:absolute;inset:auto 0 -22px}.activity{gap:2px;margin:0;padding:0;list-style:none;display:grid}.activity li{border-radius:var(--radius-sm);align-items:flex-start;gap:13px;padding:12px 8px;display:flex}.activity li:hover{background:var(--surface-2)}.activity .ico{background:var(--brand-accent-soft);width:32px;height:32px;color:var(--brand-accent);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.activity .ico svg{width:15px;height:15px}.activity .txt{font-size:.875rem;line-height:1.55}.activity .time{color:var(--text-muted);margin-top:2px;font-size:.75rem}.dash-grid{grid-template-columns:1.5fr 1fr;align-items:start;gap:20px;display:grid}.dash-grid>.admin-card+.admin-card{margin-top:0}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.seg{background:var(--surface-2);border-radius:var(--radius-sm);gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:0;border-radius:6px;padding:7px 14px;font-size:.8125rem;font-weight:600}.seg button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.field-search{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:8px;min-width:220px;padding:8px 13px;display:flex}.field-search:focus-within{border-color:var(--brand-accent)}.field-search svg{width:15px;height:15px;color:var(--text-muted);flex-shrink:0}.field-search input{font:inherit;width:100%;color:var(--text);background:0 0;border:0;outline:none;font-size:.875rem}.toolbar .grow{margin-left:auto}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:0;overflow-x:auto}table.data{border-collapse:collapse;width:100%;min-width:720px}table.data th,table.data td{text-align:left;padding:13px 16px}table.data thead th{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;font-size:.75rem;font-weight:700}table.data tbody tr{border-bottom:1px solid var(--border);transition:background var(--t-fast)}table.data tbody tr:last-child{border-bottom:0}table.data tbody tr:hover{background:var(--surface-2)}table.data .t-title{font-size:.9375rem;font-weight:600}table.data .t-sub{color:var(--text-muted);margin-top:2px;font-size:.75rem}table.data .num{text-align:right;font-variant-numeric:tabular-nums;font-size:.875rem}table.data .row-actions{justify-content:flex-end;gap:4px;display:flex}table.data td:last-child{text-align:right}.switch{cursor:pointer;align-items:center;gap:10px;display:inline-flex}.switch input{opacity:0;width:0;height:0;position:absolute}.switch .track{background:var(--border-strong);border-radius:var(--radius-pill);width:42px;height:24px;transition:background var(--t);flex-shrink:0;position:relative}.switch .track:after{content:"";width:18px;height:18px;box-shadow:var(--shadow-sm);transition:transform var(--t);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.switch input:checked+.track{background:var(--brand-accent)}.switch input:checked+.track:after{transform:translate(18px)}.switch input:focus-visible+.track{outline:2px solid var(--brand-accent);outline-offset:2px}.switch .txt{font-size:.875rem}.sortable{gap:8px;display:grid}.sort-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--t-fast), box-shadow var(--t-fast), opacity var(--t-fast);align-items:center;gap:12px;padding:12px 14px;display:flex}.sort-item:hover{border-color:var(--border-strong)}.sort-item[data-dragging=true]{opacity:.4}.sort-item[data-over=true]{border-color:var(--brand-accent);box-shadow:0 0 0 3px var(--brand-accent-soft)}.sort-item .handle{cursor:grab;color:var(--text-muted);touch-action:none;border-radius:5px;flex-shrink:0;place-items:center;padding:4px;display:grid}.sort-item .handle:active{cursor:grabbing}.sort-item .handle:hover{background:var(--surface-2);color:var(--text)}.sort-item .handle svg{width:16px;height:16px}.sort-item .dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.sort-item .name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.9375rem;font-weight:600;overflow:hidden}.sort-item .name-input{font:inherit;border:1px solid var(--brand-accent);background:var(--bg);color:var(--text);border-radius:6px;outline:none;min-width:0;padding:4px 8px;font-size:.9375rem;font-weight:600}.sort-item .slug{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono)}.sort-item .tail{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.sort-item .arrows{flex-direction:column;gap:1px;display:flex}.sort-item .arrows button{cursor:pointer;color:var(--text-muted);background:0 0;border:0;border-radius:4px;padding:1px 4px;line-height:1}.sort-item .arrows button:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.sort-item .arrows button:disabled{opacity:.25;cursor:default}.sort-item .arrows svg{width:12px;height:12px;display:block}.sort-item[data-hidden=true] .name,.sort-item[data-hidden=true] .slug{opacity:.45}.inline-form{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.inline-form input,.inline-form select{min-width:140px;font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);flex:1;padding:10px 13px;font-size:.875rem}.inline-form input:focus,.inline-form select:focus{outline:2px solid var(--brand-accent);outline-offset:1px;border-color:#0000}[hidden]{display:none!important}.form-grid{gap:18px;display:grid}.field{gap:7px;display:grid}.field label{font-size:.8125rem;font-weight:600}.field .desc{color:var(--text-muted);font-size:.75rem;line-height:1.5}.field input[type=text],.field input[type=email],.field select,.field textarea{font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);width:100%;padding:10px 13px;font-size:.875rem}.field textarea{resize:vertical;min-height:84px;line-height:1.65}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--brand-accent);outline-offset:1px;border-color:#0000}.field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.addon{display:flex}.addon input{border-radius:var(--radius-sm) 0 0 var(--radius-sm);border-right:0}.addon .suffix{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-muted);font-size:.8125rem;font-family:var(--font-mono);white-space:nowrap;border-left:0;place-items:center;padding-inline:13px;display:grid}.design-layout{grid-template-columns:minmax(0,400px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.design-controls{min-width:0}.editor-group{display:block}.editor-group>.admin-card:first-child{margin-top:0}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{cursor:pointer;width:34px;height:34px;transition:transform var(--t-fast);border:2px solid #0000;border-radius:8px;padding:0;box-shadow:inset 0 0 0 1px #00000014}.swatch:hover{transform:scale(1.08)}.swatch[aria-pressed=true]{border-color:var(--text)}.color-row{align-items:center;gap:10px;display:flex}.color-row input[type=color]{cursor:pointer;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);flex-shrink:0;width:44px;height:40px;padding:2px}.color-row .hex{font-family:var(--font-mono);text-transform:uppercase;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);width:110px;color:var(--text);padding:10px 12px;font-size:.8125rem}.range-row{align-items:center;gap:14px;display:flex}.range-row input[type=range]{accent-color:var(--brand-accent);flex:1;min-width:0}.range-row output{font-family:var(--font-mono);color:var(--text);text-align:right;font-variant-numeric:tabular-nums;min-width:48px;font-size:.8125rem;font-weight:600}.range-ticks{font-family:var(--font-mono);color:var(--text-muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:-2px;margin-right:62px;padding-inline:2px;font-size:.6875rem;display:flex}.chip-row{flex-wrap:wrap;gap:7px;display:flex}.chip{border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius-pill);cursor:pointer;transition:all var(--t-fast);padding:8px 14px;font-size:.8125rem;font-weight:600}.chip:hover{border-color:var(--text-muted)}.chip[aria-pressed=true]{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--brand-accent-ink)}.preview-wrap{position:sticky;top:88px}.preview-frame{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.preview-bar{border-bottom:1px solid var(--border);background:var(--surface-2);align-items:center;gap:10px;padding:11px 14px;display:flex}.preview-bar .dots{gap:6px;display:flex}.preview-bar .dots i{background:var(--border-strong);border-radius:50%;width:9px;height:9px}.preview-bar .url{text-align:center;color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);text-overflow:ellipsis;white-space:nowrap;flex:1;padding:4px 12px;overflow:hidden}.preview-bar .sizes{gap:2px;display:flex}.preview-bar .sizes button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;padding:5px;display:grid}.preview-bar .sizes button:hover{background:var(--surface);color:var(--text)}.preview-bar .sizes button[aria-pressed=true]{background:var(--surface);color:var(--brand-accent);box-shadow:var(--shadow-sm)}.preview-bar .sizes svg{width:15px;height:15px}.preview-meta{border-bottom:1px solid var(--border);color:var(--text-muted);font-variant-numeric:tabular-nums;align-items:center;gap:6px;padding:8px 14px;font-size:.75rem;display:flex}.preview-meta__sep{opacity:.5}.preview-meta__note{color:var(--text-muted);opacity:.8}.preview-meta__actions{align-items:center;gap:8px;margin-left:auto;display:flex}.preview-viewport{background:var(--surface-2);justify-content:center;align-items:flex-start;height:calc(100dvh - 210px);min-height:360px;padding:12px;display:flex;overflow:hidden auto}.preview-stage{flex:none;position:relative}.preview-iframe{transform-origin:0 0;background:#fff;border:0;display:block;box-shadow:0 1px 2px #1f1d1b0f,0 8px 28px #1f1d1b1a}.preview-bar .preview-pages{flex-shrink:0}.preview-bar .preview-pages button{white-space:nowrap;padding:5px 12px;font-size:.75rem}.preview-sheet-toggle{display:none}.editor-placeholder{border:1px dashed var(--border-strong);border-radius:var(--radius);text-align:center;color:var(--text-muted);background:var(--surface);padding:56px 24px}.editor-placeholder svg{width:34px;height:34px;color:var(--border-strong);margin:0 auto 14px}.editor-placeholder strong{color:var(--text);margin-bottom:6px;font-size:1.0625rem;display:block}.editor-placeholder p{margin:0;font-size:.875rem}.modal-backdrop{z-index:250;background:#1f1d1b6b;place-items:center;padding:20px;animation:.14s both fade-in;display:grid;position:fixed;inset:0}.modal-backdrop[hidden]{display:none}.modal{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:min(420px,100%);padding:24px;animation:.2s cubic-bezier(.32,.72,0,1) both modal-in}@keyframes modal-in{0%{opacity:0;transform:scale(.96)translateY(8px)}}.modal h3{margin-bottom:8px;font-size:1.0625rem}.modal p{color:var(--text-muted);margin:0 0 22px;font-size:.875rem;line-height:1.6}.modal .modal-actions{justify-content:flex-end;gap:8px;display:flex}@media (max-width:1023px){.container{padding-inline:20px}.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-grid,.featured-grid[data-style=triple]{grid-template-columns:1fr}.featured-grid[data-style=triple],.featured-grid__side{grid-template-columns:repeat(2,minmax(0,1fr))}.search-inline input{width:96px}.nav a{padding:8px 10px;font-size:.875rem}.article-layout{grid-template-columns:auto minmax(0,1fr) auto;gap:20px}.article-layout>.prose{width:100%;max-width:var(--reading-width);justify-self:center}.rail{width:180px;max-width:none}.rail[data-narrow=true]{width:56px}.footer-grid{grid-template-columns:1fr;gap:32px}body.admin{--sidebar-w:68px}.admin-side{align-items:center;padding-inline:10px}.admin-side__foot{width:100%}.admin-brand{justify-content:center;padding-inline:0}.admin-brand .txt{display:none}.admin-nav{width:100%}.admin-nav button{justify-content:center;padding-inline:0}.admin-nav button .label{display:none}.admin-nav .group-label{text-align:center;letter-spacing:.04em;padding-inline:0;font-size:.5625rem}.admin-side__foot .btn .label{display:none}.admin-side__foot .btn{padding-inline:0}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid{grid-template-columns:minmax(0,1fr)}.dash-grid>.admin-card+.admin-card{margin-top:20px}.design-layout{grid-template-columns:minmax(0,1fr)}.preview-wrap{position:static}.preview-viewport{height:calc(100dvh - 260px);min-height:320px}.preview-meta__note{display:none}}@media (max-width:767px){.article-layout>.rail{display:none}.related-rail-fallback,.article-layout{display:block}.article-layout>.prose{width:100%;max-width:none}:root{--header-h:max(60px, calc(min(var(--logo-h), 36px) + 20px))}.container{padding-inline:16px}.nav,.search-inline,.header-admin{display:none}.logo-img{height:min(var(--logo-h), 36px);max-width:150px}.hamburger{display:inline-flex}.header-actions{gap:4px}[data-gnb=plain] .site-header,[data-gnb=floating] .site-header{background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding-top:0}[data-gnb=floating] .container.site-header__inner{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;height:var(--header-h);width:100%;max-width:var(--container);background:0 0;border:0;border-radius:0;margin-inline:auto;padding-inline:16px}.post-grid,.featured-grid,.featured-grid[data-style=triple],.featured-grid__side{grid-template-columns:minmax(0,1fr)}[data-list=list] .card{flex-direction:column;align-items:stretch;gap:12px}[data-list=list] .card .thumb{width:100%}.cat-filter-bar{scrollbar-width:none;flex-wrap:nowrap;margin-inline:-16px;padding-inline:16px;overflow-x:auto}.cat-filter-bar::-webkit-scrollbar{display:none}.hero{padding-top:calc(32px * var(--density))}.card-feature[data-variant=single]{grid-template-columns:minmax(0,1fr);gap:16px}.article-head{padding-top:calc(28px * var(--density));text-align:left}.article-head .meta{justify-content:flex-start}.article-cover{padding-inline:16px}.prose p,.prose li{font-size:1rem}.prose blockquote{padding-left:18px;font-size:1.0625rem}.post-nav{grid-template-columns:1fr}.post-nav .next{text-align:left}.post-nav .next .dir{justify-content:flex-start}.article-actions .spacer{width:100%;height:0;margin-left:0}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-bottom{flex-direction:column;align-items:flex-start}.rail{grid-template-columns:minmax(0,1fr)}.subscribe-band{grid-template-columns:1fr}.subscribe-band .subscribe{min-width:0}.header-cta{display:inline-flex}[data-gnb=floating] .site-header__inner{border-radius:var(--radius);padding-inline:14px}.toast-region{bottom:16px;left:16px;right:16px}.toast{min-width:0;max-width:none}body.admin{--sidebar-w:0px}.admin-shell{grid-template-columns:minmax(0,1fr)}.admin-side{width:264px;height:100dvh;transition:transform var(--t);box-shadow:var(--shadow-lg);z-index:120;align-items:stretch;padding:20px 14px;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.admin-side[data-open=true]{transform:none}.admin-brand{justify-content:flex-start;padding-inline:8px}.admin-brand .txt{display:block}.admin-nav button{justify-content:flex-start;padding-inline:11px}.admin-nav button .label{display:inline}.admin-nav .group-label{text-align:left;letter-spacing:.09em;padding-inline:10px;font-size:.6875rem}.admin-side__foot .btn .label{display:inline}.admin-side__foot .btn{padding-inline:18px}.admin-scrim{z-index:110;background:#1f1d1b66;animation:.14s both fade-in;position:fixed;inset:0}.admin-scrim[hidden]{display:none}.drawer-toggle{display:inline-flex}.admin-top{gap:10px;padding-inline:16px}.admin-top h1{font-size:1rem}.admin-top .crumb,.admin-top .actions .btn .label{display:none}.admin-top .actions .btn{padding:9px}.admin-body{padding:20px 16px 80px}.stat-grid{grid-template-columns:1fr 1fr;gap:12px}.stat{padding:16px}.stat .value{font-size:1.5rem}.admin-card{padding:18px 16px}.field-row{grid-template-columns:1fr}.toolbar .grow{width:100%;margin-left:0}.field-search{width:100%;min-width:0}.seg{width:100%}.seg button{flex:1}.design-layout{grid-template-columns:minmax(0,1fr)}.preview-wrap{z-index:100;background:var(--surface);border-top:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;transition:transform var(--t);max-height:84dvh;position:fixed;inset:auto 0 0;transform:translateY(calc(100% - 52px));box-shadow:0 -8px 32px #1f1d1b24}.preview-wrap[data-open=true]{transform:none}.preview-sheet-toggle{cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;width:100%;height:52px;padding-inline:18px;font-size:.875rem;font-weight:700;display:flex}.preview-sheet-toggle svg{width:16px;height:16px;transition:transform var(--t);color:var(--text-muted)}.preview-wrap[data-open=true] .preview-sheet-toggle svg{transform:rotate(180deg)}.preview-frame{box-shadow:none;border:0;border-radius:0}.preview-viewport{height:min(420px,52dvh);min-height:0;padding:8px}.preview-bar .url{display:none}.preview-meta{flex-wrap:wrap}.preview-meta__actions{width:100%;margin-left:0}#panel-design{padding-bottom:56px}}@media (max-width:400px){.stat-grid{grid-template-columns:1fr}.preview-bar .sizes{display:none}}@media print{.site-header,.site-footer,.article-actions,.post-nav,.toc,.toc-mobile,.toast-region{display:none!important}body{background:#fff}}.widget-list .wl-text{flex:1;min-width:0}.widget-list a{align-items:flex-start}.hero--intro{padding-block:clamp(48px,7vw,96px)}.hero--cover{background-position:50%;background-size:cover}.hero--cover .hero__intro h1,.hero--cover .hero__intro p{color:#fff}.hero--cover .hero__intro p{opacity:.92}.top-section{padding-top:clamp(28px,3vw,44px)}.hero__box{border-radius:var(--radius-media);width:100%;max-width:none;margin-bottom:calc(36px * var(--density));padding:clamp(32px,5vw,64px) clamp(20px,4vw,48px)}.hero__box.hero--cover{background-position:50%;background-size:cover}.hero__box.hero--cover .hero__text h1,.hero__box.hero--cover .hero__text p{color:#fff}.hero__text{max-width:640px}.hero[data-width=container]{padding-block:clamp(24px,3vw,40px)}.hero--cover .hero__text h1,.hero--cover .hero__text p{color:#fff}.hero[data-width=full].hero--cover{margin-top:calc(var(--header-h) * -1);padding-top:calc(var(--header-h) + 56px * var(--density))}.prose table{border-collapse:collapse;border:1px solid var(--border,#e5e1da);border-radius:var(--radius-media,10px);width:100%;margin:20px 0;font-size:.925em;line-height:1.6;display:block;overflow-x:auto}.prose table tbody,.prose table thead{width:100%;display:table}.prose th,.prose td{text-align:left;vertical-align:top;border:0;border-bottom:1px solid var(--border,#e5e1da);word-break:keep-all;min-width:96px;padding:10px 14px}.prose th+th,.prose td+td{border-left:1px solid var(--border,#e5e1da)}.prose thead th,.prose tr:first-child th{background:var(--surface2,#f4f2ee);white-space:nowrap;font-weight:700}.prose tbody tr:last-child td{border-bottom:0}.prose tbody th{background:var(--surface2,#f4f2ee);white-space:nowrap;font-weight:600}.search-list{margin:0;padding:0;list-style:none}.search-list li{border-top:1px solid var(--border)}.search-list li:first-child{border-top:0}.sr-row{color:inherit;align-items:flex-start;gap:16px;padding:18px 2px;text-decoration:none;display:flex}.sr-thumb{border-radius:var(--radius-media,10px);object-fit:cover;background:var(--surface);flex:none;width:128px;height:92px}.sr-thumb--empty{border:1px solid var(--border);display:block}.sr-body{flex-direction:column;flex:1;min-width:0;display:flex}.sr-meta{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:5px;font-size:12.5px;display:flex}.sr-cat{color:var(--brand-accent);font-weight:600}.sr-title{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:6px;font-size:17px;font-weight:700;line-height:1.4;display:-webkit-box;overflow:hidden}.sr-row:hover .sr-title{color:var(--brand-accent)}.sr-excerpt{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13.5px;line-height:1.6;display:-webkit-box;overflow:hidden}@media (max-width:560px){.sr-row{gap:12px;padding:14px 0}.sr-thumb{width:96px;height:72px}.sr-title{-webkit-line-clamp:2;font-size:15px}.sr-excerpt{-webkit-line-clamp:2}}
