.lockroll-root.lockroll-root{--red:#c0392b;--red-lt:#f1948a;--yel:#d4ac0d;--yel-lt:#f9e79f;--grn:#1e8449;--grn-lt:#82e0aa;--blu:#1a5276;--blu-lt:#7fb3d3;--bg:#1a1a2e;--q-card:#ffffff0f;--q-border:#ffffff1f;--sheet-min:465px;--board-max:1800px;--background:var(--bg);--foreground:#fff;--card:var(--q-card);--card-foreground:#fff;--popover:#22223c;--popover-foreground:#fff;--primary:#27ae60;--primary-foreground:#fff;--secondary:#ffffff14;--secondary-foreground:#fff;--muted:#ffffff12;--muted-foreground:#a2a8b3;--accent:#ffffff1f;--accent-foreground:#fff;--destructive:#c0392b;--destructive-foreground:#fff;--border:var(--q-border);--input:#ffffff1a;--ring:#27ae60a6;background:var(--bg);color:#fff;min-height:100vh;font-family:Segoe UI,system-ui,sans-serif;position:relative}.lockroll-root .hidden{display:none!important}.q-setup{flex-direction:column;align-items:center;gap:28px;min-height:100vh;padding:40px 20px 80px;display:flex}.lockroll-root .logo{letter-spacing:-3px;background:linear-gradient(135deg,#e74c3c 0%,#f39c12 33%,#27ae60 66%,#2980b9 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:72px;font-weight:900;line-height:1}.lockroll-root .tagline{color:#777;margin-top:-20px;font-size:14px}.lockroll-root .sec-label{letter-spacing:1.5px;text-transform:uppercase;color:#666;text-align:center;font-size:11px;font-weight:700}.lockroll-root .sheet-carousel{justify-content:center;align-items:center;gap:12px;width:100%;max-width:1080px;display:flex}.lockroll-root .sheet-cards{flex:1;justify-content:center;display:flex}.lockroll-root .sheet-tabs{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:-12px;display:flex}.lockroll-root .sheet-tab{border:1px solid var(--q-border);color:#fff;cursor:pointer;background:#ffffff14;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:700;transition:all .2s}.lockroll-root .sheet-tab:hover{background:#ffffff29}.lockroll-root .sheet-tab.active{background:#27ae6033;border-color:#27ae60}.lockroll-root .sheet-tab:disabled{opacity:.45;cursor:not-allowed}.lockroll-root .carousel-btn{border:2px solid var(--q-border);color:#fff;cursor:pointer;background:#ffffff14;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:28px;line-height:1;transition:all .2s;display:flex}.lockroll-root .carousel-btn:hover{background:#ffffff2e;border-color:#ffffff59}.lockroll-root .sheet-indicator{color:#ddd;margin-top:-16px;font-size:11px}.lockroll-root .sheet-card{border:2px solid var(--q-border);cursor:pointer;background:var(--q-card);text-align:center;border-radius:16px;width:100%;max-width:400px;padding:22px;transition:all .2s}.lockroll-root .sheet-card:hover{border-color:#ffffff4d;transform:translateY(-2px)}.lockroll-root .sheet-card.is-static{pointer-events:none}.lockroll-root .sheet-card.sel{background:#27ae601a;border-color:#27ae60;box-shadow:0 0 18px #27ae6033}.lockroll-root .card-name{margin-bottom:3px;font-size:16px;font-weight:700}.lockroll-root .card-desc{color:#fff;opacity:.9;margin-bottom:8px;font-size:11px}.lockroll-root .random-badge{color:#f9e79f;background:#d4ac0d33;border:1px solid #d4ac0d4d;border-radius:12px;margin-bottom:8px;padding:2px 8px;font-size:10px;display:inline-block}.lockroll-root .mini-sheet{flex-direction:column;gap:3px;display:flex}.lockroll-root .mini-row{border-radius:4px;align-items:center;gap:2px;height:15px;padding:0 3px;display:flex}.lockroll-root .mini-cell{color:#333;background:#ffffffbf;border-radius:2px;flex:1;justify-content:center;align-items:center;height:10px;font-size:6px;font-weight:800;display:flex}.lockroll-root .q-players{flex-direction:column;align-items:center;gap:12px;width:100%;max-width:400px;display:flex}.lockroll-root .q-players-tabs{gap:12px;width:100%}.lockroll-root .q-players-tabs [data-slot=tabs-list]{border:1px solid var(--q-border);background:#ffffff0f}.lockroll-root .q-players-tabs [data-slot=tabs-trigger]{font-weight:700}.lockroll-root .q-players-tabs [data-slot=tabs-trigger][data-state=active]{color:#fff;background:#27ae6033;border-color:#27ae608c}.lockroll-root .roster{flex-direction:column;gap:10px;display:flex}.lockroll-root .roster-row{align-items:center;gap:8px;display:flex}.lockroll-root .roster-row .name-inp{flex:1;min-width:0}.lockroll-root .kind-btn{border:1px solid var(--q-border);color:#fff;cursor:pointer;background:#ffffff14;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex}.lockroll-root .kind-btn:hover{background:#ffffff29}.lockroll-root .kind-btn.is-bot{color:#f9e79f;background:#d4ac0d38;border-color:#d4ac0d8c}.lockroll-root .drag-handle,.lockroll-root .roster-drag{color:#666;cursor:grab;touch-action:none;background:0 0;border:1px solid #0000;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:32px;transition:color .2s,background .2s;display:flex}.lockroll-root .drag-handle:hover:not(:disabled),.lockroll-root .roster-drag:hover:not(:disabled){color:#ccc;background:#ffffff14}.lockroll-root .drag-handle:active:not(:disabled),.lockroll-root .roster-drag:active:not(:disabled){cursor:grabbing}.lockroll-root .drag-handle:disabled,.lockroll-root .roster-drag:disabled{opacity:.25;cursor:not-allowed}.lockroll-root .sortable-dragging{z-index:2;position:relative;box-shadow:0 8px 24px #00000059}.lockroll-root .roster-remove{color:#777;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.lockroll-root .roster-remove:hover:not(:disabled){color:#f1948a;background:#c0392b33;border-color:#c0392b66}.lockroll-root .roster-remove:disabled{opacity:.25;cursor:not-allowed}.lockroll-root .roster-add{gap:8px;display:flex}.lockroll-root .add-btn{border:1px dashed var(--q-border);color:#ddd;cursor:pointer;background:0 0;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-size:13px;font-weight:700;transition:all .2s;display:flex}.lockroll-root .add-btn:hover:not(:disabled){background:#ffffff14;border-style:solid;border-color:#ffffff59}.lockroll-root .add-btn.is-bot{color:#f9e79f;border-color:#d4ac0d66}.lockroll-root .add-btn.is-bot:hover:not(:disabled){background:#d4ac0d26;border-color:#d4ac0db3}.lockroll-root .add-btn:disabled{opacity:.35;cursor:not-allowed}.lockroll-root .roster-count{color:#666;text-align:center;font-size:11px}.lockroll-root .roster-note{color:#f9e79f;background:#d4ac0d1a;border:1px solid #d4ac0d59;border-radius:9px;align-items:flex-start;gap:7px;margin-top:10px;padding:9px 11px;font-size:12px;line-height:1.45;display:flex}.lockroll-root .roster-note svg{flex:none;margin-top:1px}.q-room{flex-direction:column;justify-content:center;align-items:center;gap:22px;min-height:100vh;padding:40px 20px;display:flex;position:relative}.lockroll-root .q-room-logo{font-size:44px}.q-room-dead{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;padding:40px 20px;display:flex}.lockroll-root .q-room-dead .go-title{max-width:18ch;line-height:1.1}.lockroll-root .q-room-dead-msg{color:#999;max-width:46ch;font-size:15px;line-height:1.6}.lockroll-root .q-room-settings .sheet-tabs,.lockroll-root .q-room-settings .sheet-indicator{margin-top:0}.q-profile-bar{z-index:30;position:absolute;top:20px;right:24px}.q-auth{flex-direction:column;justify-content:center;align-items:center;gap:22px;min-height:100vh;padding:40px 20px;display:flex;position:relative}.lockroll-root .q-auth-logo{font-size:44px}.lockroll-root .q-auth-back{color:#999;align-items:center;gap:6px;font-size:13px;font-weight:600;text-decoration:none;transition:color .2s;display:flex;position:absolute;top:24px;left:24px}.lockroll-root .q-auth-back:hover{color:#fff}.lockroll-root .player-setup{background:var(--q-card);border:1px solid var(--q-border);border-radius:16px;flex-direction:column;gap:12px;width:100%;max-width:400px;padding:22px;display:flex}.lockroll-root .count-row{justify-content:center;align-items:center;gap:14px;display:flex}.lockroll-root .cnt-btn{border:2px solid var(--q-border);color:#fff;cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:22px;line-height:1;transition:all .2s;display:flex}.lockroll-root .cnt-btn:hover{background:#ffffff1a;border-color:#fff6}.lockroll-root .cnt-val{text-align:center;width:48px;font-size:34px;font-weight:800}.lockroll-root .name-inp{border:1px solid var(--q-border);color:#fff;background:#ffffff14;border-radius:8px;outline:none;width:100%;padding:10px 13px;font-size:15px;transition:border-color .2s}.lockroll-root .name-inp:focus{border-color:#fff6}.lockroll-root .name-inp::placeholder{color:#ffffff47}.lockroll-root .name-inputs{flex-direction:column;gap:10px;display:flex}.lockroll-root .options-card{background:var(--q-card);border:1px solid var(--q-border);border-radius:16px;width:100%;max-width:400px;padding:16px 22px}.lockroll-root .toggle-row{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:14px;display:flex}.lockroll-root .toggle-row input[type=checkbox]{display:none}.lockroll-root .toggle-switch{border:2px solid var(--q-border);background:#ffffff1f;border-radius:12px;flex-shrink:0;width:42px;height:24px;transition:all .2s;position:relative}.lockroll-root .toggle-row input:checked+.toggle-switch{background:#27ae6080;border-color:#27ae60cc}.lockroll-root .toggle-switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:left .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000004d}.lockroll-root .toggle-row input:checked+.toggle-switch:after{left:20px}.lockroll-root .toggle-title{font-size:14px;font-weight:700}.lockroll-root .toggle-desc{color:#777;margin-top:2px;font-size:11px}.lockroll-root .sub-toggle-row{border-top:1px solid #ffffff14;margin-top:12px;padding-top:12px}.lockroll-root .toggle-row.disabled{opacity:.45;cursor:not-allowed}.lockroll-root .btn-settings{border:1px solid var(--q-border);background:var(--q-card);color:#fff;cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:11px 22px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.lockroll-root .btn-settings.is-block{justify-content:center;width:100%;display:flex}.lockroll-root .btn-settings:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff4d}.lockroll-root .btn-settings:disabled{opacity:.45;cursor:not-allowed}.lockroll-root .timer-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.lockroll-root .timer-fields{flex:none;gap:8px;display:flex}.lockroll-root .timer-field{color:#a2a8b3;align-items:center;gap:5px;font-size:12px;display:flex}.lockroll-root .timer-field input{border:1px solid var(--q-border);color:#fff;text-align:center;background:#00000040;border-radius:8px;width:52px;padding:7px 8px;font-size:14px;font-weight:600}.lockroll-root .timer-field input:focus{border-color:var(--ring);outline:none}.lockroll-root .btn-start{color:#fff;cursor:pointer;background:linear-gradient(135deg,#27ae60,#1e8449);border:none;border-radius:12px;padding:14px 48px;font-size:17px;font-weight:700;transition:all .2s;box-shadow:0 4px 16px #27ae6066}.lockroll-root .btn-start:hover{transform:translateY(-2px);box-shadow:0 6px 22px #27ae6080}.q-game{flex-direction:column;min-height:100vh;display:flex}.lockroll-root .g-header{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--q-border);background:#0a0a14eb;flex-wrap:wrap;align-items:center;gap:10px;padding:9px 14px;display:flex;position:sticky;top:0}.lockroll-root .logo-sm{background:linear-gradient(135deg,#e74c3c,#f39c12,#27ae60,#2980b9);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:900}.lockroll-root .logo,.lockroll-root .logo-sm{cursor:pointer}.lockroll-root .badge{border-radius:20px;padding:3px 11px;font-size:12px;font-weight:600}.lockroll-root .badge-round{background:#ffffff1a}.lockroll-root .badge-active{color:#82e0aa;background:#27ae6033;border:1px solid #27ae6059}.lockroll-root .btn-restart-top{color:#fff;border:1px solid var(--q-border);cursor:pointer;background:#ffffff1a;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700;transition:all .2s}.lockroll-root .btn-restart-top:hover{background:#ffffff29;border-color:#ffffff59}.lockroll-root .hdr-phase-wrapper{border-top:1px solid var(--q-border);color:#777;justify-content:center;align-items:center;width:100%;padding:5px 0 0;font-size:11px;display:flex}.lockroll-root .dice-sec{background:var(--bg);border-bottom:1px solid var(--q-border);z-index:5;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:10px 0 0;display:flex;position:sticky;top:76px}.lockroll-root .dice-grp{align-items:center;gap:5px;display:flex}.lockroll-root .phys-panel{flex-direction:column;align-items:center;width:100%;display:flex}.lockroll-root .phys-pick-wrap{flex-direction:column;align-items:center;gap:14px;margin-top:8px;display:flex}.lockroll-root .phys-pick-lbl{color:#b0b0b0;font-size:13px}.lockroll-root .phys-pick-grid{flex-wrap:wrap;justify-content:center;gap:7px;display:flex}.lockroll-root .phys-pick-btn{border:2px solid var(--q-border);color:#fff;cursor:pointer;background:#ffffff14;border-radius:9px;width:36px;height:36px;font-size:16px;font-weight:800;transition:all .15s}.lockroll-root .phys-pick-btn:hover{background:#ffffff2e;border-color:#ffffff73}.lockroll-root .phys-picked{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.lockroll-root .phys-chip{cursor:pointer;border:2px solid #0000;border-radius:14px;padding:7px 10px;font-size:12px;font-weight:700}.lockroll-root .phys-chip.active{border-color:#ffeb3b;box-shadow:0 0 10px #ffeb3b73}.lockroll-root .phys-chip.done{outline:1px solid #ffffff59}.lockroll-root .phys-divider{background:#ffffff1f;width:100%;height:1px;margin:6px 0}.lockroll-root .phys-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:9px;display:flex}.lockroll-root .btn-reset-phys{color:#fff;border:1px solid var(--q-border);cursor:pointer;white-space:nowrap;background:#ffffff1a;border-radius:9px;margin-top:10px;padding:9px 16px;font-size:14px;font-weight:700;transition:all .2s}.lockroll-root .btn-reset-phys:hover:not(:disabled){background:#ffffff2e;border-color:#ffffff59;transform:translateY(-1px)}.lockroll-root .btn-reset-phys:disabled{opacity:.35;cursor:not-allowed}.lockroll-root .btn-confirm-phys{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#27ae60,#1e8449);border:none;border-radius:9px;margin-top:10px;padding:9px 20px;font-size:14px;font-weight:700;transition:all .2s}.lockroll-root .btn-confirm-phys:hover{transform:translateY(-1px);box-shadow:0 3px 10px #27ae6066}.lockroll-root .sums{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lockroll-root .sum-pill{border-radius:20px;padding:3px 10px;font-size:12px;font-weight:700}.lockroll-root .sp-w{color:#f0f0f0;background:#f0f0f024}.lockroll-root .sp-r{color:#f1948a;background:#c0392b4d}.lockroll-root .sp-y{color:#f9e79f;background:#d4ac0d4d}.lockroll-root .sp-g{color:#82e0aa;background:#1e84494d}.lockroll-root .sp-b{color:#7fb3d3;background:#1a52764d}.lockroll-root .btn-roll{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#e74c3c,#c0392b);border:none;border-radius:9px;padding:9px 20px;font-size:14px;font-weight:700;transition:all .2s}.lockroll-root .btn-roll:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 10px #c0392b66}.lockroll-root .btn-roll:disabled{opacity:.4;cursor:not-allowed}.lockroll-root .btn-edit-dice{color:#fff;border:1px solid var(--q-border);cursor:pointer;white-space:nowrap;background:#ffffff1a;border-radius:9px;margin-left:8px;padding:9px 16px;font-size:13px;font-weight:700;transition:all .2s}.lockroll-root .btn-edit-dice:hover{background:#ffffff2e;border-color:#ffffff59;transform:translateY(-1px)}.lockroll-root .phase-banner{text-align:center;border-bottom:1px solid var(--q-border);z-index:4;width:100%;padding:7px 14px;font-size:13px;font-weight:600;position:sticky;top:143px}.lockroll-root .ph-roll{color:#f1948a;background:#e74c3c1a}.lockroll-root .ph-white{color:#ddd;background:#f0f0f014}.lockroll-root .ph-colored{color:#82e0aa;background:#27ae6014}.lockroll-root .ph-next{color:#ffcc80;background:#ff980014}.lockroll-root .turn-timer{border-bottom:1px solid var(--q-border);background:#ffffff0f;width:100%;height:22px;position:relative;overflow:hidden}.lockroll-root .tt-fill{transform-origin:0;opacity:.55;will-change:transform;background:linear-gradient(135deg,#27ae60,#1e8449);animation-name:lockroll-timer-drain;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;inset:0}@keyframes lockroll-timer-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.lockroll-root .tt-label{text-align:center;font-variant-numeric:tabular-nums;color:#fff;font-size:12px;font-weight:700;line-height:22px;display:block;position:relative}.lockroll-root .turn-timer.is-urgent .tt-fill{opacity:.8;background:linear-gradient(135deg,#e74c3c,#c0392b)}.lockroll-root .turn-timer.is-urgent .tt-label{color:#ffd9d4}@media (prefers-reduced-motion:reduce){.lockroll-root .tt-fill{display:none}.lockroll-root .turn-timer.is-urgent .tt-label{color:#f1948a}.lockroll-root .wait-overlay__card svg{animation:none}}.lockroll-root .turn-overlay{pointer-events:none;z-index:40;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lockroll-root .turn-overlay__backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;background:#0a0a1440;position:absolute;inset:0}.lockroll-root .turn-overlay__message{z-index:1;letter-spacing:.5px;color:#fff;text-shadow:0 8px 30px #000000b3;opacity:0;font-size:56px;font-weight:900;position:relative;transform:scale(.35)}.lockroll-root .turn-overlay.show .turn-overlay__backdrop{animation:lockroll-turn-overlay-dim var(--overlay-ms,1.4s) forwards}.lockroll-root .turn-overlay.show .turn-overlay__message{animation:lockroll-turn-overlay-zoom var(--overlay-ms,1.4s) forwards}.lockroll-root .turn-overlay.is-brief .turn-overlay__message{flex-direction:column;align-items:center;gap:4px;font-size:40px;display:flex}.lockroll-root .turn-overlay__sub{letter-spacing:.3px;opacity:.85;font-size:17px;font-weight:700}.lockroll-root .wait-overlay{pointer-events:none;z-index:5;background:#0a0a146b;border-radius:12px;justify-content:center;align-items:flex-start;padding-top:clamp(40px,18%,160px);display:flex;position:absolute;inset:0}.lockroll-root .wait-overlay__card{color:#fff;background:#141423eb;border:1px solid #ffffff29;border-radius:12px;align-items:center;gap:10px;padding:12px 20px;font-size:15px;font-weight:700;display:flex;position:sticky;top:20vh;box-shadow:0 10px 30px #00000073}@keyframes lockroll-turn-overlay-dim{0%{opacity:0;animation-timing-function:ease-in-out}40%{opacity:1;animation-timing-function:linear}60%{opacity:1;animation-timing-function:ease-in-out}to{opacity:0}}@keyframes lockroll-turn-overlay-zoom{0%{opacity:0;animation-timing-function:cubic-bezier(.34,1.56,.64,1);transform:scale(.35)}12%{opacity:1;animation-timing-function:ease-out;transform:scale(1.15)}22%{opacity:1;animation-timing-function:linear;transform:scale(1)}78%{opacity:1;animation-timing-function:ease-in;transform:scale(1)}to{opacity:0;transform:scale(1.08)}}.lockroll-root .board-area{position:relative}.lockroll-root .board-split{width:100%;max-width:var(--board-max);grid-template-columns:minmax(0,1fr) clamp(190px,22vw,300px);align-items:start;gap:10px;margin-inline:auto;display:grid}.lockroll-root .board-split .players-grid{max-width:1100px}.lockroll-root .board-mini{gap:8px;padding:10px 10px 10px 0;display:grid}.lockroll-root .players-grid{grid-template-columns:repeat(var(--player-cols,auto-fit), minmax(min(var(--sheet-min), 100%), 1fr));width:100%;max-width:var(--board-max);gap:10px;margin-inline:auto;padding:10px 10px 100px;display:grid}.lockroll-root .p-sheet{border:2px solid var(--q-border);background:#ffffff0d;border-radius:13px;transition:border-color .3s;overflow:hidden;container-type:inline-size}.lockroll-root .p-sheet.active-turn{border-color:#27ae60;box-shadow:0 0 14px #27ae6033}.lockroll-root .p-sheet.deciding{border-color:#fff;box-shadow:0 0 14px #ffffff26}.lockroll-root .p-sheet.bot-thinking{border-color:#9b59b6;box-shadow:0 0 14px #9b59b64d}.lockroll-root .sh-bot-icon{vertical-align:-2px;color:#bb8fce;margin-right:5px;display:inline-block}.lockroll-root .sh-thinking{color:#bb8fce;margin-left:7px;font-size:clamp(10px,2cqw,13px);font-weight:600;animation:1.2s ease-in-out infinite lockroll-bot-pulse}@keyframes lockroll-bot-pulse{0%,to{opacity:.45}50%{opacity:1}}.lockroll-root .sh-header{background:#0003;justify-content:space-between;align-items:center;gap:8px;padding:clamp(7px,1.8cqw,14px) clamp(10px,2.6cqw,20px);display:flex}.lockroll-root .sh-name{font-size:clamp(14px,3cqw,22px);font-weight:700}.lockroll-root .sh-tools{align-items:center;gap:8px;display:flex}.lockroll-root .sheet-icon-btn{color:#fff;border:1px solid var(--q-border);cursor:pointer;white-space:nowrap;text-align:center;background:#ffffff17;border-radius:8px;min-width:112px;padding:clamp(4px,1cqw,9px) clamp(8px,1.8cqw,15px);font-size:clamp(11px,2.2cqw,15px);font-weight:700;transition:all .15s}.lockroll-root .sheet-icon-btn:hover{background:#ffffff2e}.lockroll-root .sh-rows{padding:7px clamp(4px,1cqw,10px) 3px}.lockroll-root .sh-row{align-items:center;gap:clamp(2px,.7cqw,6px);margin-bottom:clamp(3px,.8cqw,8px);display:flex}.lockroll-root .row-bar{border-radius:2px;flex-shrink:0;align-self:stretch;width:clamp(4px,.9cqw,7px)}.lockroll-root .rb-red{background:var(--red)}.lockroll-root .rb-yellow{background:var(--yel)}.lockroll-root .rb-green{background:var(--grn)}.lockroll-root .rb-blue{background:var(--blu)}.lockroll-root .row-cells{flex:1;gap:clamp(2px,.5cqw,5px);min-width:0;display:flex}.lockroll-root .cell{aspect-ratio:1;cursor:default;-webkit-user-select:none;user-select:none;border:2px solid #0000;border-radius:clamp(5px,1.4cqw,11px);flex:1 1 0;justify-content:center;align-items:center;min-width:0;font-size:clamp(12px,3.1cqw,26px);font-weight:800;transition:all .15s;display:flex;position:relative;overflow:hidden}.lockroll-root .cell.marked{filter:brightness(.5)saturate(.5)}.lockroll-root .cell.marked:after{content:"✕";color:#000000b3;font-size:clamp(13px,3.6cqw,30px);font-weight:900;position:absolute}.lockroll-root .cell.past{opacity:.22;cursor:not-allowed}.lockroll-root .cell.row-locked{opacity:.25;cursor:not-allowed}.lockroll-root .cell.valid{cursor:pointer;border-color:#ffeb3b;animation:1.3s ease-in-out infinite lockroll-cpulse;box-shadow:0 0 7px #ffeb3b99}@keyframes lockroll-cpulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.lockroll-root .cell.valid:hover{animation:none;box-shadow:0 0 13px #ffeb3be6;transform:scale(1.13)!important}.lockroll-root .p-sheet.not-yours .cell.valid,.lockroll-root .p-sheet.not-yours .cell.valid:hover{cursor:default;animation:none;box-shadow:0 0 7px #ffeb3b99;transform:none!important}.lockroll-root .p-sheet.is-mini .sh-header{padding:clamp(3px,1.8cqw,14px) clamp(5px,2.6cqw,20px)}.lockroll-root .p-sheet.is-mini .sh-name{gap:3px;font-size:clamp(9px,3cqw,22px)}.lockroll-root .p-sheet.is-mini .sh-bot-icon{width:clamp(9px,3cqw,16px);height:clamp(9px,3cqw,16px);margin-right:3px}.lockroll-root .p-sheet.is-mini .sh-thinking{font-size:clamp(8px,2cqw,13px)}.lockroll-root .p-sheet.is-mini .cell{border-width:1px;border-radius:clamp(2px,1.4cqw,11px);font-size:clamp(7px,3.1cqw,26px)}.lockroll-root .p-sheet.is-mini .cell.marked:after{font-size:clamp(8px,3.6cqw,30px)}.lockroll-root .p-sheet.is-mini .lock-icon{border-width:1px;width:clamp(11px,6.6cqw,50px);font-size:clamp(6px,3cqw,24px)}.lockroll-root .p-sheet.is-mini .row-sc{width:clamp(10px,4.4cqw,38px);font-size:clamp(7px,2.3cqw,17px)}.lockroll-root .p-sheet.is-mini .sh-footer{flex-direction:row;justify-content:space-between;align-items:center;gap:6px;padding:4px clamp(5px,2.6cqw,20px) 5px}.lockroll-root .p-sheet.is-mini .pen-box{border-width:1px;width:clamp(8px,4cqw,30px);font-size:clamp(7px,2cqw,15px)}.lockroll-root .p-sheet.is-mini .pen-boxes{gap:2px}.lockroll-root .p-sheet.is-mini .sc-t{min-width:clamp(22px,11cqw,80px);font-size:clamp(10px,3cqw,22px)}.lockroll-root .lock-icon{aspect-ratio:1;cursor:default;background:#ffffff0a;border:2px solid #fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:clamp(24px,6.6cqw,50px);font-size:clamp(11px,3cqw,24px);display:flex}.lockroll-root .lock-icon.locked{background:#ffffff24;border-color:#fff9}.lockroll-root .row-sc{text-align:right;color:#ffffff73;flex-shrink:0;width:clamp(18px,4.4cqw,38px);font-size:clamp(10px,2.3cqw,17px);font-weight:700}.lockroll-root .sh-footer{border-top:1px solid var(--q-border);flex-direction:column;gap:5px;padding:5px clamp(10px,2.6cqw,20px) 9px;display:flex}.lockroll-root .sheet-undo-btn{color:#fff;border:1px solid var(--q-border);cursor:pointer;background:#ffffff1a;border-radius:8px;margin-left:auto;padding:clamp(6px,1.2cqw,10px) clamp(10px,2cqw,16px);font-size:clamp(12px,2.3cqw,16px);font-weight:700;transition:all .15s}.lockroll-root .sheet-undo-btn:hover{background:#fff3}.lockroll-root .sheet-undo-btn.undo-hidden{visibility:hidden;pointer-events:none}.lockroll-root .pen-row{align-items:center;gap:7px;display:flex}.lockroll-root .pen-lbl{color:#666;font-size:clamp(10px,2cqw,14px)}.lockroll-root .pen-boxes{gap:4px;display:flex}.lockroll-root .pen-box{aspect-ratio:1;color:#ffffff4d;border:2px solid #e74c3c66;border-radius:3px;justify-content:center;align-items:center;width:clamp(20px,4cqw,30px);font-size:clamp(10px,2cqw,15px);display:flex}.lockroll-root .pen-box.hit{color:#fff;background:#c0392b;border-color:#c0392b}.lockroll-root .sc-row{flex-wrap:wrap;align-items:center;gap:4px;font-size:clamp(11px,2.2cqw,16px);display:flex}.lockroll-root .sc{border-radius:3px;padding:1px 7px;font-weight:700}.lockroll-root .sc-r{color:#f1948a;background:#c0392b4d}.lockroll-root .sc-y{color:#f9e79f;background:#d4ac0d4d}.lockroll-root .sc-g{color:#82e0aa;background:#1e84494d}.lockroll-root .sc-b{color:#7fb3d3;background:#1a52764d}.lockroll-root .sc-p{color:#f1948a;background:#e74c3c33}.lockroll-root .sc-t{color:#a5d6a7;background:#4caf5033;justify-content:center;min-width:clamp(54px,11cqw,80px);font-size:clamp(15px,3cqw,22px);transition:opacity .25s,transform .25s;display:inline-flex}.lockroll-root .sc-t.total-on{opacity:1;transform:scale(1)}.lockroll-root .sc-t.total-off{opacity:0;transform:scale(.92)}.lockroll-root .action-bar{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--q-border);background:#0a0a14f2;flex-wrap:wrap;justify-content:center;align-items:center;gap:9px;padding:9px 14px;display:flex;position:fixed;bottom:0;left:0;right:0}.lockroll-root .abtn{cursor:pointer;border:none;border-radius:9px;padding:9px 20px;font-size:13px;font-weight:700;transition:all .2s}.lockroll-root .abtn:hover:not(:disabled){transform:translateY(-1px)}.lockroll-root .abtn:disabled{opacity:.35;cursor:not-allowed}.lockroll-root .abtn-skip{color:#fff;border:1px solid var(--q-border);background:#ffffff1a}.lockroll-root .abtn-pen{color:#f1948a;background:#c0392b33;border:1px solid #c0392b66}.lockroll-root .abtn-next{color:#fff;background:linear-gradient(135deg,#27ae60,#1e8449)}@keyframes lockroll-btn-pulse{0%{box-shadow:0 0 0 0 var(--btn-pulse);transform:scale(1)}70%{transform:scale(1.09);box-shadow:0 0 0 17px #0000}to{transform:scale(1);box-shadow:0 0 #0000}}.lockroll-root .abtn:not(:disabled),.lockroll-root .btn-roll:not(:disabled),.lockroll-root .btn-confirm-phys.is-ready{--btn-pulse:#ffffff80;animation:1.5s ease-in-out infinite lockroll-btn-pulse}.lockroll-root .abtn:hover,.lockroll-root .btn-roll:hover,.lockroll-root .btn-confirm-phys:hover{animation:none}.lockroll-root .abtn-pen:not(:disabled),.lockroll-root .btn-roll:not(:disabled){--btn-pulse:#e74c3ccc}.lockroll-root .abtn-next:not(:disabled),.lockroll-root .btn-confirm-phys.is-ready{--btn-pulse:#27ae60cc}@media (prefers-reduced-motion:reduce){.lockroll-root .abtn:not(:disabled),.lockroll-root .btn-roll:not(:disabled),.lockroll-root .btn-confirm-phys.is-ready{animation:none}}.lockroll-root .pen-hint{color:#f1948a;align-self:center;font-size:12px}.lockroll-root .bot-turn-note{color:#d7bde2;background:#9b59b629;border:1px solid #9b59b666;border-radius:9px;align-items:center;gap:7px;padding:9px 20px;font-size:13px;font-weight:700;animation:1.2s ease-in-out infinite lockroll-bot-pulse;display:inline-flex}.q-gameover{--results-w:620px;flex-direction:column;align-items:center;gap:20px;min-height:100vh;padding:40px 20px;display:flex}.lockroll-root .go-title{font-size:48px;font-weight:900}.lockroll-root .go-reason{color:#777;font-size:14px}.lockroll-root .winner-box{text-align:center;background:#27ae601f;border:1px solid #27ae6059;border-radius:12px;padding:14px 30px}.lockroll-root .win-lbl{color:#82e0aa;text-transform:uppercase;letter-spacing:1px;font-size:11px}.lockroll-root .win-name{color:#4caf50;font-size:26px;font-weight:900}.lockroll-root .win-pts{color:#82e0aa;margin-top:2px;font-size:13px}.lockroll-root .results-tbl{background:var(--q-card);border:1px solid var(--q-border);width:100%;max-width:var(--results-w);border-radius:13px;overflow:hidden}.lockroll-root .rt-hdr,.lockroll-root .rt-row{grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr 1.2fr;align-items:center;padding:9px 13px;display:grid}.lockroll-root .rt-hdr{color:#666;text-transform:uppercase;letter-spacing:.5px;background:#0003;font-size:10px;font-weight:700}.lockroll-root .rt-row{border-top:1px solid var(--q-border)}.lockroll-root .rt-row.win{background:#27ae601a}.lockroll-root .rt-name{font-size:13px;font-weight:700}.lockroll-root .rt-total{color:#4caf50;font-size:15px;font-weight:900}.lockroll-root .btn-again{color:#fff;cursor:pointer;background:linear-gradient(135deg,#27ae60,#1e8449);border:none;border-radius:12px;padding:13px 42px;font-size:15px;font-weight:700;transition:all .2s}.lockroll-root .btn-again:hover{transform:translateY(-2px)}.lockroll-root .go-actions{width:100%;max-width:var(--results-w);flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.lockroll-root .btn-again.is-quiet{border:1px solid var(--q-border);color:var(--foreground);background:0 0}.lockroll-root .btn-again.is-danger{border:1px solid var(--destructive);color:var(--red-lt);background:0 0}.lockroll-root .q-footer{background:var(--q-card);border:1px solid var(--q-border);border-radius:12px;align-items:stretch;margin-top:auto;display:flex;overflow:hidden}.lockroll-root .footer-link{color:#999;align-items:center;gap:7px;padding:11px 20px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:flex}.lockroll-root .footer-link:hover{color:#fff;background:#ffffff12}.lockroll-root .footer-icon{opacity:.7;flex-shrink:0;width:15px;height:15px}.lockroll-root .footer-link:hover .footer-icon{opacity:1}.lockroll-root .footer-sep{background:var(--q-border);flex-shrink:0;width:1px}.lockroll-root .toast{color:#fff;z-index:200;pointer-events:none;white-space:nowrap;text-align:center;text-wrap:balance;background:#000000e0;border-radius:8px;max-width:calc(100vw - 28px);padding:9px 18px;font-size:13px;font-weight:600;transition:transform .3s;position:fixed;top:14px;left:50%;transform:translate(-50%)translateY(-60px)}@media (width<=420px){.lockroll-root .toast{white-space:normal}}.lockroll-root .toast.show{transform:translate(-50%)translateY(0)}@media (width>=900px){.lockroll-root .carousel-btn,.lockroll-root .sheet-indicator{display:none}.lockroll-root .sheet-cards{gap:16px}}@media (width<=480px){.lockroll-root .players-grid{gap:8px;padding-inline:6px}}@media (width>=900px){.lockroll-root .q-gameover{--results-w:800px}.lockroll-root .rt-hdr,.lockroll-root .rt-row{padding:12px 18px}.lockroll-root .rt-row{font-size:19px}.lockroll-root .rt-hdr{font-size:12px}.lockroll-root .rt-name{font-size:16px}.lockroll-root .rt-total{font-size:22px}}@media (width<=899px){.lockroll-root .board-split{grid-template-columns:1fr}.lockroll-root .board-mini{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:0 10px 10px}}@container (width<=430px){.lockroll-root .sh-rows{padding-inline:3px}.lockroll-root .lock-icon{width:22px}.lockroll-root .row-sc{width:15px}}
