@font-face{font-family:Onest;src:url('/blog/assets/fonts/Onest-Variable.woff2') format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:Unbounded;src:url('/blog/assets/fonts/Unbounded-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{font-family:Onest,system-ui,sans-serif;color:#18211b;background:#f6f7f2;font-synthesis:none;--accent:#d7f25b;--ink:#18211b;--muted:#5d695f;--line:#dce1d8;--paper:#fff;--danger:#9e302b}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-underline-offset:4px}::selection{background:#d7f25b;color:#18211b}:focus-visible{outline:2px solid #507526;outline-offset:4px}textarea{caret-color:#48721c}button,a{ -webkit-tap-highlight-color:transparent}svg{display:block}[hidden]{display:none!important}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:650;white-space:nowrap}.brand img{flex-shrink:0}.author-header{max-width:1280px;padding:22px 36px;margin:auto;display:flex;align-items:center;gap:24px}.prototype{color:var(--muted);font-size:13px}.reader-link{margin-left:auto;font-size:14px}.author-nav{display:flex;gap:28px;padding:0 36px;max-width:1280px;margin:auto;border-bottom:1px solid var(--line);overflow:auto;white-space:nowrap}.author-nav a{padding:13px 0;text-decoration:none;font-size:14px}.author-nav a.active{box-shadow:inset 0 -2px #507526;color:#314d1c;font-weight:650}
.editor-shell{max-width:1000px;margin:36px auto 64px;padding:0 28px}.editor-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.editor-top h1{font-size:20px;margin:0}.editor-status{font-size:13px;color:var(--muted);text-align:right}.editor-status[data-state=error],.editor-status[data-state=local]{color:var(--danger)}.editor-status[data-state=saved]{color:#3d6023}.publication-note{color:var(--muted);font-size:14px;margin-bottom:18px}.field-label{display:block;font-size:14px;font-weight:600;margin-bottom:9px}.title-input{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;font-size:30px;font-weight:650;padding:10px 0 19px;outline-offset:5px;color:var(--ink)}input::placeholder,textarea::placeholder{color:#69756b;opacity:1}.source-toolbar{display:flex;align-items:center;gap:5px;padding:15px 0 10px;flex-wrap:wrap}.source-toolbar button{padding:7px 12px;border:1px solid transparent;background:transparent;color:#43513f;font-size:13px;border-radius:6px}.source-toolbar button:hover,.source-toolbar button[aria-pressed=true]{border-color:var(--line);background:white}.source-toolbar .preview-toggle{margin-left:auto}.source-area{width:100%;min-height:390px;border:1px solid #dce1d8;background:#fff;border-radius:9px;padding:24px;font-size:18px;line-height:1.6;resize:vertical;color:#18211b;tab-size:2;box-shadow:0 2px 7px rgba(26,38,27,.025)}.editor-preview{min-height:390px;padding:24px;border:1px solid var(--line);background:#fff;border-radius:9px;overflow-wrap:anywhere}.editor-preview .reading-body{font-size:18px;max-width:75ch}.source-help{font-size:12px;color:var(--muted);margin:10px 0 25px;line-height:1.6}.source-help code{color:#344b31;background:#edf0e7;padding:2px 4px;border-radius:3px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.text-input,select{width:100%;padding:11px 13px;border:1px solid #ced6c8;border-radius:6px;background:#fff;color:#18211b}.tags-field{margin:18px 0 24px}.editor-details{margin:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0}.editor-details summary{cursor:pointer;color:#43513f;font-size:14px}.editor-details .details-content{padding-top:20px;display:grid;gap:18px}.details-content textarea{width:100%;min-height:85px;padding:12px;border:1px solid var(--line);border-radius:6px}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:11px 17px;border:1px solid #cbd4c4;border-radius:6px;background:transparent;text-decoration:none;color:#263322;font-size:14px;font-weight:500}.button:hover{background:#edf0e6}.button.primary{background:#d7f25b;border-color:#c7df54;color:#18211b}.button.primary:hover{background:#e1fa77}.button.danger{color:var(--danger)}.form-actions .publication-action{margin-left:auto}.save-caption{font-size:12px;color:var(--muted);width:100%}.notice{border:1px solid #c8d4b2;border-radius:6px;background:#f0f4e7;padding:16px 18px;margin:0 0 22px;font-size:14px;line-height:1.6}.notice p{margin:0 0 12px}.notice .button{margin-right:8px;margin-top:7px}.notice.error{background:#fff5f2;border-color:#e4bbb5;color:#793b33}.notice.recovery{border-color:#cbd4c4}.muted{color:var(--muted)}.records{max-width:1080px;margin:40px auto 70px;padding:0 32px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:26px}.section-heading h1,.section-heading h2{margin:0}.records h1,.settings h1{font-size:28px;font-weight:650}.filter-row{display:flex;align-items:center;gap:14px;font-size:14px;margin-bottom:22px}.filter-row select{width:auto}.filter-row span{color:var(--muted);margin-left:auto}.record-row{border-top:1px solid var(--line);padding:23px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.record-title{font-weight:600;font-size:19px;text-decoration:none}.record-title:hover{text-decoration:underline}.record-meta{font-size:13px;color:var(--muted);margin:8px 0 0}.text-link{font-size:14px;white-space:nowrap}.empty{padding:50px 0 20px}.empty h2{font-size:25px}.empty p{color:var(--muted);max-width:60ch;line-height:1.6}.empty .button{margin:16px 12px 0 0}
.settings{max-width:1400px;margin:36px auto 60px;padding:0 32px}.settings-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:44px}.settings-sidebar fieldset{border:0;padding:0;margin:0 0 27px}.settings-sidebar legend{font-weight:600;font-size:15px;margin-bottom:10px}.option-row{display:flex;gap:12px;margin:9px 0;font-size:14px;align-items:center}.option-row input{accent-color:#568229;width:17px;height:17px}.settings-preview{border:1px solid #ccd4c5;border-radius:10px;background:#fff;overflow:hidden}.preview-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.settings-preview iframe{display:block;width:100%;height:780px;border:0}.block-order{list-style:none;padding:0;margin:0}.block-order li{padding:12px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px;font-size:14px}.block-order label{flex:1}.block-order button{background:none;border:0;color:#425e30;font-size:12px;padding:7px}.block-order button:disabled{opacity:.35;cursor:default}.import-drop{border:1px dashed #96a582;border-radius:8px;padding:28px;margin:24px 0;background:#fff}.import-drop label{display:block;font-weight:600;margin-bottom:13px}.import-manifest{margin:30px 0;overflow:auto}.import-manifest table{width:100%;border-collapse:collapse;font-size:14px}.import-manifest th,.import-manifest td{text-align:left;vertical-align:top;padding:12px 16px 12px 0;border-bottom:1px solid var(--line)}.import-manifest td{overflow-wrap:anywhere}.import-counts{line-height:1.8}.import-warning{color:#7d5426}
.reader{--bg:#0f1512;--surface:#161f1a;--line:#233029;--text:#eef3ec;--muted:#a5b2a9;background:var(--bg);color:var(--text)}.reader[data-theme=light]{--bg:#f2f4ed;--surface:#fff;--line:#d9e0d4;--text:#131912;--muted:#54624f}.reader-page{max-width:1300px;margin:0 auto;padding:0 40px}.reader-header{padding:34px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px}.reader-header .brand{font-family:Unbounded,Onest,sans-serif;font-weight:700;font-size:17px}.reader-header nav{display:flex;align-items:center;gap:27px;font-size:14px}.reader-header nav a{text-decoration:none}.reader-header nav a:hover{color:var(--accent)}.reader-header .studio-link{font-size:12px;color:var(--muted)}.reader .intro{display:grid;grid-template-columns:1.15fr 1fr;gap:100px;padding:75px 0 68px;align-items:end}.intro h1{font-family:Unbounded,Onest,sans-serif;font-size:clamp(40px,4.6vw,66px);font-weight:700;line-height:1.12;letter-spacing:-.035em;margin:0;text-wrap:balance}.intro p{font-size:19px;line-height:1.65;max-width:49ch;color:var(--muted);margin:0}.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 80px}.project{position:relative;display:flex;flex-direction:column;padding:29px;border:1px solid var(--line);background:var(--surface);border-radius:17px;text-decoration:none;min-height:260px}.project h2{font-family:Unbounded,Onest,sans-serif;font-size:23px;letter-spacing:-.02em;margin:0 0 20px}.project p{color:var(--muted);font-size:16px;line-height:1.6;margin:0 0 25px}.project span{font-size:13px;margin-top:auto}.project:hover{border-color:#58705c}.project-accent{background:var(--accent);border-color:var(--accent);color:#10160f}.project-accent p{color:#364125}.reader .button{color:var(--text);border-color:var(--line)}.reader .reader-primary{background:#d7f25b;border-color:#d7f25b;color:#18211b}.blog-heading{padding:65px 0 48px}.blog-heading h1{font-family:Unbounded,Onest,sans-serif;font-size:54px;letter-spacing:-.03em;margin:0 0 20px}.blog-heading p{font-size:17px;color:var(--muted);margin:0}.home-blog .section-heading h2{font-family:Unbounded,Onest,sans-serif;font-size:26px}.reader a{text-decoration-thickness:1px}.reader a:hover{text-decoration:underline}.featured-article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:45px;padding:0 0 48px;border-bottom:1px solid var(--line);align-items:center}.featured-article:not(:has(.article-cover)){display:block}.article-cover{display:block;width:100%;height:auto;max-height:680px;object-fit:cover;border-radius:15px}.featured-article .article-cover{aspect-ratio:1.3;object-fit:cover}.article-meta{font-size:13px;color:var(--muted);margin:0 0 16px}.featured-article h2{font-family:Unbounded,Onest,sans-serif;font-size:clamp(30px,3.2vw,44px);line-height:1.22;letter-spacing:-.025em;margin:0 0 24px;text-wrap:balance;overflow-wrap:anywhere}.featured-article h2 a,.compact-post h3 a,.full-article h2 a{text-decoration:none}.featured-excerpt{font-size:18px;line-height:1.6;color:var(--muted);margin:0 0 27px}.compact-post{display:grid;grid-template-columns:1fr 200px;gap:36px;padding:31px 0;border-bottom:1px solid var(--line);align-items:start}.compact-post:not(:has(.article-cover)){display:block}.compact-post h3{font-size:26px;font-weight:600;line-height:1.3;margin:0 0 14px}.compact-post p:not(.article-meta){color:var(--muted);font-size:16px;line-height:1.65;margin:0}.compact-post .article-cover{aspect-ratio:1.4}.full-article{max-width:75ch;margin:0 auto 65px;padding:0 0 65px;border-bottom:1px solid var(--line)}.reader[data-measure=wide] .full-article,.reader[data-measure=wide] .single-article{max-width:92ch}.article-heading h1,.article-heading h2{font-family:Unbounded,Onest,sans-serif;font-size:clamp(30px,3.3vw,44px);line-height:1.25;letter-spacing:-.025em;margin:0 0 30px;text-wrap:balance;overflow-wrap:anywhere}.article-heading h1{font-size:clamp(34px,4.5vw,58px)}.full-article .article-cover,.single-article>.article-cover{margin-bottom:35px}.single-article{max-width:75ch;margin:50px auto 80px}.back-link{font-size:14px;display:inline-block;margin-bottom:38px;color:var(--muted)}.article-tags{font-size:14px;color:var(--muted);margin-bottom:30px}.reading-body{font-size:19px;line-height:1.75;overflow-wrap:anywhere}.reading-body p{margin:0 0 1.3em}.reading-body h1,.reading-body h2,.reading-body h3{line-height:1.3;margin:2em 0 .75em;font-weight:650;letter-spacing:-.015em}.reading-body h1{font-size:2em}.reading-body h2{font-size:1.55em}.reading-body h3{font-size:1.25em}.reading-body img{max-width:100%;height:auto;border-radius:8px}.reading-body blockquote{margin:30px 0;padding:20px 25px;border-left:1px solid #809365;color:var(--muted)}.reading-body pre{overflow:auto;padding:20px;background:var(--surface);border-radius:6px;font-size:14px}.reading-body code{font-size:.85em}.reading-body table{display:block;overflow:auto;border-collapse:collapse}.reading-body th,.reading-body td{padding:10px;border:1px solid var(--line)}.reading-body a{color:inherit;text-decoration:underline}.article-permalink{display:inline-block;margin-top:22px;color:var(--muted);font-size:14px}.reader-empty,.travel-empty p{color:var(--muted);line-height:1.7}.travel-empty{margin:60px 0}.travel-empty h2{font-family:Unbounded,Onest,sans-serif;font-size:28px}.reader-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:28px 0;margin-top:55px;color:var(--muted);font-size:12px}
@media(max-width:850px){.reader .intro{gap:35px;grid-template-columns:1fr;padding:48px 0}.intro p{max-width:65ch}.projects{grid-template-columns:1fr}.project{min-height:190px}.featured-article{gap:27px}.settings-layout{grid-template-columns:1fr}.settings-sidebar{max-width:650px}.settings-preview iframe{height:600px}.reader-header{gap:18px}.reader-header nav{gap:18px}.reader-header .brand{font-size:14px}.reader-page{padding:0 26px}}
@media(max-width:550px){.author-header{padding:20px;gap:12px;flex-wrap:wrap}.author-header .brand{font-size:14px}.prototype{font-size:11px}.reader-link{margin-left:46px;font-size:12px}.author-nav{padding:0 20px;gap:23px}.author-nav a{font-size:13px}.editor-shell{padding:0 20px;margin-top:27px}.editor-top{align-items:start}.editor-status{max-width:45%;font-size:12px}.title-input{font-size:25px}.source-area{padding:17px;font-size:17px;min-height:340px}.source-toolbar button{padding:8px 9px}.source-toolbar .preview-toggle{margin-left:0}.field-row{grid-template-columns:1fr;gap:18px}.form-actions .publication-action{margin-left:0}.records,.settings{padding:0 20px;margin-top:27px}.record-row{align-items:start}.record-title{font-size:17px}.record-row>.text-link{display:none}.section-heading{align-items:start}.records h1{font-size:25px}.section-heading>.button{font-size:12px;padding:10px}.settings-preview iframe{height:520px}.reader-page{padding:0 20px}.reader-header{padding:24px 0;flex-wrap:wrap}.reader-header .brand{font-size:15px}.reader-header nav{width:100%;padding-left:52px;font-size:13px}.intro h1{font-size:40px}.intro p{font-size:17px}.project{padding:25px}.project h2{font-size:23px}.blog-heading{padding:42px 0 30px}.blog-heading h1{font-size:40px}.featured-article{grid-template-columns:1fr}.featured-article h2{font-size:31px}.featured-excerpt{font-size:17px}.compact-post{grid-template-columns:1fr 88px;gap:18px}.compact-post h3{font-size:21px}.compact-post .article-meta{font-size:12px}.compact-post p:not(.article-meta){font-size:15px}.reading-body{font-size:18px;line-height:1.7}.single-article{margin-top:30px}.article-heading h1{font-size:35px}.article-heading h2{font-size:30px}.settings-preview{border-radius:6px}.source-help{font-size:11px}.filter-row{flex-wrap:wrap}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .16s,border-color .16s,color .16s}}

/* Home geometry is minimum-size presentation: content always remains visible. */
.home-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:0;align-items:start}
.home-block{min-width:0;container-type:inline-size;overflow-wrap:anywhere}
.home-plain-text{font-size:19px;line-height:1.75;white-space:normal}
.home-text{padding:30px 0}
.home-text h2,.home-section-title{font-family:Unbounded,Onest,sans-serif;font-size:30px;line-height:1.3;margin:0 0 22px}
.home-image{margin:25px 0;display:flex;flex-direction:column;gap:16px}
.home-image figcaption{font-family:Unbounded,Onest,sans-serif;font-size:26px;line-height:1.3}
.home-image img{display:block;width:100%;height:auto;max-height:var(--block-image-height,640px);object-fit:contain;border-radius:10px}
.attachment-row{display:flex;align-items:center;gap:12px;margin-top:11px;min-height:38px}
.attachment-button{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;background:transparent;color:#43513f}
.attachment-button:hover{background:#edf0e6;border-color:#a5b597}
.attachment-button[aria-busy=true]{cursor:wait}
.attachment-status{font-size:12px;color:var(--muted)}
.block-inspector{border-top:1px solid var(--line);padding-top:22px;margin:24px 0}
.block-inspector h2{font-size:19px;margin:0 0 15px}
.block-inspector>label{display:block;margin:18px 0}
.block-inspector textarea{width:100%;border:1px solid #ced6c8;border-radius:6px;padding:11px;font:inherit;line-height:1.5;resize:vertical;background:white;color:#18211b}
.block-inspector .field-row{gap:12px}
.block-position{display:flex;gap:9px;margin-bottom:18px}
.block-inspector select{font-size:13px;padding:10px 8px}
#add-block{margin-top:10px}
.settings-actions{margin-bottom:15px}
.appearance-details{border-top:1px solid var(--line);padding-top:18px}
.appearance-details summary{cursor:pointer;font-size:15px;font-weight:600;margin-bottom:20px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.builder-reader{padding:20px;border-radius:0 0 10px 10px}
.builder-canvas{row-gap:18px}
.builder-card{position:relative;min-width:0;border:1px solid #718368;border-radius:6px;background:var(--bg);color:var(--text)}
.builder-card.is-selected{outline:2px solid #d7f25b;outline-offset:2px}
.builder-card.is-disabled .builder-content{opacity:.48}
.builder-chrome{display:flex;align-items:center;gap:8px;min-height:38px;padding:4px 8px;background:#f4f6ee;color:#263521;border-bottom:1px solid #cbd4c4;border-radius:5px 5px 0 0}
.drag-grip,.resize-grip{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:4px;background:transparent;color:#506245;touch-action:none;cursor:grab}
.drag-grip:active{cursor:grabbing}
.block-select{border:0;background:none;color:inherit;font:inherit;font-size:12px;cursor:pointer;padding:6px 2px;text-align:left}
.geometry-badge{margin-left:auto;white-space:nowrap;font-size:10px;font-variant-numeric:tabular-nums;color:#58674f}
.builder-content{padding:0 14px 26px}
.builder-content .intro{padding:32px 0;gap:20px}
.builder-content .projects{margin-bottom:25px}
.builder-content .project{padding:18px;min-height:220px}
.builder-content .project h2{font-size:21px}
.builder-content .home-blog{padding:24px 0}
.builder-content .home-blog>.section-heading{gap:12px}
.builder-content .home-blog>.section-heading h2{font-size:24px}
.builder-content .travel-empty{margin:30px 0}
.builder-content .featured-article{gap:22px;padding-bottom:26px}
.builder-content .compact-post{grid-template-columns:1fr 90px;gap:18px}
.builder-content .compact-post h3{font-size:21px}
.builder-placeholder{font:16px/1.6 Onest,sans-serif;color:var(--muted);padding:25px 0;margin:0}
.resize-grip{position:absolute;right:0;bottom:0;background:#d7f25b;color:#233319;cursor:nwse-resize;border-radius:5px 0 5px 0}
.builder-card.is-dragging{opacity:.32}
.builder-card.drop-before::before,.builder-card.drop-after::after{content:"";position:absolute;left:0;right:0;height:3px;background:#d7f25b;z-index:2}
.builder-card.drop-before::before{top:-9px}.builder-card.drop-after::after{bottom:-9px}
.builder-ghost{position:fixed;z-index:50;pointer-events:none;max-height:240px;overflow:hidden;opacity:.92;box-shadow:0 9px 24px rgba(0,0,0,.2)}
@container(max-width:650px){
 .home-block .intro{grid-template-columns:1fr;gap:25px}
 .home-block .intro h1{font-size:clamp(28px,9cqw,46px);overflow-wrap:anywhere}
 .home-block .intro p{font-size:17px}
 .home-block .projects{grid-template-columns:1fr}
 .home-block .featured-article{grid-template-columns:1fr}
 .home-block .featured-article h2{font-size:clamp(24px,7cqw,36px)}
 .home-block .compact-post{grid-template-columns:1fr 85px;gap:16px}
 .home-block .compact-post h3{font-size:21px}
}
@media(max-width:600px){
 .home-grid>.home-block,.builder-canvas>.builder-card{grid-column:span 12!important;min-height:0!important}
 .home-grid .home-block,.home-grid .builder-content{min-height:0!important}
 .home-grid .home-image img{max-height:none}
 .builder-reader{padding:14px}
 .geometry-badge{font-size:11px}
 .preview-bar{align-items:flex-start;gap:12px;flex-wrap:wrap}
 .block-inspector .field-row{grid-template-columns:1fr 1fr}
}

/* Quiet author fields: no rectangular borders or focus rings. */
.editor-shell input:not([type=checkbox]):not([type=radio]),.editor-shell textarea{border:0;box-shadow:none}.editor-shell input:focus,.editor-shell textarea:focus,.editor-shell input:focus-visible,.editor-shell textarea:focus-visible{outline:none;box-shadow:none}

/* Read surfaces share the incumbent world; feed composition is intentionally distinct. */
.reader-page main{min-width:0}
.feed-featured{display:block}
.featured-article{grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:clamp(28px,4vw,54px);padding-bottom:46px}
.featured-copy{min-width:0}
.featured-article .article-cover{aspect-ratio:4/3;max-height:none;object-fit:cover}
.featured-copy h2{max-width:22ch;margin-bottom:22px;line-height:1.24}
.featured-excerpt{max-width:57ch;font-size:18px;line-height:1.65}
.compact-posts{display:block}
.compact-post{grid-template-columns:minmax(0,1fr) 160px;gap:32px;padding:28px 0}
.compact-post h3{max-width:42ch;font-size:25px;line-height:1.35}
.compact-post .article-cover{aspect-ratio:3/2;max-height:none;object-fit:cover}
.feed-full{display:block;padding-top:8px}
.feed-full .full-article{max-width:75ch;margin-bottom:72px;padding-bottom:64px}
.feed-full .article-heading h2{font-size:clamp(30px,3.2vw,43px);line-height:1.3;max-width:28ch}
.feed-full .reading-body{line-height:1.78}
.feed-full .article-cover,.single-article>.article-cover{aspect-ratio:auto;max-height:none;height:auto;object-fit:contain}
.feed-full .article-permalink{margin-top:24px}
.reader[data-measure=wide] .feed-full .full-article{max-width:88ch}
.reader-header a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
.preset-panel{border-bottom:1px solid var(--line);padding-bottom:26px;margin-bottom:24px}
.preset-panel h2{font-size:20px;margin:0 0 10px;font-weight:650}
.preset-panel .field-label{margin-top:15px}
.preset-panel>select{margin-bottom:4px}
.preset-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 0}
.preset-actions .button{font-size:12px;padding:9px 11px;min-height:38px}
.preset-panel .notice{margin-top:16px;font-size:13px}
.preset-panel .notice .button{font-size:12px}
.preset-refresh{padding:2px 0;border:0;background:none;text-decoration:underline;text-underline-offset:3px;color:#435f31;font-size:12px}
.appearance-details legend{margin-top:15px}
@container(max-width:650px){
 .home-block .featured-article{grid-template-columns:1fr;gap:23px}
 .home-block .featured-copy h2{max-width:none}
 .home-block .compact-post{grid-template-columns:minmax(0,1fr) 85px;gap:16px}
}
@media(max-width:700px){
 .featured-article{grid-template-columns:1fr;gap:26px}
 .featured-copy h2{max-width:none}
 .featured-article .article-cover{aspect-ratio:4/3}
 .compact-post{grid-template-columns:minmax(0,1fr) 100px;gap:19px}
 .compact-post h3{font-size:23px}
 .feed-full .full-article{margin-bottom:55px;padding-bottom:45px}
}
@media(max-width:550px){
 .compact-post{grid-template-columns:minmax(0,1fr) 82px;gap:16px}
 .compact-post h3{font-size:21px}
 .featured-copy h2{font-size:31px}
 .feed-full .article-heading h2{font-size:29px}
 .feed-full .reading-body{font-size:18px;line-height:1.72}
}
.author-logout{border:0;background:transparent;color:var(--muted);font-size:13px;padding:8px}.author-logout:hover{text-decoration:underline;color:var(--ink)}
.login-panel{width:min(100% - 40px,440px);margin:clamp(50px,13vh,125px) auto;padding:36px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 2px 7px rgba(26,38,27,.025)}
.login-panel .brand{margin-bottom:44px}.login-panel h1{font-size:30px;line-height:1.2;margin:0 0 12px}.login-panel p{line-height:1.6}.login-panel form{margin-top:28px}.login-panel .text-input{margin-bottom:20px}.login-panel .button{width:100%}.login-reader{display:inline-block;margin-top:24px;font-size:14px;color:var(--muted)}.login-error{color:var(--danger);margin:0 0 18px;font-size:14px}.login-overlay{position:fixed;z-index:1000;inset:0;background:rgba(15,21,18,.75);overflow:auto}
@media(max-width:550px){.author-logout{margin-left:auto}.login-panel{padding:26px;margin:30px auto}.login-panel .brand{margin-bottom:34px}}
.login-panel .text-input{border:0;border-radius:0;background:#f6f7f2;outline:none;box-shadow:none;caret-color:#48721c}
.login-panel .text-input:focus-visible{outline:none;background:#eaf1dd;box-shadow:none}
.about-page{padding:54px 0 90px}.about-hero{max-width:1000px;padding:0 0 60px}.about-kicker,.about-toc span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.about-hero h1{font:700 clamp(36px,4.2vw,58px)/1.18 Unbounded,Onest,sans-serif;letter-spacing:-.035em;max-width:20ch;margin:20px 0 28px}.about-hero>p:not(.about-kicker){font-size:19px;line-height:1.7;max-width:62ch;color:var(--muted)}.about-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}.about-layout{display:grid;grid-template-columns:180px minmax(0,1fr) 230px;gap:48px;border-top:1px solid var(--line);padding-top:42px}.about-toc{display:flex;flex-direction:column;gap:16px;align-self:start;position:sticky;top:28px;font-size:13px}.about-toc a{text-decoration:none;color:var(--muted)}.about-toc a:hover{color:var(--text)}.about-copy{max-width:75ch}.about-copy section{padding-bottom:36px}.about-copy h2{font:650 25px/1.3 Onest,sans-serif;margin:0 0 15px}.about-copy p{font-size:18px;line-height:1.75;margin:0 0 18px}.about-gallery{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:28px 0}.about-gallery figure{margin:0}.about-gallery img{width:100%;height:240px;object-fit:cover}.about-related{border-left:1px solid var(--line);padding-left:25px;align-self:start}.about-related h2{font-size:14px;margin:0 0 19px}.about-related a,.about-links a{display:block;margin:0 0 15px}.about-related a{font-size:14px;line-height:1.5}.about-links{display:flex;gap:17px;flex-wrap:wrap;margin-bottom:16px}.about-links a{display:inline-block;margin:0}
@media(max-width:1050px){.about-layout{grid-template-columns:160px minmax(0,1fr);gap:35px}.about-related{grid-column:2;border-left:0;border-top:1px solid var(--line);padding:25px 0 0}}
@media(max-width:680px){.about-page{padding:36px 0 65px}.about-hero{padding-bottom:40px}.about-hero h1{font-size:35px}.about-hero>p:not(.about-kicker){font-size:17px}.about-layout{display:block;padding-top:30px}.about-toc{position:static;display:flex;flex-direction:row;overflow-x:auto;white-space:nowrap;gap:18px;padding-bottom:28px;margin-bottom:30px;border-bottom:1px solid var(--line)}.about-toc span{display:none}.about-copy p{font-size:17px}.about-gallery img{height:180px}.about-related{border-top:1px solid var(--line);padding:25px 0 0}}
.about-portrait{margin-top:32px;display:flex;align-items:center;gap:22px;color:var(--muted)}.about-portrait span{display:grid;place-items:center;width:118px;aspect-ratio:1;border:1px solid var(--line);border-radius:8px;font-size:12px;text-align:center}.about-portrait small{font-size:12px;line-height:1.6}


/* Public layout rhythm; the builder canvas keeps its own compact geometry. */
.editor-shell .source-area{font-size:16px;line-height:1.65}
.reader-page .reader-header nav a{display:inline-flex;align-items:center;min-height:44px}
.reader-page .home-grid{row-gap:56px}
.reader-page .home-grid .intro{gap:64px;padding:56px 0 0;align-items:center}
.reader-page .home-grid .projects{gap:20px;margin:0}
.reader-page .home-grid .project{padding:28px;min-height:220px;border-radius:12px}
.reader-page .home-grid .home-blog{border-top:1px solid var(--line);padding-top:32px}
.reader-page .home-grid .home-blog>.section-heading{margin-bottom:28px}
.reader-page .home-grid .home-text{padding:0}
.reader-page .home-grid .home-image,.reader-page .home-grid .travel-empty{margin:0}
.reader-page .blog-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:24px 32px;padding:48px 0 36px}
.reader-page .blog-heading h1{margin:0}
.reader-page .blog-heading p{max-width:48ch;margin:0;line-height:1.6}
.reader-page .featured-article{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;padding-bottom:40px}
.reader-page .featured-article .article-cover{aspect-ratio:3/2;border-radius:12px}
.reader-page .featured-copy h2{margin-bottom:20px}
.reader-page .featured-excerpt{margin-bottom:24px}
.reader-page .featured-article:not(:has(.article-cover)) .featured-copy{max-width:70ch}
.reader-page .featured-article:not(:has(.article-cover)) .featured-copy h2{max-width:28ch}
.reader-page .compact-post .article-meta{margin-bottom:12px}
.reader-page .feed-full .full-article{margin-bottom:56px;padding-bottom:56px}
.reader-page .single-article{margin-top:48px}
.reader-page .back-link{margin-bottom:32px}
@container(max-width:650px){
 .reader-page .home-block .intro{grid-template-columns:1fr;gap:24px}
 .reader-page .home-block .featured-article{grid-template-columns:1fr;gap:24px}
 .reader-page .home-block .featured-article .article-cover{aspect-ratio:4/3}
}
@media(max-width:850px){
 .reader-page .home-grid .intro{grid-template-columns:1fr;gap:24px;padding:40px 0 0}
}
@media(max-width:700px){
 .reader-page .featured-article{grid-template-columns:1fr;gap:24px}
 .reader-page .featured-article .article-cover{aspect-ratio:4/3}
}
@media(max-width:600px){
 .reader-page .home-grid{row-gap:40px}
}
@media(max-width:550px){
 .reader-page .reader-header nav{width:100%;padding-left:0;gap:0 16px;flex-wrap:wrap}
 .reader-page .home-grid .project{padding:24px;min-height:190px}
 .reader-page .home-grid .home-blog{padding-top:24px}
 .reader-page .blog-heading{flex-direction:column;align-items:flex-start;gap:12px;padding:32px 0 28px}
 .reader-page .single-article{margin-top:32px}
}
