.landing-section{display:flex;justify-content:center;padding:clamp(2.5rem,12vh,6rem) 1.5rem 1.5rem}.landing-title{position:relative;margin:0;width:min(100%,24rem);display:flex;flex-direction:column;align-items:center;font-weight:400}.landing-logo{display:block;width:100%;height:auto;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45))}.landing-subtitle{margin-top:.6rem;font-size:.8rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--text-muted);padding-left:.32em}.controls{width:min(100% - 2.5rem,22rem);margin:clamp(3.5rem,9vh,5rem) auto 0;display:grid;grid-template-columns:1fr 1.25fr;gap:.75rem}.name-input-container{grid-column:1 / -1;display:flex;flex-direction:column;gap:.4rem}.name-input-label{font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding-left:.2rem}.name-input{width:100%;height:3.25rem;padding:0 1rem;border-radius:var(--radius);border:1px solid var(--border-strong);background-color:var(--surface-sunken);color:var(--text);font-size:1.15rem;font-weight:500;text-align:center;outline:none;transition:border-color .15s,box-shadow .15s}.name-input:focus{border-color:#fff6;box-shadow:0 0 0 3px #ffffff14}.name-input::placeholder{color:var(--text-faint);font-weight:400}.host-button,.join-button{height:3.5rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius);color:#fff;font-size:1.15rem;font-weight:600;letter-spacing:.01em;box-shadow:var(--shadow);transition:background-color .15s,transform 80ms}.host-button:active,.join-button:active{transform:scale(.98)}.host-button{background-color:var(--orange)}.host-button.loading,.host-button:not(.loading):hover{background-color:var(--orange-hover)}.join-container{display:flex}.join-button{flex:1;gap:.6rem;padding:0 .5rem;background-color:var(--green)}.join-button.loading,.join-button:not(.loading):hover{background-color:var(--green-hover)}.join-input{width:6.4ch;height:2.5rem;padding:0 .4rem;border:none;border-radius:var(--radius-sm);background-color:#00000038;color:#fff;font-size:1.1rem;font-weight:600;letter-spacing:.08em;text-align:center;text-transform:uppercase;outline:none}.join-input::placeholder{color:#ffffff80;font-weight:500;letter-spacing:.04em}.join-input:focus{background-color:#00000052}:root{--bg: #3a3a3c;--bg-deep: #2c2c2e;--surface: #47474a;--surface-2: #525256;--surface-sunken: #2f2f31;--sheet: #303032;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .16);--text: #f4f4f5;--text-muted: #b4b4b9;--text-faint: #85858b;--green: #1f9d55;--green-hover: #1a8547;--red: #c9372c;--red-hover: #ab2d23;--orange: #e2700f;--orange-hover: #c25f0b;--blue: #3271e6;--amber: #e5a33a;--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--shadow: 0 6px 20px rgba(0, 0, 0, .28);--shadow-lg: 0 18px 48px rgba(0, 0, 0, .45);--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-serif: "Della Respira", Georgia, serif;color:var(--text);background-color:var(--bg-deep);font-size:1.0625rem;font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}*,*:before,*:after{box-sizing:border-box}html,body{height:100dvh;margin:0;overflow:hidden}body{background:radial-gradient(120% 80% at 50% 0%,#48484b 0%,var(--bg) 45%,var(--bg-deep) 100%) fixed}button,input,select,textarea{font-family:inherit}button{cursor:pointer}.phone-wrapper{height:100dvh;width:clamp(30vh,100vw,100vh);margin:0 auto;position:relative;overflow:hidden}.cropped-viewport{position:absolute;inset:0;overflow:visible;margin:0rem}.loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:1rem}.error-banner{position:fixed;top:calc(env(safe-area-inset-top,0px) + .75rem);left:50%;transform:translate(-50%);max-width:calc(100vw - 2rem);width:max-content;background-color:var(--red);color:#fff;padding:.65rem 1rem;border-radius:var(--radius);box-shadow:var(--shadow);font-size:.95rem;font-weight:500;line-height:1.35;text-align:center;transition-property:opacity,transform;z-index:7000;pointer-events:none}.error-banner:empty{display:none}.error-visible{opacity:1;transition-duration:0ms}.error-hidden{opacity:0;transition-duration:.5s}.room-header{position:absolute;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top,0px) + .75rem) 1rem .5rem;pointer-events:none}.room-header>*{pointer-events:auto}.room-header-actions{display:flex;gap:.55rem}.icon-button{width:3.3rem;height:3.3rem;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--border);border-radius:50%;background:#ffffff12;color:#e6e6e9;transition:background .15s,color .15s,transform 80ms}.icon-button svg{width:1.6rem;height:1.6rem}.icon-button:hover{background:#ffffff21}.icon-button:active{transform:scale(.94)}.icon-button.active{background:#fff3;color:#fff}.room-code-btn{height:3.3rem;display:inline-flex;align-items:center;padding:0 1.25rem;border:1px solid var(--border-strong);border-radius:999px;background:#ffffff17;color:var(--text);font-size:1.15rem;font-weight:700;letter-spacing:.14em;box-shadow:0 2px 8px #0003;-webkit-user-select:none;user-select:none;transition:background .15s ease,transform 80ms ease}.room-code-btn:hover{background:#ffffff26}.room-code-btn:active{transform:scale(.97)}.player-list{position:fixed;top:0;bottom:0;left:50%;transform:translate(-50%);width:min(100vw,28rem);display:flex;flex-direction:column;align-items:center;gap:.5rem;overflow-y:auto;padding:calc(env(safe-area-inset-top,0px) + 5.1rem) 1rem calc(env(safe-area-inset-bottom,0px) + 1.5rem);-webkit-mask-image:linear-gradient(to bottom,transparent 4.2rem,black 5rem);mask-image:linear-gradient(to bottom,transparent 4.2rem,black 5rem);scrollbar-width:none}.player-list::-webkit-scrollbar{display:none}.player-card{display:flex;justify-content:space-between;align-items:center;gap:.75rem;width:100%;min-height:3.15rem;padding:.45rem .8rem .45rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 2px #0000002e;cursor:pointer;transition:background .15s,transform 80ms}.player-card:hover{background:var(--surface-2)}.player-card:active{transform:scale(.99)}.player-card.self{border-color:#3271e68c}.player-card.spectator{background:transparent;border-style:dashed;border-color:var(--border-strong);box-shadow:none}.player-card.spectator .player-name{color:var(--text-faint)}.player-name{min-width:0;overflow:hidden;text-align:left;white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;font-weight:500;color:var(--text)}.player-name.anonymous{color:var(--text-faint);font-style:italic}.player-badges{flex-shrink:0;display:flex;gap:.4rem;align-items:center}.badge{display:inline-block;padding:.22rem .5rem;border-radius:999px;background:var(--surface-2);color:#fff;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.you-badge{background:var(--blue)}.host-badge{background:var(--amber);color:#2b1d05}.spectator-badge,.offline-badge,.claim-pending-badge{background:transparent;border:1px solid var(--border-strong);color:var(--text-faint)}.claim-seat-button{padding:.3rem .65rem;border:none;border-radius:999px;background:var(--blue);color:#fff;font-size:.75rem;font-weight:600}.player-card.offline .player-name{color:var(--text-faint)}.leader-badge{width:2.25rem;height:2.25rem;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}.log-notice-banner{position:fixed;top:calc(env(safe-area-inset-top,0px) + 4.6rem);left:50%;transform:translate(-50%);width:max-content;max-width:calc(100vw - 2rem);z-index:4500;pointer-events:none;padding:.6rem 1rem;border-radius:999px;background-color:#1e1e20f0;border:1px solid var(--border-strong);box-shadow:var(--shadow);color:var(--text);font-size:.9rem;font-weight:500;text-align:center;word-break:break-word;opacity:0;transition:opacity .5s ease-in-out}.log-notice-visible{opacity:1}.log-notice-hidden{opacity:0}.log-notice-banner.gray{color:#d4d4d8}.log-notice-banner.green{color:#86efac;border-color:#1f9d558c}.log-notice-banner.red{color:#fca5a5;border-color:#c9372c99}.log-modal{position:absolute;top:calc(env(safe-area-inset-top,0px) + 4.6rem);left:1rem;right:1rem;max-width:24rem;margin:0 auto;z-index:1500;display:none;flex-direction:column;max-height:60dvh;background-color:#262628;border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.log-modal.log-visible{display:flex;animation:pop-in .14s ease-out}.log-modal.log-hidden{display:none}.log-header{display:flex;align-items:center;justify-content:space-between;padding:.6rem .6rem .4rem 1rem}.log-title{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.log-close-button,.sheet-close{width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:50%;background:#ffffff14;color:var(--text-muted)}.log-close-button:hover,.sheet-close:hover{background:#ffffff24;color:var(--text)}.log-content{display:flex;flex-direction:column;gap:.4rem;overflow-y:auto;padding:0 .75rem .75rem}.log-empty{padding:.5rem .25rem;color:var(--text-faint);font-size:.9rem}.log-entry{padding:.5rem .75rem;border-radius:var(--radius-sm);border-left:3px solid transparent;background-color:#ffffff0d;font-size:.9rem;line-height:1.35;color:#d4d4d8;word-break:break-word}.log-entry.gray{border-left-color:#ffffff40}.log-entry.green{border-left-color:var(--green);color:#bbf7d0;background-color:#1f9d551a}.log-entry.red{border-left-color:var(--red);color:#fecaca;background-color:#c9372c1f}.sheet-overlay{position:fixed;inset:0;display:flex;justify-content:center;align-items:flex-end;background:#0000008c;animation:fade-in .16s ease-out}.sheet{width:min(100vw,34rem);max-height:calc(100dvh - env(safe-area-inset-top,0px) - 1.5rem);display:flex;flex-direction:column;background:var(--sheet);border:1px solid var(--border);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg);animation:sheet-up .22s cubic-bezier(.2,.8,.2,1)}.settings-modal,.record-summary-modal,.deck-editor-modal{height:calc(100dvh - env(safe-area-inset-top,0px) - 2.5rem)}.sheet-grab{touch-action:none;cursor:grab}.sheet-handle{width:2.5rem;height:.3rem;margin:.5rem auto 0;border-radius:999px;background:#ffffff2e}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:.35rem .75rem .5rem 1.25rem}.sheet-title{margin:0;font-size:1.15rem;font-weight:700}.sheet-subheader{padding:0 1.25rem .75rem}.sheet-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:.25rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.9rem}.sheet-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:.75rem 1.25rem calc(env(safe-area-inset-bottom,0px) + .9rem);border-top:1px solid var(--border)}.sheet-footer .only-button{flex:1}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.section-title{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.section-hint{font-size:.8rem;color:var(--text-faint)}.empty-state{padding:1.5rem .5rem;text-align:center;color:var(--text-muted);font-size:.95rem;line-height:1.45}.only-button{min-height:2.9rem;padding:.6rem 1.25rem;border:none;border-radius:var(--radius);color:#fff;font-size:1rem;font-weight:600;transition:background .15s,transform 80ms,opacity .15s}.only-button:active:not(:disabled){transform:scale(.98)}.only-button.wide{width:100%}.only-button.green{background:var(--green)}.only-button.green:hover:not(:disabled){background:var(--green-hover)}.only-button.red{background:var(--red)}.only-button.red:hover:not(:disabled){background:var(--red-hover)}.only-button.gray{background:var(--surface-2)}.only-button.gray:hover:not(:disabled){background:#5e5e63}.only-button:disabled{opacity:.45;cursor:not-allowed}.text-button{padding:.35rem .75rem;border:1px solid var(--border-strong);border-radius:999px;background:transparent;color:var(--text);font-size:.85rem;font-weight:600}.text-button:hover:not(:disabled){background:#ffffff14}.segmented{display:flex;gap:.25rem;padding:.25rem;border-radius:var(--radius);background:var(--surface-sunken);border:1px solid var(--border)}.segmented button{flex:1;min-height:2.5rem;padding:.45rem .5rem;border:none;border-radius:calc(var(--radius) - 4px);background:transparent;color:var(--text-muted);font-size:.95rem;font-weight:600;transition:background .15s,color .15s}.segmented button.active{background:var(--surface-2);color:var(--text);box-shadow:0 1px 3px #0000004d}.segmented button:disabled{opacity:.5;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:.4rem}.field-label{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.settings-input{width:100%;min-height:2.9rem;padding:.6rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-sunken);color:var(--text);font-size:1rem;outline:none;transition:border-color .15s,box-shadow .15s}.settings-input:focus{border-color:#fff6;box-shadow:0 0 0 3px #ffffff12}.settings-input::placeholder{color:var(--text-faint)}.settings-input:disabled{opacity:.55}.settings-input.json{min-height:14rem;resize:vertical;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.85rem;line-height:1.45}.settings-input.toggle{-webkit-appearance:none;appearance:none;flex:0 0 auto;position:relative;width:3.1rem;height:1.85rem;min-height:0;padding:0;margin:0;border:none;border-radius:999px;background:#5e5e63;cursor:pointer;transition:background .18s}.settings-input.toggle:after{content:"";position:absolute;top:.2rem;left:.2rem;width:1.45rem;height:1.45rem;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000059;transition:transform .18s}.settings-input.toggle:checked{background:var(--green)}.settings-input.toggle:checked:after{transform:translate(1.25rem)}.settings-input.toggle:focus{box-shadow:none}.settings-input.toggle:focus-visible{box-shadow:0 0 0 3px #ffffff40}.settings-content{display:flex;flex-direction:column;gap:1.25rem}.settings-section{display:flex;flex-direction:column;gap:1rem}.settings-group{display:flex;flex-direction:column;gap:.6rem}.settings-group-header{display:flex;align-items:center;justify-content:space-between;min-height:2rem}.settings-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:3.25rem;padding:.6rem .9rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);cursor:pointer}.settings-row.button-only-row{padding:0;background:none;border:none;cursor:default}.settings-label{flex:1;display:flex;flex-direction:column;gap:.15rem;font-size:1rem;font-weight:500}.settings-sublabel{font-size:.8rem;font-weight:400;color:var(--text-muted)}.settings-note{margin-top:-.4rem;font-size:.85rem;color:var(--text-faint);text-align:center}.button-stack{display:flex;flex-direction:column;gap:.6rem;margin-top:.4rem}.disabled-row{opacity:.5;pointer-events:none}.disabled-section .field-label{color:var(--text-faint)}.deck-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.6rem,1fr));gap:.6rem}.deck-card-button{display:block;width:100%;padding:0;border:none;border-radius:10px;background:none;transition:transform .1s}.deck-card-button:active{transform:scale(.97)}.deck-card{display:block;width:100%;height:auto;aspect-ratio:1088 / 1526;object-fit:cover;border-radius:10px;box-shadow:0 3px 10px #0006}.role-pool{position:relative;touch-action:pan-y;aspect-ratio:1088 / 1526;border-radius:10px;outline:1px dashed var(--border-strong);outline-offset:3px}.role-pool .deck-card{box-shadow:0 3px 12px #0000008c}.role-pool-badge{position:absolute;top:.3rem;right:.3rem;z-index:5;padding:.2rem .45rem;border-radius:999px;background:#141416d9;border:1px solid var(--border-strong);font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text);pointer-events:none}.card-viewer-overlay{touch-action:pan-y;position:fixed;inset:0;z-index:6000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:calc(env(safe-area-inset-top,0px) + 3.5rem) 1rem calc(env(safe-area-inset-bottom,0px) + 1.25rem);background:#000000e0;animation:fade-in .14s ease-out}.card-viewer-img{max-width:min(100%,30rem);max-height:calc(100dvh - 10rem);width:auto;height:auto;border-radius:16px;box-shadow:0 20px 60px #0009;animation:pop-in .16s ease-out}.card-viewer-close{position:absolute;top:calc(env(safe-area-inset-top,0px) + .75rem);right:.75rem;width:2.75rem;height:2.75rem}.card-viewer-nav{display:flex;align-items:center;gap:1.25rem}.card-viewer-count{min-width:3.5rem;text-align:center;font-size:.95rem;font-weight:600;color:var(--text-muted)}.player-manager-section{display:flex;flex-direction:column;gap:.4rem}.player-manager-item{display:flex;align-items:center;gap:.5rem;min-height:3.1rem;padding:.4rem .5rem .4rem .4rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}.player-manager-item .player-name{flex:1;font-size:1rem}.player-manager-item.spectator .player-name{color:var(--text-faint)}.drag-handle{display:inline-flex;padding:.25rem;color:var(--text-faint);cursor:grab;touch-action:none}.kick-button,.spectator-button{flex-shrink:0;min-height:2.1rem;padding:.3rem .75rem;border:none;border-radius:999px;color:#fff;font-size:.82rem;font-weight:600}.spectator-button{background:var(--surface-2)}.kick-button{background:#c9372cd9}.kick-button.hidden{visibility:hidden}.kick-button:disabled,.spectator-button:disabled{opacity:.45;cursor:not-allowed}.option-list{display:flex;flex-direction:column;gap:.4rem}.option-row{display:flex;align-items:center;gap:.75rem;min-height:3rem;padding:.5rem .9rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);font-size:1rem;cursor:pointer}.option-row.selected{border-color:var(--green);background:#1f9d551f}.option-row input[type=radio]{-webkit-appearance:none;appearance:none;flex:0 0 auto;width:1.25rem;height:1.25rem;margin:0;border:2px solid var(--text-faint);border-radius:50%;background:transparent;transition:border-color .15s,box-shadow .15s}.option-row input[type=radio]:checked{border-color:var(--green);box-shadow:inset 0 0 0 .2rem var(--sheet),inset 0 0 0 1rem var(--green)}.error-banner-small{color:#fca5a5;font-size:.9rem}.knowledge-content{display:flex;flex-direction:column;gap:.5rem}.knowledge-entry{display:flex;justify-content:space-between;align-items:center;gap:.75rem;min-height:3.6rem;padding:.4rem .5rem .4rem 1rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}.knowledge-label{font-size:1.05rem;font-weight:500}.knowledge-entry img{width:3rem;height:3rem;object-fit:contain}.knowledge-first-leader{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:1.15rem;font-weight:600}.knowledge-first-leader-name{color:var(--amber)}.knowledge-first-leader-icon{width:2.6rem;height:2.6rem;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.knowledge-entry.self{justify-content:center;padding:.5rem 0 .75rem;background:none;border:none}.knowledge-entry.self img{width:min(60vw,13rem);height:auto;border-radius:12px;box-shadow:0 10px 30px #00000073}.qr-overlay,.player-knowledge-overlay,.confirm-overlay{position:fixed;inset:0;display:flex;justify-content:center;align-items:center;padding:1.5rem;background:#0009;animation:fade-in .14s ease-out}.qr-overlay{z-index:2000}.player-knowledge-overlay,.confirm-overlay{z-index:5000}.qr-code-container{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.75rem 1.75rem 1.25rem;border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-lg);animation:pop-in .16s ease-out}.qr-caption{display:flex;flex-direction:column;align-items:center;gap:.15rem;color:#1c1c1e}.qr-code-text{font-size:1.5rem;font-weight:700;letter-spacing:.18em}.qr-hint{font-size:.85rem;color:#6b6b70}.player-knowledge-modal{width:min(100%,20rem);display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.25rem;border-radius:var(--radius-lg);background:var(--sheet);border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:pop-in .16s ease-out}.player-knowledge-name{font-size:1.25rem;font-weight:600}.player-knowledge-img{width:min(62vw,13rem);height:auto;border-radius:12px;object-fit:contain;box-shadow:0 10px 30px #00000073}.player-knowledge-img.placeholder{aspect-ratio:5 / 7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem;border:2px dashed var(--border-strong);background:var(--surface-sunken);box-shadow:none;text-align:center}.placeholder-mark{font-family:var(--font-serif);font-size:3.5rem;line-height:1;color:var(--text-faint)}.placeholder-text{font-size:.9rem;line-height:1.4;color:var(--text-muted)}.confirm-modal{width:min(100%,22rem);display:flex;flex-direction:column;gap:.5rem;padding:1.4rem 1.25rem 1.25rem;border-radius:var(--radius-lg);background:var(--sheet);border:1px solid var(--border);box-shadow:var(--shadow-lg);text-align:center;animation:pop-in .16s ease-out}.confirm-title{font-size:1.15rem;font-weight:700}.confirm-text{font-size:.95rem;color:var(--text-muted)}.confirm-buttons{display:flex;gap:.75rem;margin-top:.75rem}.confirm-buttons .only-button{flex:1}.confirm-secondary-link{margin-top:.35rem;padding:.5rem;border:none;background:none;color:var(--text-muted);font-size:.9rem;text-decoration:underline;text-underline-offset:3px}.team-select-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.team-image-button{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.75rem .5rem .6rem;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-muted);transition:border-color .15s,background .15s}.team-image-button img{display:block;width:5.5rem;height:5.5rem;object-fit:contain;transition:filter .15s ease}.team-image-button .dimmed{filter:grayscale(1) brightness(.55)}.team-label{font-size:.95rem;font-weight:600}.team-image-button.selected{color:var(--text)}.team-image-button.team-good.selected{border-color:#4a9be0;background:#4a9be01f}.team-image-button.team-evil.selected{border-color:#e0573d;background:#e0573d1f}.record-divider{width:100%;height:1px;margin:.25rem 0;background:var(--border-strong)}.detailed-grid{display:flex;flex-direction:column;gap:.5rem}.quest-row,.amulet-row{display:grid;gap:.5rem;align-items:center}.quest-row{grid-template-columns:4.6rem minmax(0,1fr) max-content}.quest-label{font-size:.95rem;font-weight:500;color:var(--text-muted);white-space:nowrap}.detailed-select{width:100%;min-height:3rem;padding:.4rem .6rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-sunken);color:var(--text);font-size:1rem}.detailed-select:disabled{opacity:.75}.quest-outcome-group{display:flex;gap:.35rem}.quest-outcome-button{width:3.2rem;height:3.2rem;padding:.2rem;border-radius:50%;justify-content:center}.quest-outcome-button img{width:100%;height:100%}.amulet-legend{display:flex;gap:1rem;margin-top:-.4rem;font-size:.85rem;color:var(--text-muted)}.amulet-legend span{display:inline-flex;align-items:center;gap:.3rem}.amulet-legend .amulet-icon{width:1.2rem;height:1.2rem}.amulet-row{grid-template-columns:1.6rem minmax(0,1fr) 1.6rem minmax(0,1fr)}.amulet-icon{width:1.6rem;height:1.6rem;object-fit:contain}.end-game-branch-wrap{display:flex;flex-direction:column;gap:.6rem}.name-prompt-overlay{z-index:5500}.name-prompt{gap:.8rem}.name-prompt .name-input{width:100%}.name-prompt-taken{color:#f19a92}.ttm-record{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.ttm-record-winner{font-family:var(--font-serif);font-size:2rem}.ttm-record-winner.good{color:#8fbaff}.ttm-record-winner.evil{color:#ff9a90}.ttm-record-reason{color:var(--text-muted);margin-bottom:.4rem}.ttm-record-row{display:flex;align-items:center;gap:.7rem;padding:.45rem .6rem;border-radius:var(--radius-sm);background:var(--surface);font-size:.95rem;line-height:1.35}.ttm-record-result{flex:none;width:1.8rem;height:1.8rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--surface-2);font-weight:700}.ttm-record-result.good{background:#2f5fa8}.ttm-record-result.evil{background:#9b2e25}.ttm-record-note{font-size:.8rem;color:var(--text-faint)}.info-button{display:inline-flex;align-items:center;justify-content:center;width:1.3rem;height:1.3rem;margin-left:.45rem;padding:0;border:1px solid var(--border);border-radius:50%;background:#ffffff0f;color:var(--text-muted);font-size:.75rem;font-weight:700;font-style:italic;font-family:Georgia,serif;vertical-align:middle;cursor:pointer}.only-button.blue{background:var(--blue)}.only-button.blue:hover:not(:disabled){background:#2a62c9}.quest-card{display:block;width:var(--card-w, 7.5rem);aspect-ratio:5 / 7;object-fit:cover;border-radius:6%/4.3%;box-shadow:0 6px 16px #0006;-webkit-user-select:none;user-select:none}.quest-card.mini{--card-w: 1.1rem;box-shadow:none}.loyalty-card{width:var(--card-w, 7.5rem);aspect-ratio:5 / 7;object-fit:cover;border-radius:6%/4.3%;display:block;box-shadow:0 6px 16px #0006}.loyalty-card.large{--card-w: min(60vw, 14rem)}.hold-to-flip{display:flex;flex-direction:column;align-items:center;gap:1.1rem;text-align:center}.hold-target{--card-w: min(34vw, 9rem);position:relative;padding:1rem;border:none;border-radius:18px;background:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:transform .2s}.hold-target.holding{transform:scale(.97)}.hold-ring{position:absolute;inset:0;border-radius:18px;padding:4px;background:conic-gradient(var(--amber) calc(var(--hold-progress) * 360deg),rgba(255,255,255,.08) 0);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.card-pair{display:flex;gap:.9rem;justify-content:center}.ttm{position:fixed;inset:0;overflow:hidden;z-index:4000;display:flex;flex-direction:column;background:radial-gradient(120% 70% at 50% 30%,#2f3a33,#1d2420 60%,#141916);padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}.ttm-top{display:grid;grid-template-columns:3.3rem 1fr 3.3rem;align-items:center;gap:.5rem;padding:.75rem .75rem 0}.ttm-close{width:2.8rem;height:2.8rem}.ttm-name{text-align:center;font-size:1.5rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ttm-board-button{justify-self:end}.ttm-mat,.ttm-waiting{flex:1}.ttm-prompt{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:1rem}.ttm-mat{position:relative;padding:0;overflow:hidden}.ttm-token-slot{position:absolute;inset:0;pointer-events:none}.ttm-token-art,.ttm-token-hit{position:absolute;top:0;left:0;transform-origin:center;transition:transform .45s cubic-bezier(.2,.8,.3,1),width .45s,height .45s}.ttm-token-art{filter:drop-shadow(0 8px 14px rgba(0,0,0,.5))}.ttm-token-art.shine{filter:drop-shadow(0 0 10px rgba(255,216,130,.95)) drop-shadow(0 0 26px rgba(255,200,90,.7));animation:token-shine 1.8s ease-in-out infinite alternate}@keyframes token-shine{0%{filter:drop-shadow(0 0 8px rgba(255,216,130,.8)) drop-shadow(0 0 18px rgba(255,200,90,.5))}to{filter:drop-shadow(0 0 14px rgba(255,224,150,1)) drop-shadow(0 0 34px rgba(255,200,90,.85))}}.ttm.looking-back:after{content:"";position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 36px 6px #ffc45a80,inset 0 0 90px 18px #ffbe5038;animation:looking-back-glow 2.4s ease-in-out infinite alternate;z-index:5}@keyframes looking-back-glow{0%{opacity:.7}to{opacity:1}}.ttm-token-art.tossing{animation:token-toss .75s cubic-bezier(.2,.75,.3,1) both}@keyframes token-toss{0%{translate:var(--toss-x) var(--toss-y);rotate:var(--toss-r);scale:1.35}75%{translate:0 0;rotate:0deg;scale:.97}to{translate:0 0;rotate:0deg;scale:1}}.ttm-token-art img{width:100%;height:100%;object-fit:contain;transition:opacity .12s,filter .12s,scale .1s}.ttm-token-art.dimmed img{opacity:.28;filter:grayscale(.8)}.ttm-token-art.dimmed.tappable img{animation:token-offer 1.6s ease-in-out infinite}.ttm-token-hit{padding:0;border:none;background:transparent;pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent}.ttm-token-slot:has(.ttm-token-hit:active) .ttm-token-art img{scale:.94}@keyframes token-offer{0%,to{opacity:.25}50%{opacity:.5}}.round-action{width:4.6rem;height:4.6rem;display:inline-flex;align-items:center;justify-content:center;flex:none;border:none;border-radius:50%;color:#fff;box-shadow:0 6px 16px #00000073;transition:transform .12s,opacity .15s}.round-action:active{transform:scale(.92)}.round-action:disabled{opacity:.2}.round-action.blue{background:var(--blue, #2f6fd1)}.round-action.green{background:var(--green, #2e8b4e)}.round-action.gray{background:#ffffff29}.ttm-finish{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.6rem;padding:.8rem 1.75rem;font-size:1.2rem}.icon-actions{display:flex;gap:1.5rem}.card-choice{display:flex;flex-direction:column;align-items:center;gap:1rem;width:min(100%,22rem);text-align:center}.ttm-prompt{--card-w: min(43vw, 36vh)}.ttm-prompt .hold-target>.quest-card,.ttm-prompt .loyalty-card.large{--card-w: min(72vw, 48vh)}.prompt-title{font-size:1.15rem;font-weight:700}.prompt-note{font-size:.85rem;color:var(--text-muted)}.card-option{padding:0;border:3px solid transparent;border-radius:14px;background:none;transition:transform .12s,border-color .12s,opacity .15s}.card-option.selected{border-color:var(--amber);transform:translateY(-6px)}.card-option:disabled{opacity:.25;filter:grayscale(.7);cursor:not-allowed}.board{position:fixed;inset:0;z-index:4500;display:flex;flex-direction:column;background:radial-gradient(120% 90% at 50% 20%,#2b3530,#1a201c 65%,#111513);padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}.board-header{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem}.board-phase-chip{padding:.45rem .9rem;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#ffffff0f;color:var(--text);font-size:.95rem;font-weight:600}.board-code{padding:.35rem .6rem;border:none;border-radius:999px;background:none;font-size:1rem;font-weight:700;letter-spacing:.12em;color:#ffffff80}.board-code:hover{background:#ffffff0f;color:var(--text)}.board-qr-overlay{position:fixed;inset:0;z-index:5000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;border:none;background:#080a09eb;color:var(--text);animation:fade-in .16s ease-out}.board-main{container-type:size;flex:1;min-height:0;display:flex;gap:1rem;padding:0 1rem 1rem}.board-main>.board-table{flex:none;width:min(100cqw - 17rem - 1rem,(100cqh - var(--strip-h, 0rem)) * 1.367);transition:width .5s ease}.board-main>.board-panel{flex:1;min-width:0}.board-table{position:relative;min-height:0;display:flex;flex-direction:column}.board-panel{min-height:0;display:flex;flex-direction:column;overflow-y:auto;border-radius:var(--radius-lg);background:#00000040;border:1px solid rgba(255,255,255,.06)}.tableau{container-type:inline-size;flex:1;min-height:12rem;display:flex;flex-direction:column;justify-content:center;gap:.75rem;padding:1.25rem;border-radius:22px;background:radial-gradient(100% 120% at 50% 0%,#5b4a33,#3d3122 70%,#2c2318);border:2px solid #6f5a3c;box-shadow:inset 0 0 40px #00000073,var(--shadow-lg)}.tableau-track{display:flex;align-items:center;justify-content:center;gap:clamp(.2rem,1.2cqi,1rem)}.tableau-step{display:flex;align-items:center;gap:clamp(.2rem,1.2cqi,1rem)}.quest-space{--size: clamp(2.6rem, 14cqi, 8.5rem);position:relative;width:var(--size);height:var(--size);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 35%,#2a2118,#1a140e);border:3px solid #a4875b;color:#ead9b8;box-shadow:inset 0 4px 12px #0009}.quest-space.current{border-color:var(--amber);box-shadow:0 0 0 4px #e5a33a40,inset 0 4px 12px #0009}.quest-space-number{font-size:calc(var(--size) * .11);letter-spacing:.08em;text-transform:uppercase;opacity:.7}.quest-space-size{font-family:var(--font-serif);font-size:calc(var(--size) * .42);line-height:1}.quest-space-fails{font-size:calc(var(--size) * .1);font-weight:700;color:#f19a92}.score-marker{position:absolute;inset:4%;width:92%;height:92%;object-fit:cover;border-radius:50%;animation:pop-in .3s ease-out}.amulet-slot{width:clamp(1.2rem,4.5cqi,3rem);aspect-ratio:1}.amulet-slot img{width:100%;height:100%;object-fit:contain}.amulet-slot.taken{opacity:.2;filter:grayscale(1)}.tableau-footer{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem 1rem;font-size:.8rem;color:#ead9b899}.set-aside{display:inline-flex;align-items:center;gap:.3rem}.placeholder-tag{padding:.1rem .45rem;border:1px dashed rgba(234,217,184,.35);border-radius:999px}.strip-shell{display:grid;grid-template-rows:1fr;touch-action:none;transition:grid-template-rows .5s ease,opacity .3s ease,transform .2s ease}.strip-shell>*{min-height:0;overflow:hidden}.strip-shell.collapsed{grid-template-rows:0fr;opacity:0;pointer-events:none}.strip-grab,.strip-restore{display:flex;justify-content:center;width:100%;padding:.5rem 0 .1rem;border:none;background:none;cursor:grab}.strip-restore{position:absolute;left:0;right:0;bottom:0;padding:.6rem 0;cursor:pointer}.strip-handle{width:3rem;height:.3rem;border-radius:999px;background:#ffffff40}.player-strip{display:grid;grid-template-columns:repeat(var(--strip-cols, 5),minmax(0,1fr));gap:.5rem;padding-top:.4rem}.strip-player{display:flex;flex-direction:column;justify-content:center;gap:.3rem;height:4.9rem;min-width:0;padding:.4rem .8rem;border-radius:16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08)}.strip-player.waiting{border-color:#e5a33a99}.strip-top{display:flex;align-items:baseline;gap:.4rem;min-width:0}.strip-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;font-weight:600}.strip-tokens{display:flex;align-items:center;gap:.3rem;height:2.4rem;min-width:0}.strip-token{flex:0 1 auto;min-width:0;width:calc(1.6rem * var(--token-scale, 1));height:calc(1.6rem * var(--token-scale, 1));display:inline-flex;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.strip-token.revealer{width:1.7rem;height:2.4rem}.strip-token img,.strip-token svg{width:100%;height:100%;object-fit:contain}.panel-revealed{display:flex;flex-direction:column;gap:.25rem;padding:0 1.1rem 1.1rem;font-size:.9rem;color:#f19a92}.deck-overlay{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:2rem;background:#050706cc;animation:fade-in .16s ease-out}.deck-overlay-sheet{width:min(100%,70rem);max-height:100%;display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.5rem 1.5rem;border-radius:var(--radius-lg);background:var(--sheet);border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:pop-in .2s ease-out}.deck-overlay-header{display:flex;align-items:center;justify-content:space-between}.deck-overlay-cards{overflow-y:auto;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:1rem;padding:.4rem}.phase-card{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;border:none;border-radius:22px;background:#0a0c0bd1;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:var(--text);text-align:center;animation:fade-in .25s ease-out}.phase-card-title{font-family:var(--font-serif);font-size:clamp(2rem,6vw,4rem);color:#ead9b8}.phase-card-text{max-width:38rem;font-size:clamp(1rem,2.2vw,1.4rem);line-height:1.4;color:#ffffffd9}.phase-card-dismiss{font-size:.85rem;color:#fff6}.action-panel{flex:1 0 auto;display:flex;flex-direction:column;gap:.9rem;padding:1.1rem}.panel-title{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffff80}.panel-text{font-size:1rem;line-height:1.4}.panel-warning{padding:.65rem .8rem;border-radius:var(--radius-sm);background:#c9372c2e;border:1px solid rgba(201,55,44,.5);color:#ffb3ab;font-size:.9rem;line-height:1.35}.panel-note{font-size:.85rem;line-height:1.35;color:var(--text-muted)}.handout{position:relative;flex:1;min-height:10rem}.handout-inner{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:14px}.handout-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}.handout-token{display:inline-flex;filter:drop-shadow(0 6px 12px rgba(0,0,0,.55));transition:opacity .15s,scale .15s}.handout-token img{width:100%;height:100%;object-fit:contain}.handout-token.given{opacity:.12;scale:.92}.knock-button,.flip-button{min-height:3.6rem;font-size:1.25rem}.flip-button{animation:pop-in .2s ease-out}.knock-slot{flex:none;height:4.6rem;display:flex;align-items:center}.knock-slot>*{width:100%}.knock-button:disabled{opacity:.25;filter:grayscale(.6)}.knock-button.ready{animation:knock-ready .26s ease-out}@keyframes knock-ready{0%{transform:scale(.96)}60%{transform:scale(1.03)}to{transform:scale(1)}}.knock-warning{max-height:100%;overflow:hidden;display:flex;align-items:center;font-size:.85rem}.board-undo{width:2.6rem;height:2.6rem;margin-left:auto}.board-close{width:2.6rem;height:2.6rem;flex:none}.board-undo:disabled{opacity:.25;cursor:default}.waiting-list{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.waiting-label{width:100%;font-size:.8rem;color:var(--text-muted)}.waiting-name{padding:.3rem .65rem;border-radius:999px;background:#e5a33a26;color:#f4c77a;font-weight:600}.pile-layer{--pile-w: min(16vw, 27vh, 13rem);position:absolute;inset:3.4rem 0 0;z-index:4550;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.25rem;pointer-events:none;overflow:hidden}.pile-layer.revealing{background:#080a09bf;animation:fade-in .3s ease-out}.pile-layer button{pointer-events:auto}.pile-caption{position:relative;z-index:1;font-family:var(--font-serif);font-size:clamp(2rem,5vw,3.5rem);color:#ead9b8;text-shadow:0 2px 12px rgba(0,0,0,.8)}.pile-caption.small{font-family:var(--font);font-size:1.1rem;font-weight:600;padding:.45rem 1rem;border-radius:999px;background:#0000008c}.pile{position:relative;width:var(--pile-w);aspect-ratio:5 / 7;perspective:1200px}.pile-card{--card-w: var(--pile-w);position:absolute;inset:0;transform:translate(var(--fx),var(--fy)) rotate(var(--fr));animation:card-throw .65s cubic-bezier(.15,.7,.3,1) backwards;transition:transform .7s cubic-bezier(.3,.8,.3,1)}.pile-card.spread{transform:translate(var(--rx)) rotate(0)}.pile-card .quest-card{box-shadow:0 10px 24px #0000008c}@keyframes card-throw{0%{transform:translate(var(--sx),var(--sy)) rotate(var(--sr)) scale(1.35)}80%{transform:translate(var(--fx),var(--fy)) rotate(var(--fr)) scale(.97)}to{transform:translate(var(--fx),var(--fy)) rotate(var(--fr)) scale(1)}}.flip-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.3,.7,.3,1.25)}.pile-card.flipped .flip-inner{transform:rotateY(180deg) scale(1.08)}.flip-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.flip-front{transform:rotateY(180deg)}.pile-spacer{height:3.6rem}.flip-button{min-width:12rem}.reveal-result{min-height:3rem;font-family:var(--font-serif);color:#ead9b8;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:700;opacity:0;transform:scale(.9);transition:opacity .3s,transform .3s}.reveal-result.shown{opacity:1;transform:none}.reveal-skip{color:#fff9}.board-waiting{align-items:center;justify-content:center}.board-waiting-content{display:flex;flex-direction:column;align-items:center;gap:1.1rem;text-align:center}.board-waiting-title{font-family:var(--font-serif);font-size:clamp(1.8rem,5vw,3rem);color:#ead9b8}.board-waiting-code{font-size:clamp(2.5rem,8vw,4.5rem);font-weight:700;letter-spacing:.2em;padding-left:.2em}.board-waiting-hint{color:var(--text-muted)}.board-start{width:min(20rem,80vw);margin-top:.5rem}.board-mat-list{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;max-width:min(36rem,90vw)}.board-mat-player{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:999px;background:#ffffff0f;color:var(--text-muted)}.board-mat-player.on{background:#2ea05a38;color:#bfe8cc}.board-mat-player svg{width:1rem;height:1rem}.board-waiting-close{position:absolute;top:calc(env(safe-area-inset-top,0px) + .6rem);right:.75rem;width:2.6rem;height:2.6rem}.segmented.small button{padding:.35rem .8rem;font-size:.85rem}.only-button.orange{background:var(--orange)}.only-button.orange:hover:not(:disabled){background:var(--orange-hover)}.big-action{min-height:3.6rem;font-size:1.1rem}.panel-buttons{display:flex;gap:.6rem}.panel-buttons .only-button{flex:1}.panel-clock{font-size:3.2rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:center}.big-clock{font-size:clamp(4rem,14vw,9rem);font-weight:700;font-variant-numeric:tabular-nums;line-height:1;color:#fff}.big-clock.countdown{animation:pop-in .3s ease-out;color:#ead9b8;font-family:var(--font-serif)}.phase-card-reminder{font-size:1rem;color:var(--amber)}.panel-winner{font-family:var(--font-serif);font-size:2.4rem}.panel-winner.good{color:#8fbaff}.panel-winner.evil{color:#ff9a90}.hunt-result{padding:.55rem .8rem;border-radius:var(--radius-sm);font-weight:600}.hunt-result.right{background:#c9372c33;color:#ffb3ab}.hunt-result.wrong{background:#3271e633;color:#b3ccff}.handout-inner.set-aside-targets{flex-direction:row;flex-wrap:wrap;align-content:center;justify-content:center}.set-aside-target{position:relative;padding:0;border:none;background:none;color:#fff}.set-aside-target:disabled{opacity:.35}.revealer-notice{position:fixed;left:50%;top:50%;z-index:4700;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:.6rem;padding:2rem 2.5rem;border:2px solid rgba(255,138,128,.5);border-radius:22px;background:#140c0cf2;color:var(--text);text-align:center;box-shadow:var(--shadow-lg);animation:pop-in .3s ease-out}.revealer-notice-title{font-family:var(--font-serif);font-size:clamp(1.8rem,4vw,3rem);color:#ff9a90}.revealer-notice-text{color:var(--text-muted)}.hunt-picker{--hunt-card: min(52vw, 30vh, 18rem);width:100%;max-width:48rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.hunt-picker-top{width:100%;display:grid;grid-template-columns:2.8rem 1fr 2.8rem;align-items:center}.hunt-picker-title{text-align:center;font-size:1.15rem;font-weight:700;line-height:1.3}.hunt-roles{position:relative;width:100vw;flex:none;height:calc(var(--hunt-card) * 1.4 + 2rem + var(--hunt-card) * .25);overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}.hunt-strip{--hunt-gap: calc(var(--hunt-card) * -.42);position:absolute;top:calc(1rem + var(--hunt-card) * .25);left:50%;display:flex;transform:translate(calc(var(--hunt-card) / -2 - var(--active) * (var(--hunt-card) + var(--hunt-gap)) + var(--drag, 0px)));transition:transform var(--glide, .28s) cubic-bezier(.2,.8,.25,1)}.hunt-strip.dragging{transition:none}.hunt-role+.hunt-role{margin-left:var(--hunt-gap)}.hunt-role{position:relative;flex:0 0 var(--hunt-card);padding:0;border:3px solid transparent;border-radius:12px;background:none;--dim: .5;transform:scale(.8);transition:transform .2s,border-color .2s}.hunt-face{position:relative;display:block;pointer-events:none}.hunt-face img{width:100%;display:block;border-radius:9px;pointer-events:none}.hunt-shade{position:absolute;inset:0;border-radius:9px;background:#0b0e0c;opacity:calc(1 - var(--dim));transition:opacity .2s;pointer-events:none}.hunt-role-stack{position:relative;display:block;aspect-ratio:5 / 7}.hunt-role-stack .hunt-face{position:absolute;inset:0;border-radius:9px;box-shadow:0 4px 12px #00000080;transform-origin:50% 90%;will-change:transform;z-index:calc(var(--stack) - var(--level));transform:translate(calc(var(--side) * 6%),calc(var(--level) * -3%)) rotate(calc(var(--side) * var(--level) * 4deg));transition:transform .32s cubic-bezier(.25,.8,.3,1.15)}.hunt-role.active .hunt-role-stack .hunt-face{transform:translate(calc(var(--side) * var(--level) * 34%),calc(var(--level) * -9%)) rotate(calc(var(--side) * var(--level) * 13deg)) scale(calc(1 - var(--level) * .06))}.hunt-role.active:has(.hunt-role-stack){z-index:50!important}.hunt-role.cleric:not(.active){--dim: .62}.hunt-role.active{--dim: 1;transform:scale(1);border-color:var(--red)}.hunt-role.blank.active{border-color:transparent}.hunt-role-blank{aspect-ratio:5 / 7;display:flex;align-items:center;justify-content:center;border:2px dashed var(--border-strong);border-radius:9px;background:var(--surface-sunken);font-family:var(--font-serif);font-size:calc(var(--hunt-card) * .35);color:var(--text-faint)}.hunt-check:disabled{filter:grayscale(1)}.board-hunt-picker{position:fixed;inset:0;overflow:hidden;z-index:4650;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#080a09eb}.tableau-photo-wrap{container-type:size;flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem}.tableau-photo{container-type:inline-size;position:relative;width:min(100cqw,100cqh * 1.367);aspect-ratio:1.367;border-radius:3.5%/4.8%;overflow:hidden;box-shadow:var(--shadow-lg)}.tableau-art{width:100%;height:100%;display:block;object-fit:cover}.tableau-marker{position:absolute;width:calc(var(--r) * 2);height:calc(var(--r) * 2);transform:translate(-50%,-50%);border-radius:50%}.tableau-marker{box-shadow:0 .22cqi #4a3b2c,0 .44cqi #2e241b,0 .65cqi .35cqi #00000080,.4cqi 1.3cqi 1.6cqi #00000073;animation:marker-fall .52s cubic-bezier(.25,.9,.35,1.25)}.tableau-marker-face{position:absolute;inset:0;border-radius:50%;overflow:hidden;animation:marker-spin .52s cubic-bezier(.25,.9,.35,1.25)}.tableau-marker img{display:block;width:100%;height:100%;object-fit:contain}.tableau-marker-face:after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 32% 26%,#ffffff38,#fff0 42%),radial-gradient(circle at 50% 50%,#0000 66%,#00000038);box-shadow:inset 0 .15cqi #ffffff4d,inset 0 -.25cqi .35cqi #00000059}.tableau-amulet{position:absolute;width:calc(var(--ar, 4.75cqi) * 2);transform:translate(-50%,-50%);filter:drop-shadow(0 .18cqi 0 #3a2e40) drop-shadow(0 .3cqi .2cqi rgba(0,0,0,.55)) drop-shadow(.3cqi .9cqi 1cqi rgba(0,0,0,.4))}@keyframes marker-fall{0%{transform:translate(-50%,-50%) scale(1.7);opacity:0}60%{transform:translate(-50%,-50%) scale(.94);opacity:1}80%{transform:translate(-50%,-50%) scale(1.03)}to{transform:translate(-50%,-50%) scale(1)}}@keyframes marker-spin{0%{transform:rotate(-25deg)}60%{transform:rotate(3deg)}80%{transform:rotate(-1deg)}to{transform:none}}@media (orientation: portrait),(max-width: 760px){.board-main{container-type:normal;flex-direction:column;overflow-y:auto}.board-main>.board-table{width:auto}.board-main>.board-panel{flex:1 0 auto;min-height:14rem}.tableau-photo-wrap{container-type:normal;flex:none}.tableau-photo{width:100%}}@media (max-width: 560px){.board-header{flex-wrap:wrap;gap:.4rem .6rem;padding:.5rem .75rem}.board-phase-chip{order:-1;flex:1 0 100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-header .text-button{white-space:nowrap}.board-main{gap:.75rem;padding:0 .75rem .75rem}}@media (orientation: landscape) and (max-height: 500px){.board-header{padding:.35rem .75rem}.board-main{gap:.75rem;padding:0 .75rem .75rem}.action-panel{gap:.6rem;padding:.75rem}.handout{min-height:3rem}.knock-slot{height:3.4rem}.knock-button,.flip-button{min-height:3rem;font-size:1.1rem}.phase-card{padding:.75rem;gap:.3rem}.phase-card-title{font-size:1.7rem}.phase-card-text{font-size:.9rem}.phase-card-dismiss{font-size:.75rem}}.board.read-only .board-code{margin-left:auto}.team-good{color:#8fbaff}.team-evil{color:#ff9a90}.board{-webkit-user-select:none;user-select:none}.role-card-stage{--card-w: min(72vw, 40vh);transform:rotate(180deg)}.role-card-stage.slide-in{animation:role-slide-in .65s cubic-bezier(.2,.8,.3,1) both}.deal-in{animation:deal-in .6s cubic-bezier(.2,.8,.3,1) both}@keyframes deal-in{0%{transform:translateY(-90vh) rotate(-12deg)}to{transform:none}}@keyframes role-slide-in{0%{transform:translateY(-80vh) rotate(160deg)}to{transform:rotate(180deg)}}.role-flip{display:block;transform:scale(1);padding:0;border:none;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.role-flip:disabled{cursor:default}.role-flip-view{display:block;perspective:1600px}.role-flip-inner{position:relative;display:block;width:var(--card-w);aspect-ratio:5 / 7;transform-style:preserve-3d;transition:transform 1.5s cubic-bezier(.6,0,.2,1)}.role-flip.face-up .role-flip-inner{transform:rotateY(180deg)}.role-flip.flipping{animation:role-lift 1.5s cubic-bezier(.45,0,.2,1)}@keyframes role-lift{0%{transform:scale(1)}15%{transform:scale(1.04) rotate(-2deg)}50%{transform:scale(1.22)}85%{transform:scale(.97)}to{transform:scale(1)}}.role-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:6%/4.3%;overflow:hidden;box-shadow:0 10px 28px #00000080}.role-face .quest-card,.role-face img{width:100%;height:100%;display:block;object-fit:cover}.role-front{transform:rotateY(180deg)}.role-reveal .ttm-finish,.role-reveal .icon-actions{animation:fade-in .3s ease-out}.role-card-stage.upright{--card-w: inherit;transform:none}.upside-down{width:100%;display:flex;justify-content:center;transform:rotate(180deg)}@supports (height: 1svh){.role-card-stage{--card-w: min(72vw, 44svh)}.hunt-picker{--hunt-card: min(52vw, 32svh, 18rem)}}.tableau-marker.lookable{cursor:pointer}.tableau-marker.lookable:hover,.tableau-marker.looked-at{outline:.5cqi solid rgba(255,214,130,.9);outline-offset:.4cqi}.tableau-amulet-space{position:absolute;width:calc(var(--ar) * 2);height:calc(var(--ar) * 2);transform:translate(-50%,-50%);border-radius:50%;border:.35cqi dashed rgba(255,230,180,.55);background:#0000002e;padding:0;cursor:pointer}.tableau-amulet-space:disabled{cursor:default}.tableau-amulet-space.looked-at{border-style:solid;border-color:#ffd682f2;box-shadow:0 0 2cqi #ffc85ab3}.snapshot-card{border:2px solid rgba(255,210,120,.7)}.snapshot-cards{display:flex;justify-content:center;gap:.6rem;margin:.4rem 0 1rem}.snapshot-card-slot{position:relative;--card-w: clamp(4.5rem, min(13vw, 20vh), 10rem)}.snapshot-card-name{position:absolute;left:50%;bottom:-.6rem;transform:translate(-50%);max-width:120%;padding:.1rem .5rem;border-radius:999px;background:#141816eb;border:1px solid rgba(255,255,255,.18);font-size:.75rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.snapshot-loyalty{display:flex;flex-direction:column;align-items:center;gap:.5rem;--card-w: 6rem}
