@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap";@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ink:#8f1722;--text:#171313;--paper:#f5f0e6;--cream:#fffaf0;--coral:#ee765f;--mint:#9dd9bb;--line:#d9d3c6}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;color:var(--text);margin:0;font-family:DM Sans,sans-serif}button,input{font:inherit}button{color:inherit}.landing{background:var(--ink);min-height:100vh;color:var(--cream);flex-direction:column;display:flex;position:relative;overflow:hidden}.grain{opacity:.12;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");position:absolute;inset:0}nav,.game-header{z-index:2;border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(22px,5vw,68px);display:flex;position:relative}.brand{letter-spacing:-.02em;align-items:center;gap:12px;font-size:17px;font-weight:700;display:flex}.die-mark{border:1.5px solid;border-radius:8px;grid-template-columns:1fr 1fr;gap:5px;width:34px;height:34px;padding:8px;display:grid;transform:rotate(-5deg)}.die-mark i{background:currentColor;border-radius:50%;width:4px;height:4px}.nav-join{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff47;border-radius:100px;padding:9px 16px;font-size:12px;font-weight:700}.directory{z-index:1;width:min(1130px,100% - 40px);margin:auto;padding:52px 0 60px;position:relative}.directory-head{text-align:center;margin-bottom:34px}.eyebrow{text-transform:uppercase;letter-spacing:.19em;color:var(--coral);margin:0 0 12px;font-size:10px;font-weight:700}.directory h1{letter-spacing:-.03em;margin:0;font:400 clamp(44px,6vw,68px)/1 DM Serif Display}.directory-head>p:last-child{color:#aebfb7;margin:12px 0 0;font-size:14px}.room-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.room-card{background:var(--cream);min-height:218px;color:var(--text);border-radius:15px;flex-direction:column;padding:22px;transition:transform .2s;display:flex;box-shadow:0 10px 28px #00000014}.room-card:hover{transform:translateY(-3px)}.room-top{align-items:center;gap:7px;display:flex}.room-top small{color:#687c73;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:700}.room-top>b{letter-spacing:.12em;color:#87968f;margin-left:auto;font-size:10px}.status-dot{background:#d5ae67;border-radius:50%;width:7px;height:7px}.status-dot.active{background:var(--mint);box-shadow:0 0 0 4px #dff1e8}.room-card h2{margin:22px 0 17px;font:400 25px/1 DM Serif Display}.avatars{align-items:center;display:flex}.avatars>span{border:2px solid var(--cream);background:#dfece5;border-radius:50%;place-items:center;width:29px;height:29px;margin-right:-6px;font-size:10px;font-weight:700;display:grid}.avatars>span:nth-child(2n){background:#f5d2c9}.avatars p{color:#77887f;margin:0 0 0 14px;font-size:11px}.room-card>button{border:0;border-top:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;margin-top:auto;padding:16px 0 0;font-size:12px;font-weight:700}.room-card>button span{float:right;font-size:16px}.winner-line{color:#5f766c;font-size:11px}.create-card{color:#fff;box-shadow:none;background:0 0;border:1px dashed #ffffff4d}.create-card .plus{background:var(--coral);border-radius:50%;place-items:center;width:34px;height:34px;font-size:22px;display:grid}.create-card h2{margin-bottom:8px}.create-card p{color:#9fb2aa;font-size:12px}.create-card>button{color:#fff;border-color:#ffffff26}.landing footer{z-index:1;text-align:center;letter-spacing:.15em;text-transform:uppercase;color:#7f9a90;border-top:1px solid #ffffff1a;padding:22px;font-size:10px;position:relative}.setup-shell,.lobby-shell{background:var(--paper);place-items:center;min-height:100vh;padding:86px 20px;display:grid;position:relative}.back{cursor:pointer;background:0 0;border:0;font-weight:600;position:absolute;top:28px;left:clamp(22px,5vw,70px)}.setup-card{background:var(--cream);border:1px solid var(--line);border-radius:24px;width:min(480px,100%);padding:42px;box-shadow:0 20px 60px #14332c14}.setup-card>.die-mark{margin-bottom:28px}.setup-card h2{margin:0 0 12px;font:400 45px/1 DM Serif Display}.setup-card>p:not(.eyebrow):not(.message){color:#708078;margin:0 0 25px;font-size:14px;line-height:1.5}.code-input,.text-input{border:2px solid var(--line);background:#fff;border-radius:12px;outline:0;width:100%;margin-bottom:18px;padding:17px}.code-input{text-align:center;letter-spacing:.2em;font-size:27px;font-weight:700}.text-input{font-size:17px;font-weight:600}.code-input:focus,.text-input:focus{border-color:var(--coral)}.primary{background:var(--coral);color:#fff;cursor:pointer;border:0;border-radius:10px;padding:15px;font-weight:700;box-shadow:0 4px #c95443}.setup-card .primary{width:100%}.primary:active{transform:translateY(2px);box-shadow:0 2px #c95443}.primary:disabled,button:disabled{opacity:.5;cursor:default}.message{text-align:center;color:#ba4938;margin:16px 0 0;font-size:12px;font-weight:600}.lobby-shell{padding:0 0 60px;display:block}.game-header{background:var(--ink);color:#fff;height:70px;padding:0 32px}.plain{cursor:pointer;color:#fff;background:0 0;border:0}.room-pill{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;display:flex}.room-pill small{letter-spacing:.12em;color:#93aca2;font-size:8px}.room-pill b{letter-spacing:.14em}.room-pill span{color:#bed0c8;border-left:1px solid #526c63;padding-left:10px;font-size:10px}.lobby-card{background:var(--cream);border:1px solid var(--line);border-radius:22px;width:min(760px,100% - 40px);margin:50px auto;padding:38px;box-shadow:0 20px 60px #14332c12}.lobby-title{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.lobby-title h1{margin:0;font:400 44px/1 DM Serif Display}.state-badge{color:#826527;text-transform:uppercase;letter-spacing:.08em;background:#f5e7c9;border-radius:100px;padding:8px 12px;font-size:9px;font-weight:700}.state-badge.playing{color:#326b52;background:#dff1e8}.invite-row{background:#f1ede4;border-radius:9px;align-items:center;gap:12px;margin:28px 0;padding:8px 8px 8px 14px;display:flex}.invite-row span{color:#718078;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.invite-row button{white-space:nowrap;cursor:pointer;background:#fff;border:0;border-radius:7px;margin-left:auto;padding:9px 12px;font-size:10px;font-weight:700}.lobby-card h3{margin:0 0 5px;font:400 24px DM Serif Display}.lobby-help{color:#75867e;margin:0 0 16px;font-size:12px}.player-picks{grid-template-columns:1fr 1fr;gap:9px;display:grid}.player-picks label{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;align-items:center;padding:10px;display:flex}.player-picks input{opacity:0;position:absolute}.player-picks label>span{background:#e5efe9;border-radius:50%;place-items:center;width:30px;height:30px;margin-right:10px;font-size:11px;font-weight:700;display:grid}.player-picks label>i{opacity:0;margin-left:auto;font-style:normal}.player-picks label:has(input:checked){background:#f0faf5;border-color:#65a989}.player-picks label:has(input:checked)>i{opacity:1}.add-player{gap:9px;margin-top:12px;display:flex}.add-player input{border:1px solid var(--line);border-radius:9px;outline:0;flex:1;padding:12px}.add-player button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:9px;padding:0 15px;font-size:11px;font-weight:700}.continue{width:260px;margin:28px auto 0;display:block}.game-shell{background:var(--paper);min-height:100vh}.game-layout{grid-template-columns:minmax(430px,1fr) minmax(450px,520px);min-height:calc(100vh - 70px);display:grid}.play-panel{flex-direction:column;justify-content:center;align-items:center;padding:44px;display:flex;position:relative}.turn-label{text-align:center;margin-bottom:32px}.turn-label b{font:400 34px/1.1 DM Serif Display;display:block}.turn-label small{color:#77887f;margin-top:8px;display:block}.pulse{background:var(--coral);border-radius:50%;width:7px;height:7px;margin-bottom:10px;display:inline-block;box-shadow:0 0 0 5px #f4d9d3}.dice-tray{gap:13px;display:flex}.die{cursor:pointer;background:0 0;border:0;width:82px;padding:0}.die>small{text-transform:uppercase;letter-spacing:.08em;color:#84938b;height:18px;margin-top:9px;font-size:9px;display:block}.face{background:#fff;border:1px solid #d8d3c8;border-radius:14px;height:82px;padding:18px;display:grid;box-shadow:0 7px #d6d0c3,0 13px 24px #14332c14}.face i{background:var(--ink);border-radius:50%;place-self:center;width:11px;height:11px}.face-1{grid-template:1fr/1fr}.face-2{grid-template:1fr 1fr/1fr}.face-3{grid-template:repeat(3,1fr)/1fr}.face-4{grid-template:1fr 1fr/1fr 1fr}.face-5{grid-template:repeat(3,1fr)/repeat(2,1fr)}.face-5 i:nth-child(3){grid-column:1/3}.face-6{grid-template:repeat(3,1fr)/repeat(2,1fr)}.held .face{outline:3px solid var(--coral);transform:translateY(-7px);box-shadow:0 7px #c95443}.roll-button{background:var(--coral);color:#fff;cursor:pointer;border:0;border-radius:10px;min-width:215px;margin-top:33px;padding:15px 29px;font-weight:700;box-shadow:0 5px #c95443}.roll-button span{margin-right:9px}.tip{color:#839088;margin-top:19px;font-size:11px}.score-panel{background:var(--cream);border-left:1px solid var(--line);flex-direction:column;max-height:calc(100vh - 70px);display:flex}.tabs{border-bottom:1px solid var(--line);gap:2px;padding:12px;display:flex;overflow-x:auto}.tabs button{cursor:pointer;background:0 0;border:0;border-radius:8px;min-width:78px;padding:7px;font-size:10px}.tabs button span{background:#e3ebe6;border-radius:50%;place-items:center;width:25px;height:25px;margin:auto;font-weight:700;display:grid}.tabs button b{display:block}.tabs button.active{background:#e6f1eb}.score-head{justify-content:space-between;align-items:end;padding:16px 24px 10px;display:flex}.score-head p{text-transform:uppercase;letter-spacing:.13em;color:#809087;margin:0;font-size:9px}.score-head h3{margin:2px 0 0;font:400 26px DM Serif Display}.score-head>span{color:#7a8b83;font-size:10px}.upper-progress{background:#f1eee5;border-radius:9px;margin:0 18px 8px;padding:10px 12px}.upper-progress>div{justify-content:space-between;font-size:10px;display:flex}.upper-progress progress{accent-color:#66a88a;width:100%;height:5px}.upper-progress small{color:#74837c;font-size:9px}.upper-progress small.ahead{color:#418167}.upper-progress small.behind{color:#c05d4b}.scores{border-top:1px solid var(--line);overflow-y:auto}.scores>button{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e6e0d5;justify-content:space-between;align-items:center;width:100%;padding:8px 24px;display:flex}.scores>button:not(:disabled):hover{background:#f5eee8}.scores>button.section-start{border-top:6px solid #e9e4da}.scores button span b{font-size:11px;display:block}.scores button span small{color:#8b9892;font-size:8px}.scores strong{align-items:center;gap:6px;font-size:14px;display:flex}.scores strong>i{color:var(--coral);font-style:normal}.scores strong i.positive{color:#3d9570;font-size:9px}.scores strong i.negative{color:var(--coral);font-size:9px}.scores strong i.even{color:#87928d;font-size:9px}.scores strong em{text-transform:uppercase;color:#88958e;border:1px solid #cdd3cf;border-radius:4px;padding:2px 3px;font-size:7px;font-style:normal}.total{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:13px 24px;display:flex}.total span{font-size:11px;font-weight:700}.total small{color:#8b9892;font-size:8px;font-weight:400;display:block}.total b{font:400 28px DM Serif Display}.winner{text-align:center}.winner>span{color:#d09c3d;font-size:34px}.winner p{text-transform:uppercase;letter-spacing:.15em;font-size:10px}.winner h2{margin:10px;font:400 55px DM Serif Display}.winner b{margin-bottom:28px;display:block}.winner .primary{min-width:200px}.popover-backdrop{z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0b231d6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.score-popover{background:var(--cream);border-radius:18px;width:min(360px,100%);padding:28px;animation:.18s ease-out pop;box-shadow:0 24px 70px #00000040}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.98)}}.score-popover>p{text-transform:uppercase;letter-spacing:.13em;color:#77877f;margin:0 0 6px;font-size:9px}.score-popover h2{margin:0 0 22px;font:400 35px DM Serif Display}.quick-scores{grid-template-columns:1fr 1fr;gap:10px;display:grid}.quick-scores button,.number-entry button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;padding:17px;font-size:20px;font-weight:700}.quick-scores button.selected{border-color:var(--coral);color:#ba4938;background:#fff1ed}.number-entry{grid-template-columns:52px 1fr 52px;gap:8px;display:grid}.number-entry input{border:1px solid var(--line);text-align:center;border-radius:10px;width:100%;font-size:24px;font-weight:700}.zero-shortcut{color:#b55343;cursor:pointer;background:0 0;border:0;margin:12px 0;font-size:10px;font-weight:700}.total-preview{border-top:1px solid var(--line);justify-content:space-between;padding:15px 0;display:flex}.total-preview span{font-size:11px}.total-preview b{font-size:20px}.popover-actions{gap:9px;display:flex}.popover-actions>button:first-child{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:9px;flex:1}.popover-actions .primary{flex:2}@media (width<=900px){.room-grid{grid-template-columns:1fr 1fr}.game-layout{grid-template-columns:1fr}.play-panel{min-height:530px}.score-panel{border-left:0;border-top:1px solid var(--line);max-height:none}}@media (width<=600px){nav{height:66px}.directory{padding-top:34px}.directory-head{text-align:left}.room-grid{grid-template-columns:1fr}.room-card{min-height:190px}.create-card{min-height:180px}.landing footer{margin-top:8px}.game-header{padding:0 15px}.game-header .brand{font-size:0}.room-pill span{display:none}.lobby-card{margin-top:24px;padding:24px}.lobby-title{display:block}.state-badge{margin-top:14px;display:inline-block}.player-picks{grid-template-columns:1fr}.continue{width:100%}.play-panel{min-height:470px;padding:35px 12px}.dice-tray{gap:5px}.die{width:62px}.face{border-radius:11px;height:62px;padding:12px}.face i{width:8px;height:8px}.score-panel{width:100vw}.setup-card{padding:30px 24px}.add-player{flex-direction:column}.add-player button{padding:12px}}.emoji-logo{font-size:25px;line-height:1}.directory-head .eyebrow{display:none}.directory-head h1{margin:0;font:400 clamp(48px,6vw,70px)/1 DM Serif Display}.room-card{text-align:left;border:0;text-decoration:none}.room-card:focus-visible{outline:3px solid var(--mint);outline-offset:3px}.room-card.create-card{cursor:pointer}.join-affordance{border-top:1px solid var(--line);margin-top:auto;padding-top:16px;font-size:12px;font-weight:700}.join-affordance span{float:right;font-size:16px}.create-card .join-affordance{border-color:#ffffff26;width:100%}.home-dialog .code-input,.home-dialog .text-input{margin-bottom:16px}.room-identity{align-items:center;gap:16px;display:flex}.room-identity>strong{color:#d9e6e0;font:400 17px DM Serif Display}.game-header a{text-decoration:none}.tabs{align-items:stretch}.tabs button em{color:var(--coral);text-transform:uppercase;letter-spacing:.06em;font-size:7px;font-style:normal;display:block}.tabs button.catchup{box-shadow:inset 0 0 0 1px #eaa291}.tabs .add-tab{color:#537267;background:0 0;border:1px dashed #bfc9c3;min-width:90px;font-weight:700}.empty-room{text-align:center}.empty-room>span{font-size:38px}.empty-room p{text-transform:uppercase;letter-spacing:.15em;color:#789087;margin:18px 0 6px;font-size:9px}.empty-room h1{margin:0;font:400 52px/1 DM Serif Display}.empty-room small{color:#78877f;margin:13px 0 25px;display:block}.empty-room .primary{min-width:190px}.empty-scorecard{text-align:center;color:#798980;margin:auto}.empty-scorecard p{text-transform:uppercase;letter-spacing:.15em;font-size:9px}.empty-scorecard h2{margin:7px;font:400 30px DM Serif Display}.empty-score-panel{min-height:calc(100vh - 70px)}.toast{background:var(--ink);color:#fff;border-radius:8px;padding:10px 14px;font-size:11px;position:absolute;bottom:22px}.not-found,.loading-room{text-align:center;place-content:center;min-height:100vh;display:grid}.not-found h1{margin:18px 0 5px;font:400 50px DM Serif Display}.not-found p{color:#73847c}.not-found a{color:var(--ink);font-weight:700}.loading-room{color:#73847c;font-size:13px}@media (width<=600px){.room-identity>strong{display:none}.emoji-logo{font-size:24px}.empty-score-panel{min-height:450px}}.nav-actions,.room-identity{align-items:center;gap:14px;display:flex}.rules-link{color:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:8px 2px;font-size:11px;font-weight:600;text-decoration:underline}.landing .rules-link{color:#d9e6e0}.more-button{color:#fff;letter-spacing:2px;cursor:pointer;background:#ffffff0f;border:1px solid #fff3;border-radius:8px;width:34px;height:34px}.room-actions{position:relative}.action-menu{z-index:10;border:1px solid var(--line);background:#fff;border-radius:9px;width:150px;padding:5px;position:absolute;top:42px;right:0;box-shadow:0 14px 35px #0000002e}.action-menu button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;width:100%;padding:10px;font-size:11px;display:block}.action-menu button:hover{background:#f1eee5}.action-menu .danger{color:#b94e3d}.scorecard-first{flex-direction:column;height:100vh;display:flex;overflow:hidden}.compact-dice{border-bottom:1px solid var(--line);background:var(--paper);justify-content:center;align-items:center;gap:22px;min-height:86px;padding:8px 28px;display:flex}.compact-dice .dice-tray{gap:9px}.compact-dice .die{width:54px}.compact-dice .face{border-radius:10px;height:54px;padding:11px;box-shadow:0 4px #d6d0c3}.compact-dice .face i{width:7px;height:7px}.compact-dice .held .face{outline:2px solid var(--coral);transform:translateY(-3px);box-shadow:0 4px #c95443}.compact-dice .roll-button{min-width:112px;margin:0;padding:11px 18px}.finished-bar{border-bottom:1px solid var(--line);background:#e8f2ec;justify-content:center;align-items:center;gap:12px;min-height:60px;font-size:12px;display:flex}.finished-bar>span{color:#c18c30}.finished-bar button{background:var(--coral);color:#fff;cursor:pointer;border:0;border-radius:7px;padding:8px 13px;font-weight:700}.scorecard-shell{background:var(--cream);flex-direction:column;flex:1;min-height:0;display:flex}.scorecard-shell .tabs{scrollbar-width:thin;overscroll-behavior-inline:contain;flex:none;padding:8px 24px;overflow-x:auto}.scorecard-shell .tabs>button{text-align:left;white-space:nowrap;grid-template-columns:1fr auto;gap:4px;min-width:106px;padding:8px 12px;display:grid;position:relative}.scorecard-shell .tabs button>span{background:0 0;border-radius:0;width:auto;height:auto;margin:0;font-weight:600;display:block}.scorecard-shell .tabs button>b{font-size:11px}.scorecard-shell .tabs button>em{color:var(--coral);grid-column:1/3;font-size:7px}.scorecard-shell .tabs button.turn-player{box-shadow:inset 0 -2px 0 var(--coral)}.scorecard-shell .tabs button.viewed{background:#e6f1eb}.scorecard-shell .tabs .add-tab{text-align:center;min-width:92px;display:block}.score-head{flex:none;align-items:center;padding:10px 24px 8px}.score-head-actions{align-items:center;gap:12px;display:flex}.score-head-actions>button{color:#a94f40;cursor:pointer;background:#fff4f1;border:1px solid #e19a8a;border-radius:7px;padding:7px 10px;font-size:9px;font-weight:700}.score-head-actions>span{color:#7a8b83;font-size:10px}.score-columns{border-top:1px solid var(--line);flex:1;grid-template-columns:1fr 1fr;min-height:0;display:grid;overflow:hidden}.score-section{flex-direction:column;min-width:0;display:flex}.score-section+.score-section{border-left:1px solid var(--line)}.score-section h4{color:#6f8078;letter-spacing:.13em;text-transform:uppercase;background:#f0ece3;flex:none;margin:0;padding:8px 22px;font-size:9px}.score-section .scores{border-top:0;flex:1;overflow-y:auto}.score-section .scores>button{min-height:45px;padding:7px 22px}.score-section .scores>button:disabled{opacity:1}.score-section .scores>button.scored span b{color:#111;text-decoration:line-through;text-decoration-thickness:1px}.score-section .scores>button.scored strong{color:#111}.score-section .scores>button.pending strong{color:#929c97}.score-section .scores strong>i{margin-left:5px;font-size:9px}.score-section .scores strong>i.positive{color:#32916a}.score-section .scores strong>i.negative{color:var(--coral)}.score-section .scores strong>i.even{color:#87928d}.bonus-row{border-bottom:1px solid #e6e0d5;justify-content:space-between;align-items:center;min-height:49px;padding:7px 22px;display:flex}.bonus-row>span b{font-size:11px;display:block}.bonus-row>span small{color:#8b9892;font-size:8px}.bonus-row>div{gap:6px;display:flex}.bonus-row button{cursor:pointer;background:#fff;border:1px solid #bfc9c3;border-radius:6px;width:27px;height:27px;font-size:18px;font-weight:700;line-height:1}.bonus-row button:disabled{opacity:1}.bonus-row button:not(:empty){color:#2e6e53;background:#e5f0ea;border-color:#9ec8b4}.score-total{z-index:4;background:var(--ink);color:#fff;flex:0 0 62px;justify-content:space-between;align-items:center;padding:9px 24px;display:flex;position:sticky;bottom:0;box-shadow:0 -7px 22px #14332c1f}.score-total>span{font:400 19px DM Serif Display}.score-equation{justify-content:flex-end;align-items:baseline;gap:10px;display:flex}.score-equation span{font-size:14px}.score-equation i{color:#89a39a;font-style:normal}.score-equation b{text-align:right;min-width:54px;color:var(--mint);font:400 30px DM Serif Display}.full-empty{flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.calculated-score{text-align:center;border:1px solid var(--line);background:#fff;border-radius:10px;padding:18px;font-size:30px;font-weight:700}.bonus-popover label{margin:14px 0 7px;font-size:10px;font-weight:700;display:block}.face-options{grid-template-columns:repeat(6,1fr);gap:5px;display:grid}.face-options button,.category-options button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;padding:10px}.face-options button.selected,.category-options button.selected{border-color:var(--coral);background:#fff1ed}.category-options{gap:5px;max-height:190px;display:grid;overflow:auto}.category-options button{text-align:left;justify-content:space-between;font-size:11px;display:flex}.confirm-copy{color:#6f8078;margin:-8px 0 22px;font-size:12px;line-height:1.55}.danger-primary{background:#b94e3d;box-shadow:0 4px #85382d}.rules-backdrop{z-index:30;background:#0b231dad;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.rules-modal{background:var(--cream);border-radius:16px;flex-direction:column;width:min(920px,100%);height:min(88vh,850px);display:flex;overflow:hidden;box-shadow:0 24px 80px #00000059}.rules-modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.rules-modal header small{text-transform:uppercase;letter-spacing:.13em;color:#74857d;font-size:8px}.rules-modal h2{margin:0;font:400 25px DM Serif Display}.rules-modal header button{cursor:pointer;background:0 0;border:0;font-size:28px}.rules-modal iframe{background:#ddd;border:0;flex:1;width:100%}.rules-modal>footer{border-top:1px solid var(--line);justify-content:flex-end;gap:16px;padding:11px 18px;display:flex}.rules-modal footer a{color:var(--ink);text-underline-offset:3px;font-size:10px;font-weight:700}@media (width<=760px){.scorecard-first{height:auto;min-height:100vh;overflow:visible}.scorecard-first .game-header{z-index:8;position:sticky;top:0}.scorecard-first .game-header .brand{font-size:0}.room-identity{gap:7px}.room-identity>strong{display:none}.room-identity .rules-link{font-size:9px}.room-pill{padding:7px}.compact-dice{z-index:7;gap:10px;min-height:72px;padding:7px 10px;position:sticky;top:70px}.compact-dice .dice-tray{gap:4px}.compact-dice .die{width:43px}.compact-dice .face{height:43px;padding:8px}.compact-dice .face i{width:6px;height:6px}.compact-dice .roll-button{min-width:75px;padding:10px 8px;font-size:11px}.scorecard-shell{min-height:calc(100vh - 142px)}.scorecard-shell .tabs{background:var(--cream);padding:7px 12px;position:static}.score-head{padding:10px 14px}.score-columns{display:block;overflow:visible}.score-section+.score-section{border-left:0;border-top:7px solid var(--paper)}.score-section .scores{overflow:visible}.score-section .scores>button,.bonus-row{padding-left:16px;padding-right:16px}.score-total{z-index:9;padding:9px 15px;position:sticky;bottom:0}.score-equation{gap:7px}.nav-actions{gap:8px}.nav-actions .rules-link{font-size:9px}.nav-join{padding:8px 10px}.rules-modal{height:94vh}.rules-modal iframe{min-height:0}}.scorecard-first{height:auto;min-height:100vh;overflow:visible}.score-section .scores{overflow:visible}.action-menu,.action-menu button{color:var(--text)}.action-menu button:disabled{color:#9da6a1}.rules-modal header .rules-close{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:8px;align-items:center;gap:7px;padding:7px 10px;font-size:10px;font-weight:700;display:flex}.rules-modal header .rules-close span{font-size:18px;line-height:.7}.rules-modal header .rules-close:focus-visible{outline:3px solid var(--coral);outline-offset:2px}.compact-dice{min-height:94px;position:relative;overflow:hidden}.compact-dice>:not(.confetti){z-index:2;position:relative}.dice-with-help{flex-direction:column;align-items:center;display:flex}.keep-help{color:#718078;white-space:nowrap;visibility:hidden;height:13px;margin-top:5px;font-size:7px}.keep-help.visible{visibility:visible}.touch-copy{display:none}.confetti{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti i{--color:#ee765f;top:-14px;left:calc(var(--piece) * 5.5%);background:var(--color);width:7px;height:13px;animation:confetti-fall 1.25s cubic-bezier(.18,.7,.35,1) calc(var(--piece) * -.055s) 3 both;border-radius:2px;position:absolute}.confetti i:nth-child(3n){--color:#9dd9bb;width:10px;height:6px}.confetti i:nth-child(3n+1){--color:#e8b74e}.confetti i:nth-child(4n){--color:#789ce8;border-radius:50%}.compact-dice.celebrating{animation:3s ease-out yahtzee-glow}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@keyframes confetti-fall{0%{opacity:0;transform:translateY(-8px)rotate(0)}12%{opacity:1}60%{transform:translate3d(calc((var(--piece) - 9) * 2px),60px,0) rotate(240deg)}to{transform:translate3d(calc((9 - var(--piece)) * 3px),112px,0) rotate(520deg);opacity:0}}@keyframes yahtzee-glow{0%,to{background:var(--paper)}12%,45%{background:#fff5d9}}@media (width<=760px){.pointer-copy{display:none}.touch-copy{display:inline}.compact-dice{min-height:76px}.keep-help{font-size:6px}.scorecard-shell{min-height:calc(100vh - 146px)}}@media (prefers-reduced-motion:reduce){.confetti{display:none}.compact-dice.celebrating{animation:3s ease-out reduced-glow}.compact-dice *{scroll-behavior:auto!important}@keyframes reduced-glow{0%,to{box-shadow:none;background:var(--paper)}15%,55%{box-shadow:inset 0 0 0 3px var(--coral);background:#fff5d9}}}.landing .directory-head>p:last-child,.landing footer,.landing .create-card p{color:#e1b9bc}.room-identity>strong,.landing .rules-link{color:#f2dadd}.room-pill small,.room-pill span{color:#e5b9bd}.room-pill span{border-left-color:#b75861}.popover-backdrop{background:#530a127a}.rules-backdrop{background:#4c0810b8}.score-popover{box-shadow:0 24px 70px #4e0c1340}.rules-modal{box-shadow:0 24px 80px #4c081061}.score-popover>p,.rules-modal header small,.keep-help{color:#7f696b}.score-total{box-shadow:0 -7px 22px #5d111929}.score-equation i{color:#e5b9bd}.score-equation b{color:#fff1cf}.category-copy{flex:1;min-width:0}.row-metrics{flex:0 0 82px;grid-template-columns:36px 40px;align-items:center;gap:6px;margin-left:10px;display:grid!important}.row-metrics .score-delta{text-align:right;width:36px;margin:0;font-size:9px;font-style:normal}.row-metrics .row-score{text-align:right;width:40px;font-size:14px}.score-section .scores strong>i{margin-left:0}.yahtzee-marks{flex:none;gap:4px;margin-left:10px;display:flex}.yahtzee-mark{color:#6d6965;background:#fff;border:1px solid #bfc3bd;border-radius:5px;place-items:center;width:22px;height:22px;font-size:14px;font-style:normal;font-weight:700;line-height:1;text-decoration:none;display:grid}.yahtzee-mark.bonus-mark{background:#fffaf0;border:2px solid #c8942d}.yahtzee-mark.earned{color:#8f6515;background:#f8e9c4}.yahtzee-mark.base-mark.earned{color:var(--ink);background:#f8e4e4;border-color:#b86268}.score-section .scores>button.bonus-eligible{background:#fff9e9;box-shadow:inset 3px 0 #c8942d}.score-section .scores>button.bonus-eligible:hover{background:#fff2ce}.compact-dice{align-items:flex-start;min-height:104px}.dice-with-help{transform:translateY(10px)}.compact-dice .roll-button{align-self:flex-start;margin-top:19px;transform:translateY(10px)}@media (width<=760px){.compact-dice{min-height:86px}.compact-dice .roll-button{margin-top:13px}.scorecard-shell{min-height:calc(100vh - 156px)}.score-section .scores>button{padding-left:14px;padding-right:14px}.yahtzee-marks{gap:3px;margin-left:6px}.yahtzee-mark{width:20px;height:20px}.row-metrics{flex-basis:72px;grid-template-columns:30px 36px;gap:6px;margin-left:6px}.row-metrics .score-delta{width:30px}.row-metrics .row-score{width:36px}}.nav-join{border-color:var(--cream);background:var(--cream);color:var(--ink)}.room-card:not(.create-card) .join-affordance{color:var(--ink)}.home-dialog .primary{background:var(--ink);box-shadow:0 4px #650d16}.home-dialog .primary:active{box-shadow:0 2px #650d16}.dice-toggle{color:var(--ink);white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #ffffff57;border-radius:8px;padding:8px 11px;font-size:10px;font-weight:700}.dice-toggle[aria-expanded=true]{background:#fff0f1;box-shadow:inset 0 0 0 1px #d9878f}.dice-drawer{z-index:7;flex-wrap:nowrap;width:100%;height:104px;min-height:104px;max-height:104px;position:fixed;top:70px;left:0;right:0;box-shadow:0 12px 28px #5d111929}.scorecard-shell{min-height:calc(100vh - 70px)}.score-head{padding:10px 24px 8px;display:block}.score-head-top{justify-content:space-between;align-items:center;gap:18px;display:flex}.score-head-top>p{text-transform:none;letter-spacing:0;color:var(--text);margin:0;font:400 24px DM Serif Display}.score-head .tabs{border-top:1px solid var(--line);border-bottom:0;margin-top:8px;padding:7px 0 0}.scorecard-shell .score-head .tabs>button{min-width:122px;padding:9px 13px}.scorecard-shell .score-head .tabs button>span{font-size:13px;font-weight:700}.scorecard-shell .score-head .tabs button>b{font-size:16px;line-height:1.1}.scorecard-shell .score-head .tabs button>em{font-size:8px}@media (width<=760px){.room-identity{gap:6px}.dice-toggle{padding:7px 8px}.dice-drawer{height:86px;min-height:86px;max-height:86px;padding:7px 10px;position:fixed;top:70px;overflow:hidden}.scorecard-shell{min-height:calc(100vh - 70px)}.score-head{padding:9px 12px 7px}.score-head-top{gap:8px}.score-head-top>p{font-size:21px}.score-head-actions{gap:7px}.scorecard-shell .score-head .tabs{padding:6px 0 0;position:static}.scorecard-shell .score-head .tabs>button{min-width:112px;padding:8px 10px}.scorecard-shell .score-head .tabs button>span{font-size:12px}.scorecard-shell .score-head .tabs button>b{font-size:15px}}@media (width<=390px){.dice-drawer{gap:6px;padding-left:6px;padding-right:6px}.dice-drawer .dice-tray{gap:3px}.dice-drawer .die{width:38px}.dice-drawer .face{height:38px;padding:7px}.dice-drawer .face i{width:5px;height:5px}.dice-drawer .roll-button{min-width:70px;padding:9px 6px;font-size:10px}}.category-copy{align-self:stretch;align-items:center;display:flex}.category-copy b{font-weight:700}.score-section .scores>button.scored .category-copy b{font-weight:400}.die.pending-toggle .face{outline:2px dashed var(--coral);outline-offset:2px;filter:saturate(.65)}.scorecard-first{flex-direction:column;min-height:100dvh;display:flex}.scorecard-first>.game-header,.scorecard-first>.finished-bar{flex:none}.scorecard-shell{flex:1 0 auto;min-height:0}.score-columns{flex:1 0 auto;min-height:0;overflow:visible}.score-total{margin-top:auto;position:sticky;bottom:0}.action-menu{width:205px}.room-menu-identity{grid-template-columns:1fr auto;gap:2px 12px;padding:10px;display:grid}.room-menu-identity small{color:#8a7778;letter-spacing:.12em;text-transform:uppercase;grid-column:1/3;font-size:8px;font-weight:700}.room-menu-identity strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:400 18px DM Serif Display;overflow:hidden}.room-menu-identity code{color:#806f70;letter-spacing:.1em;align-self:center;font:700 9px DM Sans,sans-serif}.action-menu hr{background:var(--line);border:0;height:1px;margin:4px 5px}.score-section .scores>button{background:var(--cream)}.score-section .scores>button.scored{background:#f3efe7}.score-section .scores>button.pending{background:var(--cream)}.score-section .scores>button.bonus-eligible{background:#fff9e9}.score-section .scores>button:not(:disabled):not(.scored):not(.bonus-eligible):hover{background:#f5eee8}@media (width<=760px){.scorecard-shell,.score-columns{flex:1 0 auto;min-height:0}.action-menu{width:195px}}.home-dialog,.home-dialog h2,.home-dialog input,.home-dialog .popover-actions>button:not(.primary){color:var(--text)}.home-dialog input::placeholder{color:#8c8580}.action-menu .delete-room-action{border-top:1px solid var(--line);border-radius:0;margin-top:2px;padding-top:11px}.action-menu .delete-room-action:disabled{color:#a69b99}.menu-action-note{color:#8a7778;padding:0 10px 8px;font-size:8px;line-height:1.35;display:block}.score-section h4{background:var(--ink);color:var(--cream);padding:7px 22px;font-weight:700}.scorecard-shell .score-head .tabs>button:not(.add-tab){background:0 0;border:1px solid #d8cdc8}.scorecard-shell .score-head .tabs>button.turn-player{box-shadow:inset 0 -2px 0 var(--ink);border-color:#c96d76}.scorecard-shell .score-head .tabs>button.viewed{background:#fff0f1;border-color:#b44f5a;box-shadow:inset 0 0 0 1px #8f17221f}.scorecard-shell .score-head .tabs>button.turn-player.viewed{border-color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink),inset 0 0 0 1px #8f172224}.score-section h4{align-items:center;gap:5px;display:flex}.score-section h4 em{letter-spacing:.04em;text-transform:none;font-style:normal}.score-section .scores>button.scored:not(.bonus-eligible){box-shadow:inset 3px 0 0 var(--ink)}.number-entry button{color:var(--ink);background:0 0;border:0;padding:12px;font-size:25px}.number-entry button:hover{background:#f5eee8}.number-entry button:focus-visible{outline:2px solid var(--coral);outline-offset:1px}.number-entry input[aria-invalid=true]{border-color:#b94e3d;box-shadow:0 0 0 2px #b94e3d1f}.entry-error{color:#a43f34;margin:8px 0 0;font-size:10px;line-height:1.4}@media (width<=760px){.scorecard-first .game-header .brand{gap:6px;font-size:14px}.scorecard-first .game-header .brand .emoji-logo{font-size:20px}}@media (width<=600px){.scorecard-first .game-header .brand{gap:5px;font-size:13px}.scorecard-first .game-header{padding-left:10px;padding-right:10px}.scorecard-first .dice-toggle{padding:6px 7px;font-size:9px}}.directory-head{text-align:left;justify-content:space-between;align-items:center;display:flex}.create-room-button{color:var(--cream);cursor:pointer;background:#fffaf01a;border:1px solid #fffaf08c;border-radius:9px;padding:10px 15px;font-size:11px;font-weight:700}.create-room-button:hover{background:#fffaf02e}.create-room-button:focus-visible{outline:3px solid var(--coral);outline-offset:3px}@media (width<=600px){.directory-head{margin-bottom:25px}.create-room-button{padding:9px 12px}}
