:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-size-adjust:100%}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;max-width:100vw}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.messages-container{height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:20px;background-color:#f0f2f5;border-radius:8px;border:1px solid #ddd}.message-bubble{background-color:#fff;color:#001f3f;padding:10px 15px;border-radius:18px 18px 18px 2px;max-width:80%;align-self:flex-start;box-shadow:0 2px 4px #0000001a;font-family:sans-serif;line-height:1.4}.message-bubble strong{color:#004080;display:block;font-size:.85em;margin-bottom:4px}.chat-main-area{display:flex;gap:20px;height:400px;margin-bottom:20px}.messages-container{flex:5;overflow-y:auto;background:#fff;padding:15px;border-radius:10px;border:1px solid #ddd}.users-sidebar{flex:1;background:#f8f9fa;padding:15px;border-radius:10px;border:1px solid #ddd;text-align:right;font-size:.9em}.users-sidebar h3{margin-top:0;border-bottom:1px solid #ccc;padding-bottom:10px;font-size:1.1em}.users-sidebar ul{list-style:none;padding:0}.users-sidebar li{padding:5px 0;color:#333}:root{--felt-bright: #4fb85c;--felt-mid: #3a9a48;--felt-edge: #256b34;--wood-light: #a97a4a;--wood-mid: #8a5f38;--wood-dark: #5c3f22;--gold: #f0c563;--gold-bright: #ffe19a;--gold-ink: #2b1600;--cream: #fdf8ec;--panel-max-width: 860px;--screen-side-gap: clamp(24px, 8vw, 64px)}#root{max-width:2500px;width:100%;margin:0 auto;text-align:center}.app-container{min-height:100vh;display:flex;flex-direction:column;background-color:#f8ce5a;color:#fff}.reconnecting-screen{flex:1;display:flex;align-items:center;justify-content:center;min-height:100vh}.reconnecting-spinner{width:44px;height:44px;border:4px solid rgba(255,255,255,.25);border-top-color:var(--gold);border-radius:50%;animation:reconnectingSpin .8s linear infinite}@keyframes reconnectingSpin{to{transform:rotate(360deg)}}.login-container,.room-list-container,.create-room-screen{width:100%;box-sizing:border-box;background:transparent;border-radius:12px;margin:20px auto;box-shadow:none}.panel-inner,.settings-panel,.action-card{background:linear-gradient(180deg,var(--wood-light),var(--wood-mid) 40%,var(--wood-dark));border-radius:20px;padding:clamp(10px,1.96vh,30px);box-shadow:0 15px 35px #0006;box-sizing:border-box}.home-screen{width:calc(100% - var(--screen-side-gap));max-width:var(--panel-max-width);margin:clamp(6px,2.61vh,40px) auto;display:flex;flex-direction:column;align-items:center;gap:clamp(6px,1.3vh,20px)}.panel-frame{width:100%;background:linear-gradient(180deg,var(--wood-light),var(--wood-mid));border-radius:32px;padding:clamp(5px,.92vh,14px);box-shadow:0 15px 35px #0006;box-sizing:border-box}.panel-inner,.settings-panel,.action-card{border-radius:18px;box-shadow:none;background:linear-gradient(180deg,var(--wood-mid),var(--wood-dark))}.rooms-section{background:transparent;box-shadow:none;padding:0;box-sizing:border-box}.public-rooms-list{display:flex;flex-direction:column;gap:12px}.panel-inner{width:100%;display:flex;flex-direction:column;gap:clamp(8px,1.3vh,20px)}.wordmark{display:flex;flex-direction:column;align-items:center;gap:14px}.wordmark-logo{width:min(clamp(130px,27.39vh,420px),70vw);display:block}.wordmark-shield{font-size:4.4rem;filter:drop-shadow(0 3px 6px rgba(0,0,0,.3))}.wordmark-title{margin:0;font-size:3rem;font-weight:800;letter-spacing:.03em;background:linear-gradient(180deg,var(--gold-bright),var(--gold) 60%);-webkit-background-clip:text;background-clip:text;color:transparent}.wordmark-tagline-row{display:flex;align-items:center;margin-top:-6px}.wordmark-tagline{font-size:1rem;color:var(--cream);letter-spacing:.14em;text-transform:uppercase;opacity:.85}.create-room-form{width:calc(100% - var(--screen-side-gap));max-width:var(--panel-max-width);margin:20px auto;display:flex;flex-direction:column;gap:16px}.settings-panel{width:100%;display:flex;flex-direction:column;gap:clamp(8px,1.43vh,22px);box-sizing:border-box}.room-list-grid{width:calc(100% - var(--screen-side-gap));max-width:var(--panel-max-width);margin:20px auto;box-sizing:border-box;display:flex;flex-direction:column;gap:16px}.user-section label,.setting-group>label,.action-card h3,.rooms-section h3{color:var(--gold-bright);font-size:1.1rem;display:block;text-align:end;margin-bottom:8px}.user-section input,.setting-group input[type=text],.input-group input{background:#00000040;border:2px solid var(--wood-light);border-radius:10px;padding:14px;color:#fff;font-size:1.15rem;width:100%;box-sizing:border-box}.setting-group>label{text-align:start}.user-section label{text-align:start}.user-section input{text-align:center}.eyebrow-label{text-transform:uppercase;font-size:.75rem;letter-spacing:.08em;opacity:.85}.setting-group input[type=text]{border-radius:24px}.setting-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;row-gap:10px}.stepper{display:flex;align-items:center;gap:clamp(6px,2vw,10px)}.stepper-btn{width:clamp(24px,7vw,32px);height:clamp(24px,7vw,32px);border-radius:50%;border:2px solid var(--wood-light);background:#0003;color:var(--gold-bright);font-size:clamp(.9rem,3.2vw,1.2rem);font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;flex-shrink:0}.max-players-slider{width:100%}.speed-selector button,.create-room-form .create-btn-primary{border-radius:999px}.action-card h3,.rooms-section h3{text-transform:uppercase;font-size:1.1rem;letter-spacing:.08em;text-align:start}.rooms-section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.rooms-section-header h3{margin-bottom:0}.rooms-title-group{display:flex;align-items:center;gap:10px}.rooms-open-count{color:#fff9;font-size:1.2rem}.filter-toggle-btn{background:var(--wood-mid);color:#fff;border:2px solid var(--wood-light);padding:5px 12px;border-radius:8px;cursor:pointer;font-weight:700;font-size:.8rem;box-sizing:border-box}.filter-toggle-btn:hover{background:#4e342e;border-color:var(--gold)}.filter-toggle-btn.active{border-color:var(--gold);color:var(--gold)}.clear-filters-btn{background:transparent;color:#ffffffb3;border:none;padding:5px 4px;cursor:pointer;font-size:.8rem;text-decoration:underline}.clear-filters-btn:hover{color:var(--gold)}.rooms-filter-anchor{position:relative}.room-filters-panel{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:88%;background:linear-gradient(180deg,var(--wood-light),var(--wood-mid) 55%,var(--wood-dark));border:2px solid var(--gold);border-radius:10px;padding:clamp(10px,3.5vw,16px);box-sizing:border-box;display:flex;flex-direction:column;gap:clamp(12px,4vw,16px);box-shadow:0 12px 30px #00000080;z-index:30;max-height:70vh;overflow-y:auto;overflow-x:hidden}.speed-selector.filter-choice-group button{padding:clamp(6px,2vw,8px) clamp(3px,1.5vw,6px);font-size:clamp(.72rem,3vw,.85rem)}.dual-stepper-group{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(3px,1.5vw,8px);direction:ltr}.dual-stepper-sep{color:var(--gold-bright);font-weight:700;font-size:clamp(.75rem,2.5vw,1.1rem)}.dual-stepper-group .stepper{gap:clamp(2px,1.2vw,8px)}.dual-stepper-group .stepper-btn{width:clamp(18px,5.5vw,30px);height:clamp(18px,5.5vw,30px);font-size:clamp(.7rem,2.6vw,1.1rem)}.dual-stepper-group .participants-count{min-width:clamp(1.3rem,5.5vw,2.6rem);padding:clamp(2px,1vw,7px) clamp(3px,1.8vw,10px);font-size:clamp(.68rem,2.4vw,1.05rem)}.dual-range-slider{position:relative;height:clamp(22px,7vw,28px);display:flex;align-items:center;direction:ltr}.dual-range-track{position:absolute;left:0;right:0;height:clamp(4px,1.5vw,6px);border-radius:999px;background:#00000059;border:1px solid var(--wood-light)}.dual-range-fill{position:absolute;height:clamp(4px,1.5vw,6px);border-radius:999px;background:linear-gradient(90deg,var(--gold-bright),var(--gold))}.dual-range-input{position:absolute;left:0;right:0;width:100%;margin:0;background:transparent;pointer-events:none;-webkit-appearance:none;appearance:none}.dual-range-input::-webkit-slider-runnable-track{background:transparent;height:clamp(4px,1.5vw,6px)}.dual-range-input::-moz-range-track{background:transparent;height:clamp(4px,1.5vw,6px)}.dual-range-input::-webkit-slider-thumb{pointer-events:auto;-webkit-appearance:none;appearance:none;width:clamp(16px,5vw,20px);height:clamp(16px,5vw,20px);border-radius:50%;background:var(--gold-bright);border:2px solid var(--wood-dark);cursor:pointer;box-shadow:0 2px 4px #0006;margin-top:calc((clamp(4px,1.5vw,6px) - clamp(16px,5vw,20px))/2)}.dual-range-input::-moz-range-thumb{pointer-events:auto;width:clamp(16px,5vw,20px);height:clamp(16px,5vw,20px);border-radius:50%;background:var(--gold-bright);border:2px solid var(--wood-dark);cursor:pointer;box-shadow:0 2px 4px #0006}.dual-range-input-max{z-index:2}.dual-range-input-min{z-index:1}.room-filters-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:clamp(6px,2.5vw,10px);margin-top:10px}.filter-apply-btn,.filter-cancel-btn{flex:1 1 auto;min-width:0;padding:clamp(6px,2vw,8px) clamp(10px,4vw,18px);border-radius:8px;cursor:pointer;font-weight:700;font-size:clamp(.75rem,3vw,.85rem);box-sizing:border-box}.filter-apply-btn{background:var(--gold);color:var(--wood-dark);border:2px solid var(--gold)}.filter-apply-btn:hover{filter:brightness(1.1)}.filter-cancel-btn{background:transparent;color:#fff;border:2px solid var(--wood-light)}.filter-cancel-btn:hover{border-color:var(--gold);color:var(--gold)}.code-join-card .input-group input,.code-join-card .input-group button,.room-list-grid .create-btn-primary{border-radius:999px}.input-group{display:flex;gap:8px}.join-error-text{color:#e08a8a;font-size:.85rem;margin:8px 0 0;text-align:start}.input-group button,.create-btn-primary{background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:var(--gold-ink);border:none;border-radius:10px;padding:10px 18px;font-weight:700;cursor:pointer}.create-btn-primary{width:100%;padding:19px;font-size:1.35rem;margin-top:8px}.setting-group.checkbox label{display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:#fff;font-size:1.1rem}.setting-group.checkbox input[type=checkbox]{appearance:none;-webkit-appearance:none;position:relative;width:44px;height:24px;border-radius:999px;background:#00000059;border:1px solid var(--wood-light);cursor:pointer;flex:none;margin:0;transition:background .2s ease,border-color .2s ease}.setting-group.checkbox input[type=checkbox]:before{content:"";position:absolute;top:2px;inset-inline-start:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s ease}.setting-group.checkbox input[type=checkbox]:checked{background:linear-gradient(180deg,var(--gold-bright),var(--gold));border-color:transparent}.setting-group.checkbox input[type=checkbox]:checked:before{transform:translate(20px)}:dir(rtl) .setting-group.checkbox input[type=checkbox]:checked:before{transform:translate(-20px)}.participants-count{flex:none;min-width:clamp(1.8rem,8vw,2.8rem);text-align:center;background:#00000059;border:1px solid var(--wood-light);border-radius:999px;padding:clamp(4px,1.5vw,8px) clamp(6px,3vw,12px);font-size:clamp(.85rem,3.2vw,1.15rem);color:var(--gold-bright);font-weight:700;font-family:Cascadia Code,Consolas,ui-monospace,SF Mono,Menlo,monospace;box-sizing:border-box}.speed-selector{display:flex;flex-wrap:wrap;gap:clamp(4px,2vw,8px)}.speed-selector button{flex:1 1 auto;min-width:0;padding:clamp(6px,3vw,12px);font-size:clamp(.8rem,3.2vw,1.1rem);border-radius:8px;border:2px solid var(--wood-light);background:#0003;color:#fff;cursor:pointer;box-sizing:border-box}.speed-selector button.active{background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:var(--gold-ink);border-color:transparent;font-weight:700}@media(pointer:coarse){.create-room-form .speed-selector{flex-wrap:nowrap;gap:1.5vw}.create-room-form .speed-selector button{flex:1 1 0;padding:2vw 1vw;font-size:2.9vw}}.room-list-header,.menu-header{display:flex;align-items:center;width:calc(100% - var(--screen-side-gap));max-width:var(--panel-max-width);margin:clamp(4px,.78vh,12px) auto 0;padding-bottom:clamp(6px,1.04vh,16px);border-bottom:1px solid rgba(255,255,255,.15);color:#fff;box-sizing:border-box}.header-back-spacer{visibility:hidden;pointer-events:none}.room-list-header h2,.menu-header h2{flex:1;text-align:center;margin:0;font-size:1.4rem;box-sizing:border-box}.back-btn,.back-link{background:#0000004d;border:1px solid var(--wood-light);color:var(--gold-bright);border-radius:999px;padding:10px 20px;font-size:1.05rem;cursor:pointer}.chat-table-container{display:flex;flex-direction:column;width:100%;max-width:1440px;margin:0 auto;flex:1;min-height:0;padding:calc(10px * var(--card-scale, 1)) 10px;box-sizing:border-box;position:relative;overflow:visible}.chat-header{display:flex;justify-content:space-between;align-items:center;gap:calc(12px * var(--card-scale, 1));padding:calc(12px * var(--card-scale, 1)) 18px;background:linear-gradient(180deg,var(--wood-light),var(--wood-mid) 40%,var(--wood-dark));border:calc(2px * var(--card-scale, 1)) solid var(--gold);border-radius:calc(16px * var(--card-scale, 1));box-shadow:0 calc(8px * var(--card-scale, 1)) calc(20px * var(--card-scale, 1)) #0006;box-sizing:border-box;max-width:100%;z-index:100}.chat-header h2{margin:0;flex:1;min-width:0;text-align:center;font-size:clamp(1rem,calc(1.3rem * var(--card-scale, 1)),1.3rem);font-weight:800;letter-spacing:.02em;background:linear-gradient(180deg,var(--gold-bright),var(--gold) 60%);-webkit-background-clip:text;background-clip:text;color:transparent;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.chat-header h3{margin:0;display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;font-size:clamp(.75rem,calc(.85rem * var(--card-scale, 1)),.85rem);font-weight:600;color:var(--cream);opacity:.85}.tutorial-step-counter{min-width:6.5ch}.back-button{flex-shrink:0;background:#ffffff1a;color:var(--cream);border:1.5px solid rgba(255,255,255,.22);padding:calc(8px * var(--card-scale, 1)) 14px;border-radius:10px;cursor:pointer;font-weight:700;font-size:clamp(.8rem,calc(.9rem * var(--card-scale, 1)),.9rem);transition:all .2s ease;box-shadow:0 2px 6px #0000004d}.back-button:hover{background:#ffffff2e;border-color:#e57373}.table-area{direction:ltr;position:relative;margin:2.5vh auto;width:90%;background:radial-gradient(circle,var(--felt-bright) 0%,var(--felt-mid) 55%,var(--felt-edge) 100%);border:8px solid var(--wood-mid);border-radius:45%;box-shadow:inset 0 0 50px #00000080,0 10px 30px #000c;display:flex;align-items:center;justify-content:center;overflow:visible}.table-center-piles{display:flex;flex-direction:column;align-items:center;gap:calc(50px * var(--card-scale, 1));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.playing-card{width:var(--card-w, 55px);height:var(--card-h, 80px);background:#fff;border-radius:calc(6px * var(--card-scale, 1));display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(5px * var(--card-scale, 1));box-sizing:border-box;box-shadow:2px 2px 6px #0006}.card-value{font-size:calc(1.3rem * var(--card-scale, 1));font-weight:700;color:#333;line-height:1}.card-shape-icon{font-size:calc(1rem * var(--card-scale, 1));margin-top:4px}.deck-touch-target{display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none}@media(pointer:coarse){.deck-touch-target{min-width:48px;min-height:48px}}.long-press-mode .card-shield,.long-press-mode .ammo-slot,.long-press-mode .life-cards-row{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.deck-touch-target[draggable=true]:hover .deck-pile{transform:translateY(-5px)}.deck-pile{background:repeating-linear-gradient(45deg,#b71c1c,#b71c1c 8px,#d32f2f 8px 16px);color:#fff;border:2px solid white}.discard-pile{background:#ffffff1a;border:2px dashed rgba(255,255,255,.4);color:#fff}.player-seat-area{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;z-index:20;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.active-turn{filter:drop-shadow(0 0 22px #ffd700) drop-shadow(0 0 8px #fff4c2)}.player-avatar{position:relative;width:52px;height:52px;border-radius:50%;border:3px solid;display:flex;align-items:center;justify-content:center;font-size:1.45rem;font-weight:800;color:#fff;margin-bottom:6px;box-shadow:0 2px 6px #0006}.ready-corner-tag{position:absolute;bottom:-4px;inset-inline-end:-4px;width:20px;height:20px;border-radius:50%;background:#4caf50;border:2px solid #b0b0b0;color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1;z-index:5}.card-shield{transform:rotate(90deg);margin-bottom:10px}.ammo-life-row{position:relative;display:flex;justify-content:center;width:98px}.life-cards-row{display:flex;gap:-15px;border-radius:6px}.life-cards-row .playing-card{margin-inline-start:-12px}.life-cards-row .playing-card:first-child{margin-inline-start:0}.life-cards-row.drop-highlight .playing-card,.life-cards-row.drop-available .playing-card{box-shadow:none}.life-card-hidden{visibility:hidden}.ammo-slot{width:45px;height:45px;border:2px dashed rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;background:#0003;flex-shrink:0}.ammo-life-row .ammo-slot{position:absolute;top:50%;inset-inline-end:100%;transform:translateY(-50%);margin-inline-end:8px;width:40px;height:45px;border:2px solid rgba(255,255,255,.35);border-radius:8px;background:#ffffff1f}.ammo-placeholder{opacity:.5;font-size:calc(1.2rem * var(--card-scale, 1))}.seat-shield-wrap{display:flex;align-items:center;justify-content:center;width:var(--card-h, 80px);height:var(--card-w, 55px);margin-bottom:calc(6px * var(--card-scale, 1))}.seat-shield-card{transform:rotate(90deg)}.seat-ammo-life-row{position:relative;display:flex;justify-content:center;width:calc(98px * var(--card-scale, 1))}.seat-ammo-slot{position:absolute;top:50%;inset-inline-end:100%;transform:translateY(-50%);margin-inline-end:8px;width:calc(40px * var(--card-scale, 1));height:calc(45px * var(--card-scale, 1));border:2px solid rgba(255,255,255,.35);border-radius:8px;background:#ffffff1f;display:flex;align-items:center;justify-content:center;flex-shrink:0}.seat-life-cards{display:flex;border-radius:6px}.seat-life-cards .playing-card{margin-inline-start:calc(-12px * var(--card-scale, 1))}.seat-life-cards .playing-card:first-child{margin-inline-start:0}.seat-life-cards.drop-highlight .playing-card,.seat-life-cards.drop-available .playing-card{box-shadow:none}.long-press-mode .seat-shield-card,.long-press-mode .seat-ammo-slot,.long-press-mode .seat-life-cards{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.seat-shield-card.drop-available{outline:5px dashed #4da3ff;outline-offset:4px;box-shadow:0 0 10px #4da3ff99}.seat-life-cards.drop-available{outline:5px dashed #ff4d4d;outline-offset:4px;box-shadow:0 0 10px #ff4d4d99}.seat-ammo-slot.drop-available{outline:5px dashed #b266ff;outline-offset:4px;box-shadow:0 0 10px #b266ff99}.seat-shield-card.drop-highlight{outline:5px solid #4da3ff;outline-offset:4px;box-shadow:0 0 20px #4da3ffe6;transform:rotate(90deg) scale(1.06)}.seat-ammo-slot.drop-highlight{outline:5px solid #b266ff;outline-offset:4px;box-shadow:0 0 20px #b266ffe6;transform:translateY(-50%) scale(1.06)}.seat-life-cards.drop-highlight{outline:5px solid #ff4d4d;outline-offset:4px;box-shadow:0 0 20px #ff4d4de6;transform:scale(1.06)}.seat-badges-row{display:flex;align-items:center;gap:calc(6px * var(--card-scale, 1));margin-bottom:calc(6px * var(--card-scale, 1))}.seat-badges-row .player-name-badge,.seat-badges-row .player-hp-badge{margin:0}.seat-badges-row .player-hp-badge{flex-shrink:0}.game-bottom-bar{position:relative;direction:ltr;display:flex;align-items:flex-start;margin-top:calc(10px * var(--card-scale, 1));padding:0 10px}.dead-players-row{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:6px}.dead-player-chip{flex-shrink:0;width:58px;min-height:62px;border-radius:26px 26px 4px 4px;border:3px solid rgba(255,255,255,.25);box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:5px 4px 4px;cursor:default}.dead-player-skull{font-size:1.05rem;line-height:1;margin-bottom:2px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.dead-player-name{font-size:.62rem;font-weight:800;color:var(--cream);line-height:1.15;max-width:100%;text-align:center;white-space:normal;word-break:break-word;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-shadow:0 1px 2px rgba(0,0,0,.7)}.waiting-message-board{background:#0009;padding:40px;border-radius:20px;border:2px solid #4CAF50;font-size:1.5rem}.discard-pile-area{position:relative;width:var(--discard-w, 250px);height:var(--discard-h, 200px);display:flex;align-items:center;justify-content:center;will-change:transform;transform:translateZ(0)}.discard-card{box-shadow:none;border:1px solid rgba(0,0,0,.3);transition:transform .5s ease-out}.game-timer{position:absolute;top:20px;background:#000000b3;padding:10px 20px;border-radius:50px;font-size:24px;font-weight:700;color:#4caf50;border:2px solid #4CAF50;z-index:1000}.game-timer.urgent{color:#ff5252;border-color:#ff5252;animation:blink 1s infinite}@keyframes blink{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.player-name-badge,.player-hp-badge{position:relative;background:#0000008c;padding:calc(4px * var(--card-scale, 1)) calc(14px * var(--card-scale, 1));border-radius:15px;border:2px solid rgba(255,255,255,.1);text-align:center;z-index:10;font-size:calc(.85rem * var(--card-scale, 1))}.player-name-badge{margin-bottom:calc(6px * var(--card-scale, 1));padding:calc(7px * var(--card-scale, 1)) calc(18px * var(--card-scale, 1));font-size:calc(1rem * var(--card-scale, 1));font-weight:700;border-width:2px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}.player-name-wrapper{max-width:calc(100px * var(--card-scale, 1));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-hp-badge{margin-top:calc(8px * var(--card-scale, 1));color:#ff5252;font-weight:700;white-space:nowrap}.badge-corner-tag{position:absolute;bottom:-6px;inset-inline-end:-6px;font-size:16px;line-height:1;z-index:5}@property --ring-progress{syntax: "<number>"; inherits: true; initial-value: 100;}.player-name-badge.has-timer-ring{--ring-color: #4CAF50}.player-name-badge.has-timer-ring:before{content:"";position:absolute;inset:-6px;border-radius:inherit;padding:5px;background:conic-gradient(var(--ring-color) calc(var(--ring-progress) * 1%),transparent 0);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;transition:--ring-progress var(--ring-transition-duration, 1s) linear;pointer-events:none}.urgent .player-name-badge.has-timer-ring{--ring-color: #ff5252}.active-turn .player-name-badge{box-shadow:0 0 15px #4caf504d}.game-winner .player-name-badge,.game-winner .player-hp-badge{border:3px solid #ffd700;box-shadow:0 0 30px #ffd70099;animation:winnerGlow 2s infinite}.victory-crown{position:absolute;top:-30px;left:50%;transform:translate(-50%);font-size:3rem;filter:drop-shadow(0 0 10px gold);z-index:20}.victory-screen{position:relative;width:100%;flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;overflow:hidden;border-radius:24px;background:radial-gradient(circle at 50% 0%,#0000,#0000008c),radial-gradient(circle at 50% 0%,var(--felt-bright) 0%,var(--felt-edge) 70%);box-shadow:inset 0 0 50px #00000080,0 10px 30px #0009;padding:clamp(20px,4vw,48px) 16px;box-sizing:border-box}.victory-confetti{position:absolute;font-size:clamp(1.1rem,3vw,1.4rem);opacity:.55;pointer-events:none}.victory-confetti.red{color:#d9634f}.victory-confetti.blk{color:var(--cream)}.victory-headline-wrap{position:relative;z-index:2;text-align:center;margin-top:clamp(6px,2vh,20px)}.victory-headline{margin:0;font-size:clamp(1.4rem,4vw,2.1rem);font-weight:800;letter-spacing:.02em;background:linear-gradient(180deg,var(--gold-bright),var(--gold) 60%);-webkit-background-clip:text;background-clip:text;color:transparent}.victory-sub{margin:6px 0 0;color:var(--cream);opacity:.85;font-size:clamp(.8rem,2vw,1rem);font-weight:600}.victory-podium-row{position:relative;z-index:2;display:flex;align-items:flex-end;gap:0;margin-top:clamp(20px,5vh,44px)}.victory-tier{display:flex;flex-direction:column;align-items:center}.victory-podium-crown{font-size:clamp(1.3rem,3.5vw,1.9rem);margin-bottom:2px;filter:drop-shadow(0 2px 5px rgba(0,0,0,.6))}.victory-p-avatar{width:clamp(50px,9vw,78px);height:clamp(50px,9vw,78px);border-radius:50%;border:4px solid;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:clamp(1.2rem,3vw,1.9rem);box-shadow:0 6px 16px #00000080;margin-bottom:10px}.victory-tier-1 .victory-p-avatar{width:clamp(62px,11vw,96px);height:clamp(62px,11vw,96px);font-size:clamp(1.5rem,3.6vw,2.3rem)}.victory-p-name{padding:5px 14px;border-radius:8px;background:#0006;color:var(--cream);font-weight:700;font-size:clamp(.68rem,1.8vw,.85rem);margin-bottom:10px;max-width:26vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.victory-block{width:clamp(78px,12vw,150px);display:flex;align-items:flex-start;justify-content:center;padding-top:14px;border-radius:10px 10px 0 0;box-shadow:0 -2px #ffffff26 inset,0 10px 24px #00000080;font-weight:800;font-size:clamp(1rem,2.4vw,1.6rem);border:3px solid var(--wood-dark);border-bottom:none}.victory-block-1{height:clamp(90px,16vh,170px);background:linear-gradient(180deg,var(--gold-bright),var(--gold) 70%);color:var(--gold-ink)}.victory-block-2{height:clamp(64px,11vh,120px);background:linear-gradient(180deg,var(--cream),var(--wood-light) 70%);color:var(--wood-dark)}.victory-block-3{height:clamp(46px,8vh,88px);background:linear-gradient(180deg,var(--wood-light),var(--wood-mid) 70%);color:var(--cream)}.victory-actions{position:relative;z-index:2;display:flex;align-items:center;gap:16px;margin-top:clamp(20px,4vh,36px)}.victory-log-anchor{margin-left:0}.victory-btn-primary{padding:14px 34px;border-radius:12px;font-weight:800;font-size:clamp(.9rem,2.2vw,1.05rem);cursor:pointer;border:2px solid var(--wood-dark);background:linear-gradient(180deg,var(--gold-bright),var(--gold) 60%);color:var(--gold-ink);box-shadow:0 6px 16px #0006}.victory-btn-primary:hover{background:linear-gradient(180deg,#fff0c4,var(--gold-bright) 60%)}@keyframes winnerGlow{0%{transform:scale(1);box-shadow:0 0 20px #ffd70066}50%{transform:scale(1.05);box-shadow:0 0 40px #ffd700cc}to{transform:scale(1);box-shadow:0 0 20px #ffd70066}}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.tutorial-prompt-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000bf;display:flex;justify-content:center;align-items:center;z-index:10030;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:20px;box-sizing:border-box}.tutorial-prompt-modal{background:linear-gradient(180deg,var(--wood-light),var(--wood-mid) 55%,var(--wood-dark));padding:28px 26px;border-radius:16px;text-align:center;border:3px solid var(--gold);color:var(--cream);box-shadow:0 12px 40px #00000080;animation:scaleIn .4s cubic-bezier(.175,.885,.32,1.275);max-width:360px}.tutorial-prompt-modal h2{margin:0 0 10px;color:var(--gold-bright)}.tutorial-prompt-modal p{margin:0;line-height:1.5}.tutorial-prompt-actions{display:flex;gap:12px;justify-content:center;margin-top:20px}.default-empty-lifecards{display:flex;flex-direction:column;align-items:center;justify-content:center;width:calc(var(--card-w, 55px) * 2 - 12px * var(--card-scale, 1));height:var(--card-h, 80px);padding:calc(4px * var(--card-scale, 1));box-sizing:border-box;text-align:center;background-color:#fff9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(42,136,5,.8);border-radius:calc(8px * var(--card-scale, 1));box-shadow:0 4px 15px #0000000d;font-family:sans-serif;color:#444;font-weight:500;font-size:calc(.5rem * var(--card-scale, 1));line-height:1.15;overflow:hidden}.default-empty-lifecards p{margin:0}.instructions-content{max-width:600px;margin:20px auto;background:#000000b3;padding:30px;border-radius:15px;text-align:right;line-height:1.6}.instructions-content section{margin-bottom:25px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:15px}.instructions-content h3{color:var(--gold-bright);margin-top:0}.instructions-content ul,.instructions-content ol{padding-right:20px}.instructions-content li{margin-bottom:8px}.menu-btn:hover{transform:scale(1.05)}.app-container{min-height:100vh;width:100%;display:flex;flex-direction:column;background:radial-gradient(circle,var(--felt-bright) 0%,var(--felt-mid) 55%,var(--felt-edge) 100%);color:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.game-title{font-size:4rem;margin:40px 0;color:#fff;text-shadow:3px 3px 0px var(--wood-dark);font-weight:900}.menu-screen-container{background:var(--felt-mid);border:8px solid var(--wood-mid);border-radius:40px;padding:40px;max-width:500px;margin:0 auto;box-shadow:0 15px 35px #0009;display:flex;flex-direction:column;align-items:center}.user-section input::placeholder,.setting-group input::placeholder,.input-group input::placeholder{color:#ffffff8c}input[type=range]{accent-color:var(--gold)}.menu-buttons{display:flex;flex-direction:column;gap:clamp(6px,.98vh,15px);width:100%}.menu-btn{background:#ffffff1a;color:#fff;border:1.5px solid rgba(255,255,255,.22);padding:clamp(9px,1.37vh,21px);font-size:clamp(.9rem,1.46vh,1.4rem);font-weight:700;border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 8px #0000004d,inset 0 1px #ffffff26}.menu-btn:hover{background:#ffffff2e;transform:translateY(-2px);border-color:var(--gold)}.menu-btn.primary{background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:var(--gold-ink);border-color:transparent}.menu-btn.primary:hover{background:var(--gold-bright)}.room-card{background:#00000038;border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:14px;padding:16px 20px;width:100%;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;gap:16px;box-shadow:0 6px 16px #00000038}.room-card-info{display:flex;flex-direction:column;gap:4px;text-align:start}.room-card strong{color:#fff;font-size:1.15rem}.room-card-subtitle{color:#fff9;font-size:.9rem}.room-card-actions{display:flex;align-items:center;gap:10px;flex:none}.room-occupancy-badge{background:#00000059;border-radius:999px;padding:6px 14px;font-size:.9rem;color:#fff;font-weight:600}.room-card button{flex:none;background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:var(--gold-ink);border:none;border-radius:999px;padding:10px 20px;font-size:1rem;font-weight:700;cursor:pointer;transition:filter .2s ease}.room-card button:hover{filter:brightness(1.08)}.empty-msg{color:#ffffffbf;font-size:1.2rem;margin:0 0 14px}.instructions-content{background:var(--felt-mid);border:2px solid var(--wood-mid);padding:25px;border-radius:20px;text-align:right}.bot-player .player-name-wrapper{font-weight:800}.bot-player.active-turn .player-name-badge{filter:drop-shadow(0 0 12px rgba(255,255,255,.6));border-color:#fff}.drop-highlight{transition:box-shadow .15s ease,outline-color .15s ease,transform .15s ease}.card-shield.drop-available{outline:5px dashed #4da3ff;outline-offset:4px;box-shadow:0 0 10px #4da3ff99}.life-cards-row.drop-available{outline:5px dashed #ff4d4d;outline-offset:4px;box-shadow:0 0 10px #ff4d4d99}.ammo-slot.drop-available{outline:5px dashed #b266ff;outline-offset:4px;box-shadow:0 0 10px #b266ff99}.card-shield.drop-highlight{outline:5px solid #4da3ff;outline-offset:4px;box-shadow:0 0 20px #4da3ffe6;transform:rotate(90deg) scale(1.06)}.ammo-life-row .ammo-slot.drop-highlight{outline:5px solid #b266ff;outline-offset:4px;box-shadow:0 0 20px #b266ffe6;transform:translateY(-50%) scale(1.06)}.life-cards-row.drop-highlight{outline:5px solid #ff4d4d;outline-offset:4px;box-shadow:0 0 20px #ff4d4de6;transform:scale(1.06)}.drop-icon{font-size:1.8rem;pointer-events:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6));animation:dropIconPop .25s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes dropIconPop{0%{transform:translate(-50%,-50%) scale(0);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.press-ring{transform:translate(-50%,-50%);padding:5px;background:conic-gradient(var(--ring-color) calc(var(--ring-progress) * 1%),transparent 0);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;transition:--ring-progress var(--ring-transition-duration, 3s) linear}.chat-log-anchor{position:relative;margin-left:auto}.floating-panel-buttons{position:relative;display:flex;gap:10px;z-index:10010}.panel-toggle-btn{position:relative;background:var(--wood-mid);color:#fff;border:2px solid var(--wood-light);border-radius:8px;cursor:pointer;width:clamp(40px,10vw,48px);height:clamp(40px,10vw,48px);font-size:clamp(1.1rem,4vw,1.4rem);display:flex;align-items:center;justify-content:center;padding:0}.panel-toggle-btn:hover{background:#4e342e;border-color:var(--gold)}.unread-badge{position:absolute;top:-3px;right:-3px;width:clamp(9px,2.2vw,11px);height:clamp(9px,2.2vw,11px);border-radius:50%;background:#e53935;border:1.5px solid var(--wood-dark);pointer-events:none}.floating-game-panel{position:absolute;bottom:100%;margin-bottom:8px;right:0;width:clamp(280px,85vw,340px);height:clamp(320px,60vh,480px);background:linear-gradient(180deg,var(--wood-light),var(--wood-mid) 55%,var(--wood-dark));border:2px solid var(--gold);border-radius:10px;box-shadow:0 12px 30px #00000080;display:flex;flex-direction:column;overflow:hidden;z-index:10010}.floating-game-panel-keyboard{position:fixed;right:20px;top:auto;bottom:42vh;height:clamp(200px,35vh,320px)}.victory-log-anchor .floating-game-panel{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);margin-bottom:0;width:min(340px,90vw);height:auto;max-height:80vh}.floating-panel-header{display:flex;align-items:center;justify-content:space-between;padding:clamp(8px,2vw,12px) clamp(10px,3vw,14px);border-bottom:1px solid var(--wood-light);color:var(--gold-bright);font-weight:700;flex-shrink:0}.floating-panel-close{background:transparent;border:none;color:#fff;font-size:1.1rem;cursor:pointer;padding:0 4px;line-height:1}.floating-panel-close:hover{color:var(--gold)}.floating-panel-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:clamp(8px,2vw,14px)}.chat-message-list{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px;overflow-y:auto;margin-bottom:10px}.chat-message{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;background:#ffffff0f;border-radius:8px;padding:clamp(5px,1.5vw,8px) clamp(8px,2vw,10px);font-size:clamp(.8rem,3vw,.9rem);color:#fff;word-break:break-word}.chat-message-system{background:transparent;justify-content:center;font-style:italic;opacity:.7;font-size:clamp(.72rem,2.6vw,.8rem)}.chat-message-sender{font-weight:700;flex-shrink:0}.chat-input-row{display:flex;gap:8px;flex-shrink:0}.chat-input-row input{flex:1;min-width:0;background:#00000040;border:2px solid var(--wood-light);border-radius:8px;padding:clamp(6px,2vw,9px);color:#fff;font-size:clamp(.8rem,3vw,.9rem);box-sizing:border-box}.chat-input-row button{background:var(--gold);color:var(--wood-dark);border:2px solid var(--gold);border-radius:8px;padding:clamp(6px,2vw,9px) clamp(10px,3vw,14px);font-weight:700;font-size:clamp(.8rem,3vw,.9rem);cursor:pointer}.chat-input-row button:disabled{opacity:.5;cursor:not-allowed}.move-log-list{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;overflow-y:auto}.move-log-empty{color:#fff9;text-align:center;font-size:.85rem}.move-log-entry{background:#ffffff0f;border-radius:8px;padding:clamp(5px,1.5vw,8px) clamp(8px,2vw,10px);color:#fff;font-size:clamp(.8rem,3vw,.9rem);line-height:1.4;text-align:start}.move-log-subline{margin-inline-start:clamp(12px,4vw,20px);font-size:.9em;opacity:.85}@media(max-width:768px){.table-area{max-width:calc(100% + 20px)}}@media(pointer:coarse){.seat-shield-card.drop-available,.seat-life-cards.drop-available,.seat-ammo-slot.drop-available,.seat-shield-card.drop-highlight,.seat-life-cards.drop-highlight,.seat-ammo-slot.drop-highlight{outline-width:3px;outline-offset:2px}.player-avatar{width:38px;height:38px;font-size:1.1rem;border-width:2px;margin-bottom:4px}.empty-avatar-slot{width:38px;height:38px;border-width:2px}.badge-corner-tag{font-size:13px;bottom:-3px;inset-inline-end:-3px}.ready-corner-tag{width:15px;height:15px;font-size:8px;border-width:1px;bottom:-2px;inset-inline-end:-2px}.player-name-badge.has-timer-ring:before{inset:-4px;padding:3px}.card-shield{margin-bottom:4px}.life-cards-row{border-radius:4px}.life-cards-row .playing-card{margin-inline-start:-8px}.ammo-life-row{width:52px}.ammo-life-row .ammo-slot{width:24px;height:28px;border-radius:5px;margin-inline-end:4px}.dead-players-row{gap:4px}.dead-player-chip{width:42px;min-height:46px;border-radius:19px 19px 3px 3px;border-width:2px;padding:4px 3px 3px}.dead-player-skull{font-size:.8rem}.dead-player-name{font-size:.48rem}.action-card{padding:16px}.input-group input{padding:10px 12px;font-size:.8rem}.input-group button{padding:10px 14px;font-size:.85rem}}@keyframes flyToShield{0%{left:var(--start-x);top:var(--start-y);opacity:1}to{left:var(--target-x);top:var(--target-y);opacity:1}}@keyframes flyToDiscard{0%{left:var(--start-x);top:var(--start-y)}to{left:var(--target-x);top:var(--target-y);transform:translate(-50%,-50%) rotate(180deg)}}@keyframes flyBounce{0%{left:var(--start-x);top:var(--start-y)}45%{left:var(--target-x);top:var(--target-y)}55%{left:var(--target-x);top:var(--target-y);transform:translate(-50%,-50%) scale(1.1)}to{left:var(--bounce-x);top:var(--bounce-y);transform:translate(-50%,-50%) rotate(180deg)}}@keyframes flyToLifeCards{0%{left:var(--start-x);top:var(--start-y)}to{left:var(--target-x);top:var(--target-y)}}@keyframes flyToAmmo{0%{left:var(--start-x);top:var(--start-y)}to{left:var(--target-x);top:var(--target-y);transform:translate(-50%,-50%) scale(.8)}}.move-type-banner{transform:translate(-50%,-50%);font-size:1.5rem;font-weight:900;pointer-events:none;z-index:10001;-webkit-text-stroke:1px white;paint-order:stroke fill;text-shadow:0 0 3px rgba(255,255,255,.7);animation:moveTypeBannerFade 1.3s ease-out forwards}@keyframes moveTypeBannerFade{0%{opacity:0;transform:translate(-50%,-50%) translateY(10px) scale(.9)}15%{opacity:1;transform:translate(-50%,-50%) translateY(-15px) scale(1)}75%{opacity:1;transform:translate(-50%,-50%) translateY(-30px) scale(1)}to{opacity:0;transform:translate(-50%,-50%) translateY(-45px) scale(.95)}}@keyframes flyToDeckShuffle{0%{left:var(--start-x);top:var(--start-y);opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1)}60%{opacity:1;transform:translate(-50%,-50%) rotate(var(--spin)) scale(.9)}to{left:var(--target-x);top:var(--target-y);opacity:0;transform:translate(-50%,-50%) rotate(var(--spin)) scale(.55)}}.deck-shuffling{animation:deckShuffleShake .3s ease-in-out infinite;box-shadow:0 0 22px 6px #ffd7008c}@keyframes deckShuffleShake{0%,to{transform:rotate(0)}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}.damage-number{font-size:3rem;font-weight:900;color:#fff;background:#ff0000d9;padding:8px 20px;border-radius:12px;border:3px solid #ff5252;text-shadow:2px 2px 0 #000;box-shadow:0 0 30px #f009;animation:damageFloat 1.2s ease-out forwards}@media(pointer:coarse){.damage-number{font-size:1.8rem;padding:5px 12px;border-radius:7px;border-width:2px}}@keyframes damageFloat{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.4)}30%{transform:translate(-50%,-50%) scale(1)}70%{opacity:1;transform:translate(-50%,-60%)}to{opacity:0;transform:translate(-50%,-120%)}}.flying-card{box-shadow:0 0 20px #ffd70099}.copy-btn{background:#ffffff14;border:1.5px solid rgba(255,255,255,.3);cursor:pointer;font-size:1rem;margin-left:8px;padding:2px 6px;border-radius:6px;transition:background .2s,border-color .2s}.copy-btn:hover{background:#fff3;border-color:var(--gold)}.copy-btn:active{background:#fff6}.app-header{display:flex;justify-content:center;align-items:center;position:relative;height:clamp(44px,5.22vh,80px);width:calc(100% - var(--screen-side-gap));max-width:var(--panel-max-width);margin:0 auto}.settings-anchor{position:absolute;top:24px;right:24px}@media(pointer:coarse){.settings-anchor{top:14px;right:14px}}.settings-btn{background:var(--wood-mid);color:#fff;border:2px solid var(--wood-light);width:44px;height:44px;border-radius:8px;cursor:pointer;font-size:1.3rem;display:flex;align-items:center;justify-content:center;padding:0}.settings-btn:hover{background:#4e342e;border-color:var(--gold)}@media(pointer:coarse){.settings-btn{width:36px;height:36px;font-size:1.05rem;border-width:1.5px}}.home-settings-panel{position:absolute;top:calc(100% + 8px);right:0;min-width:260px;background:linear-gradient(180deg,var(--wood-light),var(--wood-mid) 55%,var(--wood-dark));border:2px solid var(--gold);border-radius:10px;padding:16px;box-sizing:border-box;display:flex;flex-direction:column;gap:16px;box-shadow:0 12px 30px #00000080;z-index:30}.home-settings-panel .speed-selector{flex-wrap:nowrap}.home-settings-panel .speed-selector button{padding:clamp(6px,2vw,8px) clamp(4px,2vw,8px);font-size:clamp(.75rem,3vw,.95rem)}.lang-select{width:100%;background:var(--wood-mid);color:#fff;border:2px solid var(--wood-light);padding:8px 16px;border-radius:8px;cursor:pointer;font-weight:700;font-size:1rem;appearance:none;-webkit-appearance:none;box-sizing:border-box}.lang-select:hover{background:#4e342e;border-color:var(--gold)}.lang-select option{background:var(--wood-mid);color:#fff}.waiting-center-info{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:10}.waiting-timer{font-size:1.5rem;font-weight:700;color:var(--gold-bright);text-shadow:1px 1px 3px rgba(0,0,0,.8);margin:0}.waiting-count{font-size:2rem;font-weight:900;color:#fff;margin:10px 0 0}.waiting-seat{display:flex;flex-direction:column;align-items:center;z-index:20;transition:all .5s ease}.seat-icon{margin-bottom:4px}.empty-avatar-slot{width:52px;height:52px;border-radius:50%;border:2px dashed rgba(255,255,255,.3)}.player-avatar-ready{box-shadow:0 0 0 3px #4caf50,0 0 14px 4px #4caf5099}.seat-name{background:#000000b3;padding:4px 12px;border-radius:10px;font-size:.85rem;white-space:nowrap;color:#f2e2c0}.seat-me .seat-name{background:#f2e2c0;color:var(--gold-ink);font-weight:700}.seat-occupied .seat-icon{animation:seatBounceIn .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes seatBounceIn{0%{transform:scale(0);opacity:0}60%{transform:scale(1.3)}to{transform:scale(1);opacity:1}}@media(pointer:coarse){.waiting-timer{font-size:1rem}.waiting-count{font-size:1.5rem}.seat-icon{font-size:1.3rem}.seat-name{font-size:.65rem;padding:2px 6px}}.ready-button-container{position:absolute;bottom:24%;left:50%;transform:translate(-50%);z-index:30;width:max-content;max-width:92%}.ready-btn{background:transparent;color:var(--gold-bright);border:2px solid var(--gold-bright);padding:12px 40px;font-size:1.2rem;font-weight:700;border-radius:999px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.ready-btn:hover{background:#ffe19a26;transform:scale(1.05);box-shadow:0 0 15px #ffe19a66}.ready-btn:active{transform:scale(.98)}.ready-status{display:inline-block;color:#4caf50;font-size:1.1rem;font-weight:700;background:#000000b3;padding:10px 25px;border-radius:15px;border:2px solid #4CAF50;white-space:nowrap}@media(pointer:coarse){.ready-btn{padding:10px 25px;font-size:1rem}.ready-status{font-size:.85rem}}.instructions-wizard{display:flex;justify-content:center;align-items:center;padding:20px}.instructions-card{background:var(--felt-mid);border:6px solid var(--wood-mid);border-radius:30px;padding:30px;max-width:550px;width:100%;min-height:715px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;box-shadow:0 15px 35px #0009}.instructions-title{color:var(--gold-bright);font-size:1.6rem;margin:0 0 15px;text-shadow:1px 1px 3px rgba(0,0,0,.5)}.instructions-demo{direction:ltr;width:100%;height:380px;background:#0000004d;border-radius:15px;padding:20px;margin-bottom:15px;display:flex;justify-content:center;align-items:center;overflow:hidden;box-sizing:border-box;flex:none}.instructions-text{width:100%;min-height:130px;color:#fff;font-size:1rem;line-height:1.6;text-align:center;margin:0 0 20px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;flex:none}.instructions-dots{display:flex;gap:10px;margin-bottom:20px}.dot{width:12px;height:12px;border-radius:50%;background:#fff3;cursor:pointer;transition:all .3s ease}.dot-active{background:var(--gold-bright);transform:scale(1.3);box-shadow:0 0 8px #ffd70080}.dot-completed{background:#4caf50}.instructions-nav{display:flex;gap:12px;width:100%;justify-content:center}.nav-btn{padding:10px 24px;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;border:2px solid transparent;transition:all .2s ease}.nav-back{background:#ffffff1a;color:#fff;border-color:#ffffff4d}.nav-back:hover{background:#fff3}.nav-skip{background:transparent;color:#ffffff80;border-color:transparent}.nav-skip:hover{color:#fff}.nav-next{background:#4caf50;color:#fff;border-color:#2e7d32}.nav-next:hover{background:#66bb6a;transform:translateY(-1px)}.demo-area{width:100%}.instructions-demo .playing-card{pointer-events:none}.demo-player-hand,.demo-attack-scene,.demo-ammo-scene{display:flex;flex-direction:column;align-items:center;gap:12px}.demo-attack-scene{flex-direction:row;justify-content:center;gap:20px;flex-wrap:wrap}.demo-section{display:flex;flex-direction:column;align-items:center;gap:6px}.demo-row{display:flex;align-items:center;gap:10px}.demo-label{color:var(--gold-bright);font-size:.85rem;font-weight:700;opacity:.55;transition:opacity .3s ease}.demo-label-active{opacity:1}.demo-hand-seat{display:flex;flex-direction:column;align-items:center;gap:3px}.demo-hand-hp{color:#fff;font-weight:700;margin-bottom:8px}.demo-hand-seat .card-shield{margin-bottom:0}.demo-hand-seat span.demo-label:nth-of-type(1){margin-top:-12px}.demo-hand-seat .life-cards-row{margin-top:12px;padding:6px 10px;border-radius:8px;gap:10px}.demo-hand-seat .life-cards-row .playing-card{margin-inline-start:0}.demo-hand-seat .ammo-life-row .ammo-slot{margin-top:0}.demo-hand-seat .ammo-life-row{width:auto}.demo-ammo-slot-label{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:6px;white-space:nowrap}.demo-welcome-logo{display:flex;flex-direction:column;align-items:center;gap:10px;animation:demoWelcomeFadeIn .8s ease}.demo-welcome-shield{animation:demoWelcomePulse 2.4s ease-in-out infinite}@keyframes demoWelcomeFadeIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes demoWelcomePulse{0%,to{filter:drop-shadow(0 3px 6px rgba(0,0,0,.3));transform:scale(1)}50%{filter:drop-shadow(0 3px 18px rgba(240,197,99,.7));transform:scale(1.06)}}.demo-ready-logo{display:flex;flex-direction:column;align-items:center;gap:10px;animation:demoWelcomeFadeIn .8s ease}.demo-ready-shield{animation:demoReadyPowerUp 1.4s cubic-bezier(.34,1.56,.64,1) forwards,demoReadyIdlePulse 2.2s ease-in-out 1.4s infinite}@keyframes demoReadyPowerUp{0%{filter:drop-shadow(0 3px 6px rgba(0,0,0,.3));transform:scale(.85)}65%{filter:drop-shadow(0 3px 14px rgba(240,197,99,.6));transform:scale(1)}85%{filter:drop-shadow(0 3px 30px rgba(240,197,99,.95));transform:scale(1.22)}to{filter:drop-shadow(0 3px 22px rgba(240,197,99,.8));transform:scale(1.08)}}@keyframes demoReadyIdlePulse{0%,to{filter:drop-shadow(0 3px 22px rgba(240,197,99,.8));transform:scale(1.08)}50%{filter:drop-shadow(0 3px 30px rgba(240,197,99,1));transform:scale(1.14)}}.demo-ready-badge{opacity:0;transform:translateY(8px) scale(.8);animation:demoReadyBadgeIn .5s cubic-bezier(.34,1.56,.64,1) 1.3s forwards;margin-top:4px;padding:7px 20px;border-radius:999px;background:linear-gradient(180deg,var(--gold-bright),var(--gold) 70%);color:var(--gold-ink);font-weight:800;font-size:1rem;letter-spacing:.02em;box-shadow:0 4px 14px #00000073}@keyframes demoReadyBadgeIn{0%{opacity:0;transform:translateY(8px) scale(.8)}60%{opacity:1;transform:translateY(-2px) scale(1.08)}to{opacity:1;transform:translateY(0) scale(1)}}.demo-highlight{box-shadow:0 0 0 3px var(--gold-bright),0 0 22px 4px #f0c563a6;transition:box-shadow .3s ease}.demo-turnflow-table{position:relative;--tf-scale: 1.47;width:calc(280px * var(--tf-scale));height:calc(230px * var(--tf-scale));margin:8px auto 0}.tf-seat{position:absolute;display:flex;flex-direction:column;align-items:center;gap:calc(3px * var(--tf-scale))}.tf-mini-shield{transform:rotate(90deg);margin-bottom:calc(-8px * var(--tf-scale));border-color:#1976d2}.tf-seat-top{top:0;left:50%;transform:translate(-50%)}.tf-seat-left{bottom:0;left:0}.tf-seat-right{bottom:0;right:0}.tf-mini-life{display:flex;gap:calc(4px * var(--tf-scale));padding:calc(4px * var(--tf-scale));border-radius:calc(6px * var(--tf-scale));transition:box-shadow .3s ease}.tf-mini-card{width:calc(26px * var(--tf-scale));height:calc(38px * var(--tf-scale));border-radius:calc(4px * var(--tf-scale));box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(.7rem * var(--tf-scale));font-weight:700;flex:none}.tf-mini-front{background:#fff;color:#333;border:1.5px solid rgba(0,0,0,.15);box-shadow:1px 1px 3px #0000004d}.tf-mini-value{line-height:1}.tf-mini-suit{font-size:.8em;line-height:1;margin-top:calc(2px * var(--tf-scale))}.tf-deck{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:repeating-linear-gradient(45deg,#b71c1c,#b71c1c 5px,#d32f2f 5px 10px);border:1.5px solid white;box-shadow:1px 1px 4px #0006}.tf-drawn-card{position:absolute;top:50%;left:50%;background:repeating-linear-gradient(45deg,#b71c1c,#b71c1c 5px,#d32f2f 5px 10px);border:1.5px solid white;box-shadow:1px 1px 4px #0006;color:#fff;z-index:5;animation:tfDrawDown .6s ease-out forwards}.tf-drawn-flip{animation:tfFlipReveal .5s ease forwards}@keyframes tfDrawDown{0%{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,calc(-50% + 46px * var(--tf-scale))) scale(1)}}@keyframes tfFlipReveal{0%{transform:translate(-50%,calc(-50% + 46px * var(--tf-scale))) scaleX(1);background:repeating-linear-gradient(45deg,#b71c1c,#b71c1c 5px,#d32f2f 5px 10px);color:#fff}49%{transform:translate(-50%,calc(-50% + 46px * var(--tf-scale))) scaleX(0);background:repeating-linear-gradient(45deg,#b71c1c,#b71c1c 5px,#d32f2f 5px 10px);color:#fff}51%{transform:translate(-50%,calc(-50% + 46px * var(--tf-scale))) scaleX(0);background:#fff;color:#333}to{transform:translate(-50%,calc(-50% + 46px * var(--tf-scale))) scaleX(1);background:#fff;color:#333}}.demo-arrow{color:#fff;font-size:1.5rem}.demo-arrow-area{width:60px;height:80px;position:relative;display:flex;align-items:center;justify-content:center}.demo-attacker-side,.demo-target-side{display:flex;flex-direction:column;align-items:center;gap:6px}.demo-result-text{font-size:1.1rem;font-weight:700;text-align:center;padding:8px 16px;border-radius:8px;margin-top:10px;animation:demoFadeIn .3s ease}.demo-success{color:#4caf50;background:#4caf5026}.demo-damage{color:#ff5252;background:#ff525226}.demo-fail{color:#888;background:#ffffff1a}@keyframes demoFlyRight{0%{transform:translate(-30px);opacity:0}30%{opacity:1}to{transform:translate(30px);opacity:1}}@keyframes demoFadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.rp-scene{--rp-scale: .92;display:flex;flex-direction:column;align-items:center}.rp-scene .playing-card{width:calc(55px * var(--rp-scale));height:calc(80px * var(--rp-scale));border-radius:calc(6px * var(--rp-scale));padding:calc(5px * var(--rp-scale))}.rp-scene .card-value{font-size:calc(1.1rem * var(--rp-scale))}.rp-scene .card-shape-icon{font-size:calc(1rem * var(--rp-scale));margin-top:calc(4px * var(--rp-scale))}.rp-scene .card-shield{margin-bottom:calc(10px * var(--rp-scale))}.rp-scene .life-cards-row{gap:calc(10px * var(--rp-scale))}.rp-scene .life-cards-row .playing-card{margin-inline-start:0}.rp-deck{flex:none}.rp-drop-zone{width:calc(55px * var(--rp-scale));height:calc(120px * var(--rp-scale));position:relative;display:flex;align-items:center;justify-content:center}.rp-discard-flight{position:absolute;top:0;left:50%;z-index:6;animation:rpDiscardToss .7s ease-in forwards}@keyframes rpDiscardToss{0%{transform:translate(-50%,calc(120px * var(--rp-scale))) rotate(90deg);opacity:1}55%{transform:translate(-50%,calc(68px * var(--rp-scale))) rotate(45deg);opacity:1}to{transform:translate(-50%,calc(26px * var(--rp-scale))) rotate(15deg);opacity:1}}.rp-discard-flight-flat{position:absolute;top:0;left:50%;z-index:6;animation:rpDiscardTossFlat .7s ease-in forwards}@keyframes rpDiscardTossFlat{0%{transform:translate(-50%,calc(86px * var(--rp-scale))) rotate(0);opacity:1}to{transform:translate(calc(-50% - 25px * var(--rp-scale)),calc(26px * var(--rp-scale))) rotate(-18deg);opacity:1}}.rp-falling-card{position:absolute;animation:rpFallDown .9s ease-in-out forwards}@keyframes rpFallDown{0%{transform:translateY(-60%);opacity:0}30%{opacity:1}to{transform:translateY(60%);opacity:1}}.rp-falling-card-shield{position:absolute;top:0;left:50%;animation:rpFallToShield .9s ease-in-out forwards}@keyframes rpFallToShield{0%{transform:translate(-50%,calc(-30px * var(--rp-scale)));opacity:0}30%{opacity:1}to{transform:translate(-50%,calc(86px * var(--rp-scale)));opacity:1}}.rp-invisible{opacity:0}.rp-discard-flight-flat-slot{position:absolute;top:0;left:50%;z-index:6;animation:rpDiscardTossFlatSlot .7s ease-in forwards}@keyframes rpDiscardTossFlatSlot{0%{transform:translate(calc(-50% + var(--slot-dx) * 1px * var(--rp-scale)),calc(210px * var(--rp-scale))) rotate(0);opacity:1}to{transform:translate(calc(-50% + (var(--slot-dx) - 25) * 1px * var(--rp-scale)),calc(26px * var(--rp-scale))) rotate(22deg);opacity:1}}.rp-falling-card-slot{position:absolute;top:0;left:50%;animation:rpFallToSlot 1.1s ease-in-out forwards}@keyframes rpFallToSlot{0%{transform:translate(-50%,calc(-30px * var(--rp-scale)));opacity:0}25%{opacity:1}to{transform:translate(calc(-50% + var(--slot-dx) * 1px * var(--rp-scale)),calc(210px * var(--rp-scale)));opacity:1}}.rp-hand{position:relative;display:flex;flex-direction:column;align-items:center}.rp-damage-number{position:absolute;top:calc(-14px * var(--rp-scale));left:50%;transform:translate(-50%,-50%);z-index:10;font-size:calc(1.6rem * var(--rp-scale));padding:calc(4px * var(--rp-scale)) calc(12px * var(--rp-scale));border-radius:calc(10px * var(--rp-scale));border-width:calc(2px * var(--rp-scale));white-space:nowrap}.rp-fail-banner{font-size:calc(1rem * var(--rp-scale))}.rp-scene-ammo{--rp-scale: .8}.rp-two-hands{position:relative;display:flex;align-items:flex-start;justify-content:center;gap:calc(40px * var(--rp-scale))}.rp-turn-banner{position:absolute;top:calc(55px * var(--rp-scale));left:50%;z-index:10;animation:rpTurnBannerFade 1.6s ease-in-out .5s both;font-size:calc(1.2rem * var(--rp-scale));background:linear-gradient(180deg,var(--wood-mid),var(--wood-dark));border-color:var(--gold-bright);color:var(--gold-bright);text-shadow:1px 1px 3px rgba(0,0,0,.6);box-shadow:0 4px 14px #0000008c}@keyframes rpTurnBannerFade{0%{opacity:0;transform:translate(-50%,-50%) scale(.92)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}78%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.96)}}.rp-mini-hand{position:relative;width:calc(120px * var(--rp-scale));display:flex;flex-direction:column;align-items:center}.rp-scene .ammo-slot{width:calc(45px * var(--rp-scale));height:calc(45px * var(--rp-scale));margin-top:calc(12px * var(--rp-scale))}.rp-scene .ammo-life-row{width:auto}.rp-scene .ammo-life-row .ammo-slot{width:calc(40px * var(--rp-scale));height:calc(45px * var(--rp-scale));margin-top:0;margin-inline-end:calc(8px * var(--rp-scale))}.rp-scene .ammo-life-row .ammo-card-hidden{width:calc(44px * var(--rp-scale));height:calc(64px * var(--rp-scale))}.rp-scene-ammo .rp-two-hands{gap:calc(70px * var(--rp-scale))}.ammo-card-hidden{width:var(--card-w, 55px);height:var(--card-h, 80px);flex-shrink:0;border-radius:6px;background:repeating-linear-gradient(45deg,#b71c1c,#b71c1c 8px,#d32f2f 8px 16px);border:2px solid white;box-sizing:border-box;transform:rotate(90deg)}.ammo-life-row .ammo-card-hidden,.seat-ammo-life-row .ammo-card-hidden{width:calc(44px * var(--card-scale, 1));height:calc(64px * var(--card-scale, 1));transform:rotate(0)}.rp-scene .ammo-card-hidden{width:calc(55px * var(--rp-scale));height:calc(80px * var(--rp-scale));border-radius:calc(6px * var(--rp-scale))}.rp-fly{position:absolute;top:0;left:50%;z-index:6}.rp-fly-fall{animation:rpFlyFall 1s ease-in-out forwards}@keyframes rpFlyFall{0%{transform:translate(calc(-50% + var(--sx) * 1px * var(--rp-scale)),calc(var(--sy) * 1px * var(--rp-scale))) rotate(var(--srot, 0deg));opacity:0}25%{opacity:1}to{transform:translate(calc(-50% + var(--ex) * 1px * var(--rp-scale)),calc(var(--ey) * 1px * var(--rp-scale))) rotate(var(--erot, 0deg));opacity:1}}.rp-fly-toss{animation:rpFlyToss .7s ease-in forwards}@keyframes rpFlyToss{0%{transform:translate(calc(-50% + var(--sx) * 1px * var(--rp-scale)),calc(var(--sy) * 1px * var(--rp-scale))) rotate(var(--srot, 0deg));opacity:1}to{transform:translate(calc(-50% + var(--ex) * 1px * var(--rp-scale)),calc(var(--ey) * 1px * var(--rp-scale))) rotate(var(--erot, -15deg));opacity:1}}.rp-ammo-reveal-fly{animation:rpAmmoFlyMotion 1.1s ease-in-out forwards;padding:0;background:transparent;box-shadow:none;z-index:5}@keyframes rpAmmoFlyMotion{0%{transform:translate(calc(-50% + var(--sx) * 1px * var(--rp-scale)),calc(var(--sy) * 1px * var(--rp-scale))) rotate(90deg) scaleX(1);opacity:0}20%{opacity:1}50%{transform:translate(calc(-50% + (var(--sx) + var(--ex)) * .5px * var(--rp-scale)),calc((var(--sy) + var(--ey)) * .5px * var(--rp-scale))) rotate(45deg) scaleX(0)}to{transform:translate(calc(-50% + var(--ex) * 1px * var(--rp-scale)),calc(var(--ey) * 1px * var(--rp-scale))) rotate(0) scaleX(1);opacity:1}}.rp-ammo-toss-reveal{animation:rpAmmoTossReveal 1.1s ease-out forwards;padding:0;background:transparent;box-shadow:none}@keyframes rpAmmoTossReveal{0%{transform:translate(calc(-50% + var(--sx) * 1px * var(--rp-scale)),calc(var(--sy) * 1px * var(--rp-scale))) rotate(90deg) scaleX(1);opacity:1}50%{transform:translate(calc(-50% + (var(--sx) + var(--ex)) * .5px * var(--rp-scale)),calc((var(--sy) + var(--ey)) * .5px * var(--rp-scale))) rotate(30deg) scaleX(0)}to{transform:translate(calc(-50% + var(--ex) * 1px * var(--rp-scale)),calc(var(--ey) * 1px * var(--rp-scale))) rotate(-25deg) scaleX(1);opacity:1}}.rp-ammo-back,.rp-ammo-front{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:inherit;box-sizing:border-box}.rp-ammo-back{background:repeating-linear-gradient(45deg,#b71c1c,#b71c1c 8px,#d32f2f 8px 16px);border:2px solid white;animation:rpAmmoBackFade 1.1s step-end forwards}.rp-ammo-front{background:#fff;color:#333;border:1.5px solid rgba(0,0,0,.15);opacity:0;animation:rpAmmoFrontFade 1.1s step-end forwards}@keyframes rpAmmoBackFade{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes rpAmmoFrontFade{0%,49%{opacity:0}50%,to{opacity:1}}@media(pointer:coarse){.instructions-card{padding:20px;border-width:4px;border-radius:20px;min-height:640px}.instructions-title{font-size:1.2rem}.instructions-text{font-size:.9rem;min-height:110px}.instructions-demo{padding:12px;height:320px}.demo-turnflow-table{--tf-scale: .92}.rp-scene{--rp-scale: .8}.rp-scene-ammo{--rp-scale: .68}.nav-btn{padding:8px 16px;font-size:.9rem}}.instructions-tutorial-cta{background:var(--wood-mid);color:var(--cream);border:2px solid var(--wood-light);border-radius:10px;padding:10px 20px;font-weight:700;font-size:.95rem;cursor:pointer;margin-bottom:15px;box-shadow:0 4px 10px #0000004d}.instructions-tutorial-cta:hover{background:var(--wood-light)}.nav-btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.tutorial-turn-pointer{position:fixed;width:0;height:0;transform:translate(-50%,calc(-100% - 4px));border-left:15px solid transparent;border-right:15px solid transparent;border-top:22px solid #f44336;z-index:10030;pointer-events:none;animation:tutorialPointerBounce .8s ease-in-out infinite}@keyframes tutorialPointerBounce{0%,to{margin-top:0}50%{margin-top:10px}}.tutorial-deck-active{cursor:grab;filter:drop-shadow(0 0 8px rgba(76,175,80,.7))}.tutorial-table-area .discard-pile-area{width:100px;height:80px}.tutorial-deck-active:active{cursor:grabbing}.card-shield-wrap{display:flex}.tutorial-gesture-hint{width:100%;text-align:center;font-size:.85rem;font-weight:700;color:var(--gold-bright);margin:8px 0 0}.tutorial-gesture-done{color:#66bb6a}.tutorial-action-checklist{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:5px;font-size:.85rem}.tutorial-action-checklist li{display:flex;align-items:center;gap:8px;color:#ffffffbf}.tutorial-action-checklist li.done{color:#66bb6a;font-weight:700}.tutorial-checkbox{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;border-radius:4px;border:2px solid rgba(255,255,255,.5);font-size:.75rem;font-weight:700;color:#1b1b1b}.tutorial-action-checklist li.done .tutorial-checkbox{background:#66bb6a;border-color:#66bb6a}.tutorial-bubble{position:fixed;z-index:10020;background:linear-gradient(180deg,var(--wood-light),var(--wood-mid) 55%,var(--wood-dark));border:2px solid var(--gold);border-radius:12px;box-shadow:0 12px 30px #00000080;padding:14px 18px;width:clamp(240px,82vw,340px);box-sizing:border-box;color:#fff}.tutorial-bubble-wide{width:clamp(280px,94vw,460px)}.tutorial-bubble-anchored-above{transform:translate(-50%,calc(-100% - 16px))}.tutorial-bubble-anchored-above:after{content:"";position:absolute;left:50%;bottom:-9px;transform:translate(-50%);border-left:9px solid transparent;border-right:9px solid transparent;border-top:9px solid var(--gold)}.tutorial-bubble-anchored-below{transform:translate(-50%,16px)}.tutorial-bubble-anchored-below:after{content:"";position:absolute;left:50%;top:-9px;transform:translate(-50%);border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:9px solid var(--gold)}.tutorial-bubble-center{left:50%;top:50%;transform:translate(-50%,-50%)}.tutorial-bubble-anchored-side{transform:translate(-50%,16px)}.tutorial-bubble-title{color:var(--gold-bright);font-size:1.05rem;font-weight:700;margin-bottom:6px;text-shadow:1px 1px 3px rgba(0,0,0,.5)}.tutorial-bubble-text{font-size:.9rem;line-height:1.5;margin:0}.tutorial-bubble-nav{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.tutorial-bubble-nav .nav-btn{padding:7px 16px;font-size:.85rem}@media(pointer:coarse){.tutorial-bubble{width:clamp(220px,90vw,300px);padding:12px 14px}.tutorial-bubble-wide{width:clamp(260px,94vw,380px)}}@media(pointer:coarse){.tutorial-bubble-mobile-bottom{position:fixed!important;inset:auto 0 0!important;transform:none!important;width:100%!important;max-height:38vh;overflow-y:auto;border-radius:12px;box-sizing:border-box;padding:8px 12px}.tutorial-bubble-mobile-bottom:after{content:none!important}.tutorial-bubble-mobile-bottom .tutorial-bubble-title{font-size:.88rem;margin-bottom:3px}.tutorial-bubble-mobile-bottom .tutorial-bubble-text{font-size:.76rem;line-height:1.3}.tutorial-bubble-mobile-bottom .tutorial-action-checklist{font-size:.72rem;margin-top:6px}.tutorial-bubble-mobile-bottom .tutorial-checkbox{width:15px;height:15px}.tutorial-bubble-mobile-bottom .tutorial-gesture-hint{font-size:.76rem;margin:5px 0 0}.tutorial-bubble-mobile-bottom .tutorial-bubble-nav{margin-top:6px}.tutorial-bubble-mobile-bottom .tutorial-bubble-nav .nav-btn{padding:5px 12px;font-size:.8rem}}@media(pointer:coarse){.tutorial-action-checklist{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}}
