@import"https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap";*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh}:root{--bg: #0a0a0a;--text: #e0e0e0;--text-dim: #666;--accent: #00ff88;--offense: #ff6b6b;--defense: #4ecdc4;--danger: #ff4444}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{font-family:Space Mono,monospace;background:var(--bg);color:var(--text);line-height:1.5}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;max-width:700px;margin:0 auto;padding:15px;width:100%;overflow-x:hidden}h1{font-size:2rem;text-align:center;color:var(--accent);margin-bottom:15px;letter-spacing:4px}h2{font-size:1.5rem;color:var(--text);margin-bottom:15px}h3{font-size:1rem;color:var(--accent);margin-bottom:10px;text-transform:uppercase;letter-spacing:2px}p{margin-bottom:10px}button{font-family:inherit;background:var(--accent);color:var(--bg);border:none;padding:10px 20px;cursor:pointer;font-weight:700;text-transform:uppercase;transition:all .15s}button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}button:disabled{opacity:.4;cursor:not-allowed}input,textarea{font-family:inherit;background:transparent;border:1px solid var(--text-dim);color:var(--text);padding:10px;width:100%;font-size:.9rem}input:focus,textarea:focus{outline:none;border-color:var(--accent)}.error-banner{background:var(--danger);color:#fff;padding:10px;text-align:center;margin-bottom:15px;cursor:pointer}.spinner{display:inline-block;width:16px;height:16px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite;margin-right:8px;vertical-align:middle}.spinner-large{width:40px;height:40px;border:3px solid var(--text-dim);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:20px auto}@keyframes spin{to{transform:rotate(360deg)}}.setup-screen{display:flex;flex-direction:column;gap:20px;position:relative}.setup-screen>.back-btn{position:static;align-self:flex-start;margin-bottom:-10px}.setup-section{border:1px solid var(--text-dim);padding:15px}.setup-section.objective{border-color:var(--accent);text-align:center}.setup-section.objective p{font-size:.95rem}.role-display{display:flex;flex-direction:column;gap:12px;margin-bottom:15px}.swap-btn{background:var(--bg-light);border:1px solid var(--text-dim);padding:8px 15px;font-size:1.2rem;cursor:pointer;align-self:center;transition:transform .2s,background .2s}.swap-btn:hover{background:var(--accent);transform:rotate(180deg)}.role-card{border:2px solid var(--text-dim);padding:12px 15px}.role-card.offense{border-color:var(--offense)}.role-card.defense{border-color:var(--defense)}.role-label{display:flex;align-items:center;gap:6px;font-weight:700;margin-bottom:8px;font-size:.85rem;letter-spacing:1px}.role-card.offense .role-label{color:var(--offense)}.role-card.defense .role-label{color:var(--defense)}.player-info{display:flex;align-items:center;gap:10px}.player-info img{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0}.player-info img.editable-photo{cursor:pointer;border:2px solid transparent;transition:border-color .2s}.player-info img.editable-photo:hover{border-color:var(--accent)}.photo-add-btn{width:36px;height:36px;border-radius:50%;background:#ffffff14!important;border:2px dashed var(--text-dim)!important;color:var(--text-dim)!important;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0!important;flex-shrink:0;transition:border-color .2s,color .2s}.photo-add-btn:hover{border-color:var(--accent)!important;color:var(--accent)!important}.player-name-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem}.player-info .remove-btn{background:transparent;color:var(--text-dim);padding:2px 8px;font-size:1.1rem;flex-shrink:0}.player-info .remove-btn:hover{color:var(--danger)}.empty{color:var(--text-dim);font-style:italic;font-size:.85rem}.add-player-form{display:flex;flex-direction:column;gap:10px}.photo-row{display:flex;gap:8px}.photo-btn{flex:1;background:transparent;color:var(--text);border:1px dashed var(--text-dim);font-size:.8rem;padding:8px 10px}.photo-btn:hover{border-color:var(--accent)}.photo-preview{position:relative;width:60px;height:60px}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-preview button{position:absolute;top:-5px;right:-5px;width:20px;height:20px;padding:0;border-radius:50%;background:var(--danger);color:#fff;font-size:.8rem;line-height:1}.add-btn{flex:1}.current-setting{font-size:1.1rem;color:var(--accent);margin-bottom:15px}.setting-options{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.setting-btn{background:transparent;color:var(--text);border:1px solid var(--text-dim);padding:6px 12px;font-size:.8rem;text-transform:none}.setting-btn:hover{border-color:var(--accent)}.setting-btn.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}.custom-setting{display:flex;gap:10px}.custom-setting input{flex:1}.custom-setting button{flex-shrink:0}.hint{color:var(--text-dim);font-size:.85rem;margin-bottom:15px}.object-input{display:flex;gap:10px;margin-bottom:15px}.object-input input{flex:1}.object-list{display:flex;flex-wrap:wrap;gap:8px}.object-chip{background:#ffffff0d;padding:5px 12px;display:flex;align-items:center;gap:8px}.object-chip button{background:transparent;color:var(--text-dim);padding:0 4px;font-size:1rem}.object-chip button:hover{color:var(--danger)}.start-section{text-align:center;padding:20px 0}.start-btn{font-size:1.2rem;padding:15px 40px}.camera-modal{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:100}.camera-box{background:var(--bg);padding:20px;border:1px solid var(--accent)}.camera-box video{width:100%;max-width:400px;display:block;margin-bottom:15px}.camera-btns{display:flex;gap:10px;justify-content:center}.intent-screen{display:flex;flex-direction:column;gap:20px}.intent-screen.handoff,.intent-screen.waiting,.intent-screen.resolve{min-height:60vh;align-items:center;justify-content:center;text-align:center}.handoff-box,.waiting-box,.resolve-box{border:1px solid var(--text-dim);padding:40px}.pass-text{color:var(--text-dim);margin-bottom:10px}.player-name{font-size:2rem;font-weight:700;margin-bottom:10px}.player-name.offense{color:var(--offense)}.player-name.defense{color:var(--defense)}.role-badge{font-size:.9rem;color:var(--text-dim);margin-bottom:15px}.role-hint{margin-bottom:20px}.ready-btn,.next-btn,.resolve-btn{margin-top:10px}.scene-display{border:1px solid var(--text-dim);overflow:hidden}.scene-display img{width:100%;display:block}.intent-header{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:10px}.player-tag{padding:5px 15px;font-weight:700}.player-tag.offense{background:var(--offense);color:var(--bg)}.player-tag.defense{background:var(--defense);color:var(--bg)}.stats-row{display:flex;gap:15px}.stamina{color:gold}.stamina.wounded{color:#ff9800}.stamina.critical{color:#f44336;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.status-badge{padding:4px 10px;border-radius:4px;font-size:.8rem;font-weight:700}.status-badge.wounded{background:#ff980033;color:#ff9800;border:1px solid #ff9800}.status-badge.critical{background:#f4433633;color:#f44336;border:1px solid #f44336;animation:pulse 1s infinite}.role-tag{margin-left:auto}.role-tag.offense{color:var(--offense)}.role-tag.defense{color:var(--defense)}.objects-reminder{font-size:.85rem;color:var(--text-dim);padding:10px;background:#ffffff05}.intent-input{position:relative}.intent-input textarea{min-height:80px;resize:vertical}.input-footer{display:flex;justify-content:flex-end;padding:5px 10px}.char-count{font-size:.75rem;color:var(--text-dim)}.intent-hint{background:#ffffff0d;border:1px solid var(--text-dim);border-radius:8px;padding:12px 15px;margin-bottom:15px}.hint-title{font-weight:700;margin-bottom:8px;color:var(--accent);font-size:.9rem}.hint-examples{font-size:.85rem;color:var(--text-dim);margin-bottom:10px;line-height:1.6}.stamina-guide{display:flex;gap:15px;flex-wrap:wrap;font-size:.8rem;color:gold}.stamina-guide span{background:#ffd7001a;padding:4px 8px;border-radius:4px}.submit-btn{width:100%;padding:15px;font-size:1.1rem}.results-screen{display:flex;flex-direction:column;gap:20px}.results-header{text-align:center}.winner-announcement{margin-top:15px}.winner-name{display:block;font-size:2rem;font-weight:700;margin-bottom:10px}.winner-name.offense{color:var(--offense)}.winner-name.defense{color:var(--defense)}.win-reason{font-size:1.2rem;color:var(--accent)}.scene-viewer{border:2px solid var(--accent);overflow:hidden;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.scene-frame{width:100%}.scene-frame img{width:100%;display:block}.caption-area{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;background:#000000d9}.punchy-caption{font-size:1.1rem;font-weight:700;color:var(--text);margin:0;flex:1}.prompt-toggle{background:var(--bg-light);border:1px solid var(--text-dim);color:var(--text-dim);width:28px;height:28px;border-radius:50%;font-size:.9rem;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.prompt-toggle:hover{background:var(--accent);color:var(--bg)}.prompt-detail{padding:10px 15px;font-size:.75rem;color:var(--text-dim);background:#000000f2;margin:0;font-style:italic;border-top:1px solid var(--text-dim)}.dice-screen{text-align:center;padding:20px}.dice-screen h1{font-size:1.8rem;margin-bottom:10px}.dice-subtitle{color:var(--text-dim);margin-bottom:30px}.dice-arena{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:30px}.dice-player{flex:1;max-width:200px;padding:20px;border:2px solid var(--text-dim);transition:border-color .3s}.dice-player.offense{border-color:var(--offense)}.dice-player.defense{border-color:var(--defense)}.dice-player .player-info{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:20px}.dice-player .player-info img{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid var(--text)}.dice-player .player-info .name{font-weight:700;font-size:1.1rem}.dice-player .player-info .role{font-size:.85rem;color:var(--text-dim)}.dice-result{min-height:80px;display:flex;align-items:center;justify-content:center}.dice{width:70px;height:70px;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;background:var(--bg-light);border:3px solid var(--accent);border-radius:10px}.dice.rolling{border-color:var(--text-dim);color:var(--text-dim)}.dice.final{border-color:var(--accent)}.dice.final.lucky{border-color:#4caf50;color:#4caf50;box-shadow:0 0 15px #4caf5066}.dice.final.unlucky{border-color:#f44336;color:#f44336;box-shadow:0 0 15px #f4433666}.roll-btn{padding:15px 25px;font-size:1rem;background:var(--accent);color:var(--bg);border:none;cursor:pointer;font-weight:700;transition:transform .2s,background .2s}.roll-btn:hover:not(:disabled){transform:scale(1.05);background:var(--text)}.roll-btn:disabled{opacity:.5;cursor:not-allowed}.dice-vs{font-size:1.5rem;font-weight:700;color:var(--text-dim)}.dice-winner{font-size:1.3rem;font-weight:700;padding:15px;margin-bottom:20px}.dice-winner .offense{color:var(--offense)}.dice-winner .defense{color:var(--defense)}.dice-winner .tie{color:var(--accent)}.dice-resolving{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text-dim);font-size:1rem}.dice-screen.no-conflicts{text-align:center;padding:40px}.conflicts-list{display:flex;flex-direction:column;gap:20px;margin:20px 0}.conflict-card{border:2px solid var(--accent);padding:20px;background:#0000004d}.conflict-card.resolved{border-color:var(--text-dim)}.conflict-name{text-align:center;font-size:1.2rem;margin-bottom:15px;color:var(--accent)}.conflict-rolls{display:flex;align-items:center;justify-content:center;gap:20px}.roll-slot{display:flex;flex-direction:column;align-items:center;gap:8px;padding:15px;min-width:120px;border:1px solid var(--text-dim);transition:all .3s}.roll-slot.offense{border-color:var(--offense)}.roll-slot.defense{border-color:var(--defense)}.roll-slot.winner{background:#ffffff1a;box-shadow:0 0 15px #fff3}.roll-slot .player-name{font-weight:700;font-size:.95rem}.roll-slot .player-role{font-size:1.2rem}.conflict-rolls .vs{font-size:1rem;color:var(--text-dim);font-weight:700}.conflict-winner{text-align:center;margin-top:15px;font-size:1.1rem;font-weight:700}.conflict-winner .offense{color:var(--offense)}.conflict-winner .defense{color:var(--defense)}.conflict-winner .tie{color:var(--accent)}.dice-continue{text-align:center;margin-top:30px}.continue-btn{padding:18px 35px;font-size:1.1rem;background:var(--accent);color:var(--bg);border:none;cursor:pointer;font-weight:700;transition:transform .2s,background .2s}.continue-btn:hover{transform:scale(1.05);background:var(--text)}.frames-section{margin:20px 0}.frames-hint{text-align:center;font-size:.75rem;color:var(--text-dim);margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}.frames-scroll-container{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:10px 0 20px;-webkit-overflow-scrolling:touch}.frames-scroll-container::-webkit-scrollbar{height:6px}.frames-scroll-container::-webkit-scrollbar-track{background:var(--bg-dark);border-radius:3px}.frames-scroll-container::-webkit-scrollbar-thumb{background:var(--text-dim);border-radius:3px}.frame-card{flex:0 0 auto;width:85%;max-width:600px;scroll-snap-align:center;border:2px solid var(--text-dim);border-radius:8px;overflow:hidden;position:relative;cursor:pointer;transition:border-color .2s,transform .2s;background:var(--bg-dark)}.frame-card:first-child{margin-left:7.5%}.frame-card:last-child{margin-right:7.5%}.frame-card.active{border-color:var(--accent);transform:scale(1.02)}.frame-card img{width:100%;display:block}.frame-number{background:#0009;color:var(--text-dim);font-size:1.2rem;font-weight:700;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-family:var(--font-mono)}.frame-card.active .frame-number{background:var(--accent);color:var(--bg-dark)}.frame-caption{padding:12px 15px;background:#000000d9;font-size:1rem;font-weight:700;color:var(--text);margin:0;text-align:center}.frame-header{position:absolute;top:10px;right:10px;display:flex;gap:8px;align-items:center}.frame-info-btn{background:#0009;color:var(--text-dim);border:none;width:28px;height:28px;border-radius:50%;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}.frame-info-btn:hover{background:var(--accent);color:var(--bg-dark)}.prompt-modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.prompt-modal{background:var(--bg-dark);border:2px solid var(--accent);border-radius:12px;max-width:700px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.prompt-modal-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid var(--text-dim)}.prompt-modal-header h3{margin:0;font-size:1rem}.prompt-modal-header button{background:transparent;border:none;color:var(--text);font-size:1.5rem;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.prompt-modal-content{padding:20px;overflow-y:auto;font-family:var(--font-mono);font-size:.85rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--text-dim);margin:0}.narration-box{border:1px solid var(--text-dim);padding:20px;background:#ffffff05}.narration-box p{font-size:1.1rem;font-style:italic}.intents-recap{border:1px solid var(--text-dim);padding:15px}.intent-item{margin-bottom:10px;padding-left:15px;border-left:3px solid var(--text-dim)}.intent-item.offense{border-left-color:var(--offense)}.intent-item.defense{border-left-color:var(--defense)}.intent-item .player{font-weight:700;margin-right:8px}.intent-item .text{color:var(--text-dim)}.damage-report{border:1px solid var(--danger);padding:15px}.damage-item{display:flex;gap:15px;margin-bottom:5px}.damage-item .player{flex:1}.damage-item .amount{color:var(--danger)}.damage-item .new-hp{color:var(--text-dim)}.changes-report{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:20px}.stamina-changes,.damage-changes{flex:1;min-width:200px;background:#ffffff0d;padding:15px;border-radius:8px}.stamina-changes h3{color:gold}.damage-changes h3{color:#f44336}.stamina-item,.damage-item{display:flex;gap:10px;align-items:center;padding:5px 0}.stamina-item .player,.damage-item .player{font-weight:700;flex:1}.stamina-item .cost{color:gold;font-weight:700}.stamina-item .remaining,.damage-item .remaining{color:var(--text-dim);font-size:.9rem}.damage-item .amount{color:#f44336;font-weight:700}.player-bars{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.player-status-card{border:2px solid var(--text-dim);padding:15px;border-radius:8px;background:#ffffff08}.player-status-card.offense{border-color:var(--offense)}.player-status-card.defense{border-color:var(--defense)}.player-status-card .bar-header{display:flex;justify-content:space-between;margin-bottom:12px}.player-status-card .bar-header .name{font-weight:700;font-size:1.1rem}.stat-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.stat-label{width:25px;text-align:center}.stat-row .bar-track{flex:1;height:16px;background:#ffffff1a;border-radius:8px;overflow:hidden}.stat-row .bar-fill{height:100%;border-radius:8px;transition:width .5s ease}.stat-value{min-width:60px;text-align:right;font-size:.9rem;color:var(--text-dim)}.status-indicator{margin-top:10px;padding:5px 10px;border-radius:4px;font-size:.85rem;font-weight:700;text-align:center}.status-indicator.wounded{background:#ff980033;color:#ff9800;border:1px solid #ff9800}.status-indicator.critical{background:#f4433633;color:#f44336;border:1px solid #f44336;animation:pulse 1s infinite}.health-bars{display:flex;flex-direction:column;gap:15px}.health-bar{border:1px solid var(--text-dim);padding:10px}.health-bar.offense{border-color:var(--offense)}.health-bar.defense{border-color:var(--defense)}.bar-header{display:flex;justify-content:space-between;margin-bottom:8px}.bar-header .name{font-weight:700}.bar-header .hp{color:var(--text-dim)}.bar-track{height:20px;background:#ffffff1a;overflow:hidden}.bar-fill{height:100%;transition:width .5s}.results-actions{text-align:center;padding:20px 0}.next-turn-btn,.play-again-btn{font-size:1.1rem;padding:15px 40px}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center}.loading-overlay{position:fixed;inset:0;background:#0a0a0af2;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:50}.mode-select-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.mode-select-content{text-align:center;max-width:500px}.game-title{font-size:3rem;color:var(--accent);margin-bottom:.5rem;letter-spacing:.2em}.game-subtitle{color:var(--text-dim);font-size:.85rem;margin-bottom:3rem}.mode-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.mode-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:1.5rem 1.25rem;cursor:pointer;color:var(--text);font-family:inherit;display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:140px;flex:1;max-width:200px;transition:border-color .2s}.mode-btn:hover{border-color:var(--accent)}.mode-icon{font-size:2.5rem}.mode-label{font-size:1.2rem;font-weight:700;letter-spacing:.15em}.mode-desc{font-size:.7rem;color:var(--text-dim)}.lobby-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.lobby-box{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem;max-width:400px;width:100%;text-align:center}.lobby-box h2{margin-bottom:.5rem;color:var(--accent)}.lobby-box p{color:var(--text-dim);font-size:.85rem;margin-bottom:1.5rem}.lobby-input{width:100%;padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:var(--text);font-family:inherit;font-size:1rem;margin-bottom:1rem;text-align:center}.lobby-input:focus{outline:none;border-color:var(--accent)}.code-input{font-size:2rem;letter-spacing:.5em;text-transform:uppercase}.lobby-btn{width:100%;padding:.75rem;border-radius:8px;border:none;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:700;letter-spacing:.1em;margin-bottom:.75rem;transition:opacity .2s}.lobby-btn:disabled{opacity:.5;cursor:not-allowed}.lobby-btn.primary{background:var(--accent);color:var(--bg)}.lobby-btn.secondary{background:#ffffff1a;color:var(--text)}.lobby-btn.text{background:none;color:var(--text-dim);font-weight:400}.back-btn{position:absolute;top:1rem;left:1rem;background:none;border:none;color:var(--text-dim);cursor:pointer;font-family:inherit;font-size:.85rem}.back-btn:hover{color:var(--text)}.waiting-room{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.waiting-box{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem;max-width:500px;width:100%;text-align:center;position:relative}.waiting-box h2{color:var(--accent);margin-bottom:1.5rem}.join-code-display{margin-bottom:2rem}.join-code-label{color:var(--text-dim);font-size:.8rem;margin-bottom:.5rem}.join-code{font-size:3rem;font-weight:700;letter-spacing:.5em;color:var(--accent);background:#00ff880d;border:2px dashed rgba(0,255,136,.3);border-radius:12px;padding:.5rem 1rem;display:inline-block}.waiting-players{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.waiting-player{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#ffffff0d;border-radius:8px;font-size:.9rem}.waiting-player.offense{border-left:3px solid var(--offense)}.waiting-player.defense{border-left:3px solid var(--defense)}.waiting-player.empty{border-left:3px solid var(--text-dim);opacity:.5}.player-emoji{font-size:1.2rem}.player-role{color:var(--text-dim);font-size:.75rem;margin-left:auto}.host-badge{font-size:.65rem;background:var(--accent);color:var(--bg);padding:.15rem .4rem;border-radius:4px;font-weight:700}.waiting-setup{text-align:left;margin-bottom:1.5rem}.waiting-setup h3{font-size:.75rem;color:var(--text-dim);margin-bottom:.5rem;letter-spacing:.1em}.setting-select{width:100%;padding:.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:var(--text);font-family:inherit;font-size:.8rem;margin-bottom:.75rem}.swap-roles{margin-bottom:.75rem}.objects-list{display:flex;flex-wrap:wrap;gap:.5rem}.object-tag{background:#ffffff14;padding:.25rem .6rem;border-radius:4px;font-size:.75rem;display:inline-flex;align-items:center;gap:.3rem}.object-tag button{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.9rem}.add-object-btn{background:none;border:1px dashed rgba(255,255,255,.2);padding:.25rem .6rem;border-radius:4px;font-size:.75rem;color:var(--text-dim);cursor:pointer;font-family:inherit}.start-btn{font-size:1.1rem;padding:1rem}.waiting-hint{color:var(--text-dim);font-size:.85rem;margin-top:1rem}.error-overlay{position:fixed;top:0;left:0;right:0;padding:.75rem;background:#ff4444e6;color:#fff;text-align:center;font-size:.8rem;cursor:pointer;z-index:100}.turn-label{font-size:.7rem;color:var(--text-dim);letter-spacing:.15em;margin-bottom:.25rem;display:block}.dice .waiting{background:#ffffff1a;color:var(--text-dim);font-size:1.5rem}
