:root{--color-accent:#667eea;--color-accent-hover:#764ba2;--color-accent-bg:#667eea1a;--color-text:#1f2937;--color-text-secondary:#6b7280;--color-text-light:#9ca3af;--color-bg:#fff;--color-bg-secondary:#f5f7fa;--color-bg-hover:#f0f2f7;--color-bg-tertiary:#e8eef5;--color-border:#d1d5db;--color-border-light:#e5e7eb;--primary:#667eea;--primary-dark:#764ba2;--secondary:#f5f7fa;--danger:#ef4444;--success:#10b981;--warning:#f59e0b;--text-primary:#1f2937;--text-secondary:#6b7280;--text-light:#9ca3af;--text-white:#fff;--bg-primary:#fff;--bg-secondary:#f5f7fa;--bg-tertiary:#e8eef5;--border-light:#e5e7eb;--border-default:#d1d5db;--border-dark:#9ca3af;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;--font-mono:"Monaco", "Courier New", monospace;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--color-text:#f3f4f6;--color-text-secondary:#d1d5db;--color-text-light:#9ca3af;--color-bg:#1f2937;--color-bg-secondary:#111827;--color-bg-hover:#1f2937;--color-bg-tertiary:#1f2937;--color-border:#4b5563;--color-border-light:#374151;--text-primary:#f3f4f6;--text-secondary:#d1d5db;--bg-primary:#1f2937;--bg-secondary:#111827;--bg-tertiary:#1f2937;--border-light:#374151;--border-default:#4b5563}}html,body{width:100%;height:100%;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-secondary)}#root{width:100%;height:100%}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}p{margin:0}a{color:var(--primary);text-decoration:none;transition:color .2s}a:hover{color:var(--primary-dark)}code{font-family:var(--font-mono);background:var(--bg-tertiary);border-radius:3px;padding:.2em .4em;font-size:.875em}input,button,select,textarea{font-family:inherit;font-size:inherit}@media (width<=1024px){:root{font-size:15px}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.25rem}}@media (width<=768px){:root{font-size:14px}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.1rem}}@media (width<=480px){:root{font-size:13px}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1rem}}.header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:space-between;align-items:center;gap:1.5rem;padding:.85rem 2rem;display:flex;box-shadow:0 4px 12px #00000026}.header-left{flex:1;min-width:0}.title{letter-spacing:-.5px;text-shadow:2px 2px 4px #0003;margin:0;font-size:2rem;font-weight:700}.header-center{text-align:center;flex:1;min-width:0}.game-info{justify-content:center;align-items:center;gap:1rem;font-size:1rem;display:flex}.game-headline{color:#fff;text-wrap:balance;text-shadow:1px 1px 3px #00000038;justify-content:center;align-items:center;max-width:100%;font-size:.98rem;font-weight:800;line-height:1.25;display:inline-flex}.headline-stack{flex-direction:column;align-items:center;gap:.18rem;min-width:0;display:flex}.ruleset-badge{color:#ffffffd1;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;border-bottom:1px dotted #ffffffa8;padding:0;font-family:inherit;font-size:.72rem;font-weight:800}.ruleset-badge:hover{color:#fff}.current-player,.roll-counter{font-weight:500}.current-player strong,.roll-counter strong{font-size:1.12rem;font-weight:700}.header-right{flex:1;justify-content:flex-end;gap:1rem;display:flex}.btn-debug{color:#fff;background:#111827}.btn-debug:hover:not(:disabled){background:#1f2937}.header .btn:disabled{cursor:not-allowed;opacity:.55}.ruleset-details-backdrop{z-index:1100;background:#0f172a8f;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.ruleset-details-dialog{color:#333;background:#fff;border-radius:12px;width:min(560px,100%);max-height:calc(100dvh - 2rem);padding:1.1rem;overflow:auto;box-shadow:0 20px 54px #0f172a57}@supports not (max-height:calc(100dvh - 2rem)){.ruleset-details-dialog{max-height:calc(100vh - 2rem)}}.ruleset-details-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.ruleset-details-header h2{margin:0 0 .35rem;font-size:1.25rem}.ruleset-details-header p,.ruleset-details-note,.ruleset-modifier-list p{color:#667085;margin:0;font-size:.9rem;line-height:1.35}.ruleset-details-header button{color:#333;cursor:pointer;font:inherit;background:#f8fafc;border:1px solid #dbe3f0;border-radius:8px;padding:.45rem .65rem;font-size:.85rem;font-weight:800}.ruleset-details-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:1rem 0;display:grid}.ruleset-details-meta div,.ruleset-modifier-list section{background:#f8fafc;border:1px solid #e1e6f0;border-radius:8px;padding:.65rem}.ruleset-details-meta dt{color:#667085;letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:900}.ruleset-details-meta dd{color:#333;margin:.18rem 0 0;font-size:.92rem;font-weight:700}.ruleset-modifier-list{gap:.55rem;display:grid}.ruleset-modifier-list strong,.ruleset-modifier-list span{display:block}.ruleset-modifier-list strong{color:#333;font-size:.95rem}.ruleset-modifier-list span{color:#4b5fc0;margin-top:.15rem;font-size:.82rem;font-weight:800}.ruleset-conflict-list{background:#fffbeb;border:1px solid #facc15;border-radius:8px;gap:.4rem;margin-top:.9rem;padding:.7rem;display:grid}.ruleset-conflict-list h3{color:#854d0e;letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:.82rem}.ruleset-conflict-list p{color:#854d0e;margin:0;font-size:.84rem;font-weight:700;line-height:1.3}@media (width<=1280px){.header{flex-direction:column;gap:.75rem;padding:.8rem}.header-left,.header-center,.header-right{width:100%}.header-right{justify-content:center}.title{text-align:center;font-size:1.75rem}.game-headline{font-size:.95rem}}@media (width<=768px){.header{padding:.65rem}.title{font-size:1.5rem}.game-info{font-size:1rem}.game-headline{font-size:.9rem}}.modal-overlay .modal-content.draft-mode-modal{background:var(--color-bg,#fff);--color-accent:#667eea;--color-accent-hover:#764ba2;--color-accent-bg:#667eea1a;--color-text:#1f2937;--color-text-secondary:#6b7280;--color-text-light:#9ca3af;--color-bg:#fff;--color-bg-secondary:#f5f7fa;--color-bg-hover:#f0f2f7;--color-bg-tertiary:#e8eef5;--color-border:#d1d5db;--color-border-light:#e5e7eb;border-radius:1rem;flex-direction:column;width:min(76vw,1500px);max-width:1500px;min-height:min(80dvh,760px);max-height:min(80dvh,760px);display:flex;overflow:hidden;box-shadow:0 28px 70px #0f172a38}@supports not (min-height:min(80dvh, 760px)){.modal-overlay .modal-content.draft-mode-modal{min-height:74vh;max-height:760px}}.draft-header{border-bottom:1px solid var(--color-border,#d1d5db);background:linear-gradient(#f8f9fb 0%,#f1f4f9 100%);flex-direction:column;gap:.9rem;padding:1.35rem 1.5rem 1rem;display:flex}.header-top{justify-content:space-between;align-items:flex-start;display:flex}.header-copy{flex-direction:column;gap:.2rem;display:flex}.eyebrow{color:var(--color-accent,#667eea);text-transform:uppercase;letter-spacing:.12em;margin:0;font-size:.7rem;font-weight:800}.header-top h2{color:var(--color-text,#1f2937);margin:0;font-size:clamp(1.8rem,2vw,2.4rem);font-weight:700}.modal-close{cursor:pointer;color:var(--color-text-secondary,#6b7280);background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.75rem;transition:all .15s;display:flex}.modal-close:hover{background-color:var(--color-bg-hover,#f0f2f7);color:var(--color-text,#1f2937)}.progress-section{flex-direction:column;display:flex}.progress-label{background-color:var(--color-accent-bg,#667eea1a);color:var(--color-accent,#667eea);border-radius:.5rem;justify-content:center;align-items:center;width:fit-content;padding:.4rem .7rem;font-size:.8rem;font-weight:700;display:inline-flex}.category-tabs{flex-wrap:wrap;gap:.55rem;display:flex}.category-tab{border:1px solid var(--color-border,#d1d5db);background:var(--color-bg,#fff);color:var(--color-text,#1f2937);cursor:pointer;white-space:nowrap;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1rem;font-size:.9rem;font-weight:600;transition:all .15s;display:flex}.category-tab:hover{border-color:var(--color-accent,#667eea);background-color:var(--color-bg-hover,#f0f2f7)}.category-tab.active{background-color:var(--color-accent,#667eea);color:#fff;border-color:var(--color-accent,#667eea)}.category-tab.has-selection{font-weight:600}.category-tab.active.has-selection{box-shadow:0 0 0 3px #667eea33}.tab-label{display:block}.tab-badge{background-color:#ffffff2e;border-radius:.45rem;justify-content:center;align-items:center;min-width:1.5rem;height:1.35rem;padding:0 .45rem;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.category-tab.active .tab-badge{background-color:#ffffff47}.draft-body{background:var(--color-bg,#fff);flex:1;grid-template-columns:minmax(0,1.9fr) minmax(260px,.8fr);gap:1.5rem;padding:1.2rem 1.5rem 1rem;display:grid;overflow:hidden}.modifier-section{flex-direction:column;gap:.8rem;display:flex;overflow:hidden}.category-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.category-info h3{color:var(--color-text,#1f2937);margin:0;font-size:1.25rem;font-weight:700}.category-info p{color:var(--color-text-secondary,#6b7280);margin:0;font-size:.95rem}.modifier-list{flex-direction:column;gap:.75rem;padding-right:.25rem;display:flex;overflow-y:auto}.modifier-list::-webkit-scrollbar{width:6px}.modifier-list::-webkit-scrollbar-track{background:0 0}.modifier-list::-webkit-scrollbar-thumb{background:var(--color-border,#d1d5db);border-radius:3px}.modifier-option{background:var(--color-bg-secondary,#f5f7fa);border:1px solid var(--color-border,#d1d5db);border-radius:.375rem;flex-direction:column;gap:.6rem;padding:.9rem .95rem;transition:all .15s;display:flex}.modifier-option:hover{border-color:var(--color-accent,#667eea);background:var(--color-bg,#fff)}.modifier-label{cursor:pointer;align-items:flex-start;gap:.75rem;display:flex}.modifier-checkbox{width:1.25rem;height:1.25rem;accent-color:var(--color-accent,#667eea);flex-shrink:0;margin-top:.25rem}.modifier-info{flex-direction:column;gap:.25rem;display:flex}.modifier-info strong{color:var(--color-text,#1f2937);font-size:.95rem}.modifier-info span{color:var(--color-text-secondary,#6b7280);font-size:.85rem;line-height:1.4}.modifier-parameter{border-left:2px solid var(--color-accent,#667eea);background:var(--color-bg,#fff);border-radius:.375rem;flex-direction:column;gap:.5rem;margin-left:2rem;padding:.75rem;display:flex}.modifier-parameter small{letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-secondary,#6b7280);font-size:.8rem;font-weight:500}.parameter-select{border:1px solid var(--color-border,#d1d5db);background-color:var(--color-bg,#fff);color:var(--color-text,#1f2937);border-radius:.375rem;padding:.5rem;font-family:inherit;font-size:.9rem}.parameter-select:focus{outline:2px solid var(--color-accent,#667eea);outline-offset:2px}.no-modifiers{text-align:center;color:var(--color-text-secondary,#6b7280);padding:2rem 1rem;font-style:italic}.draft-preview{flex-direction:column;display:flex;overflow:hidden}.preview-card{background:linear-gradient(#f7f9ff 0%,#fff 100%);border:1px solid #667eea33;border-radius:.75rem;flex-direction:column;gap:1rem;height:100%;padding:1rem;display:flex}.name-field{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary,#6b7280);flex-direction:column;gap:.45rem;font-size:.75rem;font-weight:700;display:flex}.name-input{background-color:var(--color-bg,#fff);color:var(--color-text,#1f2937);border:1px solid #667eea66;border-radius:.5rem;padding:.8rem .9rem;font-family:inherit;font-size:1rem;font-weight:500;box-shadow:inset 0 1px 2px #0f172a0a}.name-input:focus{border-color:var(--color-accent,#667eea);outline:none;box-shadow:0 0 0 3px #667eea1a}.design-summary{background:var(--color-bg-secondary,#f5f7fa);border:1px solid var(--color-border,#d1d5db);border-radius:.6rem;flex-direction:column;gap:.7rem;padding:.95rem;display:flex}.summary-header{color:var(--color-text-secondary,#6b7280);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:.75rem;font-size:.75rem;font-weight:700;display:flex}.summary-header strong{color:var(--color-accent,#667eea);font-size:.9rem}.modifier-tags{flex-wrap:wrap;gap:.45rem;display:flex}.tag{background-color:var(--color-accent-bg,#667eea1a);color:var(--color-accent,#667eea);border-radius:.25rem;padding:.375rem .75rem;font-size:.8rem;font-weight:500;line-height:1.2;display:inline-block}.tag.empty{opacity:.7;font-style:italic}.design-note{border:1px solid var(--color-border-light,#e5e7eb);background:#fff;border-radius:.6rem;flex-direction:column;gap:.45rem;padding:.9rem .95rem;display:flex}.design-note h4{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary,#6b7280);margin:0;font-size:.75rem}.design-note p{color:var(--color-text,#1f2937);margin:0;font-size:1rem;font-weight:700}.design-note small{color:var(--color-text-secondary,#6b7280);font-size:.8rem}.draft-footer{border-top:1px solid var(--color-border,#d1d5db);background:linear-gradient(#fcfcfe 0%,#f4f6fb 100%);justify-content:center;align-items:center;gap:.8rem;padding:.95rem 1.5rem 1.25rem;display:flex}.btn{cursor:pointer;border:none;border-radius:.6rem;font-family:inherit;font-weight:700;transition:all .15s}.btn-primary{background:linear-gradient(135deg, var(--color-accent,#667eea) 0%, var(--color-accent-hover,#764ba2) 100%);color:#fff;box-shadow:0 8px 20px #667eea3d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 22px #667eea47}.btn-secondary{background:var(--color-bg,#fff);border:1px solid var(--color-border,#d1d5db);color:var(--color-text,#1f2937)}.btn-secondary:hover{background:var(--color-bg-hover,#f0f2f7)}.btn-ghost{color:var(--color-text-secondary,#6b7280);background:0 0;border:1px solid #0000}.btn-ghost:hover{background:var(--color-bg-hover,#f0f2f7);border-color:var(--color-border,#d1d5db)}.btn-start{letter-spacing:.01em;min-width:180px;padding:.9rem 1.25rem;font-size:1rem}@media (width<=1024px){.modal-overlay .modal-content.draft-mode-modal{width:min(88vw,1100px)}.draft-body{grid-template-columns:1fr}.draft-preview{min-height:220px}}@media (width<=640px){.modal-overlay .modal-content.draft-mode-modal{width:min(92vw,520px);min-height:auto;max-height:88dvh}.draft-header,.draft-body,.draft-footer{padding-left:1rem;padding-right:1rem}.draft-footer{flex-wrap:wrap;justify-content:stretch}.draft-footer .btn{flex:140px}.category-tab{flex:40%;justify-content:center}}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;background:#151828b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-overlay .modal-content.setup-modal-content{color:#333;background:#fff;border:1px solid #ffffffa6;border-radius:18px;flex-direction:column;width:100%;max-width:860px;height:min(760px,100dvh - 2rem);max-height:calc(100dvh - 2rem);padding:0;animation:.3s ease-out slideIn;display:flex;overflow:hidden;box-shadow:0 30px 80px #0f172a52}@supports not (height:min(760px, calc(100dvh - 2rem))){.modal-overlay .modal-content.setup-modal-content{height:calc(100vh - 2rem);max-height:calc(100vh - 2rem)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-overlay .setup-modal-content h2{letter-spacing:-.035em;color:#333;margin:0;font-size:clamp(1.5rem,3vw,2rem);font-weight:750}.welcome-header{background:radial-gradient(circle at 88% 5%,#764ba21c,#0000 33%),linear-gradient(#fbfbff 0%,#fff 100%);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.45rem 1.65rem 1.15rem;display:flex;position:relative}.welcome-heading{gap:.18rem;display:grid}.welcome-kicker{color:#5d6bd8;letter-spacing:.13em;text-transform:uppercase;font-size:.7rem;font-weight:900}.modal-overlay .setup-modal-content .modal-subtitle{color:#6b7280;margin:.1rem 0 0;font-size:.96rem}.setup-footer{background:#fffffffa;border-top:1px solid #e8eaf2;flex:none;grid-template-columns:minmax(0,.8fr) minmax(0,.8fr) minmax(250px,1.4fr);align-items:end;gap:.75rem;padding:1rem 1.65rem 1.25rem;display:grid;box-shadow:0 -10px 26px #0f172a0b}.setup-tabs{background:#fff;border-top:1px solid #eef0f6;border-bottom:1px solid #e5e7ef;flex:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0 1.65rem;display:grid}.setup-tabs button{color:#4b5565;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;background:0 0;border:0;border-radius:0;padding:.82rem .65rem .78rem;font-family:inherit;font-size:.76rem;font-weight:800;position:relative}.setup-tabs button.active{color:#4f5ec7}.setup-tabs button.active:after{content:"";background:linear-gradient(90deg,#667eea,#8751b5);border-radius:999px 999px 0 0;height:3px;position:absolute;bottom:-1px;left:18%;right:18%}.setup-tabs button:hover{color:#303b82;background:#fafaff}.setup-content{scrollbar-gutter:stable;flex:1;min-height:0;padding:1rem 1.65rem 1.15rem;overflow:auto}.pregame-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:.9rem;display:grid}.welcome-settings{flex:none;position:relative}.settings-trigger{color:#475467;cursor:pointer;background:#fffc;border:1px solid #dde4f0;border-radius:9999px;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;font-size:1.15rem;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.settings-trigger:hover{color:#334155;background:#eef3ff;border-color:#c7d2fe}.settings-menu{z-index:5;background:#fff;border:1px solid #e1e6f0;border-radius:10px;gap:.4rem;min-width:180px;padding:.55rem;display:grid;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 18px 36px #0f172a2e}.settings-menu-label{color:#8991a3;letter-spacing:.09em;text-transform:uppercase;padding:.18rem .45rem .3rem;font-size:.66rem;font-weight:900}.settings-menu-item{color:#333;cursor:pointer;font:inherit;text-align:left;background:#f8fafc;border:0;border-radius:7px;padding:.55rem .7rem;font-size:.82rem;font-weight:700}.settings-menu-item:hover{background:#eef4ff}.panel-note{color:#667085;margin:0 0 .8rem;font-size:.95rem;line-height:1.35}.rule-section-note{color:#667085;margin:-.35rem 0 .65rem;font-size:.82rem;line-height:1.35}.saved-game-actions{background:#fff;padding:0 1.65rem .8rem}.saved-game-actions .btn{width:100%}.pregame-panel,.rivalry-panel{background:#f8fafc;border:1px solid #e1e6f0;border-radius:12px;margin:0;padding:1rem}.almanac-panel{max-height:none;overflow:auto}.almanac-stack{gap:.9rem;display:grid}.pregame-panel h3,.rivalry-panel h3{color:#333;text-transform:uppercase;letter-spacing:.04em;margin:0 0 .75rem;font-size:1rem}.panel-heading-row{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.9rem;display:flex}.panel-heading-row h3{margin-bottom:.25rem}.panel-heading-row p{color:#667085;font-size:.86rem}.storyline-list{flex-direction:column;gap:.4rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.storyline-list li{color:#333;grid-template-columns:92px minmax(0,1fr);align-items:baseline;gap:.65rem;font-size:.95rem;line-height:1.3;display:grid}.storyline-category{color:#4b5fc0;letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:900}.pregame-panel .btn{width:100%;margin-top:.45rem;padding:.7rem 1rem;font-size:.9rem}.selected-design-card{background:#fff;border:1px solid #dbe3f0;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.75rem;display:flex}.selected-design-card div{flex-direction:column;gap:.25rem;min-width:0;display:flex}.selected-design-card strong{color:#333;font-size:1rem}.selected-design-card span{color:#667085;font-size:.88rem;line-height:1.35}.selected-design-card em,.design-card small{color:#4b5fc0;letter-spacing:.05em;text-transform:uppercase;font-size:.7rem;font-style:normal;font-weight:900}.pregame-action-row{gap:.15rem;display:grid}.rivalry-panel dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem;margin:0;display:grid}.rivalry-panel div{min-width:0}.rivalry-panel dt{color:#667085;letter-spacing:.05em;text-transform:uppercase;font-size:.76rem;font-weight:800}.rivalry-panel dd{color:#333;margin:.18rem 0 0;font-size:.94rem;font-weight:700;line-height:1.25}.all-stats{flex-direction:column;gap:.85rem;display:flex}.designed-game-stats .panel-note{margin-top:-.35rem}.design-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.design-stat-card{background:#fff;border:1px solid #dbe3f0;border-radius:9px;align-content:start;gap:.35rem;min-width:0;padding:.8rem;display:grid}.design-stat-card>span{color:#4b5fc0;letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:900}.design-stat-card strong{color:#333;font-size:.88rem;line-height:1.3}.design-stat-card small,.designed-stats-empty{color:#667085;font-size:.8rem}.designed-stats-empty{margin:0}.record-book-panel,.design-library-panel{overflow:visible}.design-library{flex-direction:column;gap:.75rem;display:flex}.design-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.design-card{color:#333;cursor:default;min-width:0;font:inherit;text-align:left;background:#fff;border:1px solid #dbe3f0;border-radius:8px;flex-direction:column;gap:.28rem;padding:.75rem;display:flex}.design-card>button:first-child{width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;flex-direction:column;gap:.28rem;padding:0;display:flex}.design-card.selected{border-color:#667eea;box-shadow:inset 0 0 0 1px #667eea,0 4px 12px #667eea24}.design-card strong{font-size:.98rem}.design-card span{color:#667085;font-size:.84rem;line-height:1.3}.family-design-category-list{gap:.22rem;margin:.25rem 0 0;display:grid}.family-design-category-list div{grid-template-columns:86px minmax(0,1fr);gap:.35rem;display:grid}.family-design-category-list dt{color:#4b5fc0;letter-spacing:.04em;text-transform:uppercase;font-size:.66rem;font-weight:900}.family-design-category-list dd{color:#667085;margin:0;font-size:.72rem;line-height:1.2}.mini-design-action,.custom-design-actions button{color:#4b5565;cursor:pointer;font:inherit;text-transform:uppercase;background:#f8fafc;border:1px solid #dbe3f0;border-radius:6px;padding:.34rem .5rem;font-size:.76rem;font-weight:800}.custom-design-actions{gap:.4rem;margin-top:.28rem;display:flex}.design-start-button{width:100%}.custom-design-builder{gap:.7rem;display:grid}.custom-design-fields{gap:.55rem;display:grid}.custom-design-fields label{color:#4b5565;letter-spacing:.05em;text-transform:uppercase;gap:.25rem;font-size:.76rem;font-weight:900;display:grid}.custom-design-fields input,.custom-design-fields textarea,.modifier-builder-row select{color:#333;width:100%;font:inherit;background:#fff;border:1px solid #dbe3f0;border-radius:8px;padding:.55rem .65rem}.custom-design-fields textarea{resize:vertical;min-height:4.2rem}.modifier-builder-list{gap:.7rem;display:grid}.modifier-category-group{background:#fff;border:1px solid #e1e6f0;border-radius:8px;gap:.48rem;padding:.65rem;display:grid}.modifier-category-group h5{color:#333;letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:.86rem}.modifier-category-group p{color:#667085;margin:.12rem 0 0;font-size:.78rem;line-height:1.3}.modifier-builder-row{background:#fbfcff;border:1px solid #e6ebf4;border-radius:8px;grid-template-columns:minmax(0,1.25fr) minmax(120px,.75fr);align-items:center;gap:.55rem;padding:.55rem;display:grid}.modifier-builder-row.selected{background:#f4f6ff;border-color:#667eea}.modifier-builder-row label{align-items:flex-start;gap:.45rem;min-width:0;display:flex}.modifier-builder-row input{margin-top:.16rem}.modifier-builder-row span{gap:.12rem;min-width:0;display:grid}.modifier-builder-row strong{color:#333;font-size:.86rem}.modifier-builder-row small{color:#667085;font-size:.75rem;line-height:1.25}.design-warning-list{background:#fffbeb;border:1px solid #facc15;border-radius:8px;gap:.35rem;padding:.65rem;display:grid}.design-warning-list p{color:#854d0e;margin:0;font-size:.82rem;font-weight:700}.design-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.design-library-section{background:#fff;border:1px solid #dbe3f0;border-radius:8px;padding:.75rem}.design-library-section h4{color:#333;letter-spacing:.04em;text-transform:uppercase;margin:0 0 .45rem;font-size:.9rem}.design-library-section p{color:#667085;margin:0;font-size:.86rem;line-height:1.35}.design-list{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.design-list li{border-bottom:1px solid #eef2f7;flex-direction:column;gap:.15rem;padding-bottom:.45rem;display:flex}.design-list li:last-child{border-bottom:0;padding-bottom:0}.design-list strong{color:#333;font-size:.88rem}.design-list span{color:#667085;font-size:.78rem;line-height:1.3}.rule-encyclopedia-panel{max-height:440px;overflow:auto}.rule-encyclopedia{flex-direction:column;gap:.85rem;display:flex}.rule-browser{grid-template-columns:minmax(150px,.8fr) minmax(0,1.4fr);gap:.8rem;display:grid}.rule-list{flex-direction:column;gap:.38rem;max-height:330px;display:flex;overflow:auto}.rule-list-item{color:#333;cursor:pointer;font:inherit;text-align:left;background:#fff;border:1px solid #dbe3f0;border-radius:8px;flex-direction:column;gap:.15rem;padding:.55rem .65rem;display:flex}.rule-list-item.selected{border-color:#667eea;box-shadow:inset 0 0 0 1px #667eea}.rule-list-item strong{font-size:.9rem}.rule-list-item span{color:#667085;letter-spacing:.05em;text-transform:uppercase;font-size:.74rem;font-weight:800}.rule-detail{background:#fff;border:1px solid #dbe3f0;border-radius:8px;min-width:0;padding:.8rem}.rule-detail-header{flex-wrap:wrap;gap:.35rem;margin-bottom:.45rem;display:flex}.rule-detail-header span,.mechanic-chip-list span{color:#4b5fc0;letter-spacing:.05em;text-transform:uppercase;background:#edf2ff;border-radius:999px;padding:.22rem .45rem;font-size:.68rem;font-weight:900}.rule-detail h4,.rule-report-grid h4{color:#333;margin:0 0 .45rem;font-size:1rem}.rule-use-design-button{width:100%;margin-bottom:.7rem}.rule-detail h5{color:#333;letter-spacing:.05em;text-transform:uppercase;margin:.8rem 0 .4rem;font-size:.82rem}.rule-detail p,.rule-detail dd,.mechanic-card-list span,.rule-mini-list,.citation-list footer{color:#667085;font-size:.86rem;line-height:1.35}.rule-detail p{margin:0 0 .7rem}.rule-detail dl{gap:.55rem;margin:0;display:grid}.rule-detail dt{color:#4b5565;letter-spacing:.05em;text-transform:uppercase;font-size:.7rem;font-weight:900}.rule-detail dd{margin:.15rem 0 0}.mechanic-card-list{gap:.45rem;display:grid}.mechanic-card-list section{background:#f8fafc;border:1px solid #eef2f7;border-radius:8px;padding:.55rem}.mechanic-card-list strong{color:#333;font-size:.84rem;display:block}.citation-list{gap:.45rem;display:grid}.citation-list blockquote{background:#f8fafc;border-left:3px solid #667eea;margin:0;padding:.55rem .65rem}.citation-list p{color:#333;margin:0;font-weight:700}.citation-list footer{margin-top:.28rem}.rule-report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.rule-report-grid section{background:#fff;border:1px solid #dbe3f0;border-radius:8px;padding:.75rem}.rule-report-wide{grid-column:1/-1}.mechanic-chip-list{flex-wrap:wrap;gap:.35rem;display:flex}.rule-mini-list{gap:.4rem;margin:0;padding-left:1rem;display:grid}.rule-mini-list li strong{color:#333;display:block}.rule-mini-list li span{display:block}.record-book{flex-direction:column;gap:1rem;display:flex}.record-book-section h4{color:#333;letter-spacing:.06em;text-transform:uppercase;margin:0 0 .55rem;font-size:.86rem;font-weight:900}.record-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.record-card{color:#333;background:#fff;border:1px solid #dbe3f0;border-radius:8px;min-width:0;padding:.75rem}.record-card.unavailable{background:#f8fafc}.record-card-label{color:#4b5fc0;letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:900}.record-card h5{color:#333;margin:.28rem 0 .35rem;font-size:.96rem;line-height:1.2}.record-card strong{color:#1f2937;font-size:1rem;display:block}.record-card span,.record-card p,.record-card small{color:#667085;font-size:.82rem;line-height:1.3}.record-card p{margin:.35rem 0 0}.record-card small{margin-top:.35rem;font-weight:800;display:block}.stat-lines,.player-stat-table{gap:.45rem;display:grid}.player-stat-table{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.player-stat-table section{background:#fff;border:1px solid #e1e6f0;border-radius:8px;padding:.75rem}.player-stat-table h4{color:#333;margin:0 0 .55rem;font-size:1rem}.stat-line{color:#333;border-bottom:1px solid #eef2f7;justify-content:space-between;gap:.75rem;padding:.32rem 0;font-size:.9rem;display:flex}.stat-line:last-child{border-bottom:0}.stat-line span{color:#667085;font-weight:700}.stat-line strong{text-align:right}.form-group{flex-direction:column;gap:.45rem;display:flex}.modal-overlay .setup-footer .form-group label{letter-spacing:.055em;text-transform:uppercase;color:#333;font-size:.72rem;font-weight:800}.form-input{border:1px solid #d9dce7;border-radius:8px;padding:.65rem .85rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.form-input::placeholder{color:#999}.setup-footer .btn-large{min-height:45px;padding:.72rem 1rem;font-size:.92rem}@media (width<=768px){.modal-overlay .modal-content.setup-modal-content{max-width:720px}.welcome-header,.setup-content,.setup-footer,.setup-tabs,.saved-game-actions{padding-left:1.15rem;padding-right:1.15rem}.setup-footer{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-footer .btn-large{grid-column:1/-1}.rule-browser,.rule-report-grid{grid-template-columns:1fr}.rule-list{max-height:220px}.pregame-grid,.rivalry-panel dl,.player-stat-table,.pregame-action-row,.design-picker-grid,.design-section-grid,.record-card-grid,.design-stat-grid{grid-template-columns:1fr}}@media (width<=560px){.modal-overlay{align-items:stretch;padding:0}.modal-overlay .modal-content.setup-modal-content{border:0;border-radius:0;width:100%;height:100dvh;max-height:none}.welcome-header{padding-top:max(1rem, env(safe-area-inset-top))}.welcome-kicker{display:none}.modal-overlay .setup-modal-content h2{font-size:1.4rem}.modal-overlay .setup-modal-content .modal-subtitle{font-size:.86rem}.setup-content{padding-top:.8rem}.setup-footer{padding-bottom:max(.85rem, env(safe-area-inset-bottom));gap:.6rem}.panel-heading-row{flex-direction:column}.storyline-list li{grid-template-columns:1fr;gap:.15rem}}.dice-display{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 4px 12px #0000001a}.dice-container{flex-wrap:wrap;justify-content:center;gap:.85rem;display:flex}.die{cursor:pointer;background:#fff;border:3px solid #ddd;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:84px;height:84px;font-size:1rem;font-weight:600;transition:all .2s;display:flex;position:relative}.die:hover:not(:disabled){border-color:#667eea;transform:translateY(-4px);box-shadow:0 4px 12px #667eea4d}.die:active:not(:disabled){transform:translateY(-2px)}.die:disabled{cursor:default}.die-value{color:#333;font-size:2.5rem;font-weight:700}.die.held{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-color:#4b5fc0;box-shadow:0 0 0 3px #667eea38}.die.held .die-value{color:#fff}.die.rolling{animation:.36s ease-in-out die-roll}.held-indicator{color:#fff;letter-spacing:.5px;background:#ffffff2e;border-radius:999px;padding:.08rem .35rem;font-size:.62rem;font-weight:700}@keyframes die-roll{0%{transform:rotate(0)scale(1)}28%{transform:rotate(-9deg)scale(.94)}58%{transform:rotate(11deg)scale(1.04)}to{transform:rotate(0)scale(1)}}@media (width<=1280px){.die{gap:.3rem;width:70px;height:70px}.die-value{font-size:2rem}.held-indicator{font-size:.55rem}}@media (width<=768px){.dice-display{padding:1.5rem}.dice-container{gap:1rem}.die{width:60px;height:60px}.die-value{font-size:1.8rem}}.scorecard{color:#333;background:#fff;border:3px solid #0000;border-radius:12px;flex-direction:column;min-width:0;transition:box-shadow .2s,border-color .2s,opacity .2s;display:flex;overflow:visible;box-shadow:0 4px 12px #0000001a}.scorecard:not(.active){opacity:.78;box-shadow:0 2px 8px #0000000f}.scorecard.active{border-color:#667eea;transform:none;box-shadow:0 0 0 2px #667eea29,0 8px 24px #667eea3d}.scorecard-header{background:linear-gradient(135deg,#f5f7fa 0%,#e8eef5 100%);border-bottom:2px solid #e0e0e0;padding:.56rem .72rem}.player-name{color:#333;margin:0 0 .28rem;font-size:1.08rem;font-weight:700}.column-headers{color:#666;grid-template-columns:2fr 1fr 1fr 1fr;gap:.35rem;font-size:.8rem;font-weight:600;display:grid}.header-label{border-bottom:2px solid #667eea;padding:.22rem 0}.column-header{text-align:center;border-bottom:2px solid #667eea;padding:.22rem 0;font-size:.85rem}.scorecard-body{background:#fff;flex:none;max-height:none;padding:.52rem .68rem;display:block;overflow:visible}.score-section{margin-bottom:.45rem}.score-section-title{text-transform:uppercase;color:#999;letter-spacing:.5px;border-bottom:1px solid #e0e0e0;margin-bottom:.25rem;padding-bottom:.2rem;font-size:.72rem;font-weight:700}.score-line{border-bottom:1px solid #f0f0f0;grid-template-columns:2fr 1fr 1fr 1fr;align-items:center;gap:.35rem;padding:.15rem 0;display:grid}.score-line:last-child{border-bottom:none}.category-name{color:#333;padding-right:.35rem;font-size:.78rem;font-weight:500}.score-cell{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;min-height:1.38rem;font-weight:600;transition:all .2s;display:flex;position:relative}.score-cell-button{border:0;padding:0;font-family:inherit}.score-cell.empty{color:#999;background:#f9f9f9;border:2px dashed #e0e0e0}.score-cell.available{color:#4b5fc0;cursor:pointer;background:#f0f7ff;border:2px solid #667eea}.score-cell.available:hover{color:#667eea;background:#f0f7ff;border-color:#667eea;transform:translateY(-1px);box-shadow:0 4px 10px #667eea40}.score-cell.zero-score{color:#b5bdca;cursor:pointer;background:#fafafa;border:2px dashed #d8dde6}.score-cell.zero-score .possible-score-value{color:#aab3c2}.score-cell.zero-score:hover{color:#d97706;background:#fff7ed;border-color:#f59e0b}.score-cell.zero-score:hover .possible-score-value{color:#d97706}.score-cell.locked{cursor:default}.score-cell.filled{color:#1f2937;cursor:default;background:#eef2f7;border:2px solid #c7d0dd;box-shadow:inset 0 1px 2px #1f293714}.score-cell.filled .score-value{color:#1f2937}.score-cell.move-overlay-recommended{color:#166534;background:#e9fbe9;border-color:#22c55e;box-shadow:inset 0 0 0 1px #22c55e33}.score-cell.move-overlay-recommended .possible-score-value,.score-cell.move-overlay-recommended .empty-cell{color:#166534}.score-cell.move-overlay-special{color:#854d0e;background:#fff8db;border-color:#eab308;box-shadow:inset 0 0 0 1px #eab30833}.score-cell.move-overlay-special .possible-score-value,.score-cell.move-overlay-special .empty-cell{color:#854d0e}.score-cell.move-overlay-restricted{color:#9f1239;background:#fff1f2;border-color:#f43f5e;box-shadow:inset 0 0 0 1px #f43f5e29}.score-cell.move-overlay-restricted .possible-score-value,.score-cell.move-overlay-restricted .empty-cell{color:#9f1239}.score-cell.move-overlay-filled{background:#eef2f7;border-color:#c7d0dd}.move-overlay-marker{border:1px solid #ffffffe6;border-radius:50%;width:.42rem;height:.42rem;position:absolute;top:.16rem;right:.18rem;box-shadow:0 1px 2px #0f172a2e}.move-overlay-recommended .move-overlay-marker,.legend-recommended{background:#22c55e}.move-overlay-special .move-overlay-marker,.legend-special{background:#eab308}.move-overlay-restricted .move-overlay-marker,.legend-restricted{background:#f43f5e}.move-overlay-filled .move-overlay-marker,.legend-filled{background:#94a3b8}.move-overlay-legend{color:#4b5565;grid-template-columns:repeat(4,minmax(0,1fr));gap:.28rem;margin-top:.42rem;font-size:.66rem;font-weight:800;display:grid}.move-overlay-legend span{white-space:nowrap;align-items:center;gap:.22rem;min-width:0;display:flex}.move-overlay-legend i{border-radius:2px;flex:none;width:.48rem;height:.48rem;display:inline-block}.cell-content{width:100%;min-height:inherit;text-align:center;flex-direction:row;justify-content:center;align-items:center;gap:.2rem;display:flex;position:relative}.score-value{font-size:.95rem;font-weight:700}.possible-score-value{color:#4b5fc0}.empty-cell{color:#ccc;font-size:.95rem}.bonus-progress-line{border-top:1px solid #e8eef5;border-bottom:1px solid #e8eef5;grid-template-columns:2fr 1fr 1fr 1fr;align-items:center;gap:.35rem;padding:.22rem 0;display:grid}.bonus-progress-label{color:#333;font-size:.78rem;font-weight:700}.bonus-progress-cell{flex-direction:column;gap:.18rem;min-width:0;display:flex}.bonus-progress-value{color:#4b5fc0;text-align:center;font-size:.72rem;font-weight:800}.bonus-progress-track{background:#e8eef5;border-radius:999px;height:.28rem;overflow:hidden}.bonus-progress-fill{border-radius:inherit;background:#667eea;height:100%}.score-totals{border-top:2px solid #e0e0e0;margin-top:.42rem;padding-top:.36rem}.upper-summary-section{border-bottom:1px solid #e0e0e0;padding:.18rem 0 .28rem}.total-line{grid-template-columns:2fr 1fr 1fr 1fr;align-items:center;gap:.35rem;padding:.15rem 0;font-weight:700;display:grid}.total-label{color:#333;text-transform:uppercase;letter-spacing:.5px;font-size:.72rem}.total-cell{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:6px;justify-content:center;align-items:center;min-height:1.38rem;display:flex}.bonus-cell{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.yahtzee-bonus-cell{background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.grand-total-line{border-top:2px solid #e0e0e0;margin-top:.22rem;padding-top:.32rem}.grand-total-cell{background:linear-gradient(135deg,#4b5fc0 0%,#5b3f95 100%)}.total-value{font-size:.9rem;font-weight:700}@media (prefers-color-scheme:dark){.scorecard{color:#333;background:#fff}.scorecard-header{background:linear-gradient(135deg,#f5f7fa 0%,#e8eef5 100%)}.scorecard-body{background:#fff}.player-name,.category-name,.total-label{color:#333}.column-headers{color:#666}.score-section-title{color:#777;border-bottom-color:#d8dde6}.score-line{border-bottom-color:#edf0f5}}@media (width<=1280px){.scorecard-body{max-height:none}.player-name{font-size:1.5rem}.score-line,.total-line,.bonus-progress-line{grid-template-columns:1.5fr .9fr .9fr .9fr}.category-name{font-size:.85rem}.score-cell{min-height:2rem}}@media (width<=768px){.scorecard{border-radius:8px}.scorecard-header{padding:1rem}.player-name{margin-bottom:.75rem;font-size:1.25rem}.column-headers{grid-template-columns:1.2fr .8fr .8fr .8fr;gap:.3rem;font-size:.8rem}.scorecard-body{max-height:none;padding:.75rem}.score-line,.total-line,.bonus-progress-line{grid-template-columns:1.2fr .8fr .8fr .8fr;gap:.3rem;padding:.5rem 0}.category-name{padding-right:.25rem;font-size:.8rem}.score-value{font-size:1rem}.score-cell{min-height:1.8rem}}.game-screen{grid-template-columns:minmax(0,38fr) minmax(300px,24fr) minmax(0,38fr);grid-template-areas:"left controls right";align-items:start;gap:1.1rem;min-height:calc(100dvh - 200px);padding:.85rem 1rem;display:grid;overflow:visible}@supports not (min-height:100dvh){.game-screen{min-height:calc(100vh - 200px)}}.scorecard-panel{min-width:0}.scorecard-panel-left{grid-area:left}.scorecard-panel-right{grid-area:right}.dice-and-actions{background:#fff;border-radius:12px;flex-direction:column;grid-area:controls;align-items:center;gap:.85rem;padding:1rem;display:flex;position:sticky;top:1rem;box-shadow:0 4px 12px #0000001a}.score-summary{background:#f5f7fa;border:1px solid #e1e6f0;border-radius:8px;flex-direction:column;gap:.25rem;width:100%;padding:.55rem;display:flex}.score-summary-row{color:#333;justify-content:space-between;align-items:center;gap:.75rem;font-size:.86rem;font-weight:700;display:flex}.score-summary-row strong{color:#4b5fc0;font-size:1rem}.score-summary-row.active span{color:#4b5fc0}.final-results{text-align:center;flex-direction:column;align-items:stretch;gap:.85rem;width:100%;display:flex}.final-results-kicker{color:#666;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}.final-results-title{color:#333;text-transform:uppercase;margin:0;font-size:1.65rem;line-height:1.05}.final-score-list{background:#f5f7fa;border:1px solid #e1e6f0;border-radius:8px;flex-direction:column;gap:.35rem;padding:.75rem;display:flex}.final-score-list div{color:#333;justify-content:space-between;font-weight:800;display:flex}.final-score-list strong,.final-score-list .winner-row{color:#4b5fc0}.turn-status{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;font-weight:700;display:flex}.active-player-label{color:#333;letter-spacing:.04em;text-transform:uppercase;font-size:1.55rem;font-weight:900;line-height:1}.rolls-remaining-label{color:#4b5fc0;border:2px solid #667eea;border-radius:8px;padding:.32rem .7rem;font-size:.92rem}.action-buttons{flex-wrap:wrap;justify-content:center;gap:0;width:100%;display:flex}.btn{cursor:pointer;text-transform:uppercase;letter-spacing:.5px;border:none;border-radius:8px;padding:1rem 2rem;font-family:inherit;font-size:1.1rem;font-weight:600;transition:all .2s}.btn-primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);box-shadow:0 8px 18px #667eea47}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #667eea66}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:#333;background:#f0f0f0;border:2px solid #e0e0e0}.btn-secondary:hover:not(:disabled){background:#e8e8e8;border-color:#ccc}.btn-large{flex:1;min-width:0;padding:.9rem 1rem;font-size:1.08rem}.dice-and-actions .dice-display{width:100%;padding:.7rem}.dice-and-actions .dice-container{flex-direction:column;align-items:center;gap:.68rem}.dice-and-actions .die{width:86px;height:86px}.roll-advisory-backdrop{z-index:20;background:#12151f7a;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.roll-advisory-dialog{color:#333;background:#fff;border:1px solid #d9deeb;border-radius:12px;width:min(440px,100%);padding:1.25rem;box-shadow:0 20px 48px #12151f47}.roll-advisory-dialog h2{margin:0 0 .6rem;font-size:1.25rem;line-height:1.2}.roll-advisory-dialog p{color:#4a4f5f;margin:0;font-size:.98rem;line-height:1.45}.roll-advisory-actions{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1rem;display:grid}.roll-advisory-actions .btn{width:100%;padding:.85rem 1rem;font-size:.92rem}@media (width<=1100px){.game-screen{grid-template-columns:1fr;grid-template-areas:"left""controls""right";gap:1.5rem;padding:1.5rem}.dice-and-actions{gap:1.5rem;padding:1.5rem;position:static}.dice-and-actions .dice-container{flex-direction:row}.active-player-label{font-size:1.4rem}.action-buttons{gap:1.5rem}.btn{padding:.9rem 1.8rem;font-size:1rem}.btn-large{min-width:170px;padding:1rem 2rem;font-size:1.1rem}}@media (width<=768px){.game-screen{grid-template-columns:1fr;gap:1rem;height:auto;padding:1rem}.dice-and-actions{gap:1rem;padding:1rem}.turn-status{gap:.75rem}.active-player-label,.rolls-remaining-label{width:100%}.action-buttons{flex-direction:column;gap:1rem;width:100%}.btn{width:100%;padding:.75rem 1.5rem;font-size:.95rem}.btn-large{min-width:auto;padding:.9rem 1.5rem;font-size:1rem}.roll-advisory-actions{grid-template-columns:1fr}}.dev-overlay-lab{color:#1f2937;grid-template-columns:minmax(220px,.8fr) minmax(620px,2.2fr) minmax(260px,.9fr);gap:1rem;padding:1rem;display:grid}.dev-lab-header{background:#fff;border:1px solid #dbe3f0;border-radius:8px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex;box-shadow:0 2px 8px #0f172a14}.dev-lab-header span{color:#4b5fc0;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:900;display:block}.dev-lab-header h2{margin:.15rem 0 0;font-size:1.45rem}.dev-lab-controls,.dev-lab-side-panel,.overlay-explanation,.dev-notes-panel{background:#fff;border:1px solid #dbe3f0;border-radius:8px;box-shadow:0 2px 8px #0f172a14}.dev-lab-controls{flex-direction:column;align-self:start;gap:.85rem;padding:.9rem;display:flex}.dev-lab-controls label,.mock-total-controls label{color:#4b5565;letter-spacing:.04em;text-transform:uppercase;flex-direction:column;gap:.28rem;font-size:.78rem;font-weight:900;display:flex}.dev-lab-controls select,.dev-lab-controls input,.dev-notes-panel textarea{color:#1f2937;width:100%;font:inherit;background:#fff;border:1px solid #d9e0ec;border-radius:8px}.dev-lab-controls select,.dev-lab-controls input{padding:.55rem .65rem}.dev-modifier-toggle-list,.mock-total-controls{flex-direction:column;gap:.45rem;display:flex}.dev-modifier-toggle-list strong,.mock-total-controls strong{color:#1f2937;font-size:.82rem}.dev-modifier-toggle-list label{color:#1f2937;letter-spacing:0;text-transform:none;grid-template-columns:auto minmax(0,1fr);align-items:center;font-size:.86rem;font-weight:700;display:grid}.dev-modifier-toggle-list input{width:auto}.dev-lab-button-grid{grid-template-columns:1fr;gap:.45rem;display:grid}.dev-lab-board{grid-template-columns:repeat(2,minmax(0,1fr));align-self:start;gap:1rem;display:grid}.dev-lab-side-panel{flex-direction:column;align-self:start;gap:1rem;padding:.9rem;display:flex}.overlay-explanation,.dev-notes-panel{box-shadow:none;padding:.8rem}.overlay-explanation h3,.dev-notes-panel h3{letter-spacing:.04em;text-transform:uppercase;margin:0 0 .65rem;font-size:.95rem}.overlay-explanation p,.overlay-explanation dd{color:#667085;font-size:.88rem;line-height:1.35}.overlay-explanation dl{gap:.55rem;margin:.65rem 0 0;display:grid}.overlay-explanation dt{color:#4b5565;letter-spacing:.05em;text-transform:uppercase;font-size:.7rem;font-weight:900}.overlay-explanation dd{margin:.12rem 0 0}.dev-notes-panel{flex-direction:column;gap:.65rem;display:flex}.dev-notes-panel textarea{resize:vertical;min-height:180px;padding:.65rem}.score-cell.dev-cell-button{border:2px dashed #d8dde6}@media (width<=1280px){.dev-overlay-lab,.dev-lab-board{grid-template-columns:1fr}}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;min-height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;background:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root{width:100%;height:100%;min-height:100%}.app{background:#f5f7fa;flex-direction:column;width:100%;height:100dvh;min-height:100dvh;display:flex}@supports not (height:100dvh){.app{height:100vh;min-height:100vh}}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#555}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button:focus-visible,input:focus-visible{outline:3px solid var(--color-accent,#667eea);outline-offset:2px}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0f172a8f;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-in-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}}.modal-content{background:var(--color-bg,#fff);color:var(--color-text,#1f2937);z-index:1001;border-radius:.75rem;position:relative;box-shadow:0 20px 60px #0000004d}.design-feedback-backdrop{z-index:1150;background:#0f172a8f;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.design-feedback-dialog{color:#333;background:#fff;border-radius:12px;width:min(460px,100%);padding:1.15rem;box-shadow:0 20px 54px #0f172a57}.design-feedback-dialog h2{margin:0 0 .9rem;font-size:1.25rem}.design-feedback-dialog fieldset{border:0;flex-wrap:wrap;gap:.55rem;margin:0 0 .85rem;padding:0;display:flex}.design-feedback-dialog legend{color:#667085;letter-spacing:.05em;text-transform:uppercase;width:100%;margin-bottom:.1rem;font-size:.78rem;font-weight:900}.design-feedback-dialog label{color:#333;background:#f8fafc;border:1px solid #dbe3f0;border-radius:8px;align-items:center;gap:.35rem;padding:.45rem .58rem;font-size:.9rem;font-weight:700;display:inline-flex}.design-feedback-actions{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (width>=1920px){.app{font-size:18px}.btn{padding:1.5rem 3rem;font-size:1.4rem}}@media (width<=1024px) and (orientation:landscape){.app{height:auto}}@media (width<=1024px){body{font-size:15px}}@media (width<=768px){body{font-size:14px}}@media (width<=480px){body{font-size:13px}}@media (prefers-color-scheme:dark){body{color:#f5f5f5;background:#1a1a1a}.dice-display{background:#2a2a2a}.modal-content{color:#f5f5f5;background:#2a2a2a}.modal-content h2{color:#f5f5f5}.modal-subtitle{color:#aaa}.form-input{color:#f5f5f5;background:#333;border-color:#555}.form-input::placeholder{color:#999}}.header{z-index:100;flex-shrink:0;position:relative}.modal-overlay{z-index:1000;position:fixed}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
