/* Shared walnut, oak and ivory theme — public pages and writing workspace. */
:root{--wood:#613c27;--wood-dark:#302017;--oak:#b88751;--cream:#faf4e8;--line:#dac5a8;--ink:#36291f;--muted:#75604c;--grain:repeating-linear-gradient(2deg,transparent 0 5px,#ad84590b 6px,transparent 8px 15px),repeating-linear-gradient(178deg,transparent 0 39px,#80532908 40px,transparent 43px 70px)}
body{background-color:#f6eddc;background-image:var(--grain);color:var(--ink)}
.topline,.site-footer,.admin-sidebar{background-color:var(--wood-dark);background-image:var(--grain)}
.topline{border-bottom:1px solid #b98b5340}.site-header{background:#faf4e8f5;border-color:var(--line)}
.brand-mark{background:linear-gradient(135deg,#7c5033,#402719);color:#f4dfbb!important;border-color:#b88a55;box-shadow:inset 0 0 0 3px #f9deb516;border-radius:8px}.brand small{color:var(--muted)}
.header-cta{border-color:#a88560;background:#f1e1c8}.header-cta:hover{background:#e4cba8}
h1 em,h2 em{color:#946137}.eyebrow,.text-link,.back-link{color:#7c5233}
.button,.filters a.active,.pagination [aria-current]{background:#613c27;border-color:#613c27;color:#fff7e9}
.button:hover{background:#442a1c}.button.secondary{color:#563920!important;border-color:#b89872}.button.secondary:hover{background:#eddec8}
.hero{gap:58px;padding-block:55px 56px}.hero-visual{border:8px solid #755135;border-radius:100px 12px 12px 12px;box-shadow:0 20px 55px #51331f24,inset 0 0 0 1px #b18c5c}.hero-visual>img{filter:sepia(.12) saturate(.85)}.hero h1{font-size:clamp(4.7rem,6.7vw,6.5rem)}.hero-note{color:#89603b}
.topic-bar{background-color:#e9d8bd;background-image:var(--grain);border-color:var(--line)}
.post-card{background:#fffaf0;border:1px solid var(--line);border-radius:12px;padding:13px 13px 22px;box-shadow:0 5px 16px #68462306}.post-card .card-meta,.post-card h3,.post-card>p{margin-inline:9px}.post-card h3{font-size:1.55rem}.post-card>p{color:#756350}.card-image{border-radius:7px}.card-image:hover img{transform:scale(1.025)}
.practice-section{background-color:#ead6b8;background-image:var(--grain);border-color:#cfb18a;box-shadow:inset 0 0 0 6px #fff8e429}
.video-banner{background-color:#513323;background-image:var(--grain);border:1px solid #92663d}.video-banner .eyebrow{color:#e8c699}
.panel,.editor-paper,.editor-settings .panel{background:#fffaf1;border-color:var(--line)}
.chess-widget,.board-frame{background-color:#70472e!important;border-color:#b38856!important;background-image:var(--grain)}
.article-cover{border:6px solid #9b744e;box-shadow:0 12px 35px #51331f1c}.article-content{background:#fffaf1;border:1px solid #e3d1b9;padding:30px;border-radius:10px}.prose a{color:#80502c}.prose blockquote{background:#efe0c8;border-color:#9f7145}.prose th{background:#ecd9bb}.prose td,.prose th{border-color:#d3bfa1}
.prose [style*="color:#999"]{color:#66513b!important}.filters a{background:#fff9ef;border-color:var(--line)}
.footer-main p,.footer-main>div:not(:first-child)>a,.footer-bottom{color:#d6c2a9}.footer-bottom button{padding:0;background:none;color:inherit;text-decoration:underline;text-underline-offset:4px;font-size:inherit}
.admin-body{background:#f1e4d1}.admin-top,.admin-footer{background:#faf2e4}.admin-sidebar nav a.active{background:#835a3a}.admin-sidebar nav a:hover{background:#69482f}
.partner-area{padding-block:20px 60px}.partner-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:23px}.partner-heading h2{font-size:2.3rem;margin:0}.partner-heading .eyebrow{margin-bottom:10px}.partner-heading>p{font-size:.8rem;max-width:370px;color:var(--muted);margin:0}
.partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.affiliate-ad{position:relative;margin:0;border-radius:14px;overflow:hidden;background:#3e281b;border:1px solid #c19b70;box-shadow:0 12px 26px #4d301617;isolation:isolate}
.ad-label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 13px;background:#fff9ee;color:#806044;font:700 10px/1.3 'Segoe UI',sans-serif;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #e5d0b2}.ad-label span:last-child{letter-spacing:.02em;text-transform:none}
.affiliate-link{display:block;text-decoration:none!important;color:#fff5e6!important;transition:transform .16s}.affiliate-link:active{transform:scale(.985)}.ad-media{position:relative;display:block;overflow:hidden;line-height:0;background:#271e16}.ad-media:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 22%,#ffffff21 46%,transparent 68%);transform:translateX(-135%);transition:transform .85s cubic-bezier(.2,.75,.25,1)}
.affiliate-ad:hover .ad-media:after,.affiliate-link:focus-visible .ad-media:after,.affiliate-link:active .ad-media:after{transform:translateX(135%)}
.ad-media img,.prose .ad-media img{display:block;width:100%;max-width:100%;height:auto;max-height:none;margin:0;border:0;border-radius:0;object-fit:contain;transform:none;transition:filter .3s}.affiliate-ad:hover img{filter:brightness(1.03) saturate(1.03)}
.ad-caption{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px;background:linear-gradient(120deg,#3b2114,#6d3a20);color:#f8ead8}.ad-caption strong{display:block;font:400 20px/1.2 Georgia,serif;color:#fff5e6}.ad-caption small{display:block;color:#ead3ba;margin-top:5px;font:12px/1.5 'Segoe UI',sans-serif}.ad-cta{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;min-height:40px;padding:10px 13px;border:1px solid #ffe2b857;border-radius:7px;background:#ffffff1c;color:#fff!important;font:700 12px/1.4 'Segoe UI',sans-serif;transition:background .18s,transform .18s}.affiliate-ad:hover .ad-cta{background:#ffffff2b;transform:translateX(2px)}.affiliate-link:focus-visible{outline:3px solid #eac088;outline-offset:-3px}
.prose .affiliate-ad{margin:28px 0}.affiliate-image{position:relative;display:block;overflow:hidden;border-radius:8px}.affiliate-image:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 20%,#ffffff38 45%,transparent 65%);transform:translateX(-135%);transition:transform .85s}.affiliate-image:hover:after,.affiliate-image:focus-visible:after{transform:translateX(135%)}.affiliate-image:active{transform:scale(.985)}
.newsletter{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:42px;margin-bottom:60px;border:1px solid #cdb08c;border-radius:12px;background-color:#e9d6b9;background-image:var(--grain)}.newsletter h2{font-size:2.8rem;margin-bottom:16px}.newsletter-copy>p{color:#69533d;max-width:390px}.newsletter .eyebrow{margin-bottom:12px}.newsletter form{display:grid;gap:13px;align-content:center}.newsletter label+label{margin-top:0}.newsletter input{background:#fffcf6;border-color:#ba9b77}.newsletter .consent-check{display:flex;align-items:start;gap:10px;font-size:.78rem;font-weight:400;line-height:1.6}.consent-check input{flex-shrink:0;margin-top:5px;width:17px;height:17px;accent-color:#714c2e}.newsletter .form-note{margin:0;color:#68533d;font-size:.75rem}.newsletter .button{width:100%}.newsletter [role=status]{font-size:.84rem;margin:0;color:#51341e}
.privacy-dialog,.affiliate-dialog{color:var(--ink);background:#fff9ef;border:1px solid #bca080;border-radius:16px;padding:30px;width:min(570px,calc(100% - 28px));max-height:calc(100dvh - 36px);overflow:auto;box-shadow:0 25px 90px #20120870}.privacy-dialog::backdrop,.affiliate-dialog::backdrop{background:#261b13a1;backdrop-filter:blur(3px)}.privacy-dialog h2,.affiliate-dialog h2{font:400 2rem/1.15 Georgia,serif;margin:5px 0 17px}.privacy-dialog p,.affiliate-dialog p{font-size:.88rem;color:#6c5948}.dialog-top{display:flex;justify-content:space-between;align-items:center}.dialog-top .eyebrow{margin:0}.dialog-close{border:1px solid #d7c6ad;border-radius:50%;width:35px;height:35px;background:#f4e9d7;color:#62462e;font-size:23px;line-height:1}.cookie-options{display:grid;gap:0;margin:22px 0}.cookie-options label{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid #e4d4bd;margin:0}.cookie-options label span{font-size:.92rem}.cookie-options small{display:block;font-size:.75rem;font-weight:400;line-height:1.5;color:#76634f;margin-top:3px}.cookie-options input{width:20px;height:20px;flex-shrink:0;margin:0;accent-color:#69432a}.cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cookie-actions button{font-size:.85rem;gap:8px;padding:12px}.cookie-actions .save-choices{grid-column:1/-1;background:#eee0ca;color:#4b3423!important;border-color:#c8b091}.privacy-dialog .cookie-note{font-size:.72rem;margin:16px 0 0}.cookie-note a{text-decoration:underline}.affiliate-dialog .affiliate-ad{margin:20px 0}.affiliate-dialog{width:min(680px,calc(100% - 28px))}.affiliate-dialog>button:last-child{display:block;margin:18px auto 0;background:transparent;text-decoration:underline;color:#72573f;font-size:.85rem}
.external-placeholder{display:grid;place-items:center;gap:12px;padding:35px 22px;text-align:center;background:#e9d9c0;border:1px solid #cbb38f;min-height:250px;border-radius:10px}.external-placeholder p{margin:0;font-size:.88rem;color:#6b533c}.external-placeholder strong{font:400 1.5rem Georgia,serif}.external-placeholder a{font-size:.82rem;text-decoration:underline}.privacy-dialog [hidden],.newsletter [hidden]{display:none}
@media(max-width:1000px){.ad-caption{display:block}.ad-cta{margin-top:13px}.newsletter{gap:30px;padding:30px}.hero{gap:35px}.hero h1{font-size:5.2rem}}
@media(max-width:720px){.hero{grid-template-columns:1fr;padding-top:32px;gap:28px}.hero h1{font-size:4.7rem}.hero-visual{min-height:320px;border-width:6px;border-top-left-radius:68px}.partner-area{padding-block:5px 35px}.partner-heading{display:block}.partner-heading h2{font-size:2rem}.partner-heading>p{margin-top:16px}.partner-grid{grid-template-columns:1fr;gap:24px}.ad-caption{padding:15px}.ad-cta{width:100%}.newsletter{grid-template-columns:1fr;padding:25px 20px;gap:16px;margin-bottom:36px}.newsletter h2{font-size:2.2rem}.article-content{padding:20px 17px}.privacy-dialog,.affiliate-dialog{padding:23px 19px}.privacy-dialog h2,.affiliate-dialog h2{font-size:1.75rem}.footer-bottom button{font-size:.8125rem}.cookie-actions button{padding:12px 8px}.topic-bar .container{flex-wrap:wrap}.affiliate-ad .ad-label{font-size:9px}}
@media(prefers-reduced-motion:reduce){.ad-media:after,.affiliate-image:after{display:none}.affiliate-ad:hover img{filter:none}.affiliate-ad:hover .ad-cta,.affiliate-link:active,.affiliate-image:active{transform:none}}
