/* Official Sable theme roles come from vendor/sable.css. Compositions follow the approved ImageGen references. */
:root{color-scheme:dark;--radius:var(--theme-radius-xl,20px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--background);color:var(--foreground);font:1rem/1.55 var(--font-sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}svg{flex:none}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid #e4e7eb;outline-offset:5px}button[hidden],.clear-search[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;line-height:1.15;letter-spacing:-.035em}h1{text-wrap:balance}button{border:0}::selection{background:#fff;color:#111}.icon{width:21px;height:21px;vertical-align:middle}.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}.skip-link{position:fixed;top:16px;left:16px;z-index:100;background:white;color:black;padding:12px 20px;border-radius:30px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
#site-header{padding:26px 0}.header-inner{max-width:1280px;padding:0 40px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-size:1.4375rem;font-weight:650;letter-spacing:-.04em;white-space:nowrap}#site-nav{display:flex;align-items:center;gap:8px}#site-nav>:is(a,button){display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:11px 17px;border-radius:999px;white-space:nowrap;font-size:0.9375rem;color:var(--muted-foreground);transition:background .18s,color .18s}#site-nav>:is(a,button):hover{background:var(--accent);color:var(--foreground)}#site-nav>:is(a,button)[aria-current]{background:var(--primary);color:var(--primary-foreground)}#site-nav .contact-link{margin-left:8px;color:var(--foreground)}.menu-toggle{display:none;background:none;padding:10px;border-radius:12px}.menu-toggle .icon{width:24px;height:24px}main{max-width:1280px;margin:0 auto;padding:0 40px;min-height:65vh}#site-footer{width:calc(100% - 80px);max-width:1200px;margin:100px auto 0;padding:30px 0 48px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;font-size:0.875rem;color:var(--muted-foreground)}#site-footer>div{display:flex;gap:30px}#site-footer a{display:inline-flex;align-items:center;gap:9px}#site-footer a:hover{color:var(--foreground)}#site-footer .icon{width:16px;height:16px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:14px 24px;min-height:52px;border-radius:999px;font-size:1rem;font-weight:550;line-height:1.25;transition:background .18s,transform .18s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--primary);color:var(--primary-foreground)}.button-primary:hover{background:#dfe3e7}.button-outline{background:transparent;color:var(--foreground);border:1px solid #4b5055}.button-outline:hover{background:var(--accent)}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:0.9375rem}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.eyebrow{font:0.8125rem/1.6 var(--font-mono);text-transform:uppercase;letter-spacing:.07em;color:var(--muted-foreground)}
.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:56px;padding:62px 0 76px}.hero-copy h1{font-size:clamp(4.375rem,7.8vw,7rem);font-weight:700;line-height:.99;letter-spacing:-.06em;margin:26px 0 32px}.hero-description{font-size:1.125rem;line-height:1.55;color:var(--muted-foreground);max-width:56ch}.hero-actions{display:flex;gap:18px;flex-wrap:wrap;margin:34px 0 25px}.github-handle{display:inline-flex;align-items:center;gap:16px;color:var(--muted-foreground);font-size:0.9375rem}.github-handle:hover{color:var(--foreground)}.github-handle .icon:first-child{width:27px;height:27px}.github-handle .icon:last-child{width:17px;height:17px}.portrait-frame{height:580px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#121713}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:56% center}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}section h2{font-size:2.375rem;line-height:1.15;letter-spacing:-.04em}.activity-section{margin:0 0 78px}.activity-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:32px}.activity-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px}.activity-heading h3{font-size:1.4375rem;font-weight:500;letter-spacing:-.035em}.activity-heading>div>p{color:var(--muted-foreground);font-size:0.875rem;margin-top:4px}.contribution-total{font-size:1.375rem;font-variant-numeric:tabular-nums}.contribution-total span{font-size:1.125rem}.calendar-scroll{overflow-x:auto;padding:4px 0 14px;scrollbar-width:thin;scrollbar-color:#40464b transparent}.calendar-inner{min-width:820px}.calendar-months{display:grid;grid-template-columns:repeat(53,minmax(0,1fr));gap:4px;margin:0 0 8px 44px;font:0.6875rem/1.4 var(--font-mono);color:var(--muted-foreground)}.calendar-body{display:flex;gap:12px}.calendar-weekdays{width:32px;flex:none;position:relative;display:grid;grid-template-rows:repeat(7,1fr);font-size:0.625rem;color:var(--muted-foreground)}.calendar-weekdays>span:nth-child(1){grid-row:2}.calendar-weekdays>span:nth-child(2){grid-row:4}.calendar-weekdays>span:nth-child(3){grid-row:6}.contribution-grid{flex:1;display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);grid-template-columns:repeat(53,minmax(0,1fr));gap:4px}.contribution-day{width:100%;padding:0;border:1px solid #ffffff05;aspect-ratio:1;border-radius:3px;min-height:0;background:#21262d}.contribution-day:hover{outline:1px solid #c8d1d9;outline-offset:1px}.contribution-day.level-1{background:#0e4429}.contribution-day.level-2{background:#006d32}.contribution-day.level-3{background:#26a641}.contribution-day.level-4{background:#39d353}.contribution-day.outside-year{visibility:hidden}.future-day{opacity:.65}.calendar-detail{font-size:0.75rem;color:var(--muted-foreground);min-height:24px;margin-top:7px}.activity-stats{margin-top:25px;padding-top:25px;border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:28px}.activity-stats>div{display:flex;flex-direction:column;gap:4px}.activity-stats>div+div{border-left:1px solid var(--border);padding-left:28px}.activity-stats strong{font-size:1.1875rem;font-weight:550}.activity-stats span{font-size:0.8125rem;color:var(--muted-foreground)}.section-description{font-size:1.125rem;color:var(--muted-foreground);margin:8px 0 28px}.explore-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.explore-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:34px;transition:background .2s,border-color .2s,transform .2s}.explore-card:hover{background:#1c2227;border-color:#505963;transform:translateY(-3px)}.explore-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.icon-chip{display:flex;width:58px;height:58px;align-items:center;justify-content:center;background:var(--accent);border-radius:16px;flex:none}.icon-chip .icon{width:29px;height:29px}.explore-card h3{font-size:1.5rem;margin-bottom:14px;letter-spacing:-.035em}.explore-card p{color:var(--muted-foreground);font-size:1.0625rem;line-height:1.6;max-width:28ch}
.page-heading{padding:72px 0 48px}.page-heading h1{font-size:clamp(3.125rem,6.5vw,5.5rem);font-weight:650;letter-spacing:-.055em;line-height:1.05}.page-heading>p,.page-heading>div>p{font-size:1.5rem;color:var(--muted-foreground);line-height:1.5;margin-top:22px}.history-heading{display:flex;align-items:center;justify-content:space-between;gap:32px}.history-heading .button{flex:none}.history-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:30px}.history-column-headings,.history-row{display:grid;grid-template-columns:190px 280px minmax(0,1fr);gap:28px}.history-column-headings{color:var(--muted-foreground);font-size:0.875rem;padding:0 0 20px;border-bottom:1px solid var(--border)}.history-row{padding:22px 0;border-bottom:1px solid var(--border);scroll-margin-top:40px}.history-row:last-child{border:0;padding-bottom:4px}.history-date{font-size:1rem}.history-row h2{font-size:1.375rem;letter-spacing:-.025em;line-height:1.4}.history-scope h3{font-size:1.125rem;font-weight:550;letter-spacing:-.015em;line-height:1.4}.history-scope p{color:var(--muted-foreground);font-size:0.9375rem;margin-top:5px;line-height:1.5}.page-next{margin-top:38px}.page-next .text-link{font-size:1.125rem}
.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 48px}.filters{display:flex;gap:10px;flex-wrap:wrap}.filter{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:transparent;border:1px solid #3b4147;padding:10px 18px;min-height:44px;border-radius:999px;color:var(--foreground);font-size:0.875rem;white-space:nowrap;transition:background .15s}.filter>span{font-size:0.75rem;font-variant-numeric:tabular-nums}.filter[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.filter:hover:not([aria-pressed=true]){background:var(--accent);border-color:#666e77}.search-field{position:relative;flex:0 1 275px;min-width:200px;display:flex;align-items:center;background:var(--card);border:1px solid var(--border);border-radius:15px}.search-field>.icon{margin-left:17px;width:18px;height:18px;color:var(--muted-foreground)}.search-field input{width:100%;min-width:0;background:none;border:0;padding:13px 12px;color:var(--foreground);font-size:0.875rem;appearance:none}.search-field input:focus{outline:0}.search-field:focus-within{outline:2px solid #d4d8dd;outline-offset:3px}.search-field input::-webkit-search-cancel-button{appearance:none}.search-field input::placeholder{color:var(--muted-foreground)}.clear-search{background:none;padding:10px 12px}.clear-search .icon{width:16px;height:16px}.results-heading{display:flex;justify-content:space-between;gap:20px;font-size:0.875rem;color:var(--muted-foreground);margin:0 0 20px}.results-heading>span{font-size:0.8125rem}.project-list{display:flex;flex-direction:column;gap:16px}.project-card{display:flex;gap:26px;padding:30px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);scroll-margin-top:30px;transition:border-color .2s}.project-card:hover{border-color:#424c54}.project-content{flex:1;min-width:0;position:relative;padding-right:0}.project-content h2{font-size:1.75rem;letter-spacing:-.035em;max-width:70%}.project-meta{color:var(--muted-foreground);font-size:0.875rem;margin-top:5px}.project-description{font-size:1.0625rem;line-height:1.6;margin-top:18px;max-width:75ch}.project-note{font-size:0.875rem;color:var(--muted-foreground);margin-top:8px}.project-tech{display:flex;gap:25px;align-items:center;margin-top:22px;font-size:0.8125rem;color:var(--muted-foreground)}.project-tech>span{display:inline-flex;gap:10px;align-items:center}.language-dot{width:12px;height:12px;border-radius:50%}.javascript{background:#f1df51}.rust{background:#f49345}.license-badge{padding:4px 13px;border:1px solid #68717b;border-radius:999px;color:var(--foreground)}.project-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:24px;font-size:0.875rem}.project-links a,.related-links a{display:inline-flex;align-items:center;gap:7px}.project-links a:hover,.related-links a:hover{text-decoration:underline;text-underline-offset:5px}.project-links .icon{width:16px;height:16px}.writing-group{margin:0 0 40px}.writing-group h2{font-size:1.1875rem;font-weight:600;letter-spacing:-.02em;border-bottom:1px solid var(--border);padding:0 0 15px}.writing-group h2 span{font-weight:400;color:var(--muted-foreground);font-size:1rem}.writing-row{display:flex;align-items:flex-start;gap:24px;padding:23px 0;border-bottom:1px solid var(--border)}.writing-icon{width:28px;flex:none;display:flex;padding-top:3px;justify-content:center}.writing-icon .icon{width:23px;height:23px}.writing-content{flex:1;min-width:0}.writing-title{font-size:1.3125rem;font-weight:550;line-height:1.4;letter-spacing:-.02em;display:block;max-width:86ch}.writing-title:hover{text-decoration:underline;text-underline-offset:5px}.writing-meta{font-size:0.8125rem;line-height:1.6;color:var(--muted-foreground);margin-top:3px}.row-arrow{display:inline-flex;padding:4px 0 4px 14px;flex:none}.row-arrow .icon{width:21px;height:21px}.related-links{display:flex;gap:20px;flex-wrap:wrap;font-size:0.75rem;color:var(--muted-foreground);margin-top:7px}.related-links .icon{width:13px;height:13px}.empty-state{text-align:center;padding:76px 24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.empty-state>.icon{width:30px;height:30px;color:var(--muted-foreground);margin-bottom:20px}.empty-state h2{font-size:1.5rem;overflow-wrap:anywhere}.empty-state p{margin:12px 0 24px;color:var(--muted-foreground)}
@media(min-width:1100px){body[data-page=writing] .library-toolbar{gap:20px}body[data-page=writing] .filter{padding:9px 14px;gap:10px}body[data-page=writing] .filters{gap:8px}body[data-page=writing] .search-field{flex-basis:230px;min-width:180px}}
@media(max-width:1100px){.header-inner,main{padding-left:30px;padding-right:30px}#site-nav>:is(a,button){padding:10px 12px;font-size:0.875rem}#site-nav{gap:2px}.wordmark{font-size:1.3125rem}.hero{gap:36px}.hero-copy h1{font-size:5.3125rem}.hero-description{font-size:1rem}.hero-actions{gap:12px}.hero-actions .button{font-size:0.875rem;padding:13px 20px}.portrait-frame{height:510px}.history-column-headings,.history-row{grid-template-columns:150px 225px minmax(0,1fr);gap:20px}.library-toolbar{flex-wrap:wrap}.search-field{flex-basis:100%;max-width:370px}.history-heading{align-items:flex-start}.history-heading .button{font-size:0.875rem}.explore-card{padding:25px}.explore-card h3{font-size:1.375rem}.explore-card p{font-size:1rem}#site-footer{width:calc(100% - 60px);margin-left:30px;margin-right:30px}}
@media(max-width:800px){.hero{grid-template-columns:1fr 1fr;gap:24px;padding-top:42px}.hero-copy h1{font-size:4.25rem}.eyebrow{font-size:0.625rem}.hero-actions{flex-direction:column;align-items:flex-start;margin-top:25px}.portrait-frame{height:440px}.hero-copy h1{margin:22px 0 25px}.github-handle{font-size:0.8125rem;gap:10px}.hero-description br{display:none}.section-heading h2,section h2{font-size:2rem}.activity-card{padding:25px}.activity-stats{grid-template-columns:1fr 1fr}.activity-stats>div:last-child{grid-column:1/-1;border-left:0;padding-left:0;border-top:1px solid var(--border);padding-top:20px}.explore-grid{gap:12px}.explore-card{padding:20px}.explore-card h3{font-size:1.25rem}.explore-card p{font-size:0.9375rem}.explore-card-top{margin-bottom:22px}.icon-chip{width:48px;height:48px;border-radius:13px}.icon-chip .icon{width:26px;height:26px}.history-panel{padding:24px}.history-column-headings,.history-row{grid-template-columns:125px 185px minmax(0,1fr);gap:18px}.history-row h2{font-size:1.125rem}.history-date{font-size:0.875rem}.history-scope h3{font-size:1rem}.history-scope p{font-size:0.875rem}.page-heading>p,.page-heading>div>p{font-size:1.375rem}}
@media(max-width:700px){#site-header{padding:20px 0}.header-inner,main{padding-left:22px;padding-right:22px}.header-inner{position:relative;flex-wrap:wrap;gap:10px}.wordmark{font-size:1.3125rem}.menu-toggle{display:block;margin-right:-9px}#site-nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:4px;margin-top:12px;background:var(--card);border:1px solid var(--border);border-radius:18px;padding:10px}#site-nav.is-open{display:flex}#site-nav>:is(a,button){justify-content:flex-start;padding:12px 17px;font-size:1rem}#site-nav .contact-link{margin-left:0}.hero{grid-template-columns:1fr;padding-top:30px;padding-bottom:55px;gap:34px}.eyebrow{font-size:0.6875rem}.hero-copy h1{font-size:clamp(3.75rem,15vw,5.5rem);margin:20px 0 25px}.hero-description{font-size:1.0625rem;max-width:45ch;line-height:1.6}.hero-actions{flex-direction:row;gap:12px;margin:26px 0 22px}.hero-actions .button{font-size:0.875rem;padding:13px 17px;gap:10px;min-height:48px}.portrait-frame{height:380px;max-width:100%;width:100%;border-radius:18px}.portrait-frame img{object-position:50% 50%}.github-handle{font-size:0.875rem}.section-heading{align-items:flex-start;gap:20px;flex-direction:column;margin-bottom:20px}.section-heading h2,section h2{font-size:1.9375rem}.section-heading .text-link{font-size:0.875rem;gap:9px}.activity-card{padding:22px 20px}.activity-heading{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:20px}.activity-heading h3{font-size:1.375rem}.contribution-total{font-size:1.375rem}.contribution-total span{font-size:1rem}.calendar-inner{min-width:820px}.activity-stats{gap:20px;margin-top:18px;padding-top:20px}.activity-stats>div+div{padding-left:18px}.activity-stats strong{font-size:1.0625rem}.activity-stats span{font-size:0.75rem}.activity-stats>div:last-child{padding-left:0}.activity-section{margin-bottom:52px}.section-description{font-size:1rem;margin-bottom:22px}.explore-grid{grid-template-columns:1fr;gap:14px}.explore-card{padding:25px}.explore-card-top{margin-bottom:23px}.explore-card h3{font-size:1.4375rem}.explore-card p{font-size:1rem;max-width:45ch}#site-footer{margin:60px 22px 0;padding:25px 0 30px;font-size:0.8125rem;gap:20px;align-items:flex-start;flex-direction:column}#site-footer>div{gap:26px}.page-heading{padding:40px 0 32px}.page-heading h1{font-size:3.125rem;letter-spacing:-.05em}.page-heading>p,.page-heading>div>p{font-size:1.1875rem;margin-top:18px}.history-heading{flex-direction:column;gap:24px}.history-panel{padding:0 23px}.history-column-headings{display:none}.history-row{display:grid;grid-template-columns:1fr;gap:9px;padding:24px 0}.history-row:last-child{padding-bottom:24px}.history-date{font:0.75rem/1.5 var(--font-mono);color:var(--muted-foreground)}.history-row h2{font-size:1.4375rem}.history-scope h3{font-size:1.0625rem}.history-scope p{font-size:0.9375rem;margin-top:7px}.page-next{margin-top:30px}.library-toolbar{gap:22px;margin-bottom:30px}.filters{gap:9px;max-width:100%}.filter{font-size:0.8125rem;min-height:43px;padding:9px 15px;gap:10px}.search-field{max-width:none;flex-basis:100%}.search-field input{font-size:1rem;padding:13px 12px}.results-heading{font-size:0.8125rem;margin-bottom:18px}.results-heading>span{font-size:0.75rem}.project-card{padding:23px 20px;gap:17px;align-items:flex-start}.project-card .icon-chip{width:40px;height:40px;border-radius:12px}.project-card .icon-chip .icon{width:24px;height:24px}.project-content h2{font-size:1.5rem;max-width:100%}.project-meta{font-size:0.75rem;margin-top:5px}.project-description{font-size:0.9375rem;line-height:1.6;margin-top:17px}.project-tech{margin-top:18px;font-size:0.75rem;gap:18px}.project-note{font-size:0.8125rem}.project-links{font-size:0.8125rem;gap:15px;margin-top:20px}.writing-group{margin-bottom:34px}.writing-group h2{font-size:1.125rem;padding-bottom:13px}.writing-group h2 span{font-size:0.9375rem}.writing-row{gap:15px;padding:20px 0}.writing-icon{width:22px;padding-top:2px}.writing-icon .icon{width:20px;height:20px}.writing-title{font-size:1.125rem;line-height:1.45}.writing-meta{font-size:0.75rem;margin-top:6px}.row-arrow{padding-left:0}.row-arrow .icon{width:18px;height:18px}.related-links{gap:12px;font-size:0.6875rem;margin-top:9px}.empty-state{padding:50px 20px}.empty-state h2{font-size:1.375rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.button:hover,.explore-card:hover{transform:none}}

/* Contact dialog follows the Sable semantic surfaces and form controls. */

#site-nav>button{background:transparent}
body.contact-open{overflow:hidden}
.contact-dialog{width:min(580px,calc(100% - 40px));max-height:calc(100dvh - 40px);margin:auto;padding:34px;border:1px solid var(--border);border-radius:24px;background:var(--card);color:var(--foreground);box-shadow:0 32px 100px #0008;overflow-y:auto;overscroll-behavior:contain}
.contact-dialog::backdrop{background:#000b;backdrop-filter:blur(6px)}
.contact-dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:26px}
.contact-dialog h2,.accessibility-heading h2{font-size:2.375rem;letter-spacing:-.045em}
.contact-dialog h2{margin-top:10px}
.contact-dialog-heading .eyebrow{font-size:.6875rem}
.contact-intro{color:var(--muted-foreground);font-size:0.9375rem;line-height:1.6;margin-top:12px;max-width:39ch}
.contact-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;border-radius:50%;background:var(--accent);color:var(--muted-foreground)}
.contact-close:hover{background:var(--muted);color:var(--foreground)}
.contact-form{display:flex;flex-direction:column;gap:20px}
.contact-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.contact-field label{font-size:0.875rem;font-weight:550}
.contact-field input,.contact-field select,.contact-field textarea{width:100%;min-width:0;padding:13px 15px;color:var(--foreground);background:var(--background);border:1px solid var(--border);border-radius:12px;font-size:0.9375rem;line-height:1.5}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--muted-foreground)}
.contact-field select{cursor:pointer;padding-right:38px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center}
.contact-field textarea{min-height:140px;max-height:300px;resize:vertical}
.contact-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-hint{font-size:0.75rem;line-height:1.5;color:var(--muted-foreground)}
.contact-form-footer{border-top:1px solid var(--border);padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.contact-form-footer .button{font-size:0.875rem;padding:13px 20px;min-height:48px;white-space:nowrap;flex:none}
.contact-form-footer p{font-size:0.75rem;line-height:1.5;color:var(--muted-foreground);max-width:24ch}
.contact-feedback:empty{display:none}
.contact-feedback{font-size:0.8125rem;line-height:1.6;color:var(--muted-foreground);border:1px solid var(--border);border-radius:12px;padding:13px 15px}
@media(max-width:700px){.contact-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:24px 22px;border-radius:20px}.contact-dialog h2{font-size:2rem}.contact-dialog-heading{gap:14px;margin-bottom:23px}.contact-field-row{grid-template-columns:1fr;gap:20px}.contact-field input,.contact-field select,.contact-field textarea{font-size:1rem}.contact-field textarea{min-height:120px}.contact-form-footer{flex-direction:column-reverse;align-items:stretch;gap:14px}.contact-form-footer .button{width:100%}.contact-form-footer p{max-width:none;text-align:center}}

.contact-form-footer a{text-decoration:underline;text-underline-offset:3px}.contact-form .button:disabled{opacity:.6;cursor:wait;transform:none}

/* Daily source membership: green GitHub, blue Codex, teal both. */
.activity-links{display:flex;align-items:center;gap:30px}.activity-card{position:relative}.activity-heading{align-items:flex-start;margin-bottom:56px}.activity-totals{display:grid;grid-template-columns:auto auto;gap:30px}.activity-totals>div{display:flex;flex-direction:column;gap:6px}.activity-totals>div+div{border-left:1px solid var(--border);padding-left:30px}.activity-totals strong{font-size:1.5625rem;font-weight:550;line-height:1.15;font-variant-numeric:tabular-nums}.activity-totals span{color:var(--muted-foreground);font-size:0.875rem}.calendar-scroll{padding:4px 2px 14px}.calendar-inner{min-width:840px}.fused-day{display:block;overflow:hidden;border:0;background:#24292f;cursor:pointer;transition:outline-color .12s}.fused-day.activity-github{background:#229c56}.fused-day.activity-codex{background:#3979e8}.fused-day.activity-both{background:#25b4a7}.fused-day:hover,.fused-day.is-active,.fused-day:focus-visible{outline:1px solid #f0f3f5;outline-offset:2px}.fused-day.future-day{opacity:.4}.calendar-caption{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:14px;font-size:0.75rem}.calendar-caption>p{color:var(--muted-foreground);white-space:nowrap}.calendar-legend{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.legend-source{display:inline-flex;align-items:center;gap:6px}.legend-source+.legend-source{margin-left:7px}.calendar-hint{color:var(--muted-foreground);margin-left:10px}.activity-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:28px;padding-top:28px}.activity-stats>div+div{padding-left:24px}.activity-stats strong{font-size:1.375rem}.activity-tooltip{position:fixed;z-index:60;width:max-content;max-width:calc(100vw - 32px);padding:14px 16px;border:1px solid #ffffff24;border-radius:12px;background:rgba(15,17,20,.98);box-shadow:0 8px 30px #0005;font-size:0.875rem;line-height:1.45;pointer-events:auto}.activity-tooltip[hidden]{display:none}.activity-tooltip-date{display:block;font-size:0.875rem;font-weight:550;margin-bottom:7px}.activity-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:4px;white-space:nowrap}.activity-tooltip-row>span:first-child{display:flex;align-items:center;gap:7px;color:#c2c6cc}.activity-tooltip-row>span:last-child{font-variant-numeric:tabular-nums}.source-dot{width:9px;height:9px;display:inline-block;border-radius:50%;flex:none}.source-dot.github{background:#229c56}.source-dot.codex{background:#3979e8}.source-dot.both{background:#25b4a7}.activity-tooltip-note{font-size:0.8125rem;color:var(--muted-foreground);max-width:220px}.activity-tooltip-note:not(:first-child){margin-top:5px}
@media(max-width:1000px){.activity-heading{gap:22px}.activity-totals{gap:20px}.activity-totals>div+div{padding-left:20px}.activity-totals strong{font-size:1.4375rem}.activity-totals span{font-size:0.75rem}.calendar-caption{flex-wrap:wrap}.calendar-hint{margin-left:0}}
@media(max-width:800px){.activity-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.activity-stats>div+div{padding-left:16px}.activity-stats>div:last-child{grid-column:auto;border-left:1px solid var(--border);border-top:0;padding-top:0;padding-left:16px}.activity-stats strong{font-size:1.1875rem}.activity-stats span{font-size:0.75rem}.activity-heading{margin-bottom:34px}}
@media(max-width:700px){.activity-heading{flex-direction:column;gap:24px;margin-bottom:30px}.activity-totals{width:100%;grid-template-columns:1fr 1fr;gap:16px}.activity-totals>div+div{padding-left:16px}.activity-totals strong{font-size:1.5rem}.activity-totals span{font-size:0.75rem;line-height:1.4;max-width:15ch}.activity-heading h3{font-size:1.375rem}.activity-links{gap:24px}.calendar-caption{gap:14px;align-items:flex-start;flex-direction:column;font-size:0.6875rem}.calendar-legend{gap:8px}.calendar-hint{flex-basis:100%;padding-left:0}.calendar-caption>p{padding-left:0}.activity-stats{grid-template-columns:1fr 1fr;gap:22px 18px;margin-top:24px;padding-top:24px}.activity-stats>div:nth-child(odd){border-left:0;padding-left:0}.activity-stats>div:nth-child(even){border-left:1px solid var(--border);padding-left:18px}.activity-stats>div:last-child{grid-column:auto;border-top:0;padding-top:0}.activity-stats strong{font-size:1.3125rem}.activity-tooltip{padding:12px;font-size:0.75rem}.activity-tooltip-date{font-size:0.8125rem}.activity-tooltip-row{gap:14px}}

/* Live GitHub activity keeps its source dates visible beside the Codex snapshot. */
.calendar-months,.contribution-grid{grid-template-columns:repeat(var(--activity-weeks,53),minmax(0,1fr))}
.activity-source-dates{display:flex;align-items:center;gap:16px;flex-wrap:wrap;white-space:normal!important}
.activity-source-dates>span{white-space:nowrap}
.activity-refresh-status{margin-top:10px;font-size:0.75rem;line-height:1.5;color:var(--muted-foreground)}
.activity-refresh-status[hidden]{display:none!important}
@media(max-width:700px){.activity-source-dates{gap:8px 14px}}

/* Content entry stays interactive; the persistent shell never animates. */
/* The router restores scroll explicitly; async calendar redraws must not re-anchor it. */
html{overflow-anchor:none}
#main.route-transitioning{transition:opacity 220ms cubic-bezier(.22,.7,.2,1),transform 220ms cubic-bezier(.22,.7,.2,1)}
#main.is-route-entering{opacity:.45;transform:translateY(7px)}
@media(prefers-reduced-motion:reduce){#main.route-transitioning{transition:none!important}#main.is-route-entering{opacity:1;transform:none}}


/* Approved activity palette: GitHub, Codex, both, and empty. */
.fused-day{background:#24292F}
.fused-day.activity-github,.source-dot.github{background:#65B36E}
.fused-day.activity-codex,.source-dot.codex{background:#658CE8}
.fused-day.activity-both,.source-dot.both{background:#3CBFB3}

/* Keep the concise hero description visually balanced. */
.hero-description{max-width:46ch;text-wrap:balance}

/* Calendar-led activity card: selected three-metric layout. */
.activity-year{margin:0 0 14px;font-size:0.9375rem;line-height:1.4;color:var(--muted-foreground)}
.calendar-caption{margin-top:14px}
.calendar-hint{border-left:1px solid var(--border);padding-left:18px;margin-left:10px}
.activity-source-dates>[hidden]{display:none!important}
.activity-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:26px;padding-top:26px;border-top:1px solid var(--border)}
.activity-summary>div{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0}
.activity-summary>div+div{padding-left:28px;border-left:1px solid var(--border)}
.activity-summary strong{font-size:1.875rem;font-weight:550;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.activity-summary span{font-size:0.9375rem;line-height:1.4;color:var(--muted-foreground)}
.activity-summary small{font-size:0.8125rem;line-height:1.4;color:var(--muted-foreground)}
@media(max-width:1000px){.activity-summary{gap:20px}.activity-summary>div+div{padding-left:20px}.activity-summary strong{font-size:1.6875rem}.activity-summary span{font-size:0.875rem}}
@media(max-width:700px){.activity-year{margin-bottom:14px;font-size:0.875rem}.calendar-hint{border-left:0;padding-left:0;margin-left:0}.activity-summary{gap:16px;margin-top:22px;padding-top:22px}.activity-summary>div+div{padding-left:16px}.activity-summary strong{font-size:1.5rem}.activity-summary span{font-size:0.75rem}.activity-summary small{font-size:0.75rem}}
@media(max-width:440px){.activity-summary{grid-template-columns:1fr;gap:0;margin-top:20px;padding-top:6px}.activity-summary>div,.activity-summary>div+div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 16px;padding:16px 0;border-left:0}.activity-summary>div+div{border-top:1px solid var(--border)}.activity-summary strong{grid-column:2;grid-row:1/span 2;font-size:1.5625rem}.activity-summary span{grid-column:1;grid-row:1;font-size:0.875rem}.activity-summary small{grid-column:1;grid-row:2;font-size:0.75rem}.activity-summary>div:last-child{padding-bottom:0}}

#site-footer>div{flex-wrap:wrap;gap:18px 26px}
/* Writing gallery: compact equal cards with full-bleed image crops. */
.results-heading{gap:16px;align-items:center;flex-wrap:wrap}.media-view-switch{display:inline-flex;gap:3px;padding:4px;border:1px solid var(--border);background:var(--card);border-radius:var(--theme-radius-full)}.media-view-switch button{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:0.8125rem;padding:9px 14px;min-height:40px;border:0;border-radius:var(--theme-radius-full);color:var(--muted-foreground);background:transparent;transition:background var(--motion-duration-fast),color var(--motion-duration-fast)}.media-view-switch button:hover{color:var(--foreground)}.media-view-switch button[aria-pressed=true]{color:var(--primary-foreground);background:var(--primary)}.media-view-switch .icon{width:16px;height:16px}.media-view-switch button:focus-visible{outline:2px solid var(--foreground);outline-offset:3px}
.writing-gallery-group{margin-bottom:56px}.writing-gallery-group>h2{display:flex;align-items:baseline;gap:9px;padding-bottom:18px;margin-bottom:24px}.media-grid{--media-gap:22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--media-gap);grid-auto-rows:1fr;align-items:stretch}.media-tile{min-width:0;display:flex}.media-card{position:relative;min-width:0;display:flex;flex:1;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:var(--theme-radius-xl);overflow:hidden;transition:border-color var(--motion-duration-base),transform var(--motion-duration-base) var(--motion-ease-decelerate)}.media-card:hover{border-color:var(--border-strong);transform:translateY(-3px)}.media-card:focus-within{border-color:var(--foreground)}.media-card-main{display:flex;flex:1;min-width:0;flex-direction:column}.media-card-main:focus-visible{outline-offset:-4px;border-radius:inherit}.media-cover{position:relative;display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:16/10;isolation:isolate;overflow:hidden;padding:26px}.cover-kicker{display:flex;align-items:center;gap:8px;font:0.625rem/1.4 var(--font-mono);letter-spacing:.07em;text-transform:uppercase}.cover-kicker>.icon{width:15px;height:15px}.cover-kicker>span:last-child{margin-left:auto}.media-cover h3{font-size:1.6875rem;font-weight:600;line-height:1.13;letter-spacing:-.04em;text-wrap:pretty;overflow-wrap:anywhere}.media-caption{position:relative;display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:14px 18px 16px;gap:6px}.media-caption h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;min-height:2.7em;max-height:2.7em;font-size:1.125rem;font-weight:550;line-height:1.35;letter-spacing:-.025em;overflow-wrap:anywhere}.media-meta{display:block;max-width:100%;height:1.55em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:0.75rem;line-height:1.55;color:var(--muted-foreground)}.media-meta>span{white-space:nowrap}.media-meta>span:before{content:'·';padding:0 9px}.media-action{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;width:auto;font-size:0.75rem;color:var(--muted-foreground);margin-top:2px;padding-top:0}.media-action .icon{width:16px;height:16px;transition:transform var(--motion-duration-fast)}.media-card-main:hover .media-action{color:var(--foreground)}.media-card-main:hover .media-action .icon{transform:translate(2px,-2px)}.media-related-menu{position:absolute;right:16px;bottom:14px;z-index:4}.media-related-menu summary{display:inline-flex;align-items:center;gap:5px;list-style:none;cursor:pointer;font-size:0.75rem;line-height:1.55;color:var(--muted-foreground)}.media-related-menu summary::-webkit-details-marker{display:none}.media-related-menu summary:hover,.media-related-menu[open] summary{color:var(--foreground)}.media-related-menu summary:focus-visible{outline:2px solid var(--foreground);outline-offset:4px;border-radius:4px}.media-related-menu summary .icon{width:14px;height:14px}.media-related-menu[open] summary .icon{transform:rotate(180deg)}.media-related-panel{position:absolute;right:0;bottom:calc(100% + 8px);display:flex;flex-direction:column;gap:2px;width:260px;max-width:calc(100vw - 80px);margin:0;padding:8px;border:1px solid var(--border-strong);border-radius:14px;background:var(--card);box-shadow:0 12px 32px #0006}.media-related-menu:not([open]) .media-related-panel{display:none}.media-related-panel a{display:flex;justify-content:space-between;gap:14px;padding:8px 10px;min-height:34px;border-radius:8px;font-size:0.75rem;line-height:1.5}.media-related-panel a:hover{background:var(--secondary)}.media-related-panel a .icon{width:14px;height:14px}
.media-cover--image{display:block;padding:0;aspect-ratio:16/9;background:var(--secondary)}.media-cover--image img{position:absolute;inset:0;display:block;width:100%;height:100%}.media-cover-artwork{z-index:1;object-fit:cover}.media-cover--image img[hidden]{display:none}.media-play{position:absolute;z-index:2;right:16px;bottom:16px;display:grid;place-items:center;width:42px;height:42px;background:#f5f5f5;color:#151918;border-radius:50%;box-shadow:0 3px 15px #0003;transition:transform var(--motion-duration-base)}.media-play svg{width:22px;height:22px;margin-left:-2px}.media-card-main:hover .media-play{transform:scale(1.08)}
.media-cover--post,.media-cover-fallback{background:var(--secondary);aspect-ratio:16/9;min-height:0;gap:0;padding:24px;justify-content:space-between}.media-cover--post .cover-kicker,.media-cover-fallback .cover-kicker{color:var(--muted-foreground)}.media-cover--post h3,.cover-fallback-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;max-height:2.34em;font-size:1.5625rem;line-height:1.17;letter-spacing:-.035em;font-weight:500;overflow-wrap:anywhere}.cover-post-rule{height:2px;width:28px;background:#94b0d5}.media-cover-fallback{position:relative;z-index:2;display:flex;flex-direction:column}.media-cover-fallback[hidden]{display:none}.media-cover--fallback{min-height:0;aspect-ratio:16/9}.media-cover--fallback .media-play,.media-card--fallback .media-caption>h3{display:none}.media-card--text .media-caption,.media-card--fallback .media-caption{justify-content:flex-end}.media-grid--talks{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(min-width:1001px) and (max-width:1150px){.media-cover--post,.media-cover-fallback{padding:23px}.media-caption{padding:14px 18px 16px}}
@media(max-width:1000px){.media-grid,.media-grid--talks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.media-grid,.media-grid--talks,.media-grid--press{--media-gap:18px;grid-template-columns:1fr}.writing-gallery-group{margin-bottom:40px}.writing-gallery-group>h2{margin-bottom:20px;padding-bottom:16px}.media-cover--post,.media-cover-fallback{padding:24px;min-height:0}.media-cover--fallback{min-height:0;aspect-ratio:16/9}.media-caption{padding:14px 18px 16px;gap:6px}.media-caption h3{font-size:1.125rem}.media-view-switch button{font-size:0.75rem;padding:9px 12px;min-height:40px}.media-view-switch .icon{width:14px;height:14px}.media-meta{font-size:0.75rem}.media-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.media-card,.media-action .icon,.media-play,.media-view-switch button{transition:none}.media-card:hover,.media-card-main:hover .media-play{transform:none}}


/* About: portrait and biography first, two readable quotations beneath. */
.about-preview{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:64px;padding:32px 40px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.about-preview>div{min-width:0}.about-preview h2{font-size:1.75rem;margin-bottom:12px}.about-preview p{max-width:60ch;color:var(--muted-foreground);font-size:1.125rem;line-height:1.6}.about-preview>.button{flex:none}.about-page .about-section{margin-top:0}
@media(max-width:700px){.about-preview{align-items:flex-start;flex-direction:column;gap:24px;margin-top:40px;padding:26px 24px;border-radius:18px}.about-preview h2{font-size:1.5rem}.about-preview p{font-size:1rem}}
:root:not([data-text-size="100"]) .about-preview{align-items:flex-start;flex-direction:column}
.hero-photo{min-width:0;margin:0}.hero-photo-link{display:block;overflow:hidden;border:1px solid var(--border);border-radius:20px;background:var(--card)}.hero-photo img{display:block;width:100%;height:auto}.hero-photo figcaption{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-top:16px;font-size:0.875rem;line-height:1.5}.hero-photo figcaption small{display:block;margin-top:5px;color:var(--muted-foreground);font-size:0.75rem}.hero-photo figcaption a{display:inline-flex;align-items:center;gap:8px;flex:none;padding-top:2px;font-size:0.75rem;color:var(--muted-foreground)}.hero-photo figcaption .icon{width:14px;height:14px}
.about-section{margin-top:64px;scroll-margin-top:24px}.about-profile{display:grid;grid-template-columns:.95fr 1.25fr;min-height:380px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.about-portrait{min-width:0;position:relative}.about-portrait img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:59% 50%}.about-bio{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:32px 40px}.about-bio h3{font-size:2.625rem;line-height:1.15;letter-spacing:-.04em;margin-bottom:26px}.about-copy{max-width:47ch}.about-copy p+p{margin-top:16px}
.about-quotes{display:grid;grid-template-columns:.9fr 1.2fr;gap:20px;margin-top:20px}.about-quote{min-width:0;margin:0;padding:30px 32px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.about-bio>.eyebrow,.about-quote .eyebrow{display:block;font-size:0.6875rem;line-height:1.6;letter-spacing:.08em;font-style:normal;margin-bottom:23px}.about-bio>.eyebrow{margin-bottom:16px}.about-quote-copy{font-size:1.25rem;line-height:1.55;letter-spacing:-.015em;font-weight:400;color:var(--foreground);max-width:65ch}.about-verse{display:flex;flex-direction:column}.about-verse>a{display:inline-flex;align-items:center;align-self:flex-end;gap:9px;margin-top:auto;padding-top:23px;font-size:0.75rem;color:var(--muted-foreground)}.about-verse>a .icon{width:14px;height:14px}
@media(max-width:1000px){.about-bio{padding:32px}.about-bio h3{font-size:2.25rem}.about-quotes{grid-template-columns:.8fr 1.2fr}.about-quote{padding:26px}.about-quote-copy{font-size:1.125rem}}
@media(max-width:700px){.hero-photo-link{border-radius:18px}.hero-photo figcaption{font-size:0.8125rem;gap:12px}.hero-photo figcaption a{font-size:0.6875rem}.hero-photo figcaption small{font-size:0.6875rem}.about-section{margin-top:44px}.about-profile{grid-template-columns:1fr;min-height:0}.about-portrait{height:240px}.about-portrait img{object-position:59% 43%}.about-bio{padding:26px}.about-bio h3{font-size:2.0625rem;margin-bottom:22px}.about-copy p+p{margin-top:18px}.about-quotes{grid-template-columns:1fr;gap:14px;margin-top:14px}.about-quote{padding:26px}.about-bio>.eyebrow,.about-quote .eyebrow{font-size:0.625rem;margin-bottom:20px}.about-quote-copy{font-size:1.125rem;line-height:1.6}.about-verse>a{padding-top:23px}}

/* Reading preferences augment the site's native semantics and keyboard support. */
:root{--control-border:#74797e}
:root[data-contrast=high]{--background:#080808;--foreground:#fff;--card:#151515;--card-foreground:#fff;--secondary:#242424;--secondary-foreground:#fff;--muted:#303030;--muted-foreground:#dedede;--accent:#303030;--accent-foreground:#fff;--border:#a0a0a0;--border-strong:#eee;--control-border:#bdbdbd}
:root[data-motion=reduce]{scroll-behavior:auto}
:root[data-motion=reduce] *, :root[data-motion=reduce] *::before, :root[data-motion=reduce] *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
:root[data-motion=reduce] :is(.button,.explore-card,.media-card):hover,:root[data-motion=reduce] .media-card-main:hover :is(.media-play,.media-action .icon){transform:none}
:root[data-underline-links=true] a:not(.button,.explore-card,.media-card-main,.hero-photo-link){text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:.08em}
body:has(dialog[open]){overflow:hidden}
summary:focus-visible{outline:2px solid var(--foreground);outline-offset:4px;border-radius:4px}
:where(a,button,input,select,textarea,summary,[tabindex]){scroll-margin-block:24px}
#main:focus:not(:focus-visible){outline:none}
.skip-link{font-size:1rem}.skip-accessibility:focus{top:76px}
.accessibility-link{background:none;padding:6px 0;color:inherit;font-size:inherit;line-height:inherit;min-height:32px}
.accessibility-link:hover{text-decoration:underline;text-underline-offset:4px;color:var(--foreground)}
.filter,.button-outline,.search-field,.contact-field input,.contact-field select,.contact-field textarea{border-color:var(--control-border)}
.contact-close{min-width:44px;min-height:44px}
.field-error{color:#ffb9b9;font-size:.8125rem;line-height:1.5}
.contact-field [aria-invalid=true]{border:2px solid #ffb9b9}
.related-links a,.project-links a,.row-arrow,.activity-links a,.about-verse>a,#site-footer a{min-height:32px;align-items:center}
.media-related-menu summary{min-height:28px;padding:3px 2px}
.fused-day:focus-visible{outline:2px solid var(--foreground);outline-offset:2px}
button:disabled{cursor:default;opacity:.55}
.accessibility-dialog{width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:30px;border:1px solid var(--border);border-radius:24px;background:var(--card);color:var(--foreground);overscroll-behavior:contain;overflow:auto;box-shadow:0 32px 100px #0008}
.accessibility-dialog::backdrop{background:#000b;backdrop-filter:blur(6px)}
.accessibility-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.accessibility-heading>div{min-width:0}
.accessibility-heading .eyebrow{font-size:.6875rem;letter-spacing:.07em;line-height:1.6;margin-bottom:10px}
.accessibility-heading h2{overflow-wrap:anywhere}
#accessibility-intro{font-size:.9375rem;color:var(--muted-foreground);line-height:1.6;margin:14px 0 20px}
.accessibility-options{display:flex;flex-direction:column}
.accessibility-size{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-bottom:18px}
.accessibility-size label,.accessibility-option strong{font-size:.9375rem;font-weight:550}
.accessibility-size select{min-height:44px;max-width:100%;background:var(--background);color:var(--foreground);border:1px solid var(--control-border);border-radius:10px;padding:9px 12px;font-size:.875rem}
.accessibility-option{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-top:1px solid var(--border);cursor:pointer;min-height:64px}
.accessibility-option span{min-width:0}.accessibility-option strong,.accessibility-option small{display:block}
.accessibility-option small{font-size:.8125rem;line-height:1.5;color:var(--muted-foreground);margin-top:4px}
.accessibility-option input{flex:none;width:24px;height:24px;accent-color:var(--foreground);cursor:pointer}
.accessibility-note,.accessibility-help{font-size:.8125rem;line-height:1.6;color:var(--muted-foreground)}
.accessibility-note{margin:10px 0 16px}
.accessibility-help{border:1px solid var(--border);border-radius:12px;padding:12px 14px}
.accessibility-help summary{cursor:pointer;min-height:28px;color:var(--foreground)}
.accessibility-help p{margin-top:12px}
.accessibility-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:24px}
.accessibility-footer .button{font-size:.875rem;min-height:44px;padding:12px 18px}
@media(max-width:1000px){.header-inner{flex-wrap:wrap;position:relative}.menu-toggle{display:block;margin-right:-9px}#site-nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:4px;margin-top:12px;background:var(--card);border:1px solid var(--border);border-radius:18px;padding:10px}#site-nav.is-open{display:flex}#site-nav>:is(a,button){justify-content:flex-start;white-space:normal;padding:12px 17px;font-size:1rem}#site-nav .contact-link{margin-left:0}}
:root:not([data-text-size="100"]) .header-inner{flex-wrap:wrap;position:relative}
:root:not([data-text-size="100"]) .menu-toggle{display:block}
:root:not([data-text-size="100"]) #site-nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;padding:10px;background:var(--card);border:1px solid var(--border);border-radius:18px}
:root:not([data-text-size="100"]) #site-nav.is-open{display:flex}
:root:not([data-text-size="100"]) #site-nav>:is(a,button){white-space:normal;justify-content:flex-start}
:root:not([data-text-size="100"]) :is(.hero,.explore-grid,.media-grid,.about-profile,.about-quotes,.history-row,.history-column-headings){grid-template-columns:minmax(0,1fr)}
:root:not([data-text-size="100"]) .about-portrait{height:300px}
:root:not([data-text-size="100"]) .history-column-headings{display:none}
:root:not([data-text-size="100"]) .media-caption h3,:root:not([data-text-size="100"]) .media-cover h3{display:block;min-height:0;max-height:none;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible}
:root:not([data-text-size="100"]) .media-cover--post{aspect-ratio:auto;min-height:240px;gap:28px}
:root:not([data-text-size="100"]) .media-meta{height:auto;white-space:normal}
:root:not([data-text-size="100"]) .media-related-menu{position:relative;align-self:flex-end;right:auto;bottom:auto;margin:0 16px 14px}
:root:not([data-text-size="100"]) .activity-summary{grid-template-columns:minmax(0,1fr);gap:0}
:root:not([data-text-size="100"]) .activity-summary>div,:root:not([data-text-size="100"]) .activity-summary>div+div{display:flex;padding:16px 0;border-left:0}
:root:not([data-text-size="100"]) .activity-summary>div+div{border-top:1px solid var(--border)}
:root:not([data-text-size="100"]) .activity-tooltip-row{white-space:normal;flex-wrap:wrap}
@media(max-width:440px){.wordmark{font-size:1.125rem;white-space:normal;max-width:calc(100% - 64px)}.header-inner,main{padding-left:20px;padding-right:20px}.hero-copy h1{font-size:clamp(2.75rem,14vw,5.5rem)}.page-heading h1{font-size:2.75rem;overflow-wrap:anywhere}.accessibility-dialog{padding:22px 20px}.accessibility-footer{flex-direction:column}.accessibility-footer .button{width:100%}.contact-form-footer .button{white-space:normal}.calendar-hint{max-width:28ch}}
@media(forced-colors:active){:is(.filter,.button,.search-field,.contact-field input,.contact-field select,.contact-field textarea,.accessibility-dialog,.contact-dialog){border:1px solid ButtonText}.fused-day{forced-color-adjust:auto;border:1px solid ButtonText}.fused-day[data-activity]:not([data-activity="none"]){background:Highlight}.fused-day:focus-visible{outline:2px solid Highlight}.source-dot{border:1px solid ButtonText}}
@media(max-width:440px){.accessibility-dialog,.contact-dialog{width:calc(100vw - 24px);max-width:calc(100vw - 24px)}.accessibility-heading{display:block;position:relative}.accessibility-heading .contact-close{position:absolute;right:0;top:0}.accessibility-heading .eyebrow{padding-right:54px}}
/* Technology labels must reflow when a visitor enlarges text. */
.project-tech{flex-wrap:wrap}
:root:not([data-text-size="100"]) #main{overflow-wrap:anywhere}
:root:not([data-text-size="100"]) .project-card{flex-direction:column}
:root:not([data-text-size="100"]) .project-content{width:100%;min-width:0}
:root:not([data-text-size="100"]) .project-links a{max-width:100%;overflow-wrap:anywhere}

/* Mobile layouts keep the same Sable surfaces and give controls room to breathe. */
.category-select{display:none;position:relative;min-width:0}
.category-select select{appearance:none;width:100%;min-width:0;min-height:48px;padding:13px 46px 13px 16px;font:inherit;font-size:1rem;line-height:1.4;background:var(--card);color:var(--foreground);border:1px solid var(--control-border);border-radius:15px;color-scheme:dark;cursor:pointer}
.category-select>.icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted-foreground);pointer-events:none}
@media(max-width:1000px){
  #site-header{position:sticky;top:0;z-index:70;background:var(--background);border-bottom:1px solid var(--border);padding:14px 0}
  .header-inner{gap:12px}
  .menu-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;margin-right:0;flex:none}
  #site-nav{margin-top:0;max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}
  #site-nav>:is(a,button){min-height:44px}
}
@media(max-width:900px){
  .history-column-headings{display:none}
  .history-row{grid-template-columns:minmax(0,1fr);gap:9px;padding:24px 0}
  .history-row h2{font-size:1.4375rem}
  .history-date{font:0.8125rem/1.5 var(--font-mono);color:var(--muted-foreground)}
  .history-scope h3{font-size:1.0625rem}
  .history-scope p{font-size:.9375rem;line-height:1.6}
}
@media(max-width:700px){
  html{scroll-padding-top:90px}
  .header-inner,main{padding-left:20px;padding-right:20px}
  .wordmark{font-size:1.25rem;max-width:calc(100% - 60px)}
  .hero{padding-top:26px;padding-bottom:48px;gap:28px}
  .hero-copy h1{margin:20px 0 24px}
  .hero-description{font-size:1rem;line-height:1.65;max-width:44ch;text-wrap:pretty}
  .hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0 0;width:100%}
  .hero-actions .button{min-width:0;min-height:48px;padding:13px 10px;gap:8px;font-size:.875rem;line-height:1.35}
  .hero-photo-link{border-radius:18px}
  .activity-section{margin-bottom:48px}
  .activity-card{padding:22px 18px}
  .activity-links{gap:22px;flex-wrap:wrap}
  .calendar-caption>p{white-space:normal}
  .calendar-scroll{overscroll-behavior-x:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}
  .page-heading{padding-top:36px;padding-bottom:28px}
  .page-heading h1{font-size:clamp(2.25rem,10.5vw,3.125rem);line-height:1.08}
  .page-heading>p,.page-heading>div>p{font-size:1.0625rem;line-height:1.6;margin-top:16px}
  .history-heading{gap:20px}
  .history-heading>.button{min-height:48px}
  .history-panel{padding:0 20px}
  .library-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0;margin-bottom:24px}
  .filters{display:none}
  .category-select{display:block}
  .filter{flex:0 0 auto;min-height:44px;font-size:.8125rem;padding:9px 15px;gap:9px}
  .search-field{width:100%;max-width:none;min-width:0;min-height:48px}
  .search-field input{font-size:1rem;padding:12px}
  .results-heading{gap:12px;margin-bottom:24px}
  .media-view-switch button{min-height:44px;font-size:.8125rem;padding:10px 12px}
  .writing-row{gap:12px;padding:20px 0}
  .writing-title{font-size:1.125rem;overflow-wrap:anywhere}
  .row-arrow{min-width:32px;min-height:40px;align-items:center;justify-content:center;margin-right:-6px}
  .project-card{flex-direction:column;gap:16px;padding:24px}
  .project-content{width:100%;min-width:0;overflow-wrap:anywhere}
  .project-content h2{font-size:1.5rem}
  .project-links{gap:12px 20px}
  .project-links a{min-height:44px;max-width:100%;overflow-wrap:anywhere}
  .media-grid{--media-gap:18px}
  .media-card{border-radius:18px}
  .media-related-menu{bottom:12px}
  .media-related-menu summary{min-height:44px;padding:8px 2px}
  .media-caption{padding-bottom:22px}
  .media-related-panel{max-width:calc(100vw - 88px)}
  .media-related-panel a{min-height:44px}
  .about-profile,.about-quote{border-radius:18px}
  .about-bio,.about-quote{padding:26px 24px}
  #site-footer{width:calc(100% - 40px);margin:56px 20px 0;padding:24px 0 28px;gap:14px}
  #site-footer>div{width:100%;gap:8px 20px}
  #site-footer a,.accessibility-link{min-height:44px}
  .contact-dialog,.accessibility-dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);width:calc(100vw - 24px);padding:24px 20px;scroll-padding:20px}
  .contact-field textarea{max-height:none}
  :root:not([data-text-size="100"]) .hero-actions{grid-template-columns:minmax(0,1fr)}
}
@media(hover:none){.button:hover,.explore-card:hover,.media-card:hover{transform:none}}

@media(max-width:1000px){html{scroll-padding-top:calc(5rem + 20px)}}

/* Phone compositions: compact navigation, readable rows, and touchable activity. */
.calendar-navigation{display:none}
@media(max-width:1000px){
  #site-header{padding-top:max(10px,env(safe-area-inset-top));padding-bottom:10px}
  html{scroll-padding-top:calc(var(--site-header-height,72px) + 16px)}
  #site-nav{position:absolute;top:calc(100% + 10px);left:20px;right:20px;margin:0;max-height:calc(100dvh - var(--site-header-height,72px) - 20px);box-shadow:0 20px 48px #0006;overscroll-behavior:contain}
  #site-nav>:is(a,button){flex-shrink:0}
}
@media(max-width:700px){
  .hero{padding-top:28px;padding-bottom:40px;gap:24px}
  .hero-copy h1{font-size:clamp(3rem,14vw,4.75rem);margin:18px 0 22px}
  .hero-description{line-height:1.6;text-wrap:pretty}
  .hero-actions{margin-top:22px}
  .hero-photo-link{aspect-ratio:4/3}
  .hero-photo-link img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}
  .section-heading h2,section h2{font-size:1.75rem}
  .activity-section .section-heading{gap:10px;margin-bottom:18px}
  .activity-links a{min-height:44px}
  .activity-card{padding:18px 16px 20px}
  .activity-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:12px}
  .activity-year{margin:0;font-size:.8125rem}
  .calendar-navigation{display:flex;align-items:center;gap:8px}
  .calendar-navigation select,.calendar-latest{min-height:44px;border:1px solid var(--control-border);border-radius:12px;background:var(--card);color:var(--foreground);font-size:.875rem;padding:10px 12px}
  .calendar-navigation select{color-scheme:dark;cursor:pointer;max-width:100%}
  .calendar-latest{font-weight:550}
  .calendar-inner{min-width:calc(44px + var(--activity-weeks,53)*28px - 4px)}
  .contribution-day{min-width:24px;min-height:24px}
  .calendar-weekdays{position:sticky;left:0;z-index:1;background:var(--card);box-shadow:8px 0 8px var(--card)}
  .calendar-months{font-size:.75rem}
  .calendar-caption{gap:8px;margin-top:10px}
  .calendar-legend{gap:10px;font-size:.75rem;flex-wrap:wrap;max-width:100%}
  .calendar-hint{display:none}
  .activity-source-dates{font-size:.6875rem;line-height:1.5}
  .activity-source-dates>span{white-space:normal}
  .activity-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;padding-top:18px}
  .activity-summary>div,.activity-summary>div+div{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:0;border-top:0}
  .activity-summary>div+div{border-left:1px solid var(--border);padding-left:12px}
  .activity-summary strong{font-size:1.3125rem;grid-column:auto;grid-row:auto}
  .activity-summary span,.activity-summary small{font-size:.75rem;grid-column:auto;grid-row:auto;line-height:1.45}
  .section-description{font-size:.9375rem;line-height:1.6;margin-bottom:18px}
  .explore-grid{gap:12px}
  .explore-card{display:grid;grid-template-columns:44px minmax(0,1fr) 20px;gap:6px 14px;align-items:center;padding:20px}
  .explore-card-top{display:contents}
  .explore-card .icon-chip{grid-column:1;grid-row:1/span 2;width:44px;height:44px;border-radius:13px}
  .explore-card .icon-chip .icon{width:23px;height:23px}
  .explore-card-top>.icon{grid-column:3;grid-row:1/span 2;width:18px;height:18px}
  .explore-card h3{grid-column:2;grid-row:1;font-size:1.125rem;margin:0}
  .explore-card p{grid-column:2;grid-row:2;font-size:.875rem;line-height:1.5}
  .page-heading{padding-top:28px;padding-bottom:24px}
  .page-heading h1{font-size:clamp(2.25rem,10vw,3rem);line-height:1.1}
  .page-heading>p,.page-heading>div>p{font-size:1rem!important;line-height:1.6;margin-top:14px!important}
  .history-heading>.button{width:100%}
  .history-scope p{font-size:1rem;line-height:1.65}
  .library-toolbar{gap:12px;margin-bottom:18px}
  .results-heading{margin-bottom:20px;align-items:center}
  .project-card{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px 14px;padding:22px 20px}
  .project-card>.icon-chip{grid-column:1;grid-row:1/span 2}
  .project-content{display:contents}
  .project-content h2{grid-column:2;grid-row:1;font-size:1.375rem;max-width:100%}
  .project-meta{grid-column:2;grid-row:2;margin:0;font-size:.75rem;line-height:1.5}
  .project-description,.project-note,.project-tech,.project-links{grid-column:1/-1}
  .project-description{margin-top:10px;font-size:1rem;line-height:1.6}
  .project-note{margin-top:0}
  .project-tech{margin-top:10px;gap:12px 20px}
  .project-links{margin-top:8px;gap:4px 20px;font-size:.875rem}
  .project-links a{min-height:44px}
  .writing-icon,.row-arrow{display:none}
  .writing-row{padding:20px 0}
  .writing-title{font-size:1.125rem;line-height:1.5;min-height:44px;display:flex;align-items:center}
  .writing-meta{font-size:.8125rem;line-height:1.6}
  .related-links{font-size:.8125rem;gap:4px 18px;margin-top:8px}
  .related-links a{min-height:40px}
  .media-grid{--media-gap:16px}
  .media-caption{padding:16px 18px 18px}
  .about-section{margin-top:40px}
  .about-portrait{height:220px}
  .about-bio,.about-quote{padding:24px 22px}
  .about-quote-copy{font-size:1rem;line-height:1.7}
  .about-copy p+p{margin-top:16px}
  .about-verse>a{min-height:44px;padding-top:16px}
  .contact-dialog,.accessibility-dialog{width:100%;max-width:100%;max-height:calc(100dvh - 12px);margin:auto 0 0;border-radius:24px 24px 0 0;padding:24px 22px max(24px,env(safe-area-inset-bottom));scroll-padding:24px}
  .contact-dialog h2,.accessibility-heading h2{font-size:1.875rem}
  .contact-dialog-heading{margin-bottom:20px}
  .contact-form,.contact-field-row{gap:16px}
  .contact-field textarea{min-height:112px}
  .contact-form-footer .button{min-height:52px}
  #site-footer{margin-top:40px;padding-bottom:max(24px,env(safe-area-inset-bottom))}
  #site-footer>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}
  #site-footer a{display:flex;justify-content:space-between;min-height:48px}
  #site-footer .accessibility-link{grid-column:1/-1;text-align:left;min-height:48px}
  :root:not([data-text-size="100"]) .activity-calendar-toolbar{align-items:flex-start}
  :root:not([data-text-size="100"]) .calendar-navigation{flex-wrap:wrap}
  :root:not([data-text-size="100"]) .activity-summary{grid-template-columns:minmax(0,1fr);gap:0}
  :root:not([data-text-size="100"]) .activity-summary>div,:root:not([data-text-size="100"]) .activity-summary>div+div{padding:16px 0;border-left:0}
  :root:not([data-text-size="100"]) .activity-summary>div+div{border-top:1px solid var(--border)}
  :root:not([data-text-size="100"]) .activity-summary strong{font-size:1.5rem}
  :root:not([data-text-size="100"]) .activity-summary span,:root:not([data-text-size="100"]) .activity-summary small{font-size:.8125rem}
  :root:not([data-text-size="100"]) .explore-card{grid-template-columns:minmax(0,1fr)}
  :root:not([data-text-size="100"]) .explore-card :is(.icon-chip,h3,p){grid-column:1;grid-row:auto}
  :root:not([data-text-size="100"]) .explore-card-top>.icon{display:none}
  :root:not([data-text-size="100"]) .project-card{display:flex;gap:16px}
  :root:not([data-text-size="100"]) .project-content{display:block}
  :root:not([data-text-size="100"]) .writing-title{overflow-wrap:anywhere}
}
/* Selected option 02: left-aligned quote, a single tide, and a quiet paper fleet. */
.about-quote.tide-quote{padding:0;position:relative;overflow:hidden}
.tide-trigger{position:relative;display:flex;flex-direction:column;align-items:flex-start;width:100%;height:100%;min-height:230px;padding:30px 32px 84px;border:0;border-radius:inherit;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer;touch-action:manipulation;isolation:isolate}
.tide-trigger:focus-visible{outline:2px solid var(--foreground);outline-offset:-6px}
.tide-trigger .eyebrow{flex:none;position:relative;z-index:1}
.tide-trigger .about-quote-copy{position:relative;z-index:1;display:block;font-size:clamp(1.375rem,1.8vw,1.5rem);line-height:1.35;letter-spacing:-.025em}
.tide-trigger .about-quote-copy>span{display:block}
.tide-art{position:absolute;display:block;left:-1%;bottom:8px;width:102%;height:auto;max-width:none;pointer-events:none;filter:grayscale(1);transform:translateY(0)}
.tide-trigger.is-rippling .tide-art{animation:quote-tide-lift 2.7s ease-in-out both}
@keyframes quote-tide-lift{0%,100%{transform:translateY(0);filter:grayscale(1)}28%,50%{transform:translateY(-10px);filter:grayscale(1) brightness(1.16)}74%{transform:translateY(-3px)}}
:root[data-motion="reduce"] .tide-trigger.is-rippling .tide-art{animation:none!important;transform:none!important;filter:grayscale(1) brightness(1.3)}
:root[data-contrast="high"] .tide-art{filter:grayscale(1) brightness(1.35)}
:root:not([data-text-size="100"]) .tide-trigger{padding-bottom:clamp(140px,30vw,230px)}
@media(prefers-reduced-motion:reduce){.tide-trigger.is-rippling .tide-art{animation:none!important;transform:none!important;filter:grayscale(1) brightness(1.3)}}
@media(forced-colors:active){.tide-trigger:focus-visible{outline-color:Highlight}.tide-art{forced-color-adjust:none}}
@media(max-width:1000px){.tide-trigger{padding:26px 26px 90px}}
@media(max-width:700px){.tide-trigger{min-height:230px;padding:24px 22px 90px}.tide-trigger .about-quote-copy{font-size:1.5rem}.tide-art{bottom:8px}}

/* Structured email handoff keeps contact details in the visitor’s draft. */
.contact-copy{display:inline-flex;align-items:center;min-height:44px;padding:4px 0;background:transparent;color:var(--foreground);text-decoration:underline;text-underline-offset:3px}
.contact-feedback textarea{display:block;width:100%;min-height:180px;margin-top:10px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--background);color:var(--foreground);font:inherit;resize:vertical}

/* Things I enjoy: image shelves with the same quiet label as the quotes. */
.about-enjoy{margin-top:20px;padding:30px 32px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}
.about-enjoy>h2.eyebrow{font:400 .6875rem/1.6 var(--font-mono);letter-spacing:.08em;color:var(--muted-foreground);text-transform:uppercase;margin:0 0 28px}
.enjoy-shelves{display:grid;gap:30px}
.enjoy-group{min-width:0}
.enjoy-group h3{display:flex;align-items:center;gap:14px;font:400 .6875rem/1.6 var(--font-mono);letter-spacing:.08em;margin:0 0 16px}
.enjoy-group h3::after{content:"";height:1px;flex:1;background:var(--border)}
.enjoy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;list-style:none;margin:0;padding:0}
.enjoy-grid li,.enjoy-grid figure{min-width:0;margin:0}
.enjoy-grid img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--border);border-radius:12px;background:var(--background)}
.enjoy-grid figcaption{margin-top:10px;font-size:1.0625rem;line-height:1.45;letter-spacing:-.015em;overflow-wrap:anywhere}
@media(max-width:900px){.enjoy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}}
@media(max-width:700px){.about-enjoy{padding:24px 22px}.about-enjoy>h2.eyebrow{margin-bottom:24px}.enjoy-shelves{gap:28px}.enjoy-grid{gap:20px 14px}.enjoy-grid figcaption{font-size:1rem;margin-top:8px}.enjoy-grid img{border-radius:10px}}
@media(max-width:360px){.about-enjoy{padding:22px 18px}.enjoy-grid{gap:18px 12px}}
:root:not([data-text-size="100"]) .enjoy-grid{grid-template-columns:minmax(0,1fr)}
