@font-face{font-family:'Fraunces';src:url('/assets/fonts/Fraunces-VariableFont.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url('/assets/fonts/Fraunces-Italic-VariableFont.woff2') format('woff2');font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('/assets/fonts/SourceSerif4-VariableFont.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('/assets/fonts/SourceSerif4-Italic-VariableFont.woff2') format('woff2');font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:'Inter';src:url('/assets/fonts/Inter-VariableFont.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('/assets/fonts/JetBrainsMono-VariableFont.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{
  --wp--preset--color--background: #FFFFFF;
  --wp--preset--color--surface: #FAF7F0;
  --wp--preset--color--surface-muted: #F3EFE4;
  --wp--preset--color--text: #1A1A1A;
  --wp--preset--color--text-muted: #5F5F5F;
  --wp--preset--color--text-subtle: #8B8680;
  --wp--preset--color--accent: #1E3A5F;
  --wp--preset--color--accent-hover: #2B4F7F;
  --wp--preset--color--accent-ink: #FFFFFF;
  --wp--preset--color--premium: #C9A961;
  --wp--preset--color--border: #E5E0D0;
  --wp--preset--color--border-strong: #CFC7B2;
  --wp--preset--font-family--display: 'Fraunces', Georgia, serif;
  --wp--preset--font-family--body: 'Source Serif 4', Georgia, serif;
  --wp--preset--font-family--ui: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --wp--preset--font-family--mono: 'JetBrains Mono', 'Courier New', monospace;
  --wp--preset--font-size--sm: 0.875rem;
  --wp--preset--font-size--base: 1.125rem;
  --wp--preset--font-size--lg: 1.375rem;
  --wp--preset--font-size--xl: clamp(1.375rem, 2.5vw, 1.75rem);
  --wp--preset--font-size--2xl: clamp(1.75rem, 3.5vw, 2.5rem);
  --wp--preset--font-size--3xl: clamp(2.25rem, 5vw, 3.75rem);
  --wp--preset--spacing--10: 4px;
  --wp--preset--spacing--20: 8px;
  --wp--preset--spacing--30: 16px;
  --wp--preset--spacing--40: 24px;
  --wp--preset--spacing--50: 32px;
  --wp--preset--spacing--60: 48px;
  --wp--preset--spacing--70: 64px;
  --wp--preset--spacing--80: 96px;
  --wp--preset--spacing--90: 128px;
  --wp--style--global--content-size: 680px;
  --wp--style--global--wide-size: 1280px;
  --shadow-sm: 0 1px 2px rgba(26,26,26,0.04); --shadow-md: 0 4px 12px rgba(26,26,26,0.06);
}

body{margin:0;background:var(--wp--preset--color--background);color:var(--wp--preset--color--text);
  font-family:var(--wp--preset--font-family--body);font-size:var(--wp--preset--font-size--base);line-height:1.7}
h1,h2,h3,h4{font-family:var(--wp--preset--font-family--display);font-weight:500}
h1{line-height:1.05;font-size:var(--wp--preset--font-size--3xl)}
h2{line-height:1.15;font-size:var(--wp--preset--font-size--2xl)}
h3{line-height:1.2;font-size:var(--wp--preset--font-size--xl)}
h4{line-height:1.3}
a{color:var(--wp--preset--color--accent);text-decoration:underline}
a:hover{color:var(--wp--preset--color--accent-hover)}
a:focus-visible,button:focus-visible{outline:2px solid var(--wp--preset--color--accent);outline-offset:2px}
img{max-width:100%;height:auto}
.wrap{max-width:var(--wp--style--global--wide-size);margin-inline:auto;padding-inline:var(--wp--preset--spacing--50)}
.prose{max-width:var(--wp--style--global--content-size);margin-inline:auto}
.prose table{border-collapse:collapse;width:100%;font-family:var(--wp--preset--font-family--ui);font-size:.9rem;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--wp--preset--color--border);padding:.4rem .6rem;vertical-align:top}
.prose th{background:var(--wp--preset--color--surface-muted)}
.prose figure{margin:var(--wp--preset--spacing--40) 0}
.prose figcaption{font-family:var(--wp--preset--font-family--ui);font-size:var(--wp--preset--font-size--sm);color:var(--wp--preset--color--text-muted)}
.post-list{list-style:none;padding:0;display:grid;gap:var(--wp--preset--spacing--40)}
.post-list a{text-decoration:none;color:inherit}
.post-list h2{font-size:var(--wp--preset--font-size--lg);margin:.2rem 0}
.wvg-form{display:grid;gap:.6rem;max-width:420px;margin:1rem 0}
.wvg-form input{font:inherit;padding:.6rem .8rem;border:1px solid var(--wp--preset--color--border-strong);border-radius:4px}
.wvg-form button,.wvg-plan button{border:0;cursor:pointer;justify-self:start}
.wvg-msg{background:var(--wp--preset--color--surface);border-left:4px solid var(--wp--preset--color--premium);padding:.8rem 1rem;font-family:var(--wp--preset--font-family--ui)}
.wvg-dl{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem;font-family:var(--wp--preset--font-family--ui)}
.wvg-dl dt{color:var(--wp--preset--color--text-muted)} .wvg-dl dd{margin:0}
.wvg-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--wp--preset--spacing--40)}
.wvg-plan{margin-block:var(--wp--preset--spacing--30)} .wvg-plan small{font-size:.9rem;color:var(--wp--preset--color--text-muted)}
#wvg-devlink a{word-break:break-all}
.wvg-topics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--wp--preset--spacing--30)}
.wvg-sec-head h2 svg{vertical-align:-3px;color:var(--wp--preset--color--premium)}
.wvg-form textarea{font:inherit;padding:.6rem .8rem;border:1px solid var(--wp--preset--color--border-strong);border-radius:4px}
.wvg-form label{display:grid;gap:.25rem;font-family:var(--wp--preset--font-family--ui);font-size:.9rem}
.wvg-contact{max-width:640px;margin-inline:auto}
.wvg-hp{position:absolute!important;left:-9999px!important;height:1px;overflow:hidden}
.wvg-admin{font-family:var(--wp--preset--font-family--ui);font-size:.95rem}
.adm-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--wp--preset--color--border);margin-bottom:1rem}
.adm-tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:.6rem 1rem;font:inherit;cursor:pointer;color:var(--wp--preset--color--text-muted)}
.adm-tabs button.is-active{border-color:var(--wp--preset--color--premium);color:var(--wp--preset--color--text);font-weight:600}
.adm-badge{background:var(--wp--preset--color--premium);color:#1A1A1A;border-radius:999px;padding:0 .45rem;font-size:.75rem;margin-left:.25rem}
.adm-stats{margin:.5rem 0 1rem;color:var(--wp--preset--color--text-muted)}
.adm-box{background:var(--wp--preset--color--surface);border:1px solid var(--wp--preset--color--border);border-radius:6px;padding:.8rem 1rem;margin-bottom:.8rem}
.adm-box summary{cursor:pointer}
.adm-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem 1rem;align-items:end;margin-top:.8rem}
.adm-form label{display:grid;gap:.25rem}
.adm-form input,.adm-form select,.adm-toolbar input,.adm-toolbar select{font:inherit;padding:.5rem .6rem;border:1px solid var(--wp--preset--color--border-strong);border-radius:4px;background:#fff}
.adm-form .adm-wide{grid-column:1/-1}
.adm-form button{border:0;cursor:pointer;justify-self:start}
.adm-hint{color:var(--wp--preset--color--text-subtle);font-size:.85rem}
.adm-toolbar{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0 .6rem}
.adm-toolbar input{flex:1;min-width:220px}
.adm-tablewrap{overflow-x:auto}
.adm-table{border-collapse:collapse;width:100%;font-size:.9rem}
.adm-table th,.adm-table td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--wp--preset--color--border);vertical-align:top}
.adm-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--wp--preset--color--text-muted)}
.adm-yes{color:#2E7D32;font-weight:600}.adm-no{color:var(--wp--preset--color--text-subtle)}
.adm-note{max-width:220px;color:var(--wp--preset--color--text-muted)}
.adm-actions{white-space:nowrap}
.adm-actions button,.adm-msg button{font:inherit;font-size:.8rem;padding:.3rem .55rem;margin:0 .25rem .25rem 0;border:1px solid var(--wp--preset--color--border-strong);background:#fff;border-radius:4px;cursor:pointer}
.adm-danger{color:#B3261E!important;border-color:#E9B9B5!important}
.adm-msg{border:1px solid var(--wp--preset--color--border);border-radius:6px;padding:1rem;margin-bottom:.8rem}
.adm-msg.is-unread{border-left:4px solid var(--wp--preset--color--premium)}
.adm-msg h3{font-size:1.05rem;margin:0}.adm-msg__body{white-space:pre-wrap}
.adm-msg a{margin-right:.6rem}
.adm-toast{position:fixed;bottom:1rem;right:1rem;background:#1E3A5F;color:#fff;padding:.7rem 1rem;border-radius:6px;z-index:200}
.adm-toast.is-bad{background:#B3261E}
.wvg-search-link{display:inline-flex;align-items:center;color:var(--wp--preset--color--text);margin-right:.75rem}
.wvg-search-link:hover{color:var(--wp--preset--color--accent)}
.about-wout{display:grid;grid-template-columns:1fr 2fr;gap:var(--wp--preset--spacing--70);max-width:1280px;margin-inline:auto;padding-inline:var(--wp--preset--spacing--50);align-items:center}
.about-wout__mark{display:flex;justify-content:center}.about-wout__mark img{width:min(220px,60%);opacity:.9}
@media (max-width:782px){.about-wout{grid-template-columns:1fr}}
.wvg-search{--pagefind-ui-primary:var(--wp--preset--color--accent);--pagefind-ui-font:var(--wp--preset--font-family--ui);--pagefind-ui-border:var(--wp--preset--color--border-strong);--pagefind-ui-tag:var(--wp--preset--color--surface)}
.adm-dialog{width:min(760px,94vw);max-height:90vh;border:1px solid var(--wp--preset--color--border);border-radius:8px;padding:1.4rem 1.6rem;font-family:var(--wp--preset--font-family--ui)}
.adm-dialog::backdrop{background:rgba(26,26,26,.45)}
.adm-dialog h2{font-size:1.3rem;margin:0 2rem .2rem 0;word-break:break-all}.adm-dialog h3{font-size:1rem;margin:1.2rem 0 .5rem}
.adm-dialog__close{position:absolute;top:.6rem;right:.8rem}.adm-dialog__close button{background:none;border:0;font-size:1.6rem;cursor:pointer;line-height:1}
.adm-actrow{display:flex;flex-wrap:wrap;gap:.5rem;align-items:end;margin-bottom:.6rem}
.adm-actrow button{font:inherit;font-size:.85rem;padding:.45rem .7rem;border:1px solid var(--wp--preset--color--border-strong);background:#fff;border-radius:4px;cursor:pointer}
.adm-actrow label{display:grid;gap:.2rem;font-size:.85rem}.adm-actrow input{font:inherit;padding:.4rem .5rem;border:1px solid var(--wp--preset--color--border-strong);border-radius:4px}
.adm-stripe-btn{border-color:#635BFF!important;color:#635BFF}
.adm-mt{display:inline-block;margin-left:.5rem;font-size:.72rem;background:#FFF4D6;color:#7A5B00;border-radius:4px;padding:.05rem .4rem}
.badge-premium{font-family:var(--wp--preset--font-family--ui);font-size:.7rem;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--wp--preset--color--premium)}
