/* DTL：團隊 AI 討論室的樣式（全站載入，檔名排最後以覆蓋 Campfire 原本的樣式） */
.ai-panel{position:sticky;top:var(--ai-nav-height,0);z-index:2;background:var(--color-bg,#fff);border-bottom:1px solid var(--color-border,#ddd);padding:.5em 1em;display:flex;flex-direction:column;gap:.4em;font-size:.9em}
.ai-panel__row{display:flex;flex-wrap:wrap;align-items:center;gap:.5em}
.ai-brief{flex:1 1 20em;min-width:0}
.ai-brief summary{cursor:pointer}
.ai-brief__body{white-space:pre-wrap;padding:.5em;background:color-mix(in oklch,var(--color-text,#000) 7%,var(--color-bg,#fff));border-radius:.5em;margin-block:.4em;max-height:40vh;overflow:auto}
.ai-brief textarea{width:100%;min-height:10em;margin-block:.4em}
.ai-bots{display:flex;flex-wrap:wrap;gap:.4em}
.ai-chip{border:1px solid var(--color-border,#ccc);border-radius:1em;padding:.1em .7em;white-space:nowrap}
.ai-chip--idle::before,.ai-chip--busy::before,.ai-chip--waiting::before,.ai-chip--offline::before{content:"● "}
.ai-chip--idle::before{color:#2a9d4b}.ai-chip--busy::before{color:#2f6fde}.ai-chip--waiting::before{color:#d98a00}.ai-chip--offline::before{color:#999}
.ai-archived{background:color-mix(in oklch,#e0a800 25%,var(--color-bg,#fff));padding:.4em .8em;border-radius:.5em}
.ai-block{display:flex;flex-direction:column;gap:.4em;margin-block-start:.3em}
.ai-badge{align-self:flex-start;font-size:.8em;border-radius:1em;padding:0 .6em;background:color-mix(in oklch,var(--color-text,#000) 7%,var(--color-bg,#fff));opacity:.85}
.ai-note{font-size:.85em;opacity:.75}.ai-note--error{color:#b3261e}
.ai-run,.ai-handoff{border:1px solid var(--color-border,#ddd);border-radius:.6em;padding:.5em .7em;display:flex;flex-direction:column;gap:.4em}
.ai-run__head,.ai-handoff__head{display:flex;align-items:center;gap:.5em;flex-wrap:wrap}
.ai-status--queued,.ai-status--running{color:#2f6fde}.ai-status--waiting_approval{color:#d98a00}.ai-status--done{color:#2a9d4b}.ai-status--error{color:#b3261e}.ai-status--stopped{color:#777}
.ai-run__events ol{margin:.3em 0;padding-inline-start:1.6em;font-size:.85em;max-height:18em;overflow:auto}
.ai-event--sub{margin-inline-start:1.2em;opacity:.8}.ai-event--sub::marker{content:"└ "}
.ai-event--tool{font-family:ui-monospace,monospace}
.ai-approval{display:flex;flex-direction:column;gap:.3em;padding:.4em;border-radius:.5em;background:color-mix(in oklch,#e0a800 18%,var(--color-bg,#fff))}
.ai-approval--allow,.ai-approval--deny,.ai-approval--expired{background:transparent;font-size:.85em;opacity:.75}
.ai-approval code{white-space:pre-wrap;word-break:break-all}
.ai-approval__actions,.ai-handoff__actions{display:flex;gap:.4em;flex-wrap:wrap}
.ai-handoff{background:color-mix(in oklch,#2f6fde 14%,var(--color-bg,#fff))}
.ai-handoff__fields{display:grid;grid-template-columns:max-content 1fr;gap:.2em .8em;margin:0}
.ai-handoff__fields dt{opacity:.75}.ai-handoff__fields dd{margin:0;white-space:pre-wrap}
.ai-handoff__need{font-weight:bold}
.ai-handoff__return{display:flex;flex-direction:column;gap:.3em;width:100%}
.ai-btn[hidden],[data-ai-owner][hidden],[data-ai-not-owner][hidden],[data-ai-user][hidden]{display:none!important}
.ai-composer-btn[aria-pressed="true"]{background:#444;color:#fff}
form.ai-muted .composer__input{background:repeating-linear-gradient(45deg,transparent,transparent 8px,color-mix(in oklch,var(--color-text,#000) 9%,transparent) 8px,color-mix(in oklch,var(--color-text,#000) 9%,transparent) 16px)!important;outline:2px dashed color-mix(in oklch,var(--color-text,#000) 35%,transparent)}
.ai-dialog{max-width:min(46em,94vw);max-height:90vh;overflow:auto;width:100%;border:none;background:var(--color-bg,#fff);color:var(--color-text,#000);border-radius:1em;padding:1em 1.2em;box-shadow:0 10px 40px rgba(0,0,0,.25)}
.ai-dialog h2{margin:0 0 .5em;font-size:1.15em}
.ai-dialog textarea,.ai-dialog select{width:100%;box-sizing:border-box}
.ai-dialog__list{max-height:40vh;overflow:auto;border:1px solid var(--color-border,#ddd);border-radius:.5em;padding:.3em .5em;margin-block:.4em}
.ai-dialog__item{display:flex;gap:.5em;align-items:flex-start;padding:.25em 0;border-bottom:1px dashed var(--color-border,#eee);font-size:.9em}
.ai-dialog__item small{opacity:.7}
.ai-dialog__item input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;display:inline-block;width:1.15em;height:1.15em;flex:none;margin:.15em 0 0;opacity:1;position:static}
.ai-dialog__foot{display:flex;justify-content:flex-end;gap:.5em;margin-block-start:.6em;flex-wrap:wrap}
.ai-dialog__error{color:#b3261e}
.ai-dialog label{display:block;margin-block:.5em .2em;font-weight:bold}
.ai-dialog label.ai-dialog__item{font-weight:normal;margin:0}
.ai-more{position:relative}.ai-more summary{list-style:none}.ai-more summary::-webkit-details-marker{display:none}
.ai-more__menu{position:absolute;right:0;top:110%;display:flex;flex-direction:column;gap:.3em;padding:.5em;background:var(--color-bg,#fff);border:1px solid var(--color-border,#ddd);border-radius:.6em;z-index:5;min-width:12em}
.ai-modes{display:flex;flex-wrap:wrap;gap:.6em}.ai-modes label{font-weight:normal;margin:0}.ai-modes input{appearance:auto;-webkit-appearance:radio;position:static;opacity:1;width:1em;height:1em}
.ai-meta{display:flex;flex-wrap:wrap;gap:.4em;align-items:center}
.ai-meta:empty{display:none}
.ai-badge--read{opacity:.6}
.ai-badge--unreviewed{background:color-mix(in oklch,#e0a800 25%,var(--color-bg,#fff))}
.ai-tools{display:none;gap:.3em}

.ai-tool{font-size:.75em;border:1px solid var(--color-border,#ccc);border-radius:1em;padding:0 .6em;background:transparent;color:inherit;cursor:pointer}
.ai-tool[hidden]{display:none}
.ai-translation{font-size:.9em;padding:.3em .6em;border-inline-start:3px solid var(--color-border,#ccc);white-space:pre-wrap}
.ai-annotations{margin:0;padding-inline-start:1.2em;font-size:.85em;list-style:none}
.ai-todos{list-style:none;margin:0;padding:0;font-size:.85em}
.ai-todo--completed{opacity:.6;text-decoration:line-through}
.ai-question{border:1px solid var(--color-border,#ddd);border-radius:.5em;margin:0;padding:.3em .6em}
.ai-question legend{font-weight:bold;padding:0 .3em}
.ai-option{display:block;padding:.15em 0;cursor:pointer}
.ai-option input{appearance:auto;-webkit-appearance:radio;width:1em;height:1em;position:static;opacity:1}
.ai-plan{white-space:pre-wrap;font-size:.85em;max-height:20em;overflow:auto;padding:.4em;border-radius:.4em;background:color-mix(in oklch,var(--color-text,#000) 6%,var(--color-bg,#fff))}
.ai-options,.ai-asks,.ai-proposal{display:flex;flex-direction:column;gap:.3em}
.ai-options__row{display:flex;align-items:center;gap:.5em;flex-wrap:wrap}
.ai-options__text{flex:1 1 12em}
.ai-options__count{font-size:.85em;opacity:.75}
.ai-ask{display:block}.ai-ask .ai-btn{margin-inline-start:.5em}
.ai-question legend{float:none;width:auto;text-align:start}
.ai-annot-stage{position:relative;display:inline-block;max-width:100%;cursor:crosshair}
.ai-annot-stage img{max-width:100%;max-height:60vh;display:block}
.ai-pin{position:absolute;transform:translate(-50%,-50%);background:#d93025;color:#fff;border-radius:50%;width:1.6em;height:1.6em;display:flex;align-items:center;justify-content:center;font-size:.8em;font-weight:bold;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.ai-pin--new{background:#2f6fde}
.ai-toast{position:fixed;bottom:5em;left:50%;transform:translateX(-50%);background:var(--color-text,#000);color:var(--color-bg,#fff);padding:.5em 1em;border-radius:.6em;z-index:100;font-size:.9em}
.ai-tldr{white-space:pre-wrap;font-size:.9em}
.ai-sensitive{background:color-mix(in oklch,#d93025 15%,var(--color-bg,#fff));padding:.4em .6em;border-radius:.5em}
.ai-schedules{display:flex;gap:.5em;overflow-x:auto;padding-block-end:.2em;scrollbar-width:thin}
.ai-schedules:empty{display:none}
.ai-sched{flex:0 0 auto;width:17em;border:1px solid var(--color-border,#ddd);border-radius:.6em;padding:.4em .6em;display:flex;flex-direction:column;gap:.2em;background:color-mix(in oklch,#2f6fde 6%,var(--color-bg,#fff))}
.ai-sched--paused{opacity:.65;background:transparent}
.ai-sched__head{display:flex;gap:.4em;align-items:baseline}
.ai-sched__title{font-weight:bold;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-sched__line{font-size:.85em;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-sched__line a{color:inherit}
.ai-sched__actions{display:flex;gap:.3em;flex-wrap:wrap;margin-block-start:.15em}
.ai-sched__state{font-size:.8em;white-space:nowrap}
.ai-sched__state--waiting_approval,.ai-sched__state--warn{color:#d98a00}.ai-sched__state--running,.ai-sched__state--queued{color:#2f6fde}.ai-sched__state--done{color:#2a9d4b}.ai-sched__state--error{color:#b3261e}
.ai-flash{outline:3px solid #2f6fde;outline-offset:2px;transition:outline-color 2s}
.ai-in-menu{display:none!important}
.ai-tools{display:none!important}
.ai-menu{display:flex;flex-direction:column;border-top:1px solid var(--color-border,#ddd);margin-block-start:.4em;padding-block-start:.3em}
.ai-menu__item{justify-content:flex-start;inline-size:100%!important;block-size:auto!important;min-height:2.4em;padding:.3em .6em!important;border-radius:.4em!important;font-size:.9em;white-space:nowrap;background:transparent;border:0}
.ai-menu__item:hover{background:color-mix(in oklch,var(--color-text,#000) 8%,transparent)}
.ai-mobile[hidden]{display:none!important}
.ai-message-hint{font-size:.8em;opacity:.6;padding:0 1em}
.message{scroll-margin-top:calc(var(--ai-nav-height,0px) + var(--ai-panel-height,0px) + 8px)}
.ai-panel{align-self:start}
.ai-run__events ol{padding-inline-start:2.2em}
/* ═══ 版面：一套設計，三個寬度 ═══
   ≥100ch（約 880px，沿用 Campfire 的斷點）：房間列表固定在左邊；更窄：從左邊滑出（☰ 在左上）；
   ≤640px：對話框從底部升起；觸控裝置：按鈕加大。其他樣式所有寬度共用。 */
.ai-desk{display:none!important}
.ai-more__handoff{display:inline-flex}
/* 上方大面板拿掉：簡報、檔案、排程都在 ⋯；只留封存、訪客、分出來的提示 */
.ai-panel__row,.ai-schedules{display:none!important}
.ai-panel{position:static;border:0;padding:.5rem 1rem 0;background:transparent;font-size:.85rem}
.ai-panel:not(:has(.ai-archived,.ai-note,.ai-tldr:not([hidden]))){display:none}
.ai-panel .ai-archived{padding:.45rem .8rem;border-radius:.6rem}
/* 上方：☰（左，窄螢幕才有）｜房名＋狀態｜⋯（右），一條 */
#nav{inset-inline:var(--sidebar-width) 0!important;margin-inline:0!important}
#nav::before{display:none!important}
#nav:has(.room--current){--btn-size:2.25rem;background:var(--color-bg);border-bottom:1px solid color-mix(in oklch,var(--color-border) 60%,transparent);padding-block:.3rem!important;padding-inline:1rem .5rem!important;min-height:3.1rem;column-gap:.25rem!important}
#nav .room--current{display:flex!important;flex-direction:column;align-items:flex-start;justify-content:center;gap:.05rem!important;block-size:auto!important;inline-size:auto!important;flex:1 1 auto;min-width:0;margin:0!important;padding:0!important;background:transparent!important;color:var(--color-text)!important;border:0!important;box-shadow:none!important}
#nav .room--current h1{font-size:1rem;font-weight:600;line-height:1.2;max-inline-size:100%}
.ai-room-sub{display:block!important;font-size:.75rem;line-height:1.2;color:color-mix(in oklch,var(--color-text) 62%,var(--color-bg));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-inline-size:100%}
#nav a[data-room-id],#nav .button_to_change_notifying,#nav .account-logo{display:none!important}
.ai-nav-btn{pointer-events:auto;position:relative;flex:none;inline-size:var(--btn-size)!important;padding:0!important;background:transparent!important;border:0!important;color:var(--color-text);border-radius:50%}
.ai-nav-btn:hover{background:color-mix(in oklch,var(--color-text) 7%,transparent)!important}
.ai-nav-btn__dot{position:absolute;right:.3rem;top:.35rem;width:.5rem;height:.5rem;border-radius:50%;background:#9a9a9a;box-shadow:0 0 0 2px var(--color-bg)}
.ai-pop__header .ai-nav-btn__dot{position:static;flex:none;box-shadow:none}
.ai-nav-btn__dot--idle{background:#2a9d4b}.ai-nav-btn__dot--busy{background:#2f6fde}.ai-nav-btn__dot--waiting{background:#d98a00}
/* 訊息和輸入框：同一欄，寬螢幕置中、不拉滿 */
.messages{padding-inline:max(.75rem,calc((100% - 52rem) / 2))!important}
#footer:has(#composer){padding-inline:max(0px,calc((100% - 53.5rem) / 2))}
/* 房間列表：所有寬度同一套樣式（實心背景、一列一間） */
body.sidebar #sidebar{background:var(--color-bg)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-inline-end:1px solid color-mix(in oklch,var(--color-border) 70%,transparent)}
.sidebar__tools{inline-size:auto!important;inset-inline:0!important}
#sidebar .directs{padding:.75rem .75rem .5rem!important;gap:.5rem!important;background:var(--color-bg)}
#sidebar .directs--new{padding-inline:.75rem!important}
#sidebar .direct__new .avatar{--avatar-size:2.5rem}
#sidebar .rooms{padding-block-start:.25rem!important;gap:.1rem!important;padding-inline:.5rem!important}
#sidebar .rooms__new-btn{inline-size:100%!important;justify-content:flex-start!important;gap:.6rem!important;border:0!important;background:transparent!important;color:var(--color-text)!important;min-block-size:2.75rem;padding-inline:.75rem!important;border-radius:.6rem;opacity:.75}
#sidebar .rooms__new-btn:hover{opacity:1;background:color-mix(in oklch,var(--color-text) 6%,transparent)!important}
#sidebar .rooms__new-btn img{filter:none}
@media (prefers-color-scheme:dark){#sidebar .rooms__new-btn img{filter:invert(1)}}
#sidebar .rooms__new-btn .ai-label{display:inline;font-weight:500}
#sidebar .sidebar__tools{justify-content:flex-start!important;gap:.5rem!important;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom))!important;--btn-size:2.25rem;border-top:1px solid color-mix(in oklch,var(--color-border) 50%,transparent);background:var(--color-bg)}
#sidebar .rooms .room.btn:not(.rooms__new-btn){inline-size:100%;justify-content:flex-start;border:0!important;background:transparent!important;color:var(--color-text)!important;border-radius:.6rem;min-block-size:2.75rem;padding-inline:.75rem;font-weight:500}
#sidebar .rooms .room.btn:not(.rooms__new-btn):active,#sidebar .rooms .room.btn:not(.rooms__new-btn):hover{background:color-mix(in oklch,var(--color-text) 8%,transparent)!important}
#sidebar .rooms .room.btn[aria-current="page"]{background:color-mix(in oklch,var(--color-text) 10%,transparent)!important;font-weight:650}
/* 寬螢幕：房間列表固定在左邊 */
@media (min-width:100ch){
body.sidebar{--sidebar-width:17.5rem;grid-template-areas:"sidebar nav" "sidebar main";grid-template-columns:var(--sidebar-width) minmax(0,1fr)}
body.sidebar #sidebar{transform:translateX(0)}
body.sidebar #main-content{margin-inline:0!important;border-inline:0!important}
}
/* 窄螢幕：房間列表從左邊滑出，☰ 在左上 */
@media (max-width:100ch){
#nav:has(.room--current){padding-inline-start:calc(var(--btn-size) + .9rem)!important}
#sidebar{inset:0 auto 0 0!important;inline-size:min(84vw,22rem);transform:translateX(-100%)!important;transition:transform 260ms cubic-bezier(.2,.8,.2,1),box-shadow 260ms ease!important}
#sidebar.open{transform:translateX(0)!important;box-shadow:0 0 0 100vmax rgba(0,0,0,.38),8px 0 32px rgba(0,0,0,.25)}
.sidebar__toggle{inset-inline-start:calc(100% + .45rem)!important;inset-block-start:.4rem!important;--btn-size:2.25rem;background:transparent!important;border:0!important}
#sidebar.open .sidebar__toggle{display:none!important}
#sidebar:not(.open){pointer-events:none}
#sidebar:not(.open) .sidebar__toggle{pointer-events:auto}
}
/* 下方：＋｜輸入框｜✦｜送出（搜尋、格式、🔇、對話都在 ＋ 或 ⋯ 裡） */
.composer__context-btn,.composer__rich-text-btn,.ai-composer-btn,.composer__input-hint,.composer__attachment-btn{display:none!important}
.composer{padding-block:.25rem .35rem!important}
#composer{margin-block:0!important}
.ai-plus{flex:none;align-self:center;min-width:2.25rem;block-size:2.25rem;padding:0!important;color:var(--color-text);border-radius:50%}
.ai-plus:hover{background:color-mix(in oklch,var(--color-text) 7%,transparent)}
#composer.ai-muted .ai-plus{color:#d98a00}
.panel:has(.ai-submit){padding-block-end:calc(5rem + env(safe-area-inset-bottom))}
.ai-submit{position:sticky;bottom:calc(.75rem + env(safe-area-inset-bottom));z-index:2;box-shadow:0 6px 20px -6px rgba(0,0,0,.35)}
.ai-sched-list{display:flex;flex-direction:column;gap:.5rem}
.ai-sched-list .ai-sched{width:auto}
.ai-run__head{gap:.3em;font-size:.9em}
.ai-badge--unreviewed{font-size:0;padding:0;width:.6em;height:.6em;border-radius:50%;background:#e0a800}
/* 對話框：寬螢幕置中；手機從底部升起 */
.ai-dialog{border-radius:1rem;padding:1.1rem 1.25rem 1rem}
.ai-dialog__foot .btn{min-height:2.5rem}
@media (max-width:640px){
.ai-dialog{position:fixed;inset:auto 0 0 0;margin:0;max-width:100vw;width:100vw;max-height:85dvh;border-radius:1rem 1rem 0 0;padding:1rem 1rem calc(.8rem + env(safe-area-inset-bottom))}
.ai-dialog__foot{position:sticky;bottom:calc(-.8rem - env(safe-area-inset-bottom));background:var(--color-bg);padding-block:.5rem;margin-block-end:-.5rem}
.ai-dialog__foot .btn{min-height:44px;flex:1}
.ai-dialog__list{max-height:none}
.ai-dialog__item{padding:.5em 0}
}
/* 觸控：按鈕加大 */
@media (pointer:coarse){
.ai-tool{min-height:32px;padding:.2em .8em}
.ai-run__head .btn--small{min-height:32px}
}
.message .message__boost-inline{display:inline-flex!important}
.message:not(:has(.boost-item)) .message__boost-inline .boost__action{opacity:.45}
.message:not(:has(.boost-item)) .message__boost-inline .boost__action:hover{opacity:1}
.ai-pop--reactions{display:flex;gap:.1rem;padding:.3rem;min-inline-size:0;border-radius:2rem}
.ai-react{font-size:1.45rem;line-height:1;inline-size:2.6rem;block-size:2.6rem;border:0;border-radius:50%;background:transparent;cursor:pointer;color:var(--color-text)}
.ai-react:hover,.ai-react:focus-visible{background:color-mix(in oklch,var(--color-text) 9%,transparent);outline:none}
.ai-react--more{font-size:1.1rem;opacity:.7}
.ai-menu-only{display:none!important}
.ai-tag{align-self:flex-start;font-size:.75rem;color:color-mix(in oklch,var(--color-text) 60%,var(--color-bg))}
.ai-run{border:0!important;padding:0!important;gap:.5rem!important;background:transparent!important}
.message:has(.ai-run--active) [id^="presentation_message_"],.message:has(.ai-handoff) [id^="presentation_message_"]{display:none}
.ai-live{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:color-mix(in oklch,var(--color-text) 70%,var(--color-bg));min-width:0}
.ai-live__text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-live__dot{flex:none;width:.5rem;height:.5rem;border-radius:50%;background:#2f6fde;animation:ai-pulse 1.4s ease-in-out infinite}
.ai-run--waiting_approval .ai-live__dot{background:#d98a00;animation:none}
.ai-run--queued .ai-live__dot{background:#9a9a9a}
@keyframes ai-pulse{0%,100%{opacity:1}50%{opacity:.3}}
@media (prefers-reduced-motion:reduce){.ai-live__dot{animation:none}}
.ai-link{border:0;background:transparent;color:var(--color-link);font:inherit;font-size:.85rem;padding:.25rem .1rem;cursor:pointer;white-space:nowrap}
.ai-link[hidden]{display:none}
.ai-decide{display:flex;flex-direction:column;gap:.5rem;padding:.7rem .8rem;border-radius:.8rem;background:color-mix(in oklch,#d98a00 12%,var(--color-bg));border:1px solid color-mix(in oklch,#d98a00 30%,transparent)}
.ai-decide__what{font-size:.95rem;line-height:1.45;word-break:break-word}
.ai-decide__actions{display:flex;gap:.5rem;flex-wrap:wrap}
.ai-decide__actions[hidden]{display:none}
.ai-pill{min-height:2.25rem;padding:0 1rem;border-radius:2rem;border:1px solid color-mix(in oklch,var(--color-border) 90%,transparent);background:var(--color-bg);color:var(--color-text);font:inherit;font-size:.9rem;font-weight:500;cursor:pointer}
.ai-pill--primary{background:var(--color-text);color:var(--color-bg);border-color:transparent}
.ai-pill:disabled{opacity:.5}
.ai-foot{font-size:.8rem;color:color-mix(in oklch,var(--color-text) 55%,var(--color-bg))}
.ai-foot summary{cursor:pointer;list-style:none;display:inline-flex;gap:.25rem;align-items:center}
.ai-foot summary::-webkit-details-marker{display:none}
.ai-foot summary::after{content:"›";transition:transform 150ms ease}
.ai-foot[open] summary::after{transform:rotate(90deg)}
.ai-foot__steps{margin:.4rem 0;padding-inline-start:1.4rem;max-height:40dvh;overflow:auto}
.ai-foot__decision{margin-block:.15rem}
.ai-options{display:flex;flex-direction:column;gap:.35rem}
.ai-option-vote{display:flex;align-items:center;gap:.5rem;text-align:start;min-height:2.5rem;padding:.4rem .8rem;border-radius:.7rem;border:1px solid color-mix(in oklch,var(--color-border) 80%,transparent);background:transparent;color:var(--color-text);font:inherit;cursor:pointer}
.ai-option-vote:hover{background:color-mix(in oklch,var(--color-text) 6%,transparent)}
.ai-asks{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem}
.ai-ask{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem}
.ai-ask__q::before{content:"需要人幫忙：";color:color-mix(in oklch,var(--color-text) 60%,var(--color-bg))}
.ai-proposal{display:flex;gap:.5rem;align-items:baseline;font-size:.9rem;flex-direction:row!important}
.ai-talk-bar{display:flex;align-items:center;gap:.5rem;font-size:.8rem;padding:.2rem .9rem .35rem;color:color-mix(in oklch,var(--color-text) 70%,var(--color-bg))}
.ai-talk-bar[hidden]{display:none}
.ai-talk-bar span:nth-child(2){flex:1}
#composer.ai-talking .composer__input{box-shadow:0 0 0 2px color-mix(in oklch,#2f6fde 55%,transparent)}
.ai-composer-btn[data-ai-composer-target="talkButton"][aria-pressed="true"]{background:#2f6fde;color:#fff}
/* 表情按鈕：小、淡 */
.message .message__boost-inline .boost__action{--btn-size:1.75rem;border:0!important;background:transparent!important;padding:0!important}
.message .message__boost-inline .boost__action img{width:16px;height:16px}
.ai-private{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;color:color-mix(in oklch,var(--color-text) 55%,var(--color-bg))}
.message.ai-is-private .message__body{background:color-mix(in oklch,var(--color-text) 3%,transparent);outline:1px dashed color-mix(in oklch,var(--color-border) 90%,transparent);outline-offset:-1px}
.ai-taken{font-size:.75rem;color:color-mix(in oklch,var(--color-text) 55%,var(--color-bg))}
.ai-private-btn{flex:none;align-self:center;min-width:2.25rem;block-size:2.25rem;padding:0!important;color:color-mix(in oklch,var(--color-text) 70%,var(--color-bg))}
.ai-private-btn[hidden]{display:none!important}
#composer.ai-talk-public .ai-private-btn{color:#2f6fde}
.ai-label{display:none}
.ai-submit{display:flex!important;inline-size:100%;justify-content:center;min-block-size:3rem;border-radius:2rem;font-size:1rem;font-weight:600;margin-block:1rem 0}
/* 跳出的小選單 */
.ai-pop{position:fixed;z-index:60;min-inline-size:15rem;max-inline-size:calc(100vw - 1rem);max-block-size:calc(100dvh - 6rem);overflow:auto;padding:.3rem;border-radius:.9rem;background:var(--color-bg);color:var(--color-text);border:1px solid color-mix(in oklch,var(--color-border) 70%,transparent);box-shadow:0 12px 32px -8px rgba(0,0,0,.35),0 2px 6px rgba(0,0,0,.12);opacity:0;transform:translateY(-4px) scale(.98);transform-origin:top right;transition:opacity 140ms ease-out,transform 180ms cubic-bezier(.2,.8,.2,1)}
.ai-pop--above{transform-origin:bottom left;transform:translateY(4px) scale(.98)}
.ai-pop--in{opacity:1;transform:none}
.ai-pop__header{display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem .55rem;font-size:.8rem;color:color-mix(in oklch,var(--color-text) 65%,var(--color-bg));border-bottom:1px solid color-mix(in oklch,var(--color-border) 55%,transparent);margin-block-end:.2rem}
.ai-pop__group+.ai-pop__group{border-top:1px solid color-mix(in oklch,var(--color-border) 55%,transparent);margin-block-start:.2rem;padding-block-start:.2rem}
.ai-pop__item{display:flex;align-items:center;gap:.75rem;inline-size:100%;min-block-size:2.75rem;padding:0 .7rem;border:0;border-radius:.6rem;background:transparent;color:inherit;font:inherit;font-size:.95rem;text-align:start;cursor:pointer}
.ai-pop__item:hover,.ai-pop__item:focus-visible{background:color-mix(in oklch,var(--color-text) 7%,transparent);outline:none}
.ai-pop__item:active{background:color-mix(in oklch,var(--color-text) 12%,transparent)}
.ai-pop__item .ai-icon{display:inline-flex;color:color-mix(in oklch,var(--color-text) 72%,var(--color-bg))}
.ai-pop__label{flex:1}
.ai-pop__hint{font-size:.8rem;color:color-mix(in oklch,var(--color-text) 55%,var(--color-bg));font-variant-numeric:tabular-nums}
.ai-pop__item--danger,.ai-pop__item--danger .ai-icon{color:var(--color-negative,#c62828)}
.ai-icon{display:inline-flex;line-height:0}
@media (prefers-reduced-motion:reduce){.ai-pop{transition:none}#sidebar{transition:none!important}}
.ai-run-icon{display:none}
.ai-code{position:relative}
.ai-code pre{white-space:pre-wrap;overflow-wrap:anywhere;background:color-mix(in oklch,var(--color-text) 7%,var(--color-bg));color:inherit;padding:.9rem;padding-inline-end:4.5rem;border-radius:.6rem;margin:0}
.ai-code__copy{position:absolute;top:.5rem;right:.5rem;min-height:2rem;font-size:.8rem}
.ai-dialog__error{color:var(--color-negative,#b3261e)}
/* 非房間頁的頂欄：不透明、不壓在內容上；返回鈕靠左 */
#nav:not(:has(.room--current)){background:var(--color-bg);border-bottom:1px solid color-mix(in oklch,var(--color-border) 50%,transparent);padding-inline:.6rem!important;--btn-size:2.5rem}
#nav:not(:has(.room--current)) .btn{pointer-events:auto}
.directs--new .autocomplete__input{min-block-size:2.75rem}
.directs--new .btn{--btn-size:2.75rem}
.ai-inline-save{inline-size:auto!important;block-size:auto!important;min-block-size:2.5rem;padding:0 1.1rem!important;border-radius:2rem!important;font-weight:600;white-space:nowrap;flex:none}
.ai-chip-btn{inline-size:auto!important;block-size:auto!important;min-block-size:2rem;padding:0 .8rem!important;border-radius:2rem!important;font-size:.85rem;white-space:nowrap}

/* 主畫面圖示右下角的 once.com logo 不顯示 */
#app-logo{display:none!important}
/* @ 名單：自己的 Claude 標出來 */
.ai-mention-hint{font-size:.75em;color:#2f6fde;font-weight:500}
/* 自動完成下拉：跟著主題色 */
.autocomplete__list,lexxy-prompt-menu,.lexxy-prompt-menu{background:var(--color-bg)!important;color:var(--color-text)!important;border:1px solid color-mix(in oklch,var(--color-border) 70%,transparent)!important;border-radius:.9rem!important;box-shadow:0 12px 32px -8px rgba(0,0,0,.35)!important;padding:.25rem!important}
.autocomplete__list{max-block-size:min(18rem,50dvh)!important;max-inline-size:none!important;inline-size:100%}
/* 訊息的 ••• 選單：圓角、陰影，跟其他小選單一致 */
.message__actions-menu{border-radius:.9rem!important;border:1px solid color-mix(in oklch,var(--color-border) 70%,transparent)!important;box-shadow:0 12px 32px -8px rgba(0,0,0,.35),0 2px 6px rgba(0,0,0,.12)!important;background:var(--color-bg)!important;padding:.35rem!important}
.message__actions-menu .quick-boosts .btn{--btn-size:2.4rem;border:0!important;background:transparent!important;border-radius:50%}
.message__actions-menu .quick-boosts .btn:hover{background:color-mix(in oklch,var(--color-text) 8%,transparent)!important}
.message__actions-grid{border-top:1px solid color-mix(in oklch,var(--color-border) 55%,transparent)!important}
.message__actions-grid .btn{border:0!important;background:transparent!important;border-radius:.6rem}
.message__actions-grid .btn:hover{background:color-mix(in oklch,var(--color-text) 8%,transparent)!important}
.ai-menu{border-top:1px solid color-mix(in oklch,var(--color-border) 55%,transparent)}

/* 上傳欄位的「未選擇檔案」字樣不要露出來（iOS 會在頭像旁邊露出一個字） */
.input--file input[type=file]{opacity:0!important;color:transparent!important;font-size:0!important}
/* 訊息內文：段落、清單、標題之間留空間 */
[id^="presentation_message_"] p,[id^="presentation_message_"] ul,[id^="presentation_message_"] ol,[id^="presentation_message_"] table,[id^="presentation_message_"] pre,[id^="presentation_message_"] blockquote{margin-block:0 .65em}
[id^="presentation_message_"] > :last-child{margin-block-end:0}
[id^="presentation_message_"] li{margin-block:.2em}
[id^="presentation_message_"] li > p{margin:0}
[id^="presentation_message_"] h3,[id^="presentation_message_"] h4,[id^="presentation_message_"] h5{margin-block:1em .4em;font-size:1.02em}
[id^="presentation_message_"] h3:first-child,[id^="presentation_message_"] h4:first-child{margin-block-start:0}
[id^="presentation_message_"] table{border-collapse:collapse;font-size:.92em;display:block;overflow-x:auto;max-inline-size:100%}
[id^="presentation_message_"] th,[id^="presentation_message_"] td{border:1px solid color-mix(in oklch,var(--color-border) 80%,transparent);padding:.35em .6em;text-align:start;vertical-align:top}
/* 工作過程：不要橫向捲動 */
.ai-foot__steps li{white-space:normal;overflow-wrap:anywhere}
.ai-event--tool{font-family:inherit!important}
/* 提示訊息放上方，不蓋住選單 */
.ai-toast{bottom:auto!important;top:calc(var(--ai-nav-height,0px) + .75rem);border-radius:2rem!important;box-shadow:0 8px 24px -8px rgba(0,0,0,.4)}
/* 底部對話框後面變暗 */
.ai-dialog::backdrop{background:rgba(0,0,0,.45)}
/* 個人資料的登出、帳號設定的進階連結：放最下面、低調 */
.ai-logout{display:flex;justify-content:center;margin-block:1.5rem 2.5rem}
.ai-logout__btn{inline-size:auto!important;block-size:auto!important;min-block-size:2.5rem;padding:0 1.4rem!important;border-radius:2rem!important;color:var(--color-negative,#c62828)!important}
.ai-advanced{display:flex;justify-content:center;gap:1rem;margin-block:1.5rem 2.5rem;font-size:.85rem;color:color-mix(in oklch,var(--color-text) 60%,var(--color-bg))}
.ai-advanced a{color:inherit}

/* 私訊：直接列出可以私訊的人 */
.ai-people{display:flex;flex-direction:column;gap:.1rem;margin-block-start:.5rem;max-block-size:50dvh;overflow-y:auto}
.ai-person{display:flex;align-items:center;gap:.75rem;inline-size:100%;min-block-size:2.75rem;padding:.25rem .5rem;border:0;border-radius:.6rem;background:transparent;color:var(--color-text);font:inherit;text-align:start;cursor:pointer}
.ai-person:hover,.ai-person:focus-visible{background:color-mix(in oklch,var(--color-text) 8%,transparent);outline:none}
.ai-person img{inline-size:2rem;block-size:2rem;border-radius:50%;object-fit:cover}

/* 沒有房間列表的頁面，空的側欄不要擋住點按 */
#sidebar:empty{display:none!important}
main:not(:has(.ai-panel)){padding-block-start:.6rem}
/* 私訊整頁版：輸入框不要塌掉 */
.directs--new .autocomplete__container{flex:1 1 auto;min-inline-size:0}
/* @ 名單：提示不折行、頭像不被擠小 */
.ai-mention-hint{display:block;color:light-dark(#1f5bc4,#8ab4ff);font-size:.78em}
.autocomplete__item .avatar,.autocomplete__item img{flex:none}
/* 訊息裡的 @ 沒有頭像時不要留空白 */
.mention:not(:has(img)){padding-inline-start:0!important}
.ai-back{display:inline-block;font-size:.9rem;color:color-mix(in oklch,var(--color-text) 65%,var(--color-bg));text-decoration:none;margin-block-end:.25rem}

/* 房間檔案夾 */
.ai-folder-card{display:flex;flex-direction:column;gap:.3rem;inline-size:100%;text-align:start;padding:.6rem .75rem;border-radius:.75rem;border:1px solid color-mix(in oklch,#2f6fde 35%,transparent);background:color-mix(in oklch,#2f6fde 9%,var(--color-bg));color:var(--color-text);font:inherit;font-size:.88rem;cursor:pointer}
.ai-folder-card__head{display:flex;align-items:center;gap:.4rem;font-weight:600;color:light-dark(#1f5bc4,#8ab4ff)}
.ai-folder-card__row{display:flex;justify-content:space-between;gap:.75rem}
.ai-folder-card__path{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-folder-card__tag{flex:none;font-size:.82em}
.ai-folder-card__tag--added{color:light-dark(#1a7f4b,#4cc38a)}.ai-folder-card__tag--modified{color:light-dark(#1f5bc4,#8ab4ff)}.ai-folder-card__tag--deleted{color:var(--color-negative,#c62828)}
.ai-folder-card__more,.ai-folder-card__note{font-size:.82em;color:color-mix(in oklch,var(--color-text) 65%,var(--color-bg))}
.ai-file-group{border-top:1px solid color-mix(in oklch,var(--color-border) 55%,transparent);padding-block:.4rem}
.ai-file-group>summary{cursor:pointer;font-weight:600;font-size:.9rem;padding-block:.35rem;color:color-mix(in oklch,var(--color-text) 75%,var(--color-bg))}
.ai-file{display:flex;align-items:center;gap:.6rem;min-block-size:2.75rem}
.ai-file .ai-icon{color:color-mix(in oklch,var(--color-text) 55%,var(--color-bg))}
.ai-file__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);text-decoration:none}
.ai-file__size{font-size:.78rem;color:color-mix(in oklch,var(--color-text) 55%,var(--color-bg));font-variant-numeric:tabular-nums}
.ai-file__act{border:0;background:transparent;color:var(--color-link);font:inherit;font-size:.85rem;padding:.3rem .2rem;cursor:pointer;text-decoration:none;white-space:nowrap}
.ai-file__act--quiet{color:color-mix(in oklch,var(--color-text) 50%,var(--color-bg))}
.ai-version{display:flex;align-items:center;gap:.6rem;min-block-size:2.5rem;font-size:.88rem}
.ai-version__text{flex:1;min-width:0}
.ai-version__now{font-size:.8rem;color:color-mix(in oklch,var(--color-text) 55%,var(--color-bg))}

.ai-consult{display:flex;flex-direction:column;gap:.5rem;padding:.55rem .75rem;border-radius:.75rem;background:color-mix(in oklch,var(--color-text) 5%,var(--color-bg));font-size:.88rem}
.ai-consult__status{color:color-mix(in oklch,var(--color-text) 65%,var(--color-bg))}
.ai-consult--pending .ai-consult__status{color:light-dark(#9a5b00,#f3b65b)}

/* ✦ 交給我的 Claude */
.ai-hand-btn{flex:none;align-self:center;min-width:2.25rem;block-size:2.25rem;padding:0!important;color:color-mix(in oklch,var(--color-text) 70%,var(--color-bg))}
.ai-hand-btn:hover{color:#2f6fde}
.ai-hand-btn:disabled{opacity:.4}
#composer.ai-talking .ai-hand-btn{display:none}
/* AI 從外面問的問題卡 */
.ai-qcard{display:flex;flex-direction:column;gap:.4rem;margin-block-start:.35rem}
.ai-qcard__status{font-size:.78rem;color:color-mix(in oklch,var(--color-text) 60%,var(--color-bg))}
.ai-qcard--pending .ai-qcard__status{color:#2f6fde}
.ai-qcard__options{display:flex;flex-wrap:wrap;gap:.35rem}
/* 字級：用滑鼠的電腦小一級（版面密度跟著 rem 一起收）；觸控維持 16px（iOS 輸入框小於 16px 會自動放大） */
[id^="presentation_message_"]{line-height:1.6}
@media (pointer:fine){
html{font-size:15px}
[id^="presentation_message_"]{font-size:.9667rem}
#sidebar .rooms .room.btn:not(.rooms__new-btn),#sidebar .rooms__new-btn{font-size:.9333rem;font-weight:450!important;min-block-size:2.4rem}
#sidebar .rooms .room.btn[aria-current="page"]{font-weight:600!important}
.message__author,.message__timestamp{font-size:.8rem}
#composer lexxy-editor,#composer .lexxy-editor__content{font-size:.9667rem}
}

/* ═══ 非房間頁：跟房間頁同一套頂欄（返回｜標題）與內容欄，所有寬度一樣（不再是電腦版的浮起卡片） ═══ */
#nav:not(:has(.room--current)){min-height:3.1rem;padding-block:.3rem!important;align-items:center!important;column-gap:.25rem!important;--btn-size:2.25rem}
#nav:not(:has(.room--current,.btn,.ai-page-title,input,.searches__query)){border-bottom-color:transparent!important;background:transparent!important}
.btn:has(> img[src*="arrow-left"]),#nav .btn:has(> img[src*="pencil"]),#nav .btn:has(> img[src*="login"]){border:0!important;background:transparent!important;border-radius:50%;box-shadow:none!important}
.btn:has(> img[src*="arrow-left"]):hover,#nav .btn:has(> img[src*="pencil"]):hover{background:color-mix(in oklch,var(--color-text) 7%,transparent)!important}
#nav:has(.ai-page-title) .flex-item-justify-start{margin-inline-end:0!important}
.ai-page-title{margin:0 auto 0 .15rem;display:flex;align-items:baseline;gap:.5rem;min-width:0;font-size:1rem;font-weight:600;line-height:1.2;white-space:nowrap}
.ai-page-title > span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.ai-page-title small{flex:none;font-size:.75rem;font-weight:500;color:color-mix(in oklch,var(--color-text) 62%,var(--color-bg))}
.panel{box-shadow:none!important;border:0!important;background:transparent!important;border-radius:0!important;--panel-padding:1rem;inline-size:min(36rem,100%)!important;margin-block-start:4rem!important}
.panel.panel--wide,section.panel--wide{inline-size:min(44rem,100%)!important}
/* 清單裡連接標籤和開關的虛線：拿掉，靠留白對齊 */
:where(li,label,.flex) > .separator:not(.full-width){border-block-start-color:transparent!important}
/* 搜尋：小小的一句空狀態，不要整面大放大鏡 */
.ai-empty{margin:0;padding:2rem 1rem;text-align:center;font-size:.95rem;line-height:1.6;color:color-mix(in oklch,var(--color-text) 55%,var(--color-bg))}
.message-area:not(:has(.message)) .message-area--empty{inline-size:min(28rem,100%)}
.searches #nav{align-items:center!important}
.searches__query{min-block-size:auto!important;padding:0!important;min-width:0;flex:1 1 auto}
/* 私訊：輸入框在整頁版不要被壓扁 */
.autocomplete__container{max-inline-size:none!important;flex:1 1 auto;min-inline-size:0}
.directs--new > .txt-small{text-align:start!important;padding-inline:.25rem;color:color-mix(in oklch,var(--color-text) 55%,var(--color-bg))}
/* 房間：狀態點放在房名下面那行，⋯ 只是一顆按鈕 */
.ai-status-dot{display:inline-block;inline-size:.45rem;block-size:.45rem;border-radius:50%;background:#9a9a9a;margin-inline-end:.35rem;vertical-align:.08em}
.ai-status-dot--idle{background:#2a9d4b}.ai-status-dot--busy{background:#2f6fde}.ai-status-dot--waiting{background:#d98a00}
.ai-pop__item{box-shadow:none!important;outline:none!important}
.ai-pop__item:focus-visible{background:color-mix(in oklch,var(--color-text) 9%,transparent)}
/* Claude 給的選項：看得出是可以點的 */
.ai-option-vote{border-color:color-mix(in oklch,var(--color-text) 22%,transparent)!important;background:color-mix(in oklch,var(--color-bg) 70%,transparent)!important;font-size:.92em}
.ai-option-vote:hover{border-color:color-mix(in oklch,var(--color-text) 40%,transparent)!important}
/* 檔案夾卡片：中性色，不搶內容 */
.ai-folder-card{border-color:color-mix(in oklch,var(--color-border) 90%,transparent)!important;background:color-mix(in oklch,var(--color-text) 3%,var(--color-bg))!important}
.ai-folder-card__head{color:var(--color-text)!important;font-weight:600}
/* 訊息的 ••• 選單：表情排成一列 */
.message__actions-menu{min-inline-size:16.5rem}
.message__actions-menu .quick-boosts{display:flex!important;flex-wrap:wrap;gap:.1rem}
/* 搜尋：沒有最近搜尋時，寬螢幕不留一條空的側欄 */
@media (min-width:100ch){body.searches:not(:has(#sidebar .room)){--sidebar-width:0px}}
body.searches:not(:has(#sidebar .room)) #sidebar{display:none}
/* 私訊整頁：跟其他頁同一欄寬，提示字靠左 */
#main-content .directs--new{inline-size:min(40rem,100%);margin-inline:auto;margin-block-start:3.5rem}
.directs--new > span.txt-small,.directs--new > .txt-small{text-align:start!important;align-self:flex-start;margin-inline-start:3rem}
