/* Fluid editorial layouts; touch and focus rules based on W3C reflow/target guidance. */
:root{--tap-size:2.75rem;--reading-scale:1;--reading-measure:70ch;--space-fluid:clamp(1rem,2.2vw,2rem)}
html{scroll-padding-top:1.5rem;scroll-padding-bottom:calc(6rem + env(safe-area-inset-bottom));text-size-adjust:100%;-webkit-text-size-adjust:100%}
*,*::before,*::after{box-sizing:border-box}
#main,.wrap,.article-body,.case-narrative,.method-body,.social-page,#community-view{min-width:0}
img,video,canvas{max-width:100%}
.archive-row{grid-template-columns:85px minmax(0,1fr) 120px}
.archive-row>*,.source-row>*,.source-table-header>*,.source-table-header,.archive-row h2,.archive-row p,.archive-row .eyebrow{min-width:0;overflow-wrap:anywhere}
.archive-row a,.source-row a,.user-copy,.profile-topic,.saved-row h3,.social-form small{overflow-wrap:anywhere;word-break:normal}
.comments-gate{grid-template-columns:minmax(0,1fr)}
.comments-gate>div{min-width:0}
:where(h1,h2,h3,h4){text-wrap:balance}
:where(.article-body p,.case-narrative p,.method-body p,.long-analysis p,.special-dek,.social-prose p){text-wrap:pretty}
body[data-reading-size="large"] :where(.article-body p,.article-body li,.case-narrative p,.case-narrative li,.long-analysis p,.long-analysis li,.method-body p,.social-prose p){font-size:1.25rem!important;line-height:1.9!important}
body[data-reading-size="larger"] :where(.article-body p,.article-body li,.case-narrative p,.case-narrative li,.long-analysis p,.long-analysis li,.method-body p,.social-prose p){font-size:1.45rem!important;line-height:1.95!important}
:where(.article-body,.case-narrative,.long-analysis,.method-body,.social-prose) :where(p,li,blockquote){max-width:var(--reading-measure)}
:where(button,input,select,textarea,a,summary):focus-visible{outline:3px solid #b397ff;outline-offset:4px;scroll-margin:1.5rem 0 7rem}
:where(button,a,input,select,textarea){-webkit-tap-highlight-color:#ff6a5233}
:where(.button,.icon-button,.filter-button,.proof-read,.guide-toggle,.search-toggle,.mobile-menu,.topic-composer header button,.reply-tools button,.scrap-actions button,.menu-option){min-height:var(--tap-size)}
:where(.icon-button,.search-toggle,.mobile-menu,.social-modal-close,.reply-count){min-width:var(--tap-size)}
.reader-tools{gap:12px;row-gap:12px;align-items:center}
.reader-tools>a{display:inline-flex;align-items:center;min-height:var(--tap-size)}
.reading-size-control{display:inline-flex;align-items:center;gap:8px;min-height:var(--tap-size);padding:4px 8px;border:1px solid #5b6d43;border-radius:8px;color:#d3e0bf;font-size:11px}
.reading-size-control>span{padding:0 3px}
.reading-size-control>button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:40px;border:0;background:#29351c;color:#e3efcf;font-size:16px;font-weight:800;border-radius:5px;cursor:pointer}
.reading-size-control>button:disabled{opacity:.4;cursor:default}
.social-modal{overscroll-behavior:contain;max-width:calc(100vw - 20px);max-height:calc(100dvh - 24px);overflow:auto;scroll-padding:16px}
.social-modal input,.social-modal textarea,.social-modal select{min-width:0;max-width:100%}
.account-settings,.account-identity,.account-shortcuts,.login-card,.recipient-card,.inbox-list{max-width:100%;min-width:0}
.account-identity>div,.inbox-thread>div,.chat-topline>div,.chat-message>div{min-width:0}
.account-identity strong,.chat-topline h1,.inbox-thread strong{overflow-wrap:anywhere}
.inbox-thread{min-height:74px}
.dm-composer{width:100%;min-width:0;gap:10px}
.dm-composer textarea{min-height:44px;min-width:0;max-width:100%}
.dm-composer button{min-width:44px;min-height:44px}
.chat-history{height:clamp(250px,55dvh,600px)!important;min-width:0;scroll-padding:1rem;overscroll-behavior:contain}
.chat-topline{flex-wrap:nowrap}
.chat-topline h1{line-height:1.4}
.chat-message>div{max-width:min(85%,65ch);overflow-wrap:anywhere}
.chat-message>button{min-width:44px;min-height:44px;flex:0 0 44px}
.social-pagination{gap:12px}
.social-pagination button{white-space:normal}
.table-scroll,.metric-pages{max-width:100%;overflow:auto;overscroll-behavior-x:contain}
.form-columns>*{min-width:0}
.social-form .check{flex-wrap:wrap;gap:8px;align-items:flex-start}
.social-form .check input{flex:0 0 18px}
.social-form small,.quiet-note{line-height:1.8}
.mobile-bottom{padding-bottom:max(9px,env(safe-area-inset-bottom));height:calc(64px + env(safe-area-inset-bottom))}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.button,.filter-button,.icon-button{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.button:hover{box-shadow:0 0 0 2px #ff6a5226}}
@media(max-width:1100px){.nav{flex-wrap:wrap;gap:8px 20px}.nav>a{display:inline-flex;align-items:center;min-height:36px}.brand-description{max-width:190px}.form-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.archive-row{grid-template-columns:minmax(0,1fr)}.archive-row>div{width:100%}.archive-date{justify-self:start}.source-table-header{display:none}.reading-size-control{margin-left:0}.article-layout,.method-layout,.analysis-layout{min-width:0}.community-stats .wrap{gap:10px 20px}.community-stats small{max-width:100%;line-height:1.7}}
@media(max-width:760px){.nav{display:none}.nav.expanded{display:flex;flex-direction:column;max-height:calc(100dvh - 150px);overflow:auto;padding-bottom:18px;overscroll-behavior:contain}.nav.expanded>a{min-height:46px;width:100%;flex-shrink:0;font-size:14px;padding:10px 4px}.nav.expanded #account-chip{max-width:100%;gap:10px}.nav.expanded #account-chip .social-avatar{width:29px;height:29px}.masthead .icon-button,.masthead .search-toggle,.masthead .mobile-menu,.masthead .guide-toggle{width:44px;height:44px;flex:0 0 44px;min-width:44px}.masthead .brand{min-width:0;flex:1 1 auto}.brand-description{display:none}.masthead{gap:7px}.case-tabs,.special-tabs,.year-jumps,.social-nav{scrollbar-width:thin;scrollbar-color:#899b63 transparent;scroll-padding-inline:16px;-webkit-overflow-scrolling:touch}.case-tabs>a,.special-tabs>a,.year-jumps>a,.social-nav>a{display:inline-flex;align-items:center;min-height:44px;flex-shrink:0}.case-tabs,.special-tabs{scroll-padding-inline:16px}.reader-tools{padding:18px 0}.reader-tools .button{font-size:11px;white-space:normal}.reader-tools>a{font-size:12px}.article-body p,.case-narrative p,.long-analysis p{font-size:1.0625rem;line-height:1.85}.source-kind,.archive-row .eyebrow{line-height:1.9}.article-meta,.case-cover-meta,.special-cover-meta{gap:10px;flex-wrap:wrap}.social-page .forum-topic{grid-template-columns:34px minmax(0,1fr) 48px}.social-page .forum-topic h2{overflow-wrap:anywhere}.social-page .forum-search{align-items:stretch;gap:12px}.social-page .forum-search input[type=search]{flex-basis:100%;min-width:0;width:100%}.forum-actions .button{white-space:normal}.social-form,.social-form label,.social-form fieldset{max-width:100%;min-width:0}.social-form input,.social-form textarea,.social-form select,.forum-search input,.correction-form input,.correction-form textarea,.chronology-select select,.life-controls select{font-size:16px!important}.form-columns{grid-template-columns:minmax(0,1fr);gap:0}.tool-row{gap:12px;flex-wrap:wrap}.tool-row>*{min-width:0;max-width:100%}.source-row h3{font-size:16px;line-height:1.6}.footer-grid{gap:30px}.footer-grid>div{min-width:0}.footer-grid a{overflow-wrap:anywhere}.mobile-bottom>a{min-height:44px}.mobile-bottom>a>span{font-size:10px}.mobile-bottom .bottom-five{font-size:25px}body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.social-modal{padding:25px 18px;max-height:calc(100dvh - 24px)}.social-modal-close{min-width:44px;min-height:44px;right:6px;top:6px}.social-modal>h2{padding-right:34px;font-size:25px}.composer-modal{padding:0}.topic-composer>header{padding:12px 8px}.topic-composer>input{font-size:22px}.topic-composer>textarea{font-size:16px}.dm-composer{padding:9px 12px}.inbox-thread strong{font-size:13px;flex-wrap:wrap;gap:5px}.inbox-thread>div p{font-size:13px}.inbox-thread>div small{font-size:11px}.chat-topline h1{font-size:14px}.chat-topline small{font-size:10px}.chat-message p{font-size:16px;line-height:1.65}.chat-message time{font-size:10px}.chat-disclaimer,.guest-inbox-note{font-size:12px;line-height:1.8}.reply-tools button,.account-shortcuts>a,.account-shortcuts>button{min-height:44px}.social-pagination .button{font-size:11px;padding:11px 14px}}
@media(max-width:370px){.wrap{width:calc(100% - 28px)}.masthead .brand{font-size:18px;gap:7px}.brand-mark{width:29px!important;min-width:29px;height:34px!important;font-size:23px!important}.brand-mark span{font-size:15px!important}.masthead{gap:4px}.masthead .guide-toggle{display:none}.cover h2{font-size:clamp(52px,17vw,63px);letter-spacing:-.5px}.cover-art{min-width:0}.cover-evidence{gap:10px}.cover-evidence-copy p{font-size:21px}.cover-callout{width:74px;height:74px;font-size:18px}.document-poster img{height:112px}.page-intro h1{font-size:clamp(38px,12vw,48px)}.section-title h2,.case-section h2{font-size:clamp(29px,9.8vw,36px)}.reading-gate{gap:0}.reading-gate>a{padding:12px 7px}.reading-gate>a strong{font-size:10px}.case-cover h1{font-size:clamp(42px,14vw,55px);line-height:1.09}.special-cover h1,.life-cover h1{font-size:clamp(48px,17vw,63px);line-height:1.08}.reading-size-control{width:100%;justify-content:space-between}.social-page .social-intro h1{font-size:clamp(38px,13vw,47px)}.account-identity{flex-wrap:wrap;gap:14px}.account-identity>div{flex-basis:100%}.social-page .view-topline{gap:9px}.social-page .social-empty{padding:26px 18px}.social-page .social-empty h2{font-size:25px}.social-page .social-empty p{font-size:14px}.social-nav{gap:7px}.social-nav a{padding:11px 12px;font-size:12px}.forum-categories .filter-button{font-size:12px}.social-modal .social-form label{font-size:13px}.social-modal{width:calc(100% - 12px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media print{.reading-size-control{display:none!important}}
@media(max-width:760px){.case-tabs,.special-tabs,.article-nav{margin-inline:0;max-width:100%;min-width:0}.social-page .social-nav{margin-inline:0;max-width:100%;width:100%}}
.article-title h1,.case-cover h1,.special-cover h1,.case-cover-meta,.article-meta,.verdict-box{min-width:0;overflow-wrap:anywhere}
.article-meta .verdict,.article-meta .tag{max-width:100%;white-space:normal}
.view-topline>button,.chat-topline>button,.thread-tools>button,.reply-tools>button,.reply-tools>a{min-width:44px;min-height:44px}
