/* One quiet doorway to Sidekicks; conversation remains the primary surface. */
.sidekick-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;padding:8px 22px;border-bottom:1px solid var(--line,#d8dfd8);background:#f6f7f2;min-height:54px}
.sidekick-bar-label{font-size:12px;color:#526459}
.sidekick-launcher{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:6px 11px;border:1px solid #cbd8c9;border-radius:12px;background:#fffefa;color:#194f3c;font-weight:700;font-size:13px;cursor:pointer}
.sidekick-count{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 4px;background:#edf2e9;border-radius:7px;font-size:11px}
.sidekick-shelf{display:grid;gap:10px}
.sidekick-shelf-card{display:flex;align-items:center;gap:13px;width:100%;min-width:0;padding:17px 14px;text-align:left;border:1px solid #d7ded3;border-radius:16px;background:#fffefa;color:#213b2f;cursor:pointer}
.sidekick-shelf-card>.grow{min-width:0;display:grid;gap:5px}.sidekick-shelf-card strong{font-size:16px}.shelf-headline{font-size:13px;color:#526459;overflow-wrap:anywhere}
.shelf-glyph{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:#eaf1d8;font-weight:800;font-size:21px}
.sidekick-shelf-card[data-sidekick=trip] .shelf-glyph{background:#e9e1f7}.sidekick-shelf-card[data-sidekick=tambola] .shelf-glyph{background:#f3e7d7;font-size:16px}
.summary-pane{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;background:#f4f6ef}
.sidekick-shelf-card:hover,.sidekick-launcher:hover{background:#f2f5ea}.sidekick-shelf-card:focus-visible,.sidekick-launcher:focus-visible,.summary-source-link:focus-visible{outline:3px solid #326941;outline-offset:3px}
.decision-card{display:grid;gap:8px;max-width:480px!important}.decision-eyebrow{font-size:11px;font-weight:700;letter-spacing:.025em;color:#53624b}.decision-title{font-size:16px}.decision-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:3px}.decision-actions .btn{min-height:36px}.decision-source{margin:0;padding:12px 14px;border-left:3px solid #b4c78c;background:#f4f5ed;color:#465749;max-height:160px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.trip-avatar{background:#e9e1f7;color:#4c3f6c}
.summary-source-link{border:0;background:transparent;color:#194f3c;padding:7px 0 2px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;min-height:32px;text-align:left}.summary-quote{margin-bottom:8px}.summary-quote p{white-space:pre-wrap;overflow-wrap:anywhere}.summary-retry-context{padding:12px;border:1px solid #d7ded3;border-radius:12px;background:#f6f7f1;display:grid;gap:8px}
@media(max-width:600px){.sidekick-bar{padding:7px 13px;min-height:51px}.sidekick-bar .btn{padding:6px 9px;min-height:36px}.sidekick-shelf-card{padding:15px 12px}.decision-actions .btn{font-size:12px;padding:7px 9px}.sidekick-bar-label{font-size:11px}}
@media(forced-colors:active){.sidekick-launcher,.sidekick-shelf-card,.summary-retry-context{border:1px solid ButtonText}.decision-source{border-left-color:Highlight}.sidekick-count{border:1px solid CanvasText}}

/* Compact Moment header: one doorway to the Sidekicks, no chat toolbar row. */
#chat-header { min-height:68px; padding:10px 15px 10px 6px; gap:6px; }
#chat-header>.back { display:flex; width:28px; flex-basis:28px; height:44px; min-height:44px; margin:0; padding:2px; }
#chat-header>.back svg { width:17px; height:17px; }
#chat-header>.avatar { display:flex; width:35px; height:35px; flex-basis:35px; border-radius:12px; font-size:12px; }
#chat-header .group-heading { min-width:0; padding:3px 0; }
#chat-header .group-add { display:grid; place-items:center; width:36px; flex-basis:36px; min-height:44px; height:44px; padding:0; border-radius:12px; }
#chat-header .group-add svg { width:21px; height:21px; }
#chat-header>.icon-btn:last-child { width:32px; flex-basis:32px; padding:4px; }
.sidekick-fan { position:relative; display:inline-block; width:56px; height:44px; flex:0 0 56px; border:0; border-radius:12px; padding:0; background:transparent; cursor:pointer; }
.sidekick-playing-card { position:absolute; left:16px; top:6px; display:grid; place-items:center; width:28px; height:33px; border:1.5px solid #fffefa; border-radius:9px; box-shadow:0 1px 4px #233d3125; font-size:17px; font-weight:800; background:#e8efcf; color:#294835; transform-origin:50% 95%; }
.sidekick-playing-card:nth-child(1) { transform:translateX(-10px) rotate(-17deg); }
.sidekick-playing-card:nth-child(2) { transform:rotate(-2deg); }
.sidekick-playing-card:nth-child(3) { transform:translateX(10px) rotate(14deg); }
.sidekick-fan[data-count="1"] .sidekick-playing-card,.sidekick-fan[data-count="0"] .sidekick-playing-card { transform:rotate(-7deg); }
.card-trip,.card-summarizer { background:#ded0fc; }.card-tambola { background:#f3dfb5;font-size:14px; }.card-roast { background:#ffded1; }.card-factcheck { background:#cfebdf; }.card-empty { background:#edf0e8; border-style:dashed; border-color:#a8b8a2; box-shadow:none; }
.fan-overflow { position:absolute; right:0; top:0; display:grid; place-items:center; height:15px; min-width:18px; padding:0 3px; border-radius:6px; background:#294835; color:#fffefa; font-size:9px; border:1px solid var(--surface); }
.sidekick-fan:focus-visible { outline:3px solid #326941; outline-offset:1px; }
.sidekick-fan:active { background:var(--lilac-soft); }
.sidekick-drawer-overlay { justify-content:flex-end; align-items:stretch; padding:0; }
.sidekick-drawer { width:min(365px,94vw); height:100%; max-height:100%; border-radius:25px 0 0 25px; padding-top:env(safe-area-inset-top); padding-bottom:env(safe-area-inset-bottom); animation:sidekick-drawer-in 190ms ease-out; }
@keyframes sidekick-drawer-in { from{transform:translateX(35px);opacity:.4}to{transform:none;opacity:1} }
.app-shell { position:relative; }
.app-shell.moment-swiping { overflow:hidden; }
#main.swipe-moving { position:relative; z-index:3; will-change:transform; box-shadow:-6px 0 25px #20382e20; user-select:none; -webkit-user-select:none; }
.moment-swipe-underlay { position:absolute; inset:0; z-index:1; overflow:hidden; pointer-events:none; background:var(--paper); }
.moment-swipe-underlay .moments-home { height:100%; width:100%; border:0; }
.moment-swipe-underlay .moment-cards { overflow:hidden; }
.swipe-to-sidekicks { display:flex; justify-content:flex-end; align-items:center; background:#ece5f7; }
.sidekick-swipe-hint { display:flex; flex-direction:column; align-items:center; gap:12px; width:135px; text-align:center; padding:12px; color:var(--ink); }
.sidekick-swipe-hint .sidekick-fan { scale:1.25; margin-bottom:8px; }.sidekick-swipe-hint strong{font-size:15px}.sidekick-swipe-hint>span:last-child{font-size:11px;line-height:1.4;color:var(--muted)}
@media(max-width:680px),(max-width:900px) and (pointer:coarse){
 #chat-header{min-height:64px;padding:calc(7px + env(safe-area-inset-top)) max(5px,env(safe-area-inset-right)) 7px max(3px,env(safe-area-inset-left));gap:4px}
 #chat-header h1{font-size:17px}#chat-header .subtitle{margin-top:3px}.sidekick-fan{width:52px;flex-basis:52px}.sidekick-playing-card{left:13px}
 .sidekick-drawer-overlay{align-items:stretch;justify-content:flex-end}.sidekick-drawer{width:min(365px,94vw);max-height:100%;height:100%;border-radius:23px 0 0 23px;animation-name:sidekick-drawer-in}
}
@media(max-width:360px){#chat-header{gap:3px}#chat-header h1{font-size:16px}#chat-header>.avatar{width:32px;height:32px;flex-basis:32px}#chat-header .group-add{width:32px;flex-basis:32px}.sidekick-fan{width:48px;flex-basis:48px}.sidekick-playing-card{left:11px;width:26px;height:31px}}
@media(prefers-reduced-motion:reduce){.sidekick-drawer{animation:none}#main.swipe-moving{transition:none!important}}
@media(forced-colors:active){.sidekick-playing-card,.fan-overflow{border-color:ButtonText}}
.sidekick-drawer::before { display:none; }
.sidekick-drawer:focus { outline:none; }
.sidekick-fan[data-count="0"],.sidekick-fan[data-count="1"] { width:38px; flex-basis:38px; }
.sidekick-fan[data-count="0"] .sidekick-playing-card,.sidekick-fan[data-count="1"] .sidekick-playing-card { left:5px; }

/* Reserve horizontal chat gestures before the browser claims a scroll. */
#messages-scroll { touch-action:pan-y pinch-zoom; }
