/* Keep the writing area outside the independently scrolling conversation. */
.action-sheet[data-view='chat']{position:fixed;z-index:45;inset:auto 18px auto auto;top:calc(var(--chat-viewport-top,0px) + env(safe-area-inset-top) + 18px);width:430px;max-width:calc(100vw - 36px);height:calc(var(--chat-viewport-height,100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 36px);max-height:none;min-height:0}
.action-sheet[data-view='chat'] .sheet-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;padding:8px 12px 16px;gap:8px}
.action-sheet[data-view='chat'] .chat-help{flex:none;color:var(--antique-muted);font:12px/1.4 var(--sans)}
.chat-help summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:6px}
.chat-help summary::before{content:'▸';color:var(--antique-gold)}
.chat-help[open] summary::before{content:'▾'}
.action-sheet[data-view='chat'] .chat-help p{font:12px/1.4 var(--sans);margin:4px 0;max-height:56px;overflow:auto}
.action-sheet[data-view='chat'] .chat-messages{flex:1;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;margin:0;scrollbar-gutter:stable;scrollbar-color:#8a7961 var(--paper)}
.action-sheet[data-view='chat'] .chat-message{padding:10px 8px}
.action-sheet[data-view='chat'] .chat-message header{flex-wrap:wrap}
.action-sheet[data-view='chat'] .chat-message header strong{overflow-wrap:anywhere;min-width:0}
.progression-mode .action-sheet[data-view='chat'] .chat-message-layout>header{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:start;gap:6px 10px}
.progression-mode .action-sheet[data-view='chat'] .chat-message-layout>header>.chat-avatar{width:48px;height:48px}
.chat-message-author{display:grid;min-width:0;gap:6px}
.action-sheet[data-view='chat'] .chat-message-author strong{margin:0;align-self:start}
.chat-message-actions{display:flex;flex-direction:column;align-items:flex-end}
.action-sheet[data-view='chat'] .chat-message p{margin:0}
.action-sheet[data-view='chat'] .chat-form{flex:none;min-width:0;margin:0;padding-top:8px}
.action-sheet[data-view='chat'] .chat-form label{margin-bottom:4px}
.action-sheet[data-view='chat'] .chat-form textarea{resize:none;height:64px;min-height:56px;max-height:64px;padding:6px 8px;font-size:16px}
.action-sheet[data-view='chat'] .chat-form-footer{margin-top:6px;padding-inline:6px}
.action-sheet[data-view='chat'] .chat-form button{--button-overhang:-4px}
.action-sheet[data-view='chat'] :is(.tutorial-guide,.tutorial-shortcut){display:none}
.chat-help summary:focus-visible,.chat-messages:focus-visible{outline:2px solid var(--antique-gold);outline-offset:-2px}
.settings-install{margin-block:12px}
.settings-install .muted{margin:6px 0}
.action-sheet[data-view='chat'][data-chat-compact] .chat-help{display:none}
.action-sheet[data-view='chat'][data-chat-compact] .sheet-content{padding:6px 10px 10px;gap:4px}
.action-sheet[data-view='chat'][data-chat-compact] .chat-form textarea{height:48px;min-height:48px}
.action-sheet[data-view='chat'][data-chat-short]{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto minmax(0,1fr)}
.action-sheet[data-view='chat'][data-chat-short] .sheet-heading{padding:0;border:0}
.action-sheet[data-view='chat'][data-chat-short] .sheet-heading>div{display:none}
.action-sheet[data-view='chat'][data-chat-short] .sheet-content{grid-column:1/-1;overflow-y:auto}
.action-sheet[data-view='chat'][data-chat-short] .chat-messages{min-height:32px}
.action-sheet[data-view='chat'][data-chat-short] .chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px}
.action-sheet[data-view='chat'][data-chat-short] .chat-form label{grid-column:1/-1;margin:0}
.action-sheet[data-view='chat'][data-chat-short] .chat-form-footer{margin:0;padding:0}
.action-sheet[data-view='chat'][data-chat-short] #chat-count{display:none}
@media(max-width:699px),(max-height:560px){
 .action-sheet[data-view='chat']{position:fixed;z-index:45;inset:auto 10px auto 10px;top:calc(var(--chat-viewport-top,0px) + env(safe-area-inset-top) + 10px);width:auto;max-width:none;max-height:none;height:calc(var(--chat-viewport-height,100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 20px)}
 .action-sheet[data-view='chat'] .sheet-handle{display:none}
 .action-sheet[data-view='chat'] .sheet-navigation{padding-bottom:0}
 .action-sheet[data-view='chat'] .sheet-heading{padding:4px 6px 6px}
 .action-sheet[data-view='chat'] #sheet-kicker{display:none}
}

/* Quotes share the manuscript palette; the composer never joins the history scroll. */
.action-sheet[data-view='chat'] .chat-message header{gap:6px 10px}
.action-sheet[data-view='chat'] .chat-message header strong{flex:1}
.action-sheet[data-view='chat'] .chat-reply-button{width:auto;min-width:92px;margin:0;--button-overhang:-3px;font-size:13px}
.chat-quote,.chat-reply-preview{border:1px solid var(--antique-gold);border-left:3px solid var(--green);background:var(--paper);color:var(--antique-ink);min-width:0}
.chat-quote{margin:4px 0 8px;padding:7px 10px}
.chat-quote strong,.chat-reply-copy strong{display:block;font:700 12px/1.4 var(--sans);color:var(--green);overflow-wrap:anywhere}
.action-sheet[data-view='chat'] .chat-quote p,.chat-reply-copy p{margin:2px 0 0;font:13px/1.4 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.chat-reply-preview{display:flex;align-items:center;gap:6px;margin:0 0 8px;padding:4px 6px 4px 10px;grid-column:1/-1}
.chat-reply-preview[hidden]{display:none}
.chat-reply-copy{flex:1;min-width:0}
.chat-reply-copy p{-webkit-line-clamp:2}
.chat-reply-preview .icon-button{flex:none;width:44px;height:44px;min-width:44px;min-height:44px;color:var(--green)}
.chat-reply-preview .icon-button:focus-visible{outline:2px solid var(--antique-gold);outline-offset:-2px}
.action-sheet[data-view='chat'][data-chat-compact] .chat-reply-preview{margin-bottom:4px;padding-block:2px}
.action-sheet[data-view='chat'][data-chat-compact] .chat-reply-copy p{-webkit-line-clamp:1}
@media(forced-colors:active){.chat-quote,.chat-reply-preview{background:Canvas;color:CanvasText;border-color:CanvasText}.chat-quote strong,.chat-reply-copy strong,.chat-reply-preview .icon-button{color:CanvasText}}

.chat-channels{display:flex;flex:none;gap:4px;border-bottom:1px solid var(--antique-gold);padding-bottom:6px}
.chat-channels button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid var(--antique-gold);background:var(--paper);color:var(--antique-ink);font:700 16px var(--serif)}
.chat-channels button[aria-selected='true']{background:var(--green);color:var(--paper)}
.chat-channels .icon{width:20px;height:20px}.chat-channel-count{font:700 12px var(--sans);border:1px solid currentColor;min-width:20px;padding:2px 4px;border-radius:10px}
.chat-channels button:focus-visible,.chat-report-card:focus-visible{outline:2px solid var(--antique-gold);outline-offset:2px}
.chat-report-card{width:100%;display:grid;grid-template-columns:36px minmax(0,1fr);gap:4px 10px;align-items:center;text-align:left;padding:10px;min-height:64px;border:1px solid var(--antique-gold);background:#56704612;color:var(--antique-ink)}
.chat-report-icon{grid-row:1/3;color:var(--green)}.chat-report-icon .icon{width:32px;height:32px}.chat-report-card strong{font:700 18px/1.2 var(--serif);overflow-wrap:anywhere}.chat-report-card>span:last-child{font:12px/1.4 var(--sans);overflow-wrap:anywhere}
.report-share-toolbar{display:flex;justify-content:flex-end;margin-bottom:8px}.report-share-toolbar .icon-button{width:44px;height:44px;color:var(--green);border:1px solid var(--antique-gold);background:var(--paper)}
.report-share-options{display:grid;gap:12px;margin:16px 0;padding-inline:8px}.report-share-options button{display:flex;align-items:center;gap:12px;min-height:64px;text-align:left}.report-share-options .icon{width:28px;height:28px;flex:none}.report-share-options strong,.report-share-options small{display:block}.report-share-options small{font:12px/1.4 var(--sans)}
.garrison-troops{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;list-style:none;padding:0;margin:8px 0}.garrison-troops li{display:flex;align-items:center;gap:6px;min-width:0;padding:4px;border:1px solid #90734344;background:#5670460a}.garrison-troops .report-portrait{width:48px;flex:0 0 48px}.garrison-troops li>span:last-child{min-width:0}.garrison-troops small{margin:2px 0;font-size:12px;line-height:1.3;overflow-wrap:anywhere}.garrison-troops strong{font:700 18px var(--serif)}
@media(forced-colors:active){.chat-channels button,.chat-report-card,.report-share-toolbar .icon-button,.garrison-troops li{background:Canvas;color:CanvasText;border-color:CanvasText}.chat-channels button[aria-selected='true']{outline:2px solid Highlight}.chat-report-icon{color:CanvasText}}

/* Translation changes only the requested message body, inside its manuscript row. */
.chat-translatable{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:4px 6px;min-width:0}
.chat-translatable .chat-message-text{grid-column:1;grid-row:1;white-space:pre-wrap;overflow-wrap:anywhere}
.chat-translation-controls{display:contents}
.chat-message .chat-translate-button{grid-column:2;grid-row:1;display:grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;margin:0;border:0;border-radius:2px;background:transparent;color:var(--green);box-shadow:none}
.chat-message .chat-translate-button::before,.chat-message .chat-translate-button::after{display:none}
.chat-translate-glyph{position:relative;display:block;width:22px;height:22px}
.chat-translate-glyph .icon{position:absolute;left:0;top:-4px;width:22px;height:22px}
.chat-translate-glyph .icon:last-child{top:4px;transform:rotate(180deg)}
.chat-message .chat-translate-button[aria-disabled='true']{opacity:.65;cursor:default}
.chat-translate-button:focus-visible,.chat-translation-attribution:focus-visible{outline:2px solid var(--antique-gold);outline-offset:2px}
.chat-message .chat-translate-button:focus-visible,.game-modal[data-variant='lobby-chat'] .chat-translate-button:focus-visible{outline-offset:-3px}
.chat-translation-attribution{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;min-height:24px;max-width:100%;background:transparent;padding:0}
.chat-translation-attribution img{display:block;max-width:100%;width:175px;height:auto;object-fit:contain;filter:none}
.chat-translation-error{grid-column:1/-1;display:block;color:var(--red);font:12px/1.4 var(--sans);overflow-wrap:anywhere}
@media(forced-colors:active){.chat-message .chat-translate-button{color:CanvasText;border-color:CanvasText}.chat-translation-error{color:CanvasText}}

/* Private conversations retain the original manuscript rows and composer. */
.progression-chat-channels button{min-width:0;gap:4px;padding-inline:4px}
.progression-chat-channels button>span:not(.chat-channel-count){min-width:0}
.progression-chat-extra{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;min-width:0;overflow:hidden}
.private-chat-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;flex:none}
.private-chat-search label{grid-column:1/-1;font:700 13px var(--sans);color:var(--antique-ink)}
.private-chat-search input{min-width:0;width:100%;font-size:16px}
.private-chat-search button{width:auto;margin:0;min-width:72px;--button-overhang:-3px}
.private-chat-list{flex:1;min-height:0;overflow:auto;scrollbar-gutter:stable}
.private-chat-peer{display:flex;align-items:center;gap:8px;width:100%;min-height:64px;padding:10px 8px;border-bottom:1px solid var(--antique-gold);color:var(--antique-ink);text-align:left}
.private-chat-peer>span:first-child{min-width:0;flex:1}
.private-chat-peer strong{display:block;font:700 18px var(--serif);overflow-wrap:anywhere}
.private-chat-peer small{display:block;font:12px/1.4 var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.private-chat-heading{display:flex;align-items:center;gap:8px;flex:none;min-width:0}
.private-chat-heading button{width:auto;margin:0;min-width:0;--button-overhang:-3px;font-size:13px;flex:none}
.private-chat-name{min-width:0;overflow-wrap:anywhere;font:700 17px/1.2 var(--serif);color:var(--green)}
.private-chat-error{max-height:54px;overflow:auto;margin:4px 0 0}
.action-sheet[data-view='chat'][data-chat-short] .progression-chat-extra{overflow:visible;min-height:120px}
/* A private conversation needs a recipient row as well as the channel tabs.
   Reuse the short viewport header before that extra row squeezes the log. */
.action-sheet[data-view='chat'][data-chat-compact]:has(.private-chat-heading){display:grid;grid-template-columns:1fr auto;grid-template-rows:44px minmax(0,1fr)}
.action-sheet[data-view='chat'][data-chat-compact]:has(.private-chat-heading) .sheet-heading{padding:0;border:0}
.action-sheet[data-view='chat'][data-chat-compact]:has(.private-chat-heading) .sheet-heading>div{display:none}
.action-sheet[data-view='chat'][data-chat-compact]:has(.private-chat-heading) .sheet-content{grid-column:1/-1}
@media(max-width:390px){.progression-chat-channels .icon{display:none}.progression-chat-channels button{font-size:16px}.private-chat-heading{align-items:flex-start}.private-chat-heading button{font-size:12px}}
@media(forced-colors:active){.private-chat-peer{color:CanvasText;border-color:CanvasText}.private-chat-name,.private-chat-search label{color:CanvasText}}

/* Progression: one fixed conversation surface. Only the history (or peer list)
   scrolls; tabs, recipient and writing area stay inside the visible viewport. */
.progression-mode .action-sheet[data-view='chat']{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:52px minmax(0,1fr);border:1px solid #8c6e40;border-image:none;border-radius:6px;overflow:hidden;box-shadow:0 8px 30px #0006}
.progression-mode .action-sheet[data-view='chat']::before,.progression-mode .action-sheet[data-view='chat'] .sheet-handle{display:none}
.progression-mode .action-sheet[data-view='chat'] .sheet-navigation{grid-column:1;grid-row:1;display:flex;align-items:center;min-height:0;margin:0;padding:0;border-bottom:1px solid #97774b70}
.progression-mode .action-sheet[data-view='chat'] #back-sheet{width:44px;min-width:44px;height:44px;min-height:44px;margin:0;padding:0;border:0;background:none;box-shadow:none;font-size:0;color:#634725}
.progression-mode .action-sheet[data-view='chat'] #back-sheet .icon{width:22px;height:22px}
.progression-mode .action-sheet[data-view='chat'] .sheet-heading{grid-column:2;grid-row:1;min-height:0;padding:0 4px 0 0;border-bottom:1px solid #97774b70}
.progression-mode .action-sheet[data-view='chat'] .sheet-heading>div{position:absolute;inset:0 44px 0 -44px;display:grid;align-content:center;justify-items:center;min-width:0;pointer-events:none}
.progression-mode .action-sheet[data-view='chat'] .sheet-heading h2{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 26px/1.15 var(--serif);color:#3d2c1b;text-shadow:0 1px #fff6}
.progression-mode .action-sheet[data-view='chat'] .sheet-heading::after{left:calc(50% - 22px);font-size:7px}
.progression-mode .action-sheet[data-view='chat'] #sheet-kicker{display:none}
.progression-mode .action-sheet[data-view='chat'] #close-sheet{position:relative;flex:none;margin-left:auto;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;background:none;box-shadow:none;color:#634725}
.progression-mode .action-sheet[data-view='chat'] #close-sheet .icon{width:22px;height:22px}
.progression-mode .action-sheet[data-view='chat'] .sheet-content{grid-column:1/-1;grid-row:2;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;padding:8px 10px 0;gap:0}
.progression-mode .action-sheet[data-view='chat'] .chat-channels{gap:0;padding:0;border:1px solid #9e805348;border-radius:5px;overflow:hidden;flex:none}
.progression-mode .action-sheet[data-view='chat'] .chat-channels button{min-width:0;min-height:44px;padding:6px 4px;border:0;border-radius:0;background:#fffc;color:#463320;font:700 18px/1.1 var(--serif);box-shadow:none}
.progression-mode .action-sheet[data-view='chat'] .chat-channels button+button{border-left:1px solid #9e805348}
.progression-mode .action-sheet[data-view='chat'] .chat-channels button[aria-selected='true']{background:#124437 var(--ornate-primary) center / 400% 400% no-repeat;color:#f7e7bd;text-shadow:0 1px 2px #071e14;box-shadow:inset 0 0 0 1px #c3a56a55}
.progression-mode .action-sheet[data-view='chat'] .chat-channel-count{font-size:10px;padding:2px 4px;min-width:18px}
.progression-mode .action-sheet[data-view='chat'] .chat-history{position:relative;flex:1;min-height:0;min-width:0;overflow:hidden}
.progression-mode .action-sheet[data-view='chat'] .chat-history .chat-messages{height:100%;width:100%;padding:8px 0 10px;margin:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding-block:8px;touch-action:pan-y}
.progression-mode .action-sheet[data-view='chat'] .chat-latest{position:absolute;bottom:10px;left:50%;z-index:2;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:6px;max-width:calc(100% - 16px);min-height:44px;padding:6px 14px;border:1px solid #8d7547;border-radius:22px;background:#f8f2e4;color:var(--green);box-shadow:0 2px 8px #402b1826;font:700 12px/1.3 var(--sans);white-space:nowrap}
.progression-mode .action-sheet[data-view='chat'] .chat-latest .icon{width:18px;height:18px;transform:rotate(90deg)}
.progression-mode .action-sheet[data-view='chat'] .chat-empty{padding:20px 12px;text-align:center;color:var(--antique-muted);font:14px/1.5 var(--sans)}

/* Avatars and author lines share the bubble's row instead of taking a full row. */
.progression-mode .action-sheet[data-view='chat'] .chat-message-layout{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:7px;row-gap:2px;min-width:0;padding:6px 2px;border:0;background:none}
.progression-mode .action-sheet[data-view='chat'] .chat-message-layout>header{display:contents}
.progression-mode .action-sheet[data-view='chat'] .chat-message-layout>header>.chat-avatar{grid-column:1;grid-row:1/span 2;align-self:start;width:36px;height:42px;border:1px solid #8f754a;border-radius:4px;box-shadow:0 1px 2px #5a3b1320}
.progression-mode .action-sheet[data-view='chat'] .chat-message-author{grid-column:2;grid-row:1;display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 8px;padding-inline:1px}
.progression-mode .action-sheet[data-view='chat'] .chat-message-author strong{flex:0 1 auto;min-width:0;font:700 15px/1.2 var(--serif);color:#3f2e1c}
.progression-mode .action-sheet[data-view='chat'] .chat-message-author time{color:#756751;font:11px/1.3 var(--sans);white-space:nowrap;font-variant-numeric:tabular-nums}
.progression-mode .action-sheet[data-view='chat'] .chat-message-layout>:not(header){grid-column:2;min-width:0}
.progression-mode .action-sheet[data-view='chat'] .chat-message-layout>:is(p,.chat-report-card,.chat-location-card),.progression-mode .action-sheet[data-view='chat'] .chat-message-text{min-height:0;margin:0;padding:6px 9px;border:1px solid #ab8e5c4d;border-radius:5px;background:#fff8e75c;color:var(--antique-ink);font:15px/1.4 var(--sans)}
.progression-mode .action-sheet[data-view='chat'] .chat-message-layout>:is(.chat-report-card,.chat-location-card){min-height:44px}
.progression-mode .action-sheet[data-view='chat'] .chat-message-layout>.chat-translatable{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:3px 4px;min-height:0;padding:0;border:0;border-radius:0;background:none}
.progression-mode .action-sheet[data-view='chat'] .chat-translatable .chat-translate-button{position:relative;inset:auto;grid-column:2;grid-row:1;width:44px;height:44px;border:1px solid #a48653;border-radius:4px;background:#352518 url('./art-web/wood-dark-v3-331b77e862.webp') center/180px auto;color:#f5e2b4;box-shadow:inset 0 1px 1px #e8c88a33,0 1px 2px #42281126}
.progression-mode .action-sheet[data-view='chat'] .chat-quote{margin:0;padding:6px 8px;border-color:#ac91675c;border-left-color:#70815b;border-radius:3px;background:#fff8e761}
.progression-mode .action-sheet[data-view='chat'] .chat-quote p{-webkit-line-clamp:2;font-size:12px}
.progression-mode .action-sheet[data-view='chat'] .chat-message-own{grid-template-columns:minmax(0,1fr) 36px}
.progression-mode .action-sheet[data-view='chat'] .chat-message-own>header>.chat-avatar{grid-column:2}
.progression-mode .action-sheet[data-view='chat'] .chat-message-own .chat-message-author{grid-column:1;justify-content:flex-end}
.progression-mode .action-sheet[data-view='chat'] .chat-message-own>:not(header){grid-column:1}
.progression-mode .action-sheet[data-view='chat'] .chat-message-own>:is(p,.chat-report-card,.chat-location-card),.progression-mode .action-sheet[data-view='chat'] .chat-message-own .chat-message-text{background:#6b854523;border-color:#7d8b5c66}
.progression-mode .action-sheet[data-view='chat'] .chat-message-own>.chat-translatable{grid-template-columns:44px minmax(0,1fr)}
.progression-mode .action-sheet[data-view='chat'] .chat-message-own .chat-translatable .chat-message-text{grid-column:2}
.progression-mode .action-sheet[data-view='chat'] .chat-message-own .chat-translatable .chat-translate-button{grid-column:1}
.progression-mode .action-sheet[data-view='chat'] .chat-message-layout:focus-visible{outline:2px solid #76521e;outline-offset:-2px;border-radius:4px}
.progression-mode .action-sheet[data-view='chat'] .chat-message-menu{position:absolute;z-index:24;display:flex;flex-wrap:wrap;gap:4px;max-width:100%;padding:0;box-shadow:0 3px 9px #26180d55}
.progression-mode .action-sheet[data-view='chat'] .chat-message-menu[hidden]{display:none}
.progression-mode .action-sheet[data-view='chat'] .chat-message-menu-reply[hidden]{display:none}
.progression-mode .action-sheet[data-view='chat'] .chat-help{flex:0 0 auto;max-height:34%;overflow:auto;margin:0;padding:0 4px 3px;color:#6e5a38;font-size:12px;line-height:1.4}
.progression-mode .action-sheet[data-view='chat'] .chat-help>summary{min-height:44px;display:flex;align-items:center;gap:6px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.progression-mode .action-sheet[data-view='chat'] .chat-help>summary::before{content:'?';display:inline-grid;place-content:center;border:1px solid #9e855a;border-radius:50%;width:16px;height:16px;font-weight:700;text-decoration:none}
.progression-mode .action-sheet[data-view='chat'] .chat-help p{margin:0 0 8px;max-width:65ch}
.progression-mode .action-sheet[data-view='chat'] .chat-retracted-text{font-style:italic;opacity:.7}
.progression-mode .action-sheet[data-view='chat'] :is(.chat-message-menu-reply,.chat-message-menu-copy,.chat-message-menu-retract){display:block;min-width:80px;min-height:44px;margin:0;padding:9px 10px;border:1px solid #b19259;border-radius:4px;background:#352518 url('./art-web/wood-dark-v3-331b77e862.webp') center/240px auto;color:#f5e2b4;box-shadow:inset 0 1px 1px #e8c88a33;font:700 15px/1.2 var(--serif)}
.progression-mode .action-sheet[data-view='chat'] .chat-message-menu-reply{min-width:96px}
.progression-mode .action-sheet[data-view='chat'] .chat-message-menu-retract{min-width:88px}
.progression-mode .action-sheet[data-view='chat'] .chat-message-menu button[hidden]{display:none}
.progression-mode .action-sheet[data-view='chat'] .chat-mention{font-weight:700;color:var(--green);border-radius:2px}
.progression-mode .action-sheet[data-view='chat'] .chat-mention-self{background:#b19b4d2b;box-shadow:0 0 0 1px #a9914940}
.progression-mode .action-sheet[data-view='chat'] .chat-mention-suggestions{position:absolute;bottom:calc(100% + 4px);left:0;right:0;z-index:25;max-height:min(240px,35dvh);overflow:auto;overscroll-behavior:contain;border:1px solid var(--antique-gold);border-radius:4px;background:var(--paper,#e6d3aa) var(--ornate-paper) center/100% 100%;box-shadow:0 -3px 12px #36271135}
.progression-mode .action-sheet[data-view='chat'] .chat-mention-suggestions[hidden]{display:none}
.progression-mode .action-sheet[data-view='chat'] .chat-mention-option{display:flex;align-items:center;gap:8px;min-width:0;width:100%;min-height:44px;margin:0;padding:5px 9px;border:0;border-radius:0;background:none;color:var(--antique-ink);text-align:left;font:700 14px/1.3 var(--sans);box-shadow:none}
.progression-mode .action-sheet[data-view='chat'] .chat-mention-option+.chat-mention-option{border-top:1px solid #a18a5e33}
.progression-mode .action-sheet[data-view='chat'] .chat-mention-option>.chat-avatar{flex:none;width:32px;height:32px;border-radius:3px}
.progression-mode .action-sheet[data-view='chat'] .chat-mention-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.progression-mode .action-sheet[data-view='chat'] .chat-mention-option[aria-selected='true']{background:#184430 var(--ornate-primary) center/400% 400%;color:#f7e7bd;box-shadow:inset 0 0 0 1px #b8a06a55}
.progression-mode .action-sheet[data-view='chat'] .chat-mention-status{padding:10px 12px;margin:0;color:var(--antique-muted);font:13px/1.4 var(--sans)}

/* The semantic label stays available while the compact field has a placeholder.
   The footer is a neutral layout wrapper: its submit occupies the field's row. */
.progression-mode .action-sheet[data-view='chat'] .chat-form{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 48px;grid-template-areas:'reply reply' 'input send' 'count count' 'error error';gap:4px 7px;flex:none;min-width:0;padding:8px 0 6px;margin:0;border-top:1px solid #98784966}
.progression-mode .action-sheet[data-view='chat'] .chat-form label,.progression-mode .action-sheet[data-view='chat'] .chat-send-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.progression-mode .action-sheet[data-view='chat'] .chat-form textarea{grid-area:input;min-width:0;width:100%;height:52px;min-height:52px;max-height:52px;padding:10px 11px;margin:0;resize:none;border:1px solid #a4895c;border-radius:6px;background:#fffdf7b3;color:var(--antique-ink);font:16px/1.5 var(--sans);box-shadow:inset 0 1px 2px #7352240a}
.progression-mode .action-sheet[data-view='chat'] .chat-form textarea::placeholder{color:#756955;opacity:1}
.progression-mode .action-sheet[data-view='chat'] .chat-form-footer{display:contents}
.progression-mode .action-sheet[data-view='chat'] .chat-form :is(#chat-count,.private-chat-count){grid-area:count;display:block;justify-self:end;min-height:12px;padding:0 2px;margin:0;color:#76664f;font:10px/1.2 var(--sans);font-variant-numeric:tabular-nums}
.progression-mode .action-sheet[data-view='chat'] .chat-form button[type='submit']{grid-area:send;display:grid;place-items:center;min-width:48px;width:48px;height:52px;min-height:52px;padding:0;margin:0;border:1px solid #8d7547;border-radius:6px;background:#124437 var(--ornate-primary) center / 400% 400% no-repeat;color:#f7e7bd;box-shadow:inset 0 0 0 1px #d0b57a30;overflow:hidden}
.progression-mode .action-sheet[data-view='chat'] .chat-send-icon{display:grid;place-items:center}
.progression-mode .action-sheet[data-view='chat'] .chat-send-icon .icon{width:25px;height:25px}
.progression-mode .action-sheet[data-view='chat'] :is(#back-sheet,.chat-reply-button,.chat-form button[type='submit'])::before,.progression-mode .action-sheet[data-view='chat'] :is(#back-sheet,.chat-reply-button,.chat-form button[type='submit'])::after{display:none}
.progression-mode .action-sheet[data-view='chat'] .chat-reply-preview{grid-area:reply;margin:0 0 3px;padding:3px 4px 3px 8px;border-color:#a88e5b70;border-radius:4px;background:#ede8d5}
.progression-mode .action-sheet[data-view='chat'] .chat-reply-copy{min-width:0}
.progression-mode .action-sheet[data-view='chat'] .chat-reply-author{font-size:11px;line-height:1.2}
.progression-mode .action-sheet[data-view='chat'] .chat-reply-copy p{-webkit-line-clamp:1;font:12px/1.3 var(--sans)}
.progression-mode .action-sheet[data-view='chat'] .chat-reply-preview .icon-button{width:44px;height:44px;border:0;background:none;box-shadow:none}
.progression-mode .action-sheet[data-view='chat'] .private-chat-error{grid-area:error;max-height:36px;overflow:auto;margin:0;font:11px/1.35 var(--sans)}
.progression-mode .action-sheet[data-view='chat'] .progression-chat-extra{gap:0;min-height:0;overflow:hidden}
.progression-mode .action-sheet[data-view='chat'] .private-chat-heading{align-items:center;min-height:48px;padding:2px 0;gap:8px;border-bottom:1px solid #a2854c40}
.progression-mode .action-sheet[data-view='chat'] .private-chat-heading button{position:relative;display:grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:4px;background:none;box-shadow:none;font-size:0;color:var(--green)}
.progression-mode .action-sheet[data-view='chat'] .private-chat-heading button::before{display:none}
.progression-mode .action-sheet[data-view='chat'] .private-chat-heading button::after{content:'‹';font:32px/1 var(--serif);color:var(--green)}
.progression-mode .action-sheet[data-view='chat'] .private-chat-heading button:has(.icon)::after{display:none}
.progression-mode .action-sheet[data-view='chat'] .private-chat-heading .icon{width:22px;height:22px}
.progression-mode .action-sheet[data-view='chat'] .private-chat-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px}
.progression-mode .action-sheet[data-view='chat'] .private-chat-search{padding-block:8px}
.progression-mode .action-sheet[data-view='chat'] .private-chat-search input{min-height:44px;background:#fffdf7a3;color:var(--antique-ink);border:1px solid #a4895c;border-radius:4px;padding:8px}
.progression-mode .action-sheet[data-view='chat'] .private-chat-peer{gap:10px;padding:10px 4px;border-color:#9e80533b}
.progression-mode .action-sheet[data-view='chat'] .private-chat-peer>.chat-avatar{width:40px;height:44px;border-radius:4px}
.progression-mode .action-sheet[data-view='chat'] .private-chat-peer strong{font-size:18px}

/* Do not let the legacy short-viewport fallback scroll the entire form. */
.progression-mode .action-sheet[data-view='chat'][data-chat-short],.progression-mode .action-sheet[data-view='chat'][data-chat-compact]:has(.private-chat-heading){grid-template-columns:44px minmax(0,1fr);grid-template-rows:52px minmax(0,1fr)}
.progression-mode .action-sheet[data-view='chat'][data-chat-short] .sheet-heading,.progression-mode .action-sheet[data-view='chat'][data-chat-compact]:has(.private-chat-heading) .sheet-heading{padding:0 4px 0 0;border-bottom:1px solid #97774b70}
.progression-mode .action-sheet[data-view='chat'][data-chat-short] .sheet-heading>div,.progression-mode .action-sheet[data-view='chat'][data-chat-compact]:has(.private-chat-heading) .sheet-heading>div{display:grid}
.progression-mode .action-sheet[data-view='chat'][data-chat-short] .sheet-content,.progression-mode .action-sheet[data-view='chat'][data-chat-compact] .sheet-content{overflow:hidden;padding:6px 8px 0;gap:0}
.progression-mode .action-sheet[data-view='chat'][data-chat-short] .progression-chat-extra{min-height:0;overflow:hidden}
.progression-mode .action-sheet[data-view='chat'][data-chat-short] .chat-messages{min-height:0}
.progression-mode .action-sheet[data-view='chat'][data-chat-short] .chat-form{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:3px 6px}
.progression-mode .action-sheet[data-view='chat'][data-chat-compact] .chat-form textarea{height:48px;min-height:48px;max-height:48px;padding-block:8px}
.progression-mode .action-sheet[data-view='chat'][data-chat-compact] .chat-form button[type='submit']{height:48px;min-height:48px}
.progression-mode .action-sheet[data-view='chat'][data-chat-compact] .chat-reply-preview{margin:0;padding-block:1px}
.progression-mode .action-sheet[data-view='chat'][data-chat-compact] .private-chat-heading{min-height:44px;padding-block:0}
.progression-mode .action-sheet[data-view='chat'][data-chat-short] .chat-form :is(#chat-count,.private-chat-count){display:block}
.progression-mode .action-sheet[data-view='chat'] :is(button,textarea,.chat-messages):focus-visible{outline:2px solid #76521e;outline-offset:-3px}
@media(hover:hover){.progression-mode .action-sheet[data-view='chat'] :is(.chat-message-menu-reply,.chat-message-menu-copy,.chat-message-menu-retract,.chat-translate-button,.chat-form button[type='submit']):hover{filter:brightness(1.12)}}
@media(max-width:699px),(max-height:560px){
 .progression-mode .action-sheet[data-view='chat']{inset:auto 0 auto 0;top:var(--chat-viewport-top,0px);width:100%;max-width:none;height:var(--chat-viewport-height,100dvh);max-height:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);border-width:1px;border-radius:0;box-shadow:none}
 .progression-mode .action-sheet[data-view='chat'] .chat-channels .icon{display:none}
 .progression-mode .action-sheet[data-view='chat'] .sheet-heading h2{font-size:25px}
}
@media(max-width:359px){
 .progression-mode .action-sheet[data-view='chat'] .sheet-content{padding-inline:7px}
 .progression-mode .action-sheet[data-view='chat'] .chat-channels button{font-size:17px}
 .progression-mode .action-sheet[data-view='chat'] .chat-message-layout{column-gap:6px;grid-template-columns:32px minmax(0,1fr)}
 .progression-mode .action-sheet[data-view='chat'] .chat-message-layout>header>.chat-avatar{width:32px;height:38px}
 .progression-mode .action-sheet[data-view='chat'] .chat-message-own{grid-template-columns:minmax(0,1fr) 32px}
}
@media(prefers-reduced-motion:reduce){.progression-mode .action-sheet[data-view='chat']{animation:none}.progression-mode .action-sheet[data-view='chat'] .chat-messages{scroll-behavior:auto}}
@media(forced-colors:active){
 .progression-mode .action-sheet[data-view='chat']{border:1px solid CanvasText;background:Canvas;color:CanvasText}
 .progression-mode .action-sheet[data-view='chat'] :is(.chat-channels,.sheet-navigation,.sheet-heading,.private-chat-heading,.chat-form,.chat-message-layout>p,.chat-translatable,.chat-quote,.chat-reply-preview,.chat-latest,.private-chat-search input,.chat-report-card,.chat-location-card){background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}
 .progression-mode .action-sheet[data-view='chat'] :is(#back-sheet,#close-sheet,.chat-channels button,.chat-reply-button,.private-chat-name,.chat-message-author strong,.chat-message-author time,.chat-form textarea,.chat-form button[type='submit']){background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none;filter:none;text-shadow:none}
 .progression-mode #action-sheet[data-view='chat'] .chat-channels button[aria-selected='true']{background:Highlight;color:HighlightText;outline:2px solid Highlight;outline-offset:-2px}
 .progression-mode .action-sheet[data-view='chat'] .chat-channels button[aria-selected='true']::before,.progression-mode .action-sheet[data-view='chat'] .chat-form button[type='submit']::before{display:none}
 .progression-mode .action-sheet[data-view='chat'] .chat-message-own>:is(p,.chat-translatable,.chat-report-card,.chat-location-card){background:Canvas;border-color:Highlight}
 .progression-mode .action-sheet[data-view='chat'] :is(.chat-message-text,.chat-message-menu-reply,.chat-message-menu-copy,.chat-message-menu-retract,.chat-translate-button,.chat-mention-suggestions,.chat-mention-option){background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}
 .progression-mode .action-sheet[data-view='chat'] .chat-message-own .chat-message-text{background:Canvas;border-color:Highlight}
 .progression-mode .action-sheet[data-view='chat'] :is(.chat-mention-self,.chat-mention-option[aria-selected='true']){background:Highlight;color:HighlightText;box-shadow:none}
 .progression-mode .action-sheet[data-view='chat'] :is(button,textarea,.chat-messages):focus-visible{outline-color:Highlight}
}
