.game{gap:var(--space-4);display:grid}.sheet{top:var(--space-2);z-index:1;gap:var(--space-2) var(--space-3);padding:var(--space-3);border:var(--border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-flat);grid-template-columns:1fr auto;display:grid;position:sticky}.sheet__main{gap:var(--space-2);align-content:start;min-width:0;display:grid}.sheet__actions{gap:var(--space-2);align-content:start;display:grid}.sheet__actions .scene-toggle{justify-content:space-between}.sheet__identity{display:grid}.scene-toggle{align-self:start;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);font-size:var(--text-sm);display:inline-flex}.scene-toggle__count{background:var(--color-ink);min-width:1.5em;height:1.5em;color:var(--color-surface);font-size:var(--text-xs);border-radius:999px;place-items:center;display:grid}.scene-toggle[data-mode=combat]{background:var(--color-turn-combat);color:var(--color-sun-ink)}.sheet__identity strong{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.2}.sheet__identity span{font-size:var(--text-sm);color:var(--color-ink-soft)}.sheet__details{gap:var(--space-1);font-size:var(--text-sm);margin:0;display:grid}.sheet__details div{gap:var(--space-2);display:flex}.sheet__details dt{font-weight:800}.sheet__details dd{margin:0}.log{gap:var(--space-4);display:grid}.turn{gap:var(--space-3);display:grid}.entry p{margin:0 0 var(--space-2)}.entry p:last-child{margin-bottom:0}.message{gap:var(--space-2);align-items:start;display:grid}.message--dm{grid-template-columns:var(--speaker-width) minmax(0, 1fr)}.message--player{grid-template-columns:minmax(0, 1fr) var(--speaker-width)}.speaker{font-size:var(--text-xs);color:var(--color-ink-soft);opacity:.75;letter-spacing:.04em;padding-top:.35em;line-height:1.3;text-decoration:none}.message--dm .speaker{text-align:right}.thinking{padding-left:calc(var(--speaker-width) + var(--space-2))}.entry--player{max-width:100%;padding:var(--space-2) var(--space-3);border:var(--border);border-radius:var(--radius) var(--radius) 0 var(--radius);background:var(--color-dialog);color:var(--color-dialog-ink);white-space:pre-wrap;justify-self:end;margin:0}.entry--dm{max-width:62ch}.thinking{color:var(--color-ink-soft);margin:0;font-style:italic}.roll-card{justify-self:center;justify-items:center;gap:var(--space-1);min-width:12rem;padding:var(--space-3) var(--space-5);border:var(--border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-flat);display:grid}.roll-card__result{place-items:center;display:grid;position:relative}.roll-card__die{width:var(--text-roll);height:var(--text-roll);margin:calc(var(--text-roll) / -2) 0 0 calc(var(--text-roll) / -2);opacity:0;pointer-events:none;fill:var(--color-primary);stroke:var(--color-ink);stroke-width:1.5px;stroke-linejoin:round;position:absolute;top:50%;left:50%;overflow:visible}.roll-card__die path{fill:none}.roll-card__burst{width:var(--text-roll);height:var(--text-roll);margin:calc(var(--text-roll) / -2) 0 0 calc(var(--text-roll) / -2);border:var(--line) solid var(--color-sun);opacity:0;pointer-events:none;border-radius:50%;position:absolute;top:50%;left:50%}.roll-card__value{font-family:var(--font-display);font-size:var(--text-roll);font-weight:800;line-height:1;display:block}.roll-card__meta{font-size:var(--text-sm);color:var(--color-ink-soft);text-align:center}.roll-card__label{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary);font-weight:800}.roll-cards{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.roll-request{justify-items:start;gap:var(--space-1);padding:var(--space-3);border:var(--border);border-radius:var(--radius);background:var(--color-sun);color:var(--color-sun-ink);box-shadow:var(--shadow-flat);display:grid}.roll-request p{margin:0}.roll-request__hint{font-size:var(--text-sm)}.action-form{z-index:1;padding:var(--space-3) 0;border-top:var(--border);background:var(--color-bg);position:sticky;bottom:0}.action-row{align-items:end;gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.action-send{place-items:center;width:2.75rem;height:2.75rem;padding:0;display:grid}.drawer{width:100%;max-width:none;height:100%;max-height:none;color:var(--color-ink);background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0}:root:has(.drawer[open]){overflow:hidden}.drawer::backdrop{background:#0006}.drawer__panel{--turn-color:var(--color-turn-calm);gap:var(--space-3);width:max(var(--drawer-width), 48vw);padding:var(--space-4) var(--space-3);border-left:var(--border);background:var(--color-bg);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0;overflow-y:auto}.drawer__panel[data-mode=combat]{--turn-color:var(--color-turn-combat)}@media (width<=34rem){.drawer__panel-info{border-left:0;width:100%}}.drawer__header{justify-content:space-between;align-items:start;gap:var(--space-2);display:flex}.drawer__header h2{font-size:var(--text-lg);margin:0}.drawer__place,.drawer__empty{font-size:var(--text-sm);color:var(--color-ink-soft);margin:0}.drawer__close{border:var(--border);background:var(--color-surface);width:2.25rem;height:2.25rem;color:var(--color-ink);font:inherit;font-size:var(--text-lg);cursor:pointer;border-radius:50%;flex:none;place-items:center;padding:0;line-height:1;display:grid}.scene-status{padding:0 var(--space-2);border:var(--border);background:var(--turn-color);color:var(--color-sun-ink);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;align-self:start;margin:0;font-weight:800}.scene-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.scene-card{gap:var(--space-3);padding:var(--space-3);border:var(--border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-flat);opacity:.5;filter:saturate(.4);grid-template-columns:auto minmax(0,1fr);transition:opacity .2s ease-out,filter .2s ease-out;display:grid;position:relative}.scene-card--turn{opacity:1;filter:none;border-color:var(--turn-color);box-shadow:0 0 0 var(--line) var(--turn-color), var(--shadow-flat)}.scene-card__avatar{border:var(--border);background:var(--color-dialog);width:2.75rem;height:2.75rem;color:var(--color-dialog-ink);font-weight:800;font-size:var(--text-sm);border-radius:50%;place-items:center;display:grid}.scene-card__avatar[data-kind=hostile]{background:var(--color-hostile);color:var(--color-primary-ink)}.scene-card__avatar[data-kind=friendly]{background:var(--color-friendly);color:var(--color-accent-ink)}.scene-card__avatar[data-kind=neutral]{background:var(--color-sky);color:var(--color-ink)}.scene-card__avatar[data-kind=dm]{background:var(--color-sun);color:var(--color-sun-ink)}.scene-card__body{align-content:start;display:grid}.scene-card__body strong{font-family:var(--font-display);line-height:1.2}.scene-card__tag{font-size:var(--text-xs);color:var(--color-ink-soft);text-transform:uppercase;letter-spacing:.05em;font-weight:800}.scene-card__detail{margin:var(--space-1) 0 0;font-size:var(--text-sm)}.scene-card__turn{top:calc(var(--space-2) * -1.5);right:var(--space-3);padding:0 var(--space-2);border:var(--border);background:var(--turn-color);color:var(--color-sun-ink);font-size:var(--text-xs);border-radius:999px;font-weight:800;position:absolute}@media (prefers-reduced-motion:reduce){.scene-card{transition:none}}@media (width<=34rem){.message--dm,.message--player{grid-template-columns:minmax(0,1fr);gap:0}.message--player .speaker{text-align:right;order:-1}.message--dm .speaker{text-align:left}.speaker{padding-top:0}.thinking{padding-left:0}}.action-input{resize:none;min-height:2.75rem;max-height:12rem;overflow-y:auto}.info-section{gap:var(--space-2);padding-top:var(--space-3);border-top:var(--border);display:grid}.info-section h3{font-size:var(--text-lg);font-family:var(--font-display);color:var(--color-primary);margin:0}.info-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.info-list li{display:grid}.info-list li+li{padding-top:var(--space-3);border-top:1px dashed var(--color-ink-soft)}.info-list span{font-size:var(--text-xs);color:var(--color-ink-soft);text-transform:uppercase;letter-spacing:.05em;font-weight:800}.info-list p{margin:var(--space-1) 0 0;font-size:var(--text-sm)}.scroll-bottom{right:0;bottom:calc(100% + var(--space-3));z-index:2;border-radius:999px;place-items:center;width:2.75rem;height:2.75rem;padding:0;display:grid;position:absolute}
