.interactive-player{isolation:isolate;width:100%;max-width:var(--container-workbench);min-height:100svh;padding:0 var(--page-gutter) var(--space-6);gap:var(--space-4);background:var(--color-canvas);color:var(--color-text);margin-inline:auto;display:grid;position:relative}.interactive-player:before{background:var(--color-canvas)}.interactive-player :where(h1,h2,p){margin:0}.interactive-player p{color:var(--color-text-secondary)}.interactive-player .top-hud{z-index:var(--z-header);min-height:var(--header-height);align-items:center;gap:var(--space-4);margin-inline:calc(var(--page-gutter) * -1);padding-inline:var(--page-gutter);border:0;border-bottom:var(--space-hair) solid var(--color-border);border-radius:var(--radius-none);background:var(--color-surface);grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;display:grid;position:sticky;top:0}.interactive-player .top-hud>div:first-child{min-width:0}.interactive-player .top-hud h1{color:var(--color-text);font-size:var(--font-size-5);font-weight:var(--fw-headline);line-height:var(--line-tight);letter-spacing:var(--tracking-tight);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.interactive-player .top-hud p{color:var(--color-text-secondary);font-size:var(--font-size-3);line-height:var(--line-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.interactive-player .hud-time{margin-bottom:var(--space-1);color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:var(--font-size-1);font-variant-numeric:tabular-nums;display:block}.interactive-player .hud-chip-stack{justify-content:flex-end;align-items:center;gap:var(--space-2);display:flex}.interactive-player .hud-source{min-height:var(--control-sm);border:var(--space-hair) solid var(--color-border);border-radius:var(--radius-pill);padding-inline:var(--space-3);background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:var(--font-size-1);font-weight:var(--fw-link);white-space:nowrap;align-items:center;display:inline-flex}.interactive-player .hud-progress{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand)}.interactive-player .player-session-bar{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:var(--space-hair) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:minmax(0,1fr) auto;display:grid}.interactive-player .player-session-bar span,.interactive-player .player-session-bar strong{color:var(--color-text-secondary);font-size:var(--font-size-2);line-height:var(--line-body)}.interactive-player .player-session-bar span{font-family:var(--font-family-sans);letter-spacing:var(--tracking-body);text-transform:none}.interactive-player .player-session-bar strong{margin-top:var(--space-1);color:var(--color-text);font-weight:var(--fw-link);display:block}.interactive-player .player-session-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.interactive-player .player-session-actions a,.interactive-player .player-session-actions button{min-height:var(--control-md);border:var(--space-hair) solid var(--color-border);border-radius:var(--radius-md);padding-inline:var(--space-3);background:var(--color-surface-subtle);color:var(--color-text);font-weight:var(--fw-link);cursor:pointer;transition:border-color var(--motion-base) var(--ease-standard), background var(--motion-base) var(--ease-standard);justify-content:center;align-items:center;display:inline-flex}.interactive-player .player-session-actions :where(a,button):hover{border-color:var(--color-brand);background:var(--color-surface-raised)}.interactive-player .player-layout{align-items:start;gap:var(--space-4);border-radius:var(--radius-none);background:0 0;border:0;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-areas:"stage emotion""dialogue evidence""timeline evidence";padding:0;display:grid}.interactive-player .player-panel-dialogue{grid-area:dialogue}.interactive-player .player-panel-evidence{grid-area:evidence}.interactive-player .player-panel-timeline{grid-area:timeline}.interactive-player .player-panel>section{width:100%}.interactive-player .player-mobile-tabs{display:none}.interactive-player .character-stage{min-height:min(64svh, calc(var(--container-reader) - var(--space-16)));border:var(--space-hair) solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(var(--color-scrim), var(--color-scrim)), var(--stage-image), var(--color-surface-raised);background-position:50%;background-size:cover;grid-area:stage;position:relative;overflow:hidden}.interactive-player .character-stage:after{content:"";right:var(--space-8);width:min(46%, calc(var(--container-reader) / 2));aspect-ratio:2/3;border-radius:var(--radius-lg) var(--radius-lg) var(--radius-none) var(--radius-none);background:var(--character-image) center top / cover no-repeat;box-shadow:none;border:0;position:absolute;bottom:0;-webkit-mask-image:linear-gradient(currentColor 72%,#0000);mask-image:linear-gradient(currentColor 72%,#0000)}.interactive-player .rain-lines{z-index:var(--z-content);background:repeating-linear-gradient(108deg, transparent 0, transparent var(--space-8), var(--color-border) calc(var(--space-8) + var(--space-hair)), transparent calc(var(--space-8) + var(--stroke-strong)));pointer-events:none;opacity:.32;display:block;position:absolute;inset:0}.interactive-player .character-plate,.interactive-player .stage-caption{z-index:var(--z-content);gap:var(--space-1);border:var(--space-hair) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);background:var(--color-surface);display:grid;position:absolute}.interactive-player .character-plate{top:var(--space-4);left:var(--space-4)}.interactive-player .character-plate span,.interactive-player .stage-caption span{color:var(--color-text-muted);font-family:var(--font-family-sans);font-size:var(--font-size-1);font-weight:var(--fw-link);letter-spacing:var(--tracking-body);text-transform:none}.interactive-player .character-plate strong,.interactive-player .stage-caption strong{color:var(--color-text);font-size:var(--font-size-4);font-weight:var(--fw-headline)}.interactive-player .character-plate small{color:var(--color-text-secondary);font-size:var(--font-size-2)}.interactive-player .stage-caption{right:var(--space-4);bottom:var(--space-4);left:var(--space-4);max-width:var(--container-reader);border-left:var(--space-hair) solid var(--color-brand)}.interactive-player .emotion-panel,.interactive-player .dialogue-log,.interactive-player .evidence-board,.interactive-player .memory-timeline,.interactive-player .ending-panel{border:var(--space-hair) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.interactive-player .emotion-panel{align-content:start;gap:var(--space-4);min-height:0;padding:var(--space-4);grid-area:emotion;display:grid}.interactive-player .emotion-header,.interactive-player .meter-label,.interactive-player .panel-heading{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.interactive-player .emotion-header span,.interactive-player .meter-label span,.interactive-player .panel-heading span{color:var(--color-text-secondary);font-size:var(--font-size-2);font-weight:var(--fw-link)}.interactive-player .emotion-header strong{color:var(--color-text);font-size:var(--font-size-5);font-weight:var(--fw-headline)}.interactive-player .meter-row{gap:var(--space-2);display:grid}.interactive-player .meter-label strong{color:var(--color-text);font-size:var(--font-size-2);font-variant-numeric:tabular-nums}.interactive-player .meter-track{height:var(--space-1);border-radius:var(--radius-pill);background:var(--color-surface-subtle);overflow:hidden}.interactive-player .meter-track span{border-radius:inherit;height:100%;transition:width var(--motion-slow) var(--ease-standard);display:block}.interactive-player .meter-danger span{background:var(--color-danger)}.interactive-player .meter-trust span{background:var(--color-success)}.interactive-player .meter-suspicion span{background:var(--color-warning)}.interactive-player .dialogue-log{gap:var(--space-3);max-height:none;padding:var(--space-4);display:grid;overflow:hidden}.interactive-player .dialogue-scroll{max-height:calc(var(--container-reader) / 2);gap:var(--space-2);overscroll-behavior:contain;display:grid;overflow-y:auto}.interactive-player .dialogue-turn{gap:var(--space-1);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-subtle);display:grid}.interactive-player .dialogue-turn span{color:var(--color-brand);font-family:var(--font-family-sans);font-size:var(--font-size-2);font-weight:var(--fw-link);letter-spacing:var(--tracking-body);text-transform:none}.interactive-player .dialogue-turn p,.interactive-player .evidence-card p,.interactive-player .memory-timeline p,.interactive-player .ending-panel p{color:var(--color-text-secondary);font-size:var(--font-size-3);line-height:var(--line-body)}.interactive-player .evidence-board{min-width:0;padding:var(--space-4)}.interactive-player .panel-heading{margin-bottom:var(--space-3)}.interactive-player .panel-heading strong{min-width:var(--control-sm);min-height:var(--control-sm);border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-text);font-size:var(--font-size-2);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;display:inline-flex}.interactive-player .evidence-scroll{max-height:var(--container-reader);gap:var(--space-3);overscroll-behavior:contain;display:grid;overflow-y:auto}.interactive-player .evidence-card{gap:var(--space-2);width:100%;padding:var(--space-3);border:var(--space-hair) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);color:var(--color-text);text-align:left;cursor:pointer;transition:border-color var(--motion-base) var(--ease-standard), background var(--motion-base) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);display:grid}.interactive-player .evidence-card:hover{border-color:var(--color-brand);transform:translateY(calc(var(--space-hair) * -1))}.interactive-player .evidence-card-selected{border-color:var(--color-brand);background:var(--color-brand-soft)}.interactive-player .evidence-thumb{min-height:calc(var(--space-16) * 2);border-radius:var(--radius-md);background:var(--evidence-image) center / cover no-repeat, var(--color-surface-raised)}.interactive-player .evidence-card>span,.interactive-player .evidence-detail-panel span{color:var(--color-text-muted);font-family:var(--font-family-sans);font-size:var(--font-size-1);letter-spacing:var(--tracking-body);text-transform:none}.interactive-player .evidence-card h2,.interactive-player .memory-timeline h2,.interactive-player .evidence-detail-panel h2{color:var(--color-text);font-size:var(--font-size-4);font-weight:var(--fw-card-title);line-height:var(--line-heading)}.interactive-player .evidence-detail-panel{gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:var(--space-hair) solid var(--color-border);display:grid}.interactive-player .evidence-detail-panel article{gap:var(--space-2);display:grid}.interactive-player .evidence-detail-panel ul{gap:var(--space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.interactive-player .evidence-detail-panel li{border-radius:var(--radius-pill);padding:var(--space-1) var(--space-2);background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:var(--font-size-1)}.interactive-player .memory-timeline{min-height:0;padding:var(--space-4)}.interactive-player .memory-timeline ol{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.interactive-player .memory-timeline li{grid-template-columns:var(--space-16) minmax(0, 1fr);align-items:start;gap:var(--space-3);display:grid}.interactive-player .memory-timeline time{color:var(--color-brand);font-family:var(--font-family-mono);font-size:var(--font-size-2);font-variant-numeric:tabular-nums}.interactive-player .memory-timeline li>div{gap:var(--space-1);padding-bottom:var(--space-3);border-bottom:var(--space-hair) solid var(--color-border);display:grid}.interactive-player .ending-panel{align-items:center;gap:var(--space-4);padding:var(--space-5);border-color:var(--color-brand);grid-template-columns:minmax(0,1fr) auto;display:grid}.interactive-player .ending-panel span{color:var(--color-brand);font-family:var(--font-family-sans);font-size:var(--font-size-2);font-weight:var(--fw-link);letter-spacing:var(--tracking-body);text-transform:none}.interactive-player .ending-panel h2{margin-block:var(--space-1);color:var(--color-text);font-size:var(--font-size-6);font-weight:var(--fw-headline)}.interactive-player .ending-panel button{min-height:var(--control-md);border-radius:var(--radius-md);padding-inline:var(--space-4);background:var(--color-brand-solid);color:var(--color-text-inverse);font-weight:var(--fw-link);cursor:pointer;border:0}.interactive-player .ending-panel small{margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-2);display:block}.interactive-player .narrator-status{z-index:var(--z-sticky);bottom:calc(var(--control-lg) * 2 + var(--space-8));border:var(--space-hair) solid var(--color-brand);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);background:var(--color-surface-raised);color:var(--color-text);font-size:var(--font-size-2);box-shadow:var(--shadow-popover);justify-self:center;position:sticky}.interactive-player .player-controls{z-index:var(--z-sticky);gap:var(--space-2);margin-inline:calc(var(--page-gutter) * -1);padding:var(--space-2) var(--page-gutter) calc(var(--space-2) + var(--safe-bottom));border-top:var(--space-hair) solid var(--color-border);background:var(--color-canvas);display:grid;position:sticky;bottom:0}.interactive-player .action-bar{gap:var(--space-2);border-radius:var(--radius-none);background:0 0;border:0;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;padding:0;display:grid;position:static}.interactive-player .action-button{min-height:var(--control-md);border:var(--space-hair) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-weight:var(--fw-link);cursor:pointer;transition:border-color var(--motion-base) var(--ease-standard), background var(--motion-base) var(--ease-standard), color var(--motion-base) var(--ease-standard)}.interactive-player .action-button:hover:not(:disabled){border-color:var(--color-brand);color:var(--color-text)}.interactive-player .action-button-selected{border-color:var(--color-brand-solid);background:var(--color-brand-solid);color:var(--color-text-inverse)}.interactive-player .input-dock{align-items:stretch;gap:var(--space-2);border-radius:var(--radius-none);background:0 0;border:0;grid-template-columns:minmax(0,1fr) minmax(0,3fr) auto;padding:0;display:grid}.interactive-player .input-meta{align-content:center;gap:var(--space-1);min-width:0;padding-inline:var(--space-2);display:grid}.interactive-player .input-meta span,.interactive-player .input-meta strong{color:var(--color-text-secondary);font-family:var(--font-family-sans);font-size:var(--font-size-2);letter-spacing:var(--tracking-body);text-overflow:ellipsis;text-transform:none;white-space:nowrap;overflow:hidden}.interactive-player .input-meta strong{color:var(--color-text);font-weight:var(--fw-link)}.interactive-player .input-dock textarea{width:100%;min-height:var(--control-lg);max-height:calc(var(--control-lg) * 2);resize:vertical;border:var(--space-hair) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);background:var(--color-surface);color:var(--color-text);font-family:var(--font-family-sans);line-height:var(--line-body)}.interactive-player .input-dock textarea::placeholder{color:var(--color-text-muted)}.interactive-player .input-dock textarea:focus-visible{outline:var(--stroke-strong) solid var(--color-brand);outline-offset:var(--stroke-strong);box-shadow:var(--focus-ring)}.interactive-player .input-dock button{min-width:calc(var(--control-lg) * 2);min-height:var(--control-lg);border-radius:var(--radius-md);padding-inline:var(--space-4);background:var(--color-brand-solid);color:var(--color-text-inverse);font-weight:var(--fw-link);cursor:pointer;border:0}.interactive-player :where(.action-button,.evidence-card,.input-dock button,.input-dock textarea):disabled{cursor:not-allowed;filter:grayscale();opacity:initial}.interactive-player .input-dock textarea:disabled{background:var(--color-surface-subtle);color:var(--color-text-muted)}@media (max-width:768px){.interactive-player{padding-inline:0;padding-bottom:0}.interactive-player .top-hud{min-height:var(--header-height-mobile);padding-inline:var(--space-4);grid-template-columns:minmax(0,1fr) auto;margin-inline:0}.interactive-player .top-hud>p,.interactive-player .hud-source:not(.hud-progress){display:none}.interactive-player .hud-source{min-height:var(--control-sm)}.interactive-player .player-session-bar,.interactive-player .ending-panel{margin-inline:var(--space-4)}.interactive-player .player-layout{gap:var(--space-3);grid-template-columns:minmax(0,1fr);grid-template-areas:"stage""emotion""dialogue""evidence""timeline"}.interactive-player .character-stage{min-height:min(54svh, var(--container-reader));border-radius:var(--radius-none);border-inline:0}.interactive-player .character-stage:after{right:var(--space-4);width:min(52%, calc(var(--container-reader) / 2))}.interactive-player .emotion-panel,.interactive-player .dialogue-log,.interactive-player .evidence-board,.interactive-player .memory-timeline{margin-inline:var(--space-4)}.interactive-player .player-mobile-tabs{top:var(--header-height-mobile);z-index:var(--z-sticky);gap:var(--space-1);margin-inline:var(--space-4);padding:var(--space-1);border:var(--space-hair) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:sticky}.interactive-player .player-mobile-tabs button{min-height:var(--control-md);border-radius:var(--radius-md);color:var(--color-text-secondary);font-weight:var(--fw-link);background:0 0;border:0}.interactive-player .player-mobile-tabs button[aria-pressed=true]{background:var(--color-brand-solid);color:var(--color-text-inverse)}.interactive-player .player-panel{display:none}.interactive-player .player-layout[data-active-panel=dialogue] .player-panel-dialogue,.interactive-player .player-layout[data-active-panel=evidence] .player-panel-evidence,.interactive-player .player-layout[data-active-panel=timeline] .player-panel-timeline{display:block}.interactive-player .player-panel>section{margin-inline:var(--space-4);width:calc(100% - var(--space-8))}.interactive-player .emotion-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.interactive-player .emotion-header{grid-column:1/-1}.interactive-player .evidence-scroll{grid-auto-columns:minmax(calc(var(--control-lg) * 4), 1fr);grid-auto-flow:column;max-height:none;overflow:auto hidden}.interactive-player .player-controls{padding-inline:var(--space-2);max-height:15svh;margin-inline:0}.interactive-player .action-bar{grid-auto-columns:minmax(calc(var(--control-md) * 2), 1fr);overscroll-behavior-inline:contain;grid-template-columns:none;grid-auto-flow:column;overflow-x:auto}.interactive-player .action-button{min-height:var(--control-sm)}.interactive-player .input-dock{grid-template-columns:minmax(0,1fr) auto}.interactive-player .input-meta{display:none}.interactive-player .input-dock textarea{height:var(--control-md);min-height:var(--control-md);padding-block:var(--space-2);resize:none}}@media (max-width:480px){.interactive-player .hud-time{display:none}.interactive-player .character-stage{min-height:min(50svh, calc(var(--container-reader) - var(--space-16)))}.interactive-player .character-plate{top:var(--space-3);left:var(--space-3);padding:var(--space-2) var(--space-3)}.interactive-player .stage-caption{right:var(--space-3);bottom:var(--space-3);left:var(--space-3)}.interactive-player .emotion-panel{grid-template-columns:minmax(0,1fr)}.interactive-player .emotion-header{grid-column:auto}.interactive-player .ending-panel{grid-template-columns:minmax(0,1fr)}.interactive-player .ending-panel button{min-height:var(--control-md)}}@media (prefers-reduced-motion:reduce){.interactive-player *,.interactive-player :before,.interactive-player :after{scroll-behavior:auto;transition-duration:var(--motion-reduced)}.interactive-player .evidence-card:hover{transform:none}}
