.activity-scene { position: relative; width: 100%; aspect-ratio: 1; isolation: isolate; overflow: hidden; }
.activity-scene > .voting-canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; opacity: 0; visibility: hidden; transition: opacity .35s ease; }
.activity-scene[data-scene="voting"] > .voting-canvas, .activity-scene[data-scene="discussion"] > .voting-canvas, .activity-scene[data-scene="idle"] > .voting-canvas { opacity: 1; visibility: visible; }
.scene-legend { position: absolute; left: 12px; right: 12px; bottom: 13px; text-align: center; color: var(--ink2); font: var(--t3); font-style: italic; pointer-events: none; }
.tile .chip, .tile .decision, .stage .decision { z-index: 2; pointer-events: none; }
.tile .chip.DISCUSSIO, .chip.DISCUSSIO { color: #376B60; border-color: #8EAC99; background: #EBF0E4; }
.tile .chip.OTIUM, .chip.OTIUM { color: #796545; border-color: #BEAE8A; background: #EDE5D2; }
.tile .chip.PREVIEW, .chip.PREVIEW { color: #796545; border-color: #BEAE8A; background: #F5EBD2; }
.scene-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 20px; padding: 16px 0; margin: 0 0 4px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.scene-intro { flex: 1 1 290px; display: grid; gap: 4px; }
.scene-note { color: var(--ink2); font: var(--t3); font-style: italic; }
.scene-controls[data-preview="true"] .scene-note { color: #80642F; }
.scene-buttons { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.scene-controls button { cursor: pointer; font: var(--t3); letter-spacing: 0; text-transform: none; background: transparent; color: var(--ink2); border: 1px solid transparent; border-radius: 3px; padding: 8px 11px; white-space: nowrap; }
.scene-controls button:hover { background: #F5F0E380; border-color: var(--line); }
.scene-controls button[aria-pressed="true"] { color: var(--ink); border-color: var(--line2); background: var(--panel); box-shadow: 0 1px 2px #5D503514; }
.scene-controls button:focus-visible { outline: 2px solid var(--bronze); outline-offset: 3px; }
.scene-divider { height: 18px; border-left: 1px solid var(--line); margin: 0 5px; }
.mode-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; margin-right: 6px; vertical-align: 1px; }
.mode-dot.voting { background: var(--gold); } .mode-dot.discussion { background: var(--verdigris); } .mode-dot.idle { border: 1px solid var(--bronze); }
.scene-controls .throw-switch { font: var(--tm); padding: 6px 0; color: var(--verdigris); }
.scene-controls .throw-switch[hidden] { display: none; }
.tile:focus-visible { outline: 2px solid var(--bronze); outline-offset: 3px; }
.stage .activity-scene .scene-legend { bottom: 34px; }
@media (prefers-reduced-motion: reduce) { .activity-scene > * { transition: none !important; } }
@media (max-width: 620px) { .scene-controls { gap: 10px; } .scene-intro { flex-basis: 100%; } .scene-controls button { padding: 8px; } .scene-buttons { gap: 1px; } header { flex-wrap: wrap; gap: 8px 14px !important; } header nav { margin-left: 0 !important; } .hero { gap: 20px !important; } }
.discussion-messages { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:1; }
.activity-scene:not([data-scene="discussion"]) > .discussion-messages { display:none; }
.poetry-reader[hidden], .poetry-words[hidden] { display:none; }
.poetry-reader { margin:0 0 18px; border-bottom:1px solid var(--line); color:var(--ink); }
.poetry-reader summary { display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; padding:13px 0; color:var(--ink2); font:var(--t3); list-style:none; }
.poetry-reader summary::-webkit-details-marker { display:none; }
.poetry-reader summary:hover { color:var(--bronze); }
.poetry-reader summary:focus-visible, .poetry-reader select:focus-visible { outline:2px solid var(--bronze); outline-offset:3px; }
.poetry-book { display:grid; grid-template-columns:minmax(180px,1fr) minmax(0,2.3fr); gap:42px; border-top:1px solid var(--line); padding:28px 0 38px; }
.poetry-tools label { display:block; font:var(--t4); color:var(--ink2); letter-spacing:.12em; text-transform:uppercase; margin:0 0 9px; }
.poetry-tools select { width:100%; min-width:0; color:var(--ink); background:var(--panel); border:1px solid var(--line2); padding:10px 30px 10px 10px; font:var(--t3); }
.poetry-count { display:block; margin-top:12px; color:var(--bronze); font:var(--tm); }
.poetry-page { padding:0 26px 0 0; min-width:0; }
.poetry-page h2 { font:var(--t1); font-size:28px; margin:0 0 28px; letter-spacing:.01em; }
.poetry-verse { font:17px/1.75 Georgia,serif; overflow-wrap:anywhere; }
.poetry-verse p { margin:0 0 1.6em; }
.poetry-verse h3 { font-size:1.1em; margin:2em 0 1em; }
.poetry-verse blockquote { margin:1.6em 0; padding-left:18px; border-left:1px solid var(--gold); }
@media (max-width:620px) { .poetry-book { grid-template-columns:1fr; gap:24px; } .poetry-page { padding:0; } .poetry-verse { font-size:16px; } }
