:root{font-family:'DM Sans',system-ui,sans-serif;color:#edf3fa;background:#0d1725;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 75% -15%,#284260 0,transparent 38%),#0d1725}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.app-shell{max-width:1280px;margin:auto;padding:0 32px}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff16}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;background:#dc7650;color:#fff;font-size:29px;line-height:1}.brand strong,.brand small{display:block}.brand strong{font:700 23px Outfit,system-ui}.brand small{font-size:11px;letter-spacing:.05em;color:#aab7c8}.top-actions{display:flex;gap:9px}.icon-btn{width:42px;height:42px;display:grid;place-items:center;color:#e9eff8;background:#ffffff10;border:1px solid #ffffff1d;border-radius:12px;font-weight:700;font-size:20px}.icon-btn:hover,.utility-actions button:hover,.secondary-btn:hover{background:#ffffff24}.hero{padding:45px 0 28px;display:flex;align-items:end;justify-content:space-between;gap:20px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.17em;color:#e59a71}.hero h1{font:700 clamp(30px,4vw,48px)/1.08 Outfit,system-ui;margin:10px 0}.hero p{color:#aebdce;margin:0;font-size:15px}.mode-switch{display:flex;gap:5px;background:#142338;padding:5px;border-radius:14px;border:1px solid #ffffff16;white-space:nowrap}.mode{border:0;border-radius:10px;padding:11px 17px;background:transparent;color:#afbed0;font-weight:700}.mode.active{background:#f2eadd;color:#253447;box-shadow:0 2px 7px #0003}.game-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:22px;align-items:start}.play-column{min-width:0}.status-card{display:grid;grid-template-columns:repeat(4,1fr);border-radius:16px;background:#17263a;border:1px solid #ffffff12;margin-bottom:16px;overflow:hidden}.status-item{padding:17px 12px;text-align:center;border-right:1px solid #ffffff14}.status-item:last-child{border:0}.status-item span,.status-item strong{display:block}.status-item span{font-size:11px;color:#a7b8cb;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.status-item strong{font:700 23px Outfit,system-ui;margin-top:6px}.status-item.score strong{color:#e9a376}.table-card{background:radial-gradient(circle at 50% 40%,#2d625e 0,#20534f 70%);border:1px solid #5090828c;border-radius:22px;padding:22px;box-shadow:0 18px 35px #0002;min-height:325px}.table-top{display:flex;justify-content:space-between;align-items:center;color:#c6dfd8;font-size:12px;letter-spacing:.06em}.pill{padding:6px 10px;border-radius:30px;background:#ffffff1a;color:#ebf5ef;font-size:10px;font-weight:800;letter-spacing:.14em}.dice-row{display:flex;justify-content:center;gap:clamp(6px,1.5vw,14px);margin:38px 0 19px}.die{width:clamp(48px,7vw,74px);height:clamp(48px,7vw,74px);padding:0;position:relative;border:2px solid #d8e0dc;border-radius:15px;background:#fffaf1;box-shadow:0 5px 0 #d0cbbf,0 10px 14px #0003;transition:transform .16s,box-shadow .16s,border-color .16s}.die:not(:disabled):hover{transform:translateY(-3px)}.die.held{transform:translateY(-8px);border:3px solid #f4b46f;box-shadow:0 4px 0 #d89e63,0 11px 18px #0004}.die.empty{background:#ffffff35;border-style:dashed;box-shadow:none}.die .pip{width:13%;height:13%;border-radius:50%;background:#2a394c;position:absolute;transform:translate(-50%,-50%)}.die.held .pip{background:#bf6648}.die .hold-badge{position:absolute;top:-22px;left:50%;transform:translateX(-50%);background:#f4b46f;color:#2d3540;padding:3px 7px;border-radius:6px;font-size:10px;font-weight:800;letter-spacing:.06em}.turn-hint{text-align:center;min-height:22px;color:#e0eee7;font-size:13px;margin-bottom:20px}.play-actions{display:flex;justify-content:center;gap:10px}.primary-btn,.secondary-btn{border:0;border-radius:12px;min-height:48px;padding:0 25px;font-weight:800}.primary-btn{color:#233346;background:#f7e9d3;box-shadow:0 3px 0 #cabba8}.primary-btn:hover:not(:disabled){background:#fff4e2}.primary-btn span:first-child{font-size:20px;vertical-align:-1px;margin-right:5px}.secondary-btn{border:1px solid #ffffff63;color:#fff;background:#ffffff13}.utility-actions{display:flex;justify-content:center;gap:4px;flex-wrap:wrap;margin-top:22px;padding-top:15px;border-top:1px solid #ffffff27}.utility-actions button{border:0;background:transparent;color:#e4f0ec;padding:10px 13px;border-radius:9px;font-size:12px;font-weight:700;min-height:42px}.mini-guide{color:#b6c4d2;font-size:12px;margin:15px 4px;display:flex;gap:8px}.guide-icon{color:#e9a376}.scorecard{border:1px solid #ffffff1b;background:#17263a;border-radius:18px;overflow:hidden;box-shadow:0 14px 30px #0002}.scorecard-head{display:flex;align-items:center;justify-content:space-between;padding:20px 23px;border-bottom:1px solid #ffffff14}.scorecard h2{font:700 21px Outfit,system-ui;margin:5px 0 0}.filled{border-radius:30px;background:#ffffff12;color:#d9e4ef;padding:7px 10px;font-size:12px;font-weight:700}.section-label{padding:12px 21px 8px;background:#101f32;color:#91a7b9;font-size:10px;font-weight:800;letter-spacing:.16em}.score-row{width:100%;border:0;border-bottom:1px solid #ffffff10;background:#17263a;color:#e9f0f7;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;text-align:left;padding:9px 20px;min-height:43px}.score-row.available:hover,.score-row.suggested{background:#284459}.score-row.available{cursor:pointer}.score-row.locked{cursor:default;color:#a8b8ca}.score-icon{font-size:16px;text-align:center;color:#e4a475}.score-name{font-size:13px;font-weight:650}.score-desc{display:block;color:#8fa3b6;font-size:10px;font-weight:400;margin-top:2px}.score-points{font:700 17px Outfit,system-ui;color:#f1b78b;min-width:35px;text-align:right}.score-row.locked .score-points{color:#dce7ef}.score-row.available .score-points{background:#335f5e;border-radius:7px;padding:3px 6px;color:#f8eadb}.score-footer{display:grid;grid-template-columns:1fr auto;gap:9px;padding:15px 22px;color:#aebed0;font-size:12px}.score-footer strong{text-align:right;color:#edf4fb}.score-footer .grand{font-size:17px;font-weight:800;color:#f5c397;border-top:1px solid #ffffff25;padding-top:12px;margin-top:4px}footer{display:flex;justify-content:space-between;color:#788da2;font-size:11px;padding:30px 0}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#f5eee4;color:#243549;padding:11px 17px;border-radius:11px;box-shadow:0 10px 30px #0005;font-weight:700;font-size:13px;transition:.25s;z-index:5;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.modal-backdrop{position:fixed;inset:0;background:#07111bba;z-index:10;display:grid;place-items:center;padding:18px}.modal-backdrop.hidden{display:none}.modal{width:min(100%,540px);max-height:min(88vh,850px);overflow:auto;background:#17283c;border:1px solid #ffffff30;border-radius:19px;box-shadow:0 25px 80px #0008;padding:22px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.modal h2{font:700 25px Outfit,system-ui;margin:0}.modal p,.modal li{color:#bdccda;font-size:14px;line-height:1.55}.modal h3{font:700 16px Outfit,system-ui;color:#fff;margin:21px 0 7px}.modal ul{padding-left:20px;margin:8px 0}.modal button.action{border:0;border-radius:10px;background:#f3e7d4;color:#233446;padding:11px 16px;font-weight:800;min-height:44px}.modal button.ghost{border:1px solid #ffffff39;background:transparent;color:#edf4fb}.modal-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:20px;flex-wrap:wrap}.setting-line{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #ffffff1c;padding:14px 0;color:#e8f1fa}.setting-line select{border:1px solid #ffffff40;background:#263d53;color:#fff;border-radius:9px;padding:9px}.setting-line input{width:20px;height:20px;accent-color:#e89768}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.stat-tile{background:#ffffff0d;border:1px solid #ffffff15;border-radius:11px;padding:13px}.stat-tile span{display:block;color:#a7b9cc;font-size:11px}.stat-tile strong{display:block;font:700 24px Outfit,system-ui;margin-top:5px}.result-score{font:800 56px Outfit,system-ui;color:#f5bf92;margin:8px 0}.rules-list{display:grid;gap:7px}.rules-list div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #ffffff14;padding:7px 0;color:#c6d4e1;font-size:13px}.rules-list strong{color:#fff}
@media(max-width:850px){.app-shell{padding:0 20px}.game-layout{grid-template-columns:1fr}.scorecard{max-width:none}.table-card{min-height:300px}.hero{padding-top:30px}}@media(max-width:600px){.app-shell{padding:0 12px}.topbar{height:69px}.brand strong{font-size:19px}.brand small{display:none}.brand-mark{width:38px;height:38px}.top-actions{gap:5px}.icon-btn{width:39px;height:39px}.hero{display:block;padding:28px 3px 18px}.hero h1{font-size:31px}.hero p{font-size:13px}.mode-switch{margin-top:19px;display:inline-flex}.mode{padding:10px 14px;font-size:12px}.game-layout{gap:14px}.status-item{padding:12px 5px}.status-item span{font-size:9px;letter-spacing:.03em}.status-item strong{font-size:18px}.table-card{padding:16px 10px;min-height:280px}.dice-row{margin:35px 0 18px}.die{width:clamp(48px,16vw,65px);height:clamp(48px,16vw,65px);border-radius:12px}.scorecard-head{padding:17px}.score-row{padding:9px 14px}.score-footer{padding:14px}.mini-guide{margin-bottom:4px}footer{padding:20px 3px}.modal{padding:17px}}
@media(max-width:360px){.app-shell{padding:0 8px}.brand-mark{display:none}.brand strong{font-size:17px}.top-actions{gap:3px}.icon-btn{width:36px;height:36px}.die{width:47px;height:47px}.dice-row{gap:5px}.utility-actions button{padding:8px}}
.reduce-motion *, .reduce-motion *::before, .reduce-motion *::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.score-row{min-height:46px}.utility-actions button{min-height:44px}.mode{min-height:44px}.icon-btn{width:44px;height:44px}@media(max-width:600px){.icon-btn{width:44px;height:44px}}@media(max-width:360px){.icon-btn{width:44px;height:44px}}
