.session-topbar{z-index:25;background:var(--bg);translate:0 var(--session-viewport-top,0px);flex-shrink:0;position:sticky;top:0}.session-header{min-height:calc(52px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 8px 0;background:var(--bg);align-items:center;gap:8px;display:flex}.session-header h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:16px;font-weight:600;overflow:hidden}.session-header-avatar{flex:0 0 44px;place-items:center;min-height:44px;display:grid}.session-header .session-icon-button{color:var(--text)}@media (min-width:768px){.app-shell[data-page=session] .app-content{max-width:none}}.session-icon-button{min-width:44px;min-height:44px;font-family:var(--reading-sans), sans-serif;color:var(--text2);border-radius:12px;flex:none;place-items:center;transition:background-color .15s,color .15s,transform .15s;display:inline-grid}.session-icon-button svg{flex-shrink:0}@media (min-width:768px){.session-icon-button:active:not(:disabled){background:var(--surface2);color:var(--text);transform:translateY(1px)}}.session-icon-button:disabled,.session-composer button:disabled{opacity:.45}.session-icon-button:focus-visible,.session-composer button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.session-composer-dock{z-index:20;bottom:var(--session-keyboard-inset,0px);padding:12px 12px max(8px, env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--bg) 20px)}.session-transcript{padding-bottom:calc(var(--session-composer-height,96px) + var(--session-keyboard-inset,0px) + 24px)}@media (max-width:767px){.session-page[data-ideas-open=true] .session-transcript{padding-bottom:calc(var(--session-composer-height,96px) + var(--session-keyboard-inset,0px) - 8px)}}.session-composer{border:1px solid var(--border);background:var(--surface);border-radius:16px;align-items:center;gap:8px;padding:8px 12px;display:flex;box-shadow:0 -4px 16px #0003}.session-composer:focus-within{border-color:var(--text)}.session-composer[data-expanded=true]{flex-direction:column;align-items:stretch}.session-composer-input{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.session-composer textarea{resize:none;background:0 0;outline:none;width:100%;min-width:0;height:44px;padding-block:11px;font-size:16px;line-height:22px}.session-composer-tools{align-items:center;gap:0;display:flex}.session-composer-spacer{flex:1}.session-slash-glyph{font-size:16px;font-weight:600;line-height:1}.session-ring-button>span{border:1px solid var(--border-strong);border-radius:50%;place-items:center;width:28px;height:28px;transition:background-color .15s,border-color .15s;display:grid}.session-auto-reply-button>span{color:#6a6a6a}.session-auto-reply-button[aria-pressed=true]>span{border-color:var(--accent);color:var(--accent);background:#fbfd921f}.session-send-button{border-radius:9px;flex:0 0 44px;place-items:center;width:44px;min-height:44px;display:grid}.session-send-button>span{background:var(--text);width:40px;height:36px;color:var(--bg);border-radius:9px;place-items:center;display:grid}@media (max-width:767px){.session-send-button[data-halloween]>span{background:var(--accent);color:#0b0b0b}}.session-send-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.session-send-button[aria-busy=true] svg{animation:1s linear infinite session-send-wait}@keyframes session-send-wait{to{transform:rotate(360deg)}}.session-stop-button>span{color:var(--text);background:var(--surface3);border:1px solid color-mix(in srgb, var(--accent) 20%, transparent);animation:.9s ease-in-out infinite alternate session-stop-pulse}.session-composer-divider{background:var(--border);flex:0 0 1px;height:24px;margin-inline:3px}.session-composer[data-expanded=true] .session-composer-divider{visibility:hidden}.session-composer[data-character=true]{background:var(--surface2)}.session-composer-quote{color:var(--text2);font-family:var(--reading-sans), sans-serif;flex-wrap:wrap;padding:6px 12px 0;font-size:12px;line-height:16px;display:flex}.session-composer-quote>:not(:last-child):after{content:"·";color:var(--text3);margin-inline:6px;font-weight:400}@media (max-width:767px){.session-composer-quote[data-state=price]{display:none}}.session-composer-quote a,.session-composer-quote button{margin-block:-14px;padding-block:14px}.session-composer-quote a{color:var(--accent);font-weight:600}.session-composer-quote button{text-decoration:underline}.session-composer-quote :focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes session-stop-pulse{to{border-color:color-mix(in srgb, var(--accent) 90%, transparent)}}.session-command-chip{background:var(--accent);max-width:170px;color:var(--bg);border-radius:20px;flex-shrink:0;align-items:center;padding-left:10px;font-size:12px;display:inline-flex;overflow:hidden}.session-candidate-panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px;max-height:min(44dvh,360px);margin-bottom:8px;padding:8px 12px;overflow:auto}.session-drawer-backdrop{z-index:40;background:#0009;justify-content:flex-end;display:flex;position:fixed;inset:0}.session-drawer{width:calc(100% - 56px);max-width:410px;height:100%;padding:max(8px, env(safe-area-inset-top)) 16px 0;background:var(--bg-elevated);border-left:.5px solid var(--border);flex-direction:column;animation:.22s ease-out session-drawer-in;display:flex;overflow:hidden;box-shadow:-8px 0 30px #0008}.session-drawer-header{flex-shrink:0;justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.session-drawer-scroll{overscroll-behavior:contain;min-height:0;padding-bottom:max(32px, env(safe-area-inset-bottom));scrollbar-width:thin;flex:1;overflow-y:auto}.session-drawer-title{border:.5px solid var(--border);background:var(--surface);border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.session-drawer-row{text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:44px;padding-block:10px;font-size:14px;line-height:20px;display:flex}.session-drawer-row>svg{color:var(--text3);flex-shrink:0}.session-drawer-row-label{align-items:center;gap:12px;min-width:0;display:flex}.session-drawer-row-label>svg{width:20px;color:var(--text2);flex:0 0 20px}.session-drawer-row-label>span{overflow-wrap:anywhere;min-width:0}.session-drawer-row-label>.platform-symbol{margin-inline:calc((20px - var(--symbol-width)) / 2)}.session-drawer-caption{color:var(--text3);margin:20px 0 4px;font-size:12px;line-height:18px}.session-drawer-images-heading{margin-top:20px;padding-block:0}.session-drawer-gallery{scrollbar-width:none;gap:6px;margin-top:8px;display:flex;overflow-x:auto}.session-drawer-gallery>button{border-radius:6px;flex-shrink:0}.session-font-segments{background:var(--surface2);border-radius:8px;flex:0 0 132px;padding:2px;display:flex}.session-font-segments button{min-height:40px;color:var(--text2);border-radius:6px;flex:1;font-size:12px}.session-font-segments button[data-on=true]{background:var(--surface3);color:var(--text)}.session-drawer-image-toggle{padding-block:8px;padding-right:8px}.session-drawer-switch{appearance:none;background:var(--surface3);cursor:pointer;border-radius:999px;flex:0 0 51px;width:51px;height:31px;transition:background-color .15s;position:relative}.session-drawer-switch:after{content:"";background:var(--text);border-radius:50%;width:27px;height:27px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0004}.session-drawer-switch:checked{background:var(--accent-dim,var(--accent))}.session-drawer-switch:checked:after{transform:translate(20px)}.session-drawer-switch:disabled{opacity:.45;cursor:default}.session-drawer-switch:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@keyframes session-drawer-in{0%{transform:translate(100%)}to{transform:none}}.session-page[data-font-size=S]{--reading-size:14.4px;--reading-line-height:21.6px}.session-page[data-font-size=L]{--reading-size:18.4px;--reading-line-height:27.6px}.session-user>button{opacity:1}.session-message-actions{color:var(--text2);column-gap:6px;margin-top:24px}.session-message-actions button{border-radius:50%;place-items:center;min-width:44px;min-height:44px;margin-block:-8px;transition:color .15s,transform .15s;display:inline-grid;position:relative}.session-message-actions button:has(svg):before{content:"";border:1px solid var(--border-strong);background:var(--surface);border-radius:50%;transition:background-color .15s,border-color .15s;position:absolute;inset:8px}.session-message-actions svg{position:relative}.session-message-actions button:disabled{opacity:.35}.session-message-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (min-width:768px){.session-message-actions button:active:not(:disabled){color:var(--text);transform:translateY(1px)}.session-message-actions button:active:not(:disabled):before{background:var(--surface3)}}.session-model-picker{flex-shrink:0;position:relative}.session-model-trigger{isolation:isolate;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:4px;min-height:44px;padding-inline:9px;font-size:12px;font-weight:500;line-height:16px;display:inline-flex;position:relative}.session-model-trigger:before{z-index:-1;content:"";background:var(--surface2);border-radius:999px;transition:background-color .15s;position:absolute;inset:8px 0}.session-model-trigger:disabled{opacity:.45}.session-model-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.session-model-chevron{color:var(--text2);transition:transform .15s;display:flex}.session-model-trigger[aria-expanded=true] .session-model-chevron{transform:rotate(180deg)}.session-model-symbol{color:var(--accent);flex-shrink:0;display:inline-flex}.session-model-menu{translate:var(--session-menu-shift,0px) 0;z-index:2;border:.5px solid color-mix(in srgb, var(--text) 14%, transparent);background:color-mix(in srgb, var(--bg-elevated) 92%, transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);transform-origin:100% 0;border-radius:16px;width:320px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 100px);padding-block:4px;animation:.15s ease-out session-menu-in;position:absolute;top:calc(100% - 2px);right:0;overflow-y:auto;box-shadow:0 10px 22px #0005}.session-model-option{text-align:left;justify-content:space-between;align-items:center;gap:14px;width:100%;min-height:48px;padding:10px 14px;font-size:16px;font-weight:500;line-height:24px;transition:background-color .12s;display:flex}.session-model-option+.session-model-option{border-top:.5px solid var(--border)}.session-model-option:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;background:var(--surface2)}.session-model-art{background:50%/contain no-repeat;flex-shrink:0;width:28px;height:28px}.session-model-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.session-model-heading{align-items:center;gap:8px;display:flex}.session-model-name{overflow-wrap:anywhere}.session-model-price{letter-spacing:.04em;font-variant-numeric:tabular-nums;align-items:center;gap:2px;font-size:12px;font-weight:500;line-height:16px;display:inline-flex}.session-model-gem{background:url(/icons/credits-gem.png) 50%/contain no-repeat;width:10px;height:10px}.session-model-description{overflow-wrap:anywhere;color:var(--text2);font-size:12px;font-weight:400;line-height:16px}.session-model-check{width:16px;color:var(--text);flex-shrink:0;display:inline-flex}.session-model-option[aria-selected=true] .session-model-check{color:var(--accent)}@keyframes session-menu-in{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:none}}@media (hover:hover){.session-icon-button:hover:not(:disabled){background:var(--surface2);color:var(--text)}.session-ring-button:hover:not(:disabled)>span,.session-message-actions button:hover:not(:disabled):before{border-color:var(--text2);background:var(--surface3)}.session-auto-reply-button[aria-pressed=true]:hover:not(:disabled)>span{border-color:var(--accent);background:#fbfd9233}.session-message-actions button:hover:not(:disabled){color:var(--text)}.session-model-trigger:hover:not(:disabled):before{background:var(--surface3);border-color:var(--text2)}.session-model-option:hover{background:color-mix(in srgb, var(--text) 9%, transparent)}}html[data-reduce-motion=true] :is(.session-model-menu,.session-drawer){animation:none}html[data-reduce-motion=true] :is(.session-icon-button,.session-message-actions button,.session-model-chevron){transition:none}.title-action-dock{z-index:20;padding:16px 12px max(12px, env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--bg) 20px);bottom:0}.title-comment-dock{z-index:20;padding-bottom:max(12px, env(safe-area-inset-bottom));background:var(--bg);bottom:0}.onboarding-page{width:100%;max-width:600px;margin-inline:auto}@media (min-width:768px){.title-page{max-width:800px;margin-inline:auto}.title-hero{max-height:480px}.title-info{padding-inline:32px}.session-composer-dock{padding-inline:24px}}@media (prefers-reduced-motion:reduce){.session-page *,.title-page *{scroll-behavior:auto}}.session-latest-dock{bottom:calc(var(--session-composer-height,96px) + var(--session-keyboard-inset,0px) + 12px);z-index:21;pointer-events:none;justify-content:flex-end;padding-inline:24px;display:flex}.session-latest-dock button{pointer-events:auto}.sheet-panel:has(.session-stats-dialog){flex-direction:column;display:flex;overflow:hidden}.session-stats-dialog-header{flex-shrink:0;padding-right:36px}.session-stats-dialog{overscroll-behavior:contain;min-height:0;overflow-y:auto}@media (min-width:768px){.sheet-panel:has(.session-stats-dialog){width:448px;max-height:calc(100dvh - 48px)}}@media (prefers-reduced-motion:reduce){.session-model-menu,.session-drawer{animation:none}.session-drawer-switch,.session-drawer-switch:after{transition:none}}html[data-reduce-motion=true] .session-drawer-switch{transition:none}.session-page[data-reading=story] .session-message-actions button:has(svg):before{display:none}.session-page[data-reading=story] .session-message-actions svg{width:14px;height:14px}.session-page[data-reading=character] .session-message-actions button:has(svg):before{border-color:color-mix(in srgb, var(--text) 10%, transparent);background:var(--surface3);inset:0}.session-page[data-reading=character] .session-message-actions svg{width:18px;height:18px}@media (hover:hover){.session-page .session-message-actions button:hover:not(:disabled):before{background:var(--surface3)}.session-send-button:hover:not(:disabled)>span{filter:brightness(.93)}}@media (prefers-reduced-motion:reduce){.session-send-button[aria-busy=true] svg{animation:none}.session-stop-button>span{border-color:color-mix(in srgb, var(--accent) 55%, transparent);animation:none}}html[data-reduce-motion=true] .session-send-button[aria-busy=true] svg{animation:none}html[data-reduce-motion=true] .session-stop-button>span{border-color:color-mix(in srgb, var(--accent) 55%, transparent);animation:none}.session-opening-pinned{overscroll-behavior:contain;max-height:40dvh;overflow-y:auto}.session-composer-dock[data-ideas-open=true] .session-opening-pinned{display:none}@media (pointer:coarse){.session-composer-dock[data-typing=true] .session-opening-pinned{display:none}}
