*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{color:#111;background:#f5f5f5;width:100%;height:100dvh;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:18px;overflow:hidden}.turn-summary-backdrop{z-index:600;background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.turn-summary-modal{background:#fff;border-radius:14px;flex-direction:column;align-items:center;gap:.85rem;width:100%;max-width:34rem;padding:1.5rem 1.5rem 1.25rem;display:flex;box-shadow:0 12px 48px #00000047}.turn-summary-round-label{letter-spacing:.15em;text-transform:uppercase;opacity:.4;margin:0;font-size:.65rem;font-weight:800}.tsm-battlefield{flex-direction:row;justify-content:center;align-items:center;gap:.75rem;width:100%;display:flex}.tsm-side{flex-direction:column;flex:1;align-items:center;gap:.35rem;min-width:0;display:flex}.tsm-side--eliminated{opacity:.55}.tsm-player-name{letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;text-align:center;max-width:100%;font-size:.82rem;font-weight:800;overflow:hidden}.tsm-elim-badge{font-size:1.1rem;line-height:1}.tsm-outcome{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:.1rem;width:2.8rem;display:flex}.tsm-arrow{text-align:center;font-size:2.4rem;font-weight:900;line-height:1;display:block}.tsm-arrow--elim{color:#dc2626}.tsm-arrow--tie{color:#6b7280;font-size:2rem}.tsm-arrow--protect{font-size:1.8rem}.tsm-arrow--none{color:#9ca3af;font-size:1.6rem}.tsm-arrow-label{letter-spacing:.08em;text-transform:uppercase;color:#dc2626;opacity:.8;font-size:.6rem;font-weight:700}.turn-summary-lines{text-align:center;flex-direction:column;gap:.35rem;width:100%;display:flex}.turn-summary-line{margin:0;font-size:.9rem;line-height:1.4}.turn-summary-line--action{font-size:.95rem}.turn-summary-line--outcome{opacity:.85}.turn-summary-line--round-end{opacity:1;margin-top:.25rem;font-size:.95rem;font-weight:800}.turn-summary-confirm{flex-direction:column;align-items:center;gap:.5rem;width:100%;margin-top:.25rem;display:flex}.tsm-next-turn{opacity:.75;margin:0;font-size:.8rem}.tsm-peek{background:#fffbeb;border:2px dashed #fbbf24;border-radius:10px;flex-direction:column;align-items:center;gap:.4rem;width:100%;padding:.75rem 1rem;display:flex}.tsm-peek__label{letter-spacing:.06em;text-transform:uppercase;color:#92400e;margin:0;font-size:.72rem;font-weight:800}.tsm-peek__sublabel{color:#78350f;opacity:.8;margin:0;font-size:.82rem;font-weight:600}.peek-overlay{z-index:500;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.peek-overlay__box{background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:1rem;min-width:16rem;padding:1.5rem 2rem;display:flex;box-shadow:0 8px 40px #00000040}.peek-overlay__title{text-align:center;margin:0;font-size:1rem;font-weight:700}.peek-overlay__close{color:#fff;cursor:pointer;background:#0891b2;border:none;border-radius:8px;padding:.55rem 2rem;font-size:.95rem;font-weight:700;transition:background .15s}.peek-overlay__close:hover{background:#0e7490}.portrait-lockout{z-index:9999;text-align:center;background:#f5f5f5;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.portrait-lockout p{opacity:.8;font-size:1.1rem}.game-layout{flex-direction:column;width:100%;height:100%;display:flex}.game-header{-webkit-user-select:none;user-select:none;background:#fff;border-bottom:1px solid #e0e0e0;flex-shrink:0;align-items:center;gap:.45rem;height:2.2rem;padding:0 .75rem;display:flex}.game-header__brand{color:inherit;align-items:center;gap:.45rem;text-decoration:none;display:flex}.game-header__brand:hover .game-header__title{opacity:1}.game-header__logo{width:auto;height:1.4rem;display:block}.game-header__title{letter-spacing:.04em;color:#111;opacity:.7;font-size:.85rem;font-weight:800;transition:opacity .15s}.game-header__links{opacity:.45;align-items:center;gap:.35rem;margin-left:auto;font-size:.65rem;display:flex}.game-header__links a{color:inherit;text-decoration:none}.game-header__links a:hover{opacity:1;text-decoration:underline}.game-header__sep{opacity:.5}.panels{flex:1;display:flex;overflow:hidden}@media (max-width:900px){.panel.panel--mobile-hidden,.panel-label{display:none}}.panel{border-right:1px solid #e0e0e0;flex-direction:column;flex:1;justify-content:flex-start;align-items:center;padding:0;display:flex;position:relative;overflow-y:auto}.panel:last-child{border-right:none}.panel-label{text-align:center;letter-spacing:.18em;text-transform:uppercase;color:#555;background:#f0f0f0;border-bottom:1px solid #e0e0e0;flex-shrink:0;width:100%;padding:.3rem 0;font-size:.6rem;font-weight:800}.mobile-tabs{display:none}@media (max-width:900px){.mobile-tabs{background:#fff;border-top:1px solid #e0e0e0;flex-shrink:0;height:3.2rem;display:flex}.mobile-tab{color:#999;cursor:pointer;letter-spacing:.1em;text-transform:uppercase;background:0 0;border:none;border-top:2px solid #0000;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.1rem;padding:.3rem 0;font-size:.55rem;font-weight:800;transition:color .15s,border-color .15s;display:flex}.mobile-tab__icon{font-size:1.2rem;line-height:1;display:inline-flex;position:relative}.mobile-tab__dot{background:#ef4444;border:2px solid #fff;border-radius:50%;width:.6rem;height:.6rem;position:absolute;top:-.15rem;right:-.4rem}.mobile-tab__dot--pulse{animation:1.2s ease-in-out infinite tab-dot-pulse}@keyframes tab-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.4)}}.mobile-tab__label{font-size:.5rem}.mobile-tab--active{color:#111;border-top-color:#111}}.player-strip-bar{display:none}@media (max-width:900px){.player-strip-bar{-webkit-overflow-scrolling:touch;background:#fff;border-bottom:1px solid #e0e0e0;flex-shrink:0;align-items:stretch;display:flex;overflow-x:auto}.pstrip__item{border-right:1px solid #e8e8e8;flex-direction:column;flex:none;align-items:center;gap:.15rem;min-width:5rem;max-width:8rem;padding:.3rem .4rem;transition:background .15s;display:flex}.pstrip__item:last-child{border-right:none}.pstrip__item--active{background:#fffbeb}.pstrip__item--eliminated{opacity:.4}.pstrip__name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.7rem;font-weight:800;overflow:hidden}.pstrip__badges{flex-wrap:wrap;justify-content:center;align-items:center;gap:.2rem;display:flex}.pstrip__tokens{opacity:.7;font-size:.6rem;font-weight:700}}.my-cards-confirm{flex-shrink:0;width:100%;margin-top:auto}.confirm-wrap{background:#f0f0f0;border-top:1px solid #e0e0e0;flex-shrink:0;width:100%;height:3.5rem;position:relative}.confirm-wrap:before{content:"";transform-origin:0;transform:scaleX(calc(var(--progress,0) / 100));pointer-events:none;z-index:0;background:#16a34a;position:absolute;top:0;bottom:0;left:0;right:0}.confirm-wrap:has(:disabled):before{display:none}.confirm-btn{z-index:1;color:#111;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;background:0 0;border:none;width:100%;height:100%;font-size:.9rem;font-weight:800;position:relative}.confirm-btn:disabled{opacity:.3;cursor:not-allowed}.loading-screen{opacity:.5;justify-content:center;align-items:center;width:100%;height:100%;font-size:1.2rem;display:flex}.error-banner{color:#7f1d1d;z-index:100;pointer-events:none;background:#fee2e2;border-radius:6px;padding:.5rem 1.25rem;font-size:.85rem;position:fixed;bottom:4rem;left:50%;transform:translate(-50%)}.home-screen{flex-direction:column;justify-content:center;align-items:center;gap:2rem;width:100%;height:100%;padding:1rem;display:flex}.home-brand{color:inherit;flex-direction:column;align-items:center;gap:.75rem;text-decoration:none;display:flex}.home-brand:hover{opacity:.8}.home-brand__logo{width:auto;height:clamp(4rem,10vw,7rem)}.home-title{text-align:center;letter-spacing:-.01em;font-size:clamp(1.8rem,5vw,3rem);font-weight:900;line-height:1.1}.home-subtitle{opacity:.6;letter-spacing:.15em;text-transform:uppercase;font-size:.55em;font-weight:400}.home-card{flex-direction:column;gap:.75rem;width:100%;max-width:320px;display:flex}.home-label{letter-spacing:.08em;text-transform:uppercase;opacity:.55;font-size:.75rem;font-weight:600}.home-input{color:#111;background:#fff;border:1px solid #d1d5db;border-radius:6px;outline:none;width:100%;padding:.65rem .85rem;font-size:1rem;transition:border-color .15s}.home-input:focus{border-color:#6b7280}.home-input--mono{letter-spacing:.3em;text-align:center;text-transform:uppercase;font-family:monospace;font-size:1.4rem}.home-actions{flex-direction:column;gap:.5rem;margin-top:.25rem;display:flex}.home-btn{cursor:pointer;border:none;border-radius:6px;width:100%;padding:.7rem 1rem;font-size:.95rem;font-weight:700;transition:opacity .15s,background .15s}.home-btn:disabled{opacity:.3;cursor:not-allowed}.home-btn--primary{color:#fff;background:#16a34a}.home-btn--primary:not(:disabled):hover{background:#15803d}.home-btn--secondary{color:#374151;background:#f5f5f5;border:1px solid #d1d5db}.home-btn--secondary:hover{background:#e5e5e5}.home-btn--ghost{color:#6b7280;background:0 0;font-weight:400}.home-btn--ghost:hover{color:#111}.home-error{color:#dc2626;margin-top:.25rem;font-size:.85rem}.home-room-list{flex-direction:column;gap:.5rem;width:100%;max-width:480px;display:flex}.home-room-list__heading{letter-spacing:.1em;text-transform:uppercase;opacity:.45;margin:0;font-size:.7rem;font-weight:700}.home-room-list__items{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.home-room-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:.75rem;padding:.55rem .85rem;display:flex}.home-room-item__info{flex-wrap:wrap;flex:1;align-items:center;gap:.6rem;min-width:0;display:flex}.home-room-item__code{letter-spacing:.12em;color:#374151;flex-shrink:0;font-family:monospace;font-size:.9rem;font-weight:700}.home-room-item__phase{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;flex-shrink:0;padding:.15rem .45rem;font-size:.7rem;font-weight:600}.home-room-item__phase--lobby{color:#854d0e;background:#fef9c3}.home-room-item__phase--playing{color:#166534;background:#dcfce7}.home-room-item__players{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.home-room-item__join{flex-shrink:0;width:auto;padding:.4rem .9rem;font-size:.85rem}.lobby-screen{align-items:stretch;width:100%;height:100%;display:flex}.lobby-left{border-right:1px solid #e0e0e0;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:1rem;width:220px;padding:1.5rem;display:flex}.lobby-brand{color:inherit;flex-direction:column;align-items:center;gap:.4rem;text-decoration:none;display:flex}.lobby-brand:hover .lobby-brand__title{opacity:1}.lobby-brand__logo{width:auto;height:3rem}.lobby-brand__title{letter-spacing:.05em;opacity:.6;text-align:center;font-size:.75rem;font-weight:800}.lobby-qr-block{flex-direction:column;align-items:center;gap:.35rem;display:flex}.lobby-qr{background:#f0f0f0;border:1px solid #e0e0e0;border-radius:8px;padding:.75rem}.lobby-code-block{flex-direction:column;align-items:center;gap:.2rem;display:flex}.lobby-code-label{letter-spacing:.12em;text-transform:uppercase;opacity:.45;font-size:.65rem;font-weight:700}.lobby-code-value{letter-spacing:.25em;font-family:monospace;font-size:1.6rem;font-weight:700}.lobby-share-hint{opacity:.4;text-align:center;font-size:.75rem}.lobby-share-btn{cursor:pointer;background:#fff;border:1.5px solid #d0d0d0;border-radius:8px;align-self:center;padding:.45rem 1.1rem;font-size:.85rem;font-weight:700;transition:background .15s,border-color .15s}.lobby-share-btn:hover{background:#f0f0f0;border-color:#aaa}.lobby-right{flex-direction:column;flex:1;gap:1rem;padding:1.5rem;display:flex;overflow-y:auto}.lobby-section-title{font-size:1rem;font-weight:700}.lobby-player-count{opacity:.5;font-weight:400}.lobby-player-list{flex-direction:column;gap:.4rem;list-style:none;display:flex}.lobby-player-item{background:#f0f0f0;border-radius:6px;align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.95rem;display:flex}.lobby-player-name{flex:1}.lobby-you-badge,.lobby-host-badge{letter-spacing:.05em;text-transform:uppercase;border-radius:4px;padding:.15rem .4rem;font-size:.65rem;font-weight:700}.lobby-you-badge{color:#1d4ed8;background:#dbeafe}.lobby-host-badge{color:#92400e;background:#fef3c7}.lobby-ai-badge{color:#6d28d9;background:#ede9fe}.lobby-add-ai-btn{color:#6d28d9;cursor:pointer;background:0 0;border:1.5px dashed #a78bfa;border-radius:6px;align-self:flex-start;margin-top:.75rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:background .15s,border-color .15s}.lobby-add-ai-btn:hover{background:#ede9fe;border-color:#7c3aed}.lobby-remove-ai-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;margin-left:auto;padding:.1rem .3rem;font-size:.8rem;line-height:1;transition:color .15s,background .15s}.lobby-remove-ai-btn:hover{color:#dc2626;background:#fee2e2}.lobby-setting{cursor:pointer;opacity:.8;align-items:center;gap:.6rem;font-size:.85rem;display:flex}.lobby-setting input[type=checkbox]{accent-color:#16a34a;width:1rem;height:1rem}.lobby-start-btn{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:6px;align-self:flex-start;margin-top:auto;padding:.75rem 1.5rem;font-size:1rem;font-weight:700;transition:background .15s,opacity .15s}.lobby-start-btn:disabled{opacity:.35;cursor:not-allowed;color:#9ca3af;background:#d1d5db}.lobby-start-btn:not(:disabled):hover{background:#15803d}.lobby-waiting-msg{opacity:.5;margin-top:auto;font-size:.9rem;font-style:italic}@media (max-width:767px){.lobby-screen{flex-direction:column}.lobby-left{border-bottom:1px solid #e0e0e0;border-right:none;flex-flow:wrap;justify-content:center;align-items:center;gap:1rem;width:100%;padding:1rem}.lobby-right{flex:1;min-height:0}.lobby-start-btn{align-self:stretch;margin-top:0}.lobby-waiting-msg{margin-top:0}}.round-end-card{text-align:center;flex-direction:column;gap:1rem;width:100%;padding:1rem;display:flex}.round-end-title{margin:0;font-size:1.6rem;font-weight:800}.round-end-winner{opacity:.9;margin:0;font-size:1.1rem}.round-end-scores{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.round-end-score-row{justify-content:space-between;align-items:center;gap:1rem;font-size:.95rem;display:flex}.round-end-score-name{font-weight:600}.round-end-you{opacity:.55;font-weight:400}.round-end-score-tokens{color:#b45309;letter-spacing:.05em}.round-end-btn{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:8px;padding:.7rem 1.5rem;font-size:1rem;font-weight:700;transition:background .15s}.round-end-btn:hover{background:#15803d}.round-end-btn--secondary{color:#475569;background:#e2e8f0}.round-end-btn--secondary:hover{background:#cbd5e1}.round-end-waiting{opacity:.5;margin:0;font-size:.9rem;font-style:italic}.card-picker{flex-direction:column;align-items:center;gap:.6rem;width:100%;display:flex}.card-picker__label{letter-spacing:.12em;text-transform:uppercase;opacity:.45;font-size:.7rem;font-weight:800}.card-picker__grid{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.card-picker__item{flex-direction:column;align-items:center;gap:.2rem;display:flex}.card-wiki-link{color:#2563eb;opacity:.55;letter-spacing:.03em;font-size:.55rem;line-height:1;text-decoration:none;transition:opacity .15s}.card-wiki-link:hover{opacity:1;text-decoration:underline}.card-picker__btn{background:var(--cc-bg,#f5f5f5);border:2px solid var(--cc,#aaa);color:#111;cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:.25rem;width:4rem;padding:.35rem .5rem;transition:border-color .12s,background .12s,box-shadow .12s;display:flex;position:relative}.card-picker__btn:hover{background:color-mix(in srgb, var(--cc,#3b82f6) 15%, #f8f8f8);box-shadow:0 4px 12px color-mix(in srgb, var(--cc,#3b82f6) 35%, transparent)}.card-picker__btn--selected{background:#f0fdf4;border-color:#16a34a;box-shadow:0 0 0 2px #16a34a40}.card-picker__img{object-fit:cover;object-position:top center;border-radius:4px;width:2.5rem;height:3rem}.card-picker__name{text-align:center;font-size:.62rem;font-weight:700;line-height:1.2}.card-picker__value{background:var(--cc,#333);color:#fff;z-index:2;border-radius:50%;justify-content:center;align-items:center;width:1.35em;height:1.35em;font-size:.65rem;font-weight:900;line-height:1;display:flex;position:absolute;top:.2rem;left:.2rem;box-shadow:0 1px 3px #0000004d}.player-picker{flex-direction:column;align-items:center;gap:.5rem;width:100%;display:flex}.player-picker__label{letter-spacing:.12em;text-transform:uppercase;opacity:.45;font-size:.7rem;font-weight:800}.player-picker__list{flex-direction:column;gap:.4rem;width:100%;display:flex}.player-picker__btn{color:#111;cursor:pointer;text-align:left;background:#fff;border:1px solid #3b82f6;border-radius:8px;align-items:center;gap:.6rem;width:100%;padding:.45rem .75rem;transition:border-color .12s,background .12s;display:flex}.player-picker__btn:hover{background:#eff6ff}.player-picker__btn--selected{background:#f0fdf4;border-color:#16a34a}.player-picker__btn--protected{opacity:.65}.player-picker__name{flex:1;font-size:.85rem;font-weight:700}.player-picker__shield{font-size:.85rem}.player-picker__tokens{opacity:.65;font-size:.75rem}.debug-toggle{z-index:300;color:#ff2dff;cursor:pointer;opacity:.55;background:#1a1a1a;border:1px solid #ff2dff;border-radius:6px;padding:.25rem .4rem;font-size:1rem;transition:opacity .15s;position:fixed;top:.5rem;right:.5rem}.debug-toggle:hover{opacity:1}.debug-panel{z-index:299;background:#0d0d0d;border:2px solid #ff2dff;border-radius:10px;flex-direction:column;gap:.5rem;min-width:18rem;max-width:26rem;max-height:calc(100vh - 3.5rem);padding:.75rem 1rem;font-size:.78rem;display:flex;position:fixed;top:2.5rem;right:.5rem;overflow-y:auto;box-shadow:0 0 24px #ff2dff59}.debug-panel__header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.debug-panel__badge{letter-spacing:.1em;text-transform:uppercase;color:#ff2dff;font-size:.7rem;font-weight:900}.debug-panel__refresh{color:#ff2dff;cursor:pointer;opacity:.8;background:0 0;border:1px solid #ff2dff;border-radius:4px;padding:.15rem .5rem;font-size:.7rem}.debug-panel__refresh:hover{opacity:1}.debug-panel__refresh:disabled{opacity:.4;cursor:not-allowed}.debug-panel__row{flex-wrap:wrap;gap:.5rem;display:flex}.debug-panel__key{color:#ff2dff;flex-shrink:0;min-width:7rem;font-weight:700}.debug-panel__val{color:#fde68a;word-break:break-all}.debug-panel__val em{opacity:.45;color:#f0f0f0;font-style:italic}.debug-panel__hands{border-top:1px solid #3a003a;flex-direction:column;gap:.3rem;margin-top:.2rem;padding-top:.4rem;display:flex}.debug-panel__hand-row{justify-content:space-between;gap:.5rem;display:flex}.debug-panel__hand-name{color:#c084fc;font-weight:600}.debug-panel__hand-card{color:#fde68a}.card-tile{border:3px solid var(--cc,#aaa);background:var(--cc-bg,#f5f5f5);color:#111;cursor:default;-webkit-user-select:none;user-select:none;border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:flex-start;align-items:center;gap:.2rem;padding:0;transition:border-color .15s,background .15s,transform .12s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.card-tile--casanova,.card-picker__btn--casanova{--cc:#2563eb;--cc-bg:#dbeafe}.card-tile--tesla,.card-picker__btn--tesla{--cc:#ca8a04;--cc-bg:#fef08a}.card-tile--kafka,.card-picker__btn--kafka{--cc:#15803d;--cc-bg:#dcfce7}.card-tile--lucrezia,.card-picker__btn--lucrezia{--cc:#0891b2;--cc-bg:#cffafe}.card-tile--boudica,.card-picker__btn--boudica{--cc:#ea580c;--cc-bg:#fed7aa}.card-tile--wilde,.card-picker__btn--wilde{--cc:#7c3aed;--cc-bg:#ede9fe}.card-tile--cleopatra,.card-picker__btn--cleopatra{--cc:#be185d;--cc-bg:#fce7f3}.card-tile--catherine,.card-picker__btn--catherine{--cc:#dc2626;--cc-bg:#fee2e2}.card-tile__header{background:color-mix(in srgb, var(--cc,#888) 12%, #fffffff2);border-bottom:1px solid color-mix(in srgb, var(--cc,#888) 18%, transparent);flex-direction:column;flex-shrink:0;justify-content:center;align-items:flex-start;width:100%;min-height:calc(1.5em + .5rem);padding:.2rem calc(1.45em + .3rem) .15rem calc(1.6em + .25rem);display:flex}.card-tile__name{letter-spacing:.01em;color:#111;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.76em;font-weight:700;line-height:1.15;overflow:hidden}.card-tile__subtitle{opacity:.65;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.68em;font-style:italic;font-weight:400;overflow:hidden}.card-tile__rule{color:#444;background:color-mix(in srgb, var(--cc,#888) 8%, white);border-top:1px solid color-mix(in srgb, var(--cc,#888) 15%, transparent);-webkit-line-clamp:4;-webkit-box-orient:vertical;flex-shrink:0;width:100%;max-height:calc(5.4em + .5rem);margin:0;padding:.25rem .3rem;font-size:.54em;line-height:1.35;display:-webkit-box;overflow:hidden}.card-tile__dice{width:1.35em;height:1.35em;color:var(--cc,#333);opacity:.88;z-index:2;pointer-events:none;position:absolute;top:.22rem;right:.22rem}.card-tile--sm{border-radius:6px;width:2.8em;height:3.8em;font-size:.6rem}.card-tile--md{width:5em;height:7em;font-size:.75rem}.card-tile--lg{width:7em;height:9.5em;font-size:.9rem}.card-tile--clickable{cursor:pointer}.card-tile--clickable:hover{background:color-mix(in srgb, var(--cc,#3b82f6) 15%, #f8f8f8);box-shadow:0 6px 18px color-mix(in srgb, var(--cc,#3b82f6) 40%, transparent);transform:translateY(-3px)}.card-tile--selected{background:#f0fdf4;border-color:#16a34a;transform:translateY(-6px)scale(1.09);box-shadow:0 0 0 3px #16a34a40}.card-tile--faded{opacity:.55;transform:scale(.9)}.card-tile--disabled{opacity:.3;cursor:not-allowed;border-color:#ccc}.card-tile--facedown{background:#f0f6ff;border-color:#3b82f6;overflow:hidden}.card-tile--compact{background:0 0;overflow:hidden}.card-tile__compact-img{object-fit:cover;width:100%;height:100%;image-rendering:high-quality;image-rendering:-webkit-optimize-contrast;border-radius:7px;display:block}.card-tile__back-img{object-fit:cover;width:100%;height:100%;image-rendering:high-quality;image-rendering:-webkit-optimize-contrast;display:block}.card-tile__value{background:var(--cc,#333);color:#fff;z-index:1;border-radius:50%;justify-content:center;align-items:center;width:1.5em;height:1.5em;font-size:.85em;font-weight:900;line-height:1;display:flex;position:absolute;top:.25rem;left:.25rem;box-shadow:0 1px 4px #00000059}.card-tile__img{object-fit:contain;object-position:center top;width:100%;min-height:0;image-rendering:high-quality;image-rendering:-webkit-optimize-contrast;flex:1;display:block}.card-tile--sm .card-tile__header,.card-tile--sm .card-tile__dice,.card-tile--sm .card-tile__rule{display:none}.card-tile--sm .card-tile__value{width:1.15em;height:1.15em;font-size:.75em;top:.1rem;left:.1rem}.card-tile--md .card-tile__rule{display:none}.my-cards-panel{flex-direction:column;justify-content:flex-start;align-items:center;gap:1.25rem;width:100%;padding:2.5rem 1rem 1.5rem;display:flex}.my-cards-panel .card-tile--lg{aspect-ratio:7/9.5;width:min(13vw,11rem);height:auto}@media (max-width:900px){.my-cards-panel{padding-top:.75rem}.my-cards-panel .card-tile--lg{aspect-ratio:7/9.5;width:43vw;max-width:13rem;height:auto;font-size:clamp(.9rem,3.8vw,1.35rem)}.my-cards-row{justify-content:center;gap:.75rem;width:100%}}.my-cards-row{justify-content:center;align-items:flex-end;gap:1.5rem;display:flex}.my-cards-slot{flex-direction:column;align-items:center;gap:.5rem;display:flex}.my-cards-slot-label{letter-spacing:.12em;text-transform:uppercase;opacity:.4;font-size:.65rem;font-weight:700}.my-cards-hint{opacity:.5;text-align:center;max-width:18ch;font-size:.78rem;line-height:1.4}.card-rule{text-align:center;background:#0000000a;border:1px solid #0000001a;border-radius:.5rem;flex-direction:column;gap:.25rem;max-width:26ch;padding:.5rem .75rem;display:flex}.card-rule__name{letter-spacing:.1em;text-transform:uppercase;opacity:.45;font-size:.65rem;font-weight:700}.card-rule__text{opacity:.85;font-size:.8rem;line-height:1.45}.my-cards-eliminated{opacity:.4;text-align:center;font-size:.85rem;font-style:italic}.cheryl-choice{flex-direction:column;align-items:center;gap:.6rem;width:100%;padding:.5rem 0;display:flex}.cheryl-choice__label{opacity:.75;margin:0;font-size:1rem;font-weight:700}.cheryl-choice__btns{gap:.75rem;display:flex}.cheryl-btn{color:#374151;cursor:pointer;letter-spacing:.04em;background:#f5f5f5;border:2px solid #d1d5db;border-radius:8px;padding:.6rem 1.4rem;font-size:1rem;font-weight:700;transition:border-color .15s,background .15s}.cheryl-btn:hover{background:#e5e5e5;border-color:#9ca3af}.cheryl-btn--active{color:#0e7490;background:#ecfeff;border-color:#0891b2}.table-panel{flex-direction:column;align-items:center;gap:1rem;width:100%;padding:2.5rem .75rem 1rem;display:flex}.table-abandon{flex-shrink:0;width:100%}@media (max-width:900px){.table-panel{padding-top:.75rem}}.table-cards-row{flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:2.5rem;display:flex}.table-stack-wrap{flex-direction:column;align-items:center;gap:.6rem;display:flex}.table-stack-label{letter-spacing:.2em;text-transform:uppercase;opacity:.45;font-size:.65rem;font-weight:800}.table-deck,.table-mole{width:7em;height:9.5em;font-size:inherit;cursor:default;background:#fff;border:1.5px solid #c8c8c8;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;transition:border-color .15s,transform .12s,box-shadow .15s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000001f,0 1px 2px #00000014}.table-deck{box-shadow:3px 3px #ddd,6px 6px #e8e8e8,0 2px 6px #0000001a}.table-deck--active{cursor:pointer;border-color:#3b82f6;box-shadow:3px 3px #bcd5f5,6px 6px #ddeafc,0 2px 6px #3b82f626}.table-deck--active:hover{transform:translateY(-4px);box-shadow:3px 3px #bcd5f5,6px 6px #ddeafc,0 8px 24px #3b82f673}.table-deck--active:hover .table-card-back-img{transform:scale(1.04)}.table-deck:disabled{opacity:1}.table-card-back-img{object-fit:cover;width:100%;height:100%;transition:transform .12s;display:block}.table-deck-stack{flex-shrink:0;display:flex;position:relative}.table-deck-ghost{display:none}.table-deck-stack>.table-deck{position:relative}.table-removed{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.5rem;width:100%;min-height:0;display:flex}.table-removed__cards{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:.5rem;width:100%;padding:0 .5rem;display:flex}.table-removed__cards .card-tile{aspect-ratio:7/9.5;flex:0 calc(50% - .5rem);width:auto;max-width:12rem;height:auto}.players-panel{flex-direction:column;gap:.5rem;width:100%;padding:2.5rem .75rem 1rem;display:flex;overflow-y:auto}@media (max-width:767px){.players-panel{padding-top:.75rem}}.players-panel__player-list{flex-direction:column;gap:.3rem;width:100%;display:flex}.pp-player{background:#f7f7f7;border:1px solid #e8e8e8;border-radius:7px;flex-direction:column;gap:.4rem;padding:.45rem .6rem;transition:background .15s;display:flex}.pp-player--active{background:#fffbeb;border-color:#fcd34d}.pp-player--eliminated{opacity:.4}.pp-player__name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.82rem;font-weight:800;overflow:hidden}.pp-player__badges{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.pp-player__top{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.pp-player__discards{border-top:1px solid #e0e0e0;flex-wrap:wrap;gap:.3rem;padding-top:.3rem;display:flex}.pp-player__discards-empty{opacity:.35;border-top:1px solid #e0e0e0;margin:0;padding-top:.2rem;font-size:.65rem;font-style:italic}@media (max-width:900px){.players-panel__player-list{display:flex}}.restart-game{flex-direction:column;align-items:center;gap:.75rem;width:100%;padding-top:.5rem;display:flex}.char-refs{flex-direction:column;gap:.4rem;width:100%;padding-top:1rem;display:flex}.char-refs__label{letter-spacing:.15em;text-transform:uppercase;opacity:.4;margin-bottom:.2rem;font-size:.6rem;font-weight:800}.char-refs__list{flex-direction:column;gap:.3rem;display:flex}.char-refs__row{background:var(--cc-bg,#f5f5f5);border-left:3px solid var(--cc,#aaa);border-radius:6px;flex-direction:column;display:flex;overflow:hidden}.char-refs__header{cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:none;align-items:flex-start;gap:.65rem;padding:.45rem .55rem;display:flex}.char-refs__header:hover{filter:brightness(.97)}.char-refs__chevron{opacity:.4;flex-shrink:0;margin-left:auto;padding-top:.25rem;padding-left:.25rem;font-size:.5rem}.char-refs__row--open .char-refs__header{border-bottom:1px solid color-mix(in srgb, var(--cc,#aaa) 20%, transparent)}.char-refs__expanded{flex-direction:column;align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.char-refs__expanded .card-tile{aspect-ratio:7/9.5;width:100%;max-width:16rem;height:auto;font-size:1.25rem}.char-refs__row--catherine{--cc:#dc2626;--cc-bg:#fee2e2}.char-refs__row--cleopatra{--cc:#be185d;--cc-bg:#fce7f3}.char-refs__row--wilde{--cc:#7c3aed;--cc-bg:#ede9fe}.char-refs__row--boudica{--cc:#ea580c;--cc-bg:#fed7aa}.char-refs__row--lucrezia{--cc:#0891b2;--cc-bg:#cffafe}.char-refs__row--kafka{--cc:#15803d;--cc-bg:#dcfce7}.char-refs__row--tesla{--cc:#ca8a04;--cc-bg:#fef08a}.char-refs__row--casanova{--cc:#2563eb;--cc-bg:#dbeafe}.char-refs__badge{background:var(--cc,#888);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;font-size:1.15rem;font-weight:900;display:flex;box-shadow:0 1px 3px #00000040}.char-refs__body{flex-direction:column;flex:1;gap:.05rem;min-width:0;display:flex}.char-refs__name{color:#111;white-space:nowrap;text-overflow:ellipsis;align-items:baseline;gap:.35em;font-size:1.1rem;font-weight:800;display:flex;overflow:hidden}.char-refs__count{opacity:.5;font-size:.72rem;font-weight:600}.char-refs__rule{color:#374151;opacity:.85;white-space:normal;word-break:break-word;overflow-wrap:break-word;font-size:.76rem;line-height:1.4}.char-refs__wiki-inline{color:var(--cc,#2563eb);opacity:.7;vertical-align:middle;margin-left:.1em;font-size:.72rem;font-weight:700;text-decoration:none;transition:opacity .15s}.char-refs__wiki-inline:hover{opacity:1;text-decoration:underline}.restart-game .confirm-wrap{width:100%}.restart-game .confirm-btn{color:#991b1b;background:#fee2e2;border-color:#991b1b}.restart-game .confirm-btn:not(:disabled):active,.restart-game .confirm-btn[aria-pressed=true]{background:#fecaca}.player-row{cursor:default;background:#fafafa;border:1px solid #e5e5e5;border-radius:10px;padding:.6rem .75rem;transition:border-color .15s,background .15s}.player-row--active{background:#fffbeb;border-color:#b45309}.player-row--eliminated{opacity:.35}.player-row__header{justify-content:space-between;align-items:center;gap:.5rem;min-height:1.6rem;display:flex}.player-row__name{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;overflow:hidden}.player-row__x{color:#f87171;margin-right:.2rem}.player-row__badges{flex-shrink:0;align-items:center;gap:.3rem;display:flex}.badge{letter-spacing:.06em;text-transform:uppercase;border-radius:4px;padding:.15rem .4rem;font-size:.6rem;font-weight:800;line-height:1.4}.badge--you{color:#1d4ed8;background:#dbeafe}.badge--turn{color:#78350f;background:#fef9c3}.badge--shield{background:0 0;padding:0;font-size:.9rem}.badge--tokens{color:#b45309;letter-spacing:.01em;background:0 0;font-size:.8rem}.player-row__discards{border-top:1px solid #e5e5e5;flex-wrap:wrap;gap:.3rem;margin-top:.5rem;padding-top:.4rem;display:flex}.player-row__discards-label{letter-spacing:.1em;text-transform:uppercase;opacity:.35;width:100%;margin-bottom:.1rem;font-size:.6rem;font-weight:700}.activity-log{flex-direction:column;gap:.3rem;width:100%;margin:0;padding:0;font-size:.72rem;list-style:none;display:flex}.activity-log--empty{text-align:center;opacity:.3;padding:.5rem 0;font-size:.75rem;font-style:italic;display:block}.log-entry{background:#f5f5f5;border-left:2px solid #d1d5db;border-radius:6px;grid-template-rows:auto auto;grid-template-columns:3rem auto 1fr;align-items:baseline;gap:.1rem .4rem;padding:.35rem .5rem;display:grid}.log-entry--round-end{background:#fffbeb;border-left-color:#b45309}.log-entry__meta{letter-spacing:.07em;opacity:.4;white-space:nowrap;grid-area:1/1;font-size:.62rem;font-weight:800}.log-entry__actor{white-space:nowrap;grid-area:1/2;font-weight:700}.log-entry__desc{opacity:.8;grid-area:1/3;line-height:1.35}.log-entry__winner{color:#b45309;grid-area:2/1/auto/-1;padding-top:.15rem;font-size:.68rem;font-weight:700}.app-footer{opacity:.45;pointer-events:auto;z-index:50;align-items:center;gap:.5rem;font-size:.72rem;line-height:1;transition:opacity .2s;display:flex;position:fixed;bottom:.5rem;right:.75rem}.app-footer:hover{opacity:1}.app-footer a{color:#2563eb;text-decoration:none}.app-footer a:hover{text-decoration:underline}.app-footer__sep{opacity:.4}
