.session-chat{display:flex;flex-direction:column;height:100dvh}@supports(-webkit-touch-callout:none){.session-chat{height:-webkit-fill-available}}.session-chat__header{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:.75rem 1rem;background:var(--bg-surface);border-bottom:var(--divider-style)}@media(max-width:768px){.session-chat__header{padding:.6rem 16px;gap:.5rem}}.session-chat__back{color:var(--accent-green);font-size:.95rem;font-weight:600}.session-chat__world{font-size:1.1rem;flex:1 1;min-width:10rem}.session-chat__narrate-toggle{background:none;border:none;cursor:pointer;font-size:18px;padding:4px 8px;opacity:.4;transition:opacity .15s;border-radius:4px}.session-chat__narrate-toggle:hover{opacity:.7}.session-chat__narrate-toggle--active{opacity:1}.session-chat__meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:flex-end;margin-left:auto;max-width:100%}.session-chat__badge{padding:.2rem .6rem;border-radius:999px;background:var(--accent-blue);color:#fff;font-size:.75rem;font-weight:600}.session-chat__badge--policy{background:rgba(16,255,176,.12);color:var(--accent-green)}.session-chat__companion{color:var(--text-secondary);font-size:.95rem}.session-chat__timeline-link{color:var(--text-secondary);font-size:.88rem;text-decoration:none;border-bottom:1px solid rgba(0,0,0,0);transition:color .12s ease,border-color .12s ease}.session-chat__timeline-link:hover{color:var(--text-primary);border-color:currentColor}.session-chat__feed{flex:1 1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}@media(max-width:768px){.session-chat__feed{padding:14px 16px}}.session-chat__intro{text-align:center;color:var(--text-muted);padding:2rem 0;font-style:italic}.session-chat__typing{display:flex;gap:.3rem;padding:.5rem}.session-chat__typing span{width:.5rem;height:.5rem;background:var(--text-muted);border-radius:50%;animation:session-typing 1.2s infinite}.session-chat__typing span:nth-child(2){animation-delay:.2s}.session-chat__typing span:nth-child(3){animation-delay:.4s}.session-chat__composer{display:flex;gap:.5rem;padding:.75rem 1rem;border-top:var(--divider-style);background:var(--bg-surface)}.session-chat__input{flex:1 1;resize:none;background:var(--bg-card);color:var(--text-primary);border:var(--input-border);border-radius:var(--border-radius-sm);padding:.6rem .8rem;font-family:inherit;font-size:.95rem}.session-chat__send{width:2.5rem;height:2.5rem;border:none;border-radius:50%;background:var(--accent-green);color:#04130f;display:inline-grid;place-items:center;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.session-chat__send svg{width:1rem;height:1rem}.session-chat__send:focus-visible{outline:2px solid var(--accent-green);outline-offset:2px;box-shadow:0 0 0 4px rgba(16,255,176,.12)}.session-chat__send:not(:disabled):hover{box-shadow:0 0 24px rgba(16,255,176,.2),0 0 8px rgba(16,255,176,.1)}.session-chat__send:disabled{opacity:.4;cursor:not-allowed}@media(max-width:768px){.session-chat__header{padding:.5rem .75rem;gap:.5rem;align-items:flex-start}.session-chat__world{flex-basis:100%;min-width:0;order:2}.session-chat__meta{width:100%;order:3;margin-left:0;gap:.35rem;justify-content:flex-start}.session-chat__badge{font-size:.72rem}.session-chat__companion{max-width:100%;overflow-wrap:anywhere}.session-chat__timeline-link{margin-left:auto}.session-chat__composer{padding:.5rem;gap:.35rem}.session-chat__composer textarea{min-height:44px;font-size:16px}.session-chat__send{min-width:44px;min-height:44px}.session-chat__feed{padding:.5rem}}@keyframes session-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}