/* STILLROOM EXPERIENCE PASS · Global destinations, contextual browsing, and relaxed forum reading.
   Reuses the established nine theme palettes and existing typography tokens. */
:root{--header-height:70px;--context-width:252px;--context-collapsed:68px;--focus-measure:78ch;--flow-gap:24px}
html{scroll-padding-top:calc(var(--header-height) + 24px);scrollbar-width:none;overflow-x:clip}
html::-webkit-scrollbar{display:none;width:0;height:0}
body{overflow-x:clip}
/* Scroll the document, not an application viewport. Narrow exceptions are limited to navigational lists and dialogs. */
#main,.workspace,.content-columns,.thread-reading-layout,.thread-posts,.review-card,.forum-post,.post-body,.reading-prose{min-width:0;overflow:visible}
.thread-reading-layout,.reading-prose,.review-card,.page-article{overflow-wrap:anywhere}
.workspace{margin-left:0;padding:38px clamp(24px,3.4vw,54px) 62px;max-width:none;transition:margin-left .18s ease}
#main{max-width:1490px;margin-inline:auto}
.footer{max-width:1490px;margin-inline:auto}
.global-header{margin-left:0!important;position:sticky;top:0;z-index:32;height:var(--header-height);padding-inline:clamp(18px,2.9vw,44px);border-bottom:1px solid var(--line);display:flex;gap:clamp(12px,1.9vw,31px);background:var(--bg)}
.header-leading{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.header-brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font:1.65rem var(--serif);letter-spacing:-.035em;white-space:nowrap}
.header-brand:hover{color:var(--brand)}
.header-brand img{width:28px;height:28px}
.global-links{display:flex;align-items:stretch;gap:clamp(6px,.8vw,16px);min-width:0}
.global-links a{position:relative;display:inline-flex;align-items:center;padding:3px 9px;font-size:.86rem;font-weight:540;color:var(--muted);white-space:nowrap;transition:color .15s ease}
.global-links a:hover,.global-links a.active,.global-links a[aria-current]{color:var(--ink)}
.global-links a[aria-current]:after{content:"";height:2px;position:absolute;bottom:0;left:9px;right:9px;background:var(--brand);border-radius:3px}
.global-header .search-mini{flex:1;max-width:340px;margin-left:auto;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:0 10px;min-width:110px;height:39px}
.global-header .search-mini input{font-size:.83rem;padding:7px 3px;min-width:0}
.global-header .search-mini kbd{font-size:.66rem}
.global-header .top-actions{gap:2px;flex:0 0 auto}
.global-header .top-actions>.icon-btn{width:37px;height:39px}
.global-header .header-search-button{display:none}
.global-header .account-trigger .avatar{height:31px;width:31px}
/* A browsing sidebar has its own clear purpose; it never duplicates the site's global links. */
.contextual-rail{top:var(--header-height);bottom:0;height:calc(100dvh - var(--header-height));padding:19px 13px 12px;width:var(--context-width);background:var(--bg);display:flex;gap:4px;overflow:hidden;border-right:1px solid var(--line);transition:width .2s ease;z-index:24}
.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:0 7px 13px;border-bottom:1px solid var(--line)}
.sidebar-head .eyebrow{font-size:.65rem;letter-spacing:.085em}
.contextual-rail .sidebar-scrolling{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:none;padding:12px 0 15px;mask-image:linear-gradient(to bottom,#000 96%,transparent 100%)}
.contextual-rail .sidebar-scrolling::-webkit-scrollbar,.tabs::-webkit-scrollbar,.settings-nav::-webkit-scrollbar,.inbox-list::-webkit-scrollbar{width:0;height:0;display:none}
.contextual-rail .nav-item{padding:9px 11px;min-height:41px;margin-bottom:2px;border-radius:8px;font-size:.85rem;gap:11px;transition:background .12s ease}
.contextual-rail .nav-item.active{background:var(--lavender);color:var(--brand)}
.contextual-rail .nav-item .icon{width:16px;height:16px}
.context-shortcuts{margin-bottom:21px}
.contextual-rail .side-label{font-size:.65rem;letter-spacing:.10em;margin:16px 10px 10px}
.context-group{margin:2px 0 8px}
.context-group summary{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:.8rem;font-weight:620;border-radius:8px;cursor:pointer;list-style:none;color:var(--ink)}
.context-group summary:hover{background:var(--soft)}
.context-group summary::-webkit-details-marker{display:none}
.context-group summary svg{height:15px;width:15px;transition:transform .16s}
.context-group:not([open]) summary svg{transform:rotate(-90deg)}
.context-group-links{padding:2px 0 5px 8px}
.context-group-links .nav-item{font-size:.79rem;min-height:37px;padding:7px 9px}
.context-group-links .category-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%}
.contextual-rail .sidebar-bottom{margin-top:0;padding:12px 0 0;border-top:1px solid var(--line)}
.contextual-rail .sidebar-bottom .btn{margin-bottom:8px}
.contextual-rail .sidebar-bottom .nav-item{font-size:.78rem;margin:0}
html[data-context="browse"] .workspace{margin-left:var(--context-width)}
html[data-context="none"] .contextual-rail{display:none}
html[data-context="browse"][data-sidebar="collapsed"] .contextual-rail{width:var(--context-collapsed);padding-inline:8px}
html[data-context="browse"][data-sidebar="collapsed"] .workspace{margin-left:var(--context-collapsed)}
html[data-sidebar="collapsed"] .contextual-rail .sidebar-head .eyebrow,html[data-sidebar="collapsed"] .contextual-rail .sidebar-scrolling,html[data-sidebar="collapsed"] .contextual-rail .sidebar-bottom .nav-item,html[data-sidebar="collapsed"] .contextual-rail .sidebar-bottom .new-discussion-link span{display:none}
html[data-sidebar="collapsed"] .contextual-rail .sidebar-head{padding:0 0 12px;justify-content:center}
html[data-sidebar="collapsed"] .contextual-rail .sidebar-bottom .btn{padding:8px;min-width:0}
html[data-sidebar="collapsed"] .contextual-rail .sidebar-bottom{margin-top:auto}
/* Thread reading must remain unconfined and focused, with the site header always accessible. */
html[data-page="thread"] .workspace{margin-left:0!important}
html[data-page="thread"] #main,html[data-page="thread"] .footer{max-width:var(--reading-max);margin-inline:auto}
html[data-page="thread"] .sidebar{display:none}
.thread-heading{margin-bottom:30px}
.thread-heading .thread-heading-actions{gap:10px}
.reader-thread-focus{padding:21px 24px;margin:23px 0}
.thread-posts{gap:17px}
.forum-post{border-radius:10px;box-shadow:none!important;padding:clamp(24px,2.6vw,34px)}
.post-header{margin-bottom:24px;padding-bottom:16px}
.post-actions{margin-top:27px}
.reading-prose{line-height:1.78}
/* Desktop post authors feel like forum participants instead of miniature social comments. */
@media(min-width:1030px){.forum-post:not(.restricted-forum-post){display:grid;grid-template-columns:160px minmax(0,1fr);column-gap:28px;align-items:start}
 .forum-post:not(.restricted-forum-post) .post-header{grid-column:1;grid-row:1 / span 4;display:flex;flex-direction:column;align-items:flex-start;gap:13px;margin:0;padding:0 18px 0 0;border:0;border-right:1px solid var(--line)}
 .forum-post .post-author{flex-direction:column;align-items:flex-start;gap:12px}
 .forum-post .post-byline{margin:0;gap:6px;align-items:flex-start;flex-direction:column}
 .forum-post .reading-prose,.forum-post .post-body,.forum-post .quote-context,.forum-post .post-actions,.forum-post .original-indicator{grid-column:2;min-width:0}
 .forum-post .original-indicator{margin-top:0}
 .forum-post .post-actions{margin-top:20px}
}
/* Stronger information scent in lists, never a separate floating card per item. */
.thread-row{grid-template-columns:48px minmax(0,1fr) minmax(94px,auto);gap:15px;padding:21px 4px}
.thread-title{font-weight:630;line-height:1.45}
.thread-meta,.thread-stats{font-size:.8rem}
.thread-row:focus-within{background:color-mix(in srgb,var(--soft) 40%,transparent)}
.thread-row.is-unread{border-left:2px solid var(--brand);padding-left:10px}
.thread-preview{max-width:75ch}
/* Avoid nested scroll traps in conversations. The inner message history grows with content. */
.message-history{max-height:none!important;overflow:visible!important;flex:none!important}
.message-layout{overflow:visible!important;min-height:0}
/* Tabs are swipe-scrollable but not shown as gray internal bars. */
.tabs,.settings-nav,.inbox-list{scrollbar-width:none;overscroll-behavior-inline:contain}
.table-wrap{scrollbar-color:var(--line) transparent;scrollbar-width:thin}
img,video,svg{max-width:100%}
pre,code{overflow-wrap:anywhere}
/* Soft, consistent focus feedback. */
:where(a,button,input,textarea,select,summary):focus-visible{outline:3px solid var(--brand);outline-offset:3px}
:where(button,.btn,.nav-item,a){transition-duration:.15s}
/* Evaluation form separates subjective experience from observed outcomes. */
.evaluation-field{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:20px 3px 22px;margin:0;background:transparent}
.evaluation-field legend{font-size:1rem;font-weight:620;color:var(--ink);padding:0;margin-bottom:7px}
.evaluation-field>p{font-size:.85rem;color:var(--muted);margin:0 0 8px}
.evaluation-field label.assessment-choice{display:flex;align-items:flex-start;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:8px;background:var(--surface);margin:0;cursor:pointer;font-size:.9rem;font-weight:500}
.evaluation-field label.assessment-choice:has(input:checked){border-color:var(--brand);background:var(--lavender);color:var(--ink)}
.evaluation-field label.assessment-choice:hover{border-color:var(--brand)}
.evaluation-field label.assessment-choice input{margin:3px 0 0;flex-shrink:0}
.assessment-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:4px 0 8px}
.assessment-optional{font-size:.82rem;color:var(--muted);font-weight:500}
.assessment-note{margin-top:6px}
.assessment-line-top span:last-child{font-weight:570}
.assessment-line .assessment-track{height:5px}
.community-evaluations{box-shadow:none}
.assessment-line .insufficient{font-style:italic;font-weight:400!important;color:var(--muted)!important}
.rating-disclaimer{color:var(--muted);font-size:.8rem;line-height:1.55;margin-top:9px}
.review-card>.row.between>span{font-size:.8rem;color:var(--muted)}
/* Clear feedback and supportive empty states. */
:where(.inline-error,.form-error){line-height:1.6}
@media(max-width:1350px){.global-header{gap:13px}.global-links{gap:2px}.global-header .search-mini{max-width:270px}}
@media(max-width:1199px) and (min-width:761px){:root{--context-width:215px}.global-header .search-mini{max-width:190px}.global-header .search-mini kbd{display:none}.global-links a{padding-inline:6px}.global-links a[aria-current]:after{left:6px;right:6px}}
@media(max-width:1020px) and (min-width:761px){:root{--context-width:200px}.global-header{padding-inline:15px}.header-brand{font-size:1.43rem;gap:6px}.global-links a{font-size:.78rem}.global-header .search-mini{max-width:150px}}
@media(max-width:760px){
 :root{--header-height:64px}
 .global-header{padding:0 13px;gap:7px;justify-content:space-between}
 .header-leading{margin-right:auto}
 .global-header .mobile-menu{display:inline-grid!important;width:39px;height:39px}
 .header-brand{font-size:1.48rem;gap:7px}
 .header-brand img{height:24px;width:24px}
 .global-links,.global-header .search-mini{display:none}
 .global-header .header-search-button{display:inline-grid}
 .global-header .top-actions{gap:0}
 .global-header .top-actions>.icon-btn{width:37px;height:38px}
 .contextual-rail{display:flex!important;top:0;height:100dvh;width:min(290px,87vw);padding:17px 15px;transform:translateX(-105%);z-index:46;box-shadow:0 3px 20px #19111d0c}
 .contextual-rail.open{transform:translateX(0)}
 .contextual-rail .sidebar-scrolling{display:block!important}
 .contextual-rail .sidebar-head{justify-content:flex-start}
 .contextual-rail .sidebar-head .eyebrow{display:inline!important}
 .contextual-rail .sidebar-collapse{display:none}
 html[data-context="browse"] .workspace,html[data-context="browse"][data-sidebar="collapsed"] .workspace{margin-left:0}
 html[data-sidebar="collapsed"] .contextual-rail .sidebar-bottom .new-discussion-link span{display:inline!important}
 .workspace,html[data-page="thread"] .workspace{padding:24px 17px 104px}
 .bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:65px;gap:0;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--bg);border-top:1px solid var(--line)}
 .bottom-nav a{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:.67rem;padding:7px 1px}
 .bottom-nav .icon{width:20px;height:20px}
 .bottom-nav a.active{color:var(--brand);font-weight:650}
 .forum-post:not(.restricted-forum-post){display:block}
 .post-header{flex-direction:row}
 .post-author{flex-direction:row}
 .thread-row{grid-template-columns:43px minmax(0,1fr);padding:18px 2px}
 .thread-stats{grid-column:2;justify-content:flex-start}
 .assessment-choices{grid-template-columns:1fr}
 .evaluation-field{padding:16px 1px 20px}
 .reader-thread-focus{padding:19px}
 .page-head h1{font-size:1.95rem}
 .thread-posts{gap:13px}
 .forum-post{padding:21px 17px}
 .post-actions .btn{min-height:40px}
 .bottom-nav .compose-mobile{display:none}
}
@media(max-width:365px){.global-header .top-actions>.icon-btn{width:32px}.header-brand{font-size:1.36rem}.header-brand img{width:22px;height:22px}.workspace{padding-inline:14px}.bottom-nav a{font-size:.62rem}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.assessment-detail{margin-top:8px}
.assessment-detail summary{cursor:pointer;color:var(--brand);font-size:.83rem;font-weight:600;display:list-item;padding:8px 0 12px}
.assessment-detail label{margin-top:10px}
.assessment-detail textarea{min-height:90px;resize:vertical}
.evaluation-compact .assessment-line{padding:9px 0}
.evaluation-compact .section-title{margin-bottom:9px}
.review-type{font-size:.81rem;color:var(--muted);white-space:nowrap}
