.blokus-home,.blokus-lobby,.blokus-game{--blokus-color-0:#2b6cb0;--blokus-color-1:#d69e2e;--blokus-color-2:#c53030;--blokus-color-3:#38a169;max-width:100%}.blokus-panel{border:3px solid var(--marker-ink,#2b2118);background:#ffffff8c;border-radius:4px;padding:1.25rem;box-shadow:4px 4px #2b211826}.blokus-label{gap:.35rem;margin-bottom:1rem;font-size:1rem;display:grid}.blokus-setting-row{margin-top:.5rem}.blokus-setting-title{margin:0 0 .25rem}.blokus-setting-current{margin:0 0 .65rem}.blokus-timer-options{flex-wrap:wrap;gap:.4rem;display:flex}.blokus-timer-option{font:inherit;cursor:pointer;touch-action:manipulation;background:#ffffffd9;border:2px solid #2b21184d;border-radius:3px;padding:.45rem .65rem;font-size:.9rem}.blokus-timer-option.is-active{border-color:var(--marker-ink,#2b2118);background:#fffcf5f2;font-weight:700;box-shadow:2px 2px #2b211826}.blokus-timer-option:disabled{opacity:.55;cursor:default}.blokus-input{font:inherit;background:#fff;border:2px solid #2b211859;border-radius:3px;padding:.55rem .75rem}.blokus-actions,.blokus-share-row,.blokus-join-row,.blokus-game-actions{z-index:3;touch-action:manipulation;flex-wrap:wrap;align-items:center;gap:.5rem;display:flex;position:relative}.blokus-join-row .blokus-input{text-transform:uppercase;letter-spacing:.08em;flex:1;min-width:8rem}.blokus-share-input{flex:1;min-width:12rem;font-size:.9rem}.blokus-btn{font:inherit;border:2px solid var(--marker-ink,#2b2118);cursor:pointer;background:#fff;border-radius:3px;padding:.55rem .9rem}.blokus-btn:hover:not(:disabled){background:#ffd24a59}.blokus-btn:disabled{opacity:.55;cursor:not-allowed}.blokus-btn-primary{font-family:var(--marker-font-display,cursive);background:#ffd24a8c;font-size:1.15rem}.blokus-divider{text-align:center;color:var(--marker-ink-soft,#5a4a3a);margin:1rem 0}.blokus-kicker{color:var(--marker-ink-soft,#5a4a3a);margin:0;font-size:.9rem}.blokus-room-code{font-family:var(--marker-font-display,cursive);letter-spacing:.15em;margin:.15rem 0 0;font-size:2rem}.blokus-subheading{font-family:var(--marker-font-display,cursive);margin:1rem 0 .5rem;font-size:1.4rem}.blokus-player-list,.blokus-score-list{margin:0;padding:0;list-style:none}.blokus-player-item{border-bottom:1px dashed #2b211833;align-items:center;gap:.5rem;padding:.35rem 0;display:flex}.blokus-color-dot{border:1px solid #00000040;border-radius:50%;width:.85rem;height:.85rem}.blokus-player-meta{color:var(--marker-ink-soft,#5a4a3a);margin-left:auto;font-size:.85rem}.blokus-lobby-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.blokus-start-btn{margin-top:1rem}.blokus-hint{color:var(--marker-ink-soft,#5a4a3a);margin:.75rem 0 0;font-size:.95rem}.blokus-synopsis{color:var(--marker-ink-soft,#5a4a3a);background:#ffffff73;border:2px dashed #2b211833;border-radius:4px;margin:0 0 1rem;padding:.75rem 1rem;font-size:.95rem;line-height:1.45}.blokus-tray-hint{color:var(--marker-ink-soft,#5a4a3a);margin:0 0 .5rem;font-size:.85rem}.blokus-error{color:#9b2c2c;margin:.75rem 0 0}.blokus-error-panel code{font-family:ui-monospace,monospace}.blokus-game-top{z-index:2;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex;position:relative}.blokus-turn-line{margin:.2rem 0 0;font-size:1.05rem}.blokus-game-layout{grid-template-columns:minmax(0,1fr) 16rem;align-items:start;gap:1rem;display:grid}@media (width<=900px){.blokus-game-layout{grid-template-columns:1fr}.blokus-tray{grid-template-columns:repeat(auto-fill,minmax(3.5rem,1fr));max-height:none}.blokus-game-top{flex-direction:column}}.blokus-game.is-mobile-touch .blokus-tray-piece{cursor:pointer}.blokus-board-hint{color:var(--marker-ink-soft,#5a4a3a);margin:0 0 .5rem;font-size:.85rem}.blokus-cell-interactive{pointer-events:auto;cursor:pointer;touch-action:none;border:none;padding:0}.blokus-cell-interactive:disabled{cursor:default;opacity:1}.blokus-game-actions .blokus-btn-primary{font-size:1rem}.blokus-board-panel{width:100%;max-width:min(100%, var(--board-max,560px));border:3px solid var(--marker-ink,#2b2118);box-sizing:border-box;background:#2b211826;border-radius:4px;margin-inline:auto;padding:2px}.blokus-turn-block{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.blokus-turn-timer-wrap{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.blokus-turn-timer-wrap.is-urgent .blokus-turn-timer-caption{color:#c53030;font-weight:700}.blokus-turn-timer-caption{color:var(--marker-ink,#2b2118);white-space:nowrap;font-size:.95rem;font-weight:600}.blokus-turn-timer{flex-shrink:0;width:44px;height:44px;position:relative}.blokus-turn-timer-ring{width:100%;height:100%;transform:rotate(-90deg)}.blokus-turn-timer-track,.blokus-turn-timer-progress{fill:none;stroke-width:3px}.blokus-turn-timer-track{stroke:#2b211826}.blokus-turn-timer-progress{stroke:var(--marker-ink,#2b2118);transition:stroke-dashoffset .2s linear}.blokus-turn-timer.is-urgent .blokus-turn-timer-progress{stroke:#c53030}.blokus-game.is-mobile-touch .blokus-turn-timer-wrap{width:100%}.blokus-game.is-mobile-touch .blokus-game-actions{flex-wrap:wrap;gap:.4rem;width:100%;display:flex}.blokus-game.is-mobile-touch .blokus-game-actions .blokus-btn-primary{flex:100%;min-height:2.75rem;font-size:1.05rem}.blokus-turn-timer-label{color:var(--marker-ink,#2b2118);justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex;position:absolute;inset:0}.blokus-board-wrap{width:100%;overflow:hidden}.blokus-board{grid-template-columns:repeat(var(--board-size), 1fr);grid-template-rows:repeat(var(--board-size), 1fr);aspect-ratio:1;box-sizing:border-box;touch-action:none;gap:1px;width:100%;max-width:100%;display:grid}.blokus-cell{pointer-events:none;background:#fffcf5f2;border:none;width:100%;min-width:0;height:100%;min-height:0;padding:0}.blokus-cell-corner{box-shadow:inset 0 0 0 2px #2b211840}.blokus-cell-p0{background:var(--blokus-color-0)}.blokus-cell-p1{background:var(--blokus-color-1)}.blokus-cell-p2{background:var(--blokus-color-2)}.blokus-cell-p3{background:var(--blokus-color-3)}.blokus-cell-preview-ok{background:#38a1698c}.blokus-cell-preview-bad{background:#c5303073}.blokus-sidebar{min-width:0}.blokus-tray{grid-template-columns:repeat(auto-fill,minmax(4.5rem,1fr));gap:.35rem;max-height:24rem;display:grid;overflow:auto}.blokus-tray-piece{cursor:grab;touch-action:none;user-select:none;background:#fff;border:2px solid #2b211840;justify-content:center;align-items:center;min-height:3rem;padding:.35rem;display:flex}.blokus-tray-piece.is-dragging{opacity:.45;cursor:grabbing}.blokus-tray-piece.is-selected{border-color:var(--marker-ink,#2b2118);box-shadow:2px 2px #2b211833}.blokus-selected-preview{text-align:center;background:#ffffffbf;border:2px dashed #2b211859;border-radius:4px;margin-bottom:.65rem;padding:.65rem}.blokus-selected-preview-label{color:var(--marker-ink-soft,#5a4a3a);margin:0 0 .4rem;font-size:.85rem}.blokus-selected-preview-piece{justify-content:center;align-items:center;min-height:4.5rem;display:flex}.blokus-timer-option:not(:disabled):hover{background:#ffd24a59}.blokus-mini-grid{gap:1px;display:grid}.blokus-mini-cell{border-radius:1px}.blokus-drag-ghost{z-index:9999;pointer-events:none;opacity:.92;position:fixed}.blokus-drag-ghost.is-legal{filter:drop-shadow(0 0 6px #38a169bf)}.blokus-drag-ghost.is-illegal{filter:drop-shadow(0 0 6px #c53030a6)}.blokus-ghost-grid{gap:1px;width:100%;height:100%;display:grid}.blokus-ghost-cell{border:1px solid #0003;border-radius:2px}.blokus-placement-handle{z-index:10000;border:2px solid var(--marker-ink,#2b2118);pointer-events:none;background:#fffcf5f2;border-radius:50%;width:22px;height:22px;margin:-11px 0 0 -11px;position:fixed;box-shadow:0 1px 4px #2b211859}.blokus-game.is-mobile-touch .blokus-drag-ghost{opacity:.96}.blokus-score-list li{align-items:center;gap:.4rem;padding:.2rem 0;display:flex}
