/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-outline-style:solid}}}@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}.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.grid{display:grid}.table{display:table}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}.login-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;width:min(920px,100%);display:grid}.request-card h2{margin:.45rem 0 1rem}.login-card select{width:100%;font:inherit;background:#fff;border:1px solid #c9c3b7;border-radius:8px;padding:12px}.request-success{background:#e8f1c1;border-radius:10px;padding:14px;font-weight:700;color:#354116!important}.admin-lead{color:#696d60;max-width:560px}.admin-error{max-width:1100px;margin:0 auto 18px}.count-badge{background:var(--lime);border-radius:999px;place-items:center;min-width:28px;height:28px;padding:0 8px;font-size:.85rem;display:inline-grid}.request-list{gap:9px;display:grid}.request-row{background:#f2eee5;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.request-row>div:first-child,.user-actions{gap:4px;display:grid}.request-row small{color:#777b6e}.request-actions{align-items:center;gap:7px;display:flex}.request-actions select,.user-actions select{font:inherit;background:#fff;border:1px solid #c9c3b7;border-radius:7px;padding:9px}.request-actions button,.user-actions button,.credential-card button{color:#fff;cursor:pointer;background:#20251d;border:0;border-radius:7px;padding:10px 12px;font-weight:800}.muted-button{color:#3d4337!important;background:#e5e0d5!important}.credential-card{margin-bottom:18px}.credential-card code{color:#e8f1c1;word-break:break-word;background:#20251d;border-radius:8px;padding:14px;font-size:1rem;display:block}.credential-card button{margin-top:12px}.user-actions{align-items:center;display:flex}@media (width<=720px){.login-columns{grid-template-columns:1fr}.request-row{flex-direction:column;align-items:flex-start}.request-actions{flex-wrap:wrap;width:100%}.request-actions select{flex:1}.user-actions{flex-wrap:wrap}}.security-grid{margin-top:18px}.audit-list{gap:2px;max-height:480px;display:grid;overflow:auto}.audit-list>div{border-bottom:1px solid var(--line);grid-template-columns:145px 1fr;gap:12px;padding:10px 4px;display:grid}.audit-list time{color:#74786c;font-size:.68rem}.audit-list span{gap:2px;display:grid}.audit-list small{color:#777b6e}.profile-page .admin-card>button{color:#fff;cursor:pointer;background:#20251d;border:0;border-radius:8px;width:100%;margin-top:20px;padding:13px;font-weight:900}@media (width<=720px){.audit-list>div{grid-template-columns:1fr;gap:3px}}*{box-sizing:border-box}body{background:var(--cream);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button{font:inherit}.game{min-height:100vh}.top{color:#fff;border-bottom:4px solid var(--lime);background:#171b16;justify-content:space-between;align-items:center;height:78px;padding:0 clamp(18px,4vw,58px);display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-hex{background:var(--lime);color:#1d2414;clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);place-items:center;width:43px;height:48px;font-weight:900;display:grid}.brand strong{letter-spacing:-.03em;font-size:1.45rem;display:block}.brand small{color:#c9cfc3;margin-top:2px;font-size:.68rem;display:block}.top-actions{gap:9px;display:flex}.top button,.modal button{cursor:pointer;border:0;border-radius:7px;padding:10px 17px;font-weight:800}.ghost,.multi-link,.ghost-link{color:#fff;background:#2b3128}.multi-link,.ghost-link{border-radius:7px;padding:10px 17px;font-weight:800;text-decoration:none}.primary{background:var(--lime);color:#18200f}.statusbar{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:1fr minmax(280px,1.5fr) 1fr;align-items:center;gap:16px;padding:13px clamp(18px,4vw,58px);display:grid}.player{align-items:center;gap:12px;display:flex}.player.cpu{text-align:right;justify-content:flex-end}.player>span{background:#e7e2d7;border-radius:50%;place-items:center;width:43px;height:43px;font-size:.65rem;font-weight:900;display:grid}.player.active>span{background:var(--lime)}.player small,.turn-center small,.rack small,.control-card small,.modal>small{letter-spacing:.14em;color:#7c806f;font-size:.64rem;font-weight:900;display:block}.player strong{font-size:1.4rem}.turn-center{text-align:center}.turn-center strong{font-size:.98rem;display:block}.turn-center p{color:#6b705f;margin:3px 0 0;font-size:.78rem}.play-area{grid-template-columns:230px 1fr;gap:18px;padding:18px clamp(18px,4vw,58px);display:grid}.control-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex;box-shadow:0 10px 28px #574b3720}.control-card>.tile-art{width:145px;margin:10px auto 0}.rotate-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.rotate-row button,.pass{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:7px;padding:9px;font-weight:800}.help{color:#696d60;margin:0;font-size:.77rem;line-height:1.5}.pass{color:#fff;background:#282d26;margin-top:auto}.pass:disabled{opacity:.45}.board-shell{background:#d9d2c3;border:1px solid #c9c0af;border-radius:13px;min-width:0;overflow:hidden}.board{aspect-ratio:1.2;background:radial-gradient(circle at 50% 45%,#f9f5eb,#e4ded1 72%);width:100%;height:auto;position:relative}.board:after{content:"";pointer-events:none;background-image:linear-gradient(#857a6610 1px,#0000 1px),linear-gradient(90deg,#857a6610 1px,#0000 1px);background-size:31px 31px;position:absolute;inset:0}.board-cell{aspect-ratio:1;z-index:1;width:6.9%;position:absolute;transform:translate(-50%,-50%)}.board-cell>span{clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);background:#90867412;border:1px dashed #8e846f35;width:100%;height:100%;display:block}.board-cell.valid>span{filter:drop-shadow(0 0 6px #8fab25);cursor:pointer;background:#b7d43b45}.board-cell.valid:hover{z-index:3;transform:translate(-50%,-50%)scale(1.12)}.legend{color:#686b60;background:#f7f3ea;justify-content:center;align-items:center;gap:28px;height:42px;font-size:.69rem;display:flex}.legend span{align-items:center;gap:7px;display:flex}.legend i{border-radius:50%;width:9px;height:9px;display:inline-block}.legend .yellow{background:#f3d323}.legend .black{background:#171a1d}.legend .glow{background:#b7d43b;box-shadow:0 0 7px #7b9820}.tile-art{appearance:none;cursor:default;filter:drop-shadow(0 6px 6px #312a1d35);background:0 0;border:0;padding:0;display:block}.tile-art svg{width:100%;height:auto;display:block}.tile-art.small{width:64px}.board-cell .tile-art.small{width:100%}.tile-art.selected{filter:drop-shadow(0 9px 6px #55651f55);transform:translateY(-7px)}.tile-art.selected svg{outline:3px solid var(--lime);outline-offset:3px;border-radius:15px}.tile-shadow{fill:#eee9dc}.tile-outline{fill:none;stroke:#fffdf8;stroke-width:2.4px;stroke-linejoin:round}.tile-pin{fill:#fffdf8}.rack{border:1px solid var(--line);background:#fff;border-radius:12px;margin:0 clamp(18px,4vw,58px) 24px;overflow:hidden}.rack-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.rack-title strong{display:block}.rack-title>span{color:#6c715f;font-size:.75rem}.rack-scroll{align-items:center;gap:11px;min-height:100px;padding:18px;display:flex;overflow-x:auto}.rack-scroll .tile-art{cursor:pointer;flex:0 0 64px}.modal-backdrop{z-index:20;background:#11150fcf;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:#fbf8f1;border-radius:16px;width:min(760px,100%);padding:28px;position:relative;box-shadow:0 26px 90px #0008}.modal h2{margin:8px 0 20px;font-size:2rem}.close{cursor:pointer;background:0 0;font-size:1.8rem;position:absolute;top:12px;right:15px}.rule-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.rule-grid article{background:#f0ebdf;border-radius:10px;padding:16px}.rule-grid b{color:#8ca41f;font-size:1.35rem}.rule-grid h3{margin:3px 0 7px}.rule-grid p{color:#5e6257;margin:0;font-size:.82rem;line-height:1.5}.wide{cursor:pointer;border:0;border-radius:7px;width:100%;margin-top:18px;padding:12px;font-weight:900}@media (width<=800px){.statusbar{grid-template-columns:1fr 1fr}.turn-center{grid-area:2/1/auto/-1}.play-area{grid-template-columns:1fr}.control-card{grid-template-columns:150px 1fr;display:grid}.control-card .pass{margin-top:0}.rule-grid{grid-template-columns:1fr}}@media (width<=520px){.brand small{display:none}.top{padding:0 12px}.top-actions .ghost{display:none}.statusbar{padding:10px 12px}.play-area{padding:10px 8px}.control-card{display:block}.rotate-row{margin:10px 0}.legend{gap:10px;font-size:.6rem}.rack{margin:0 8px 15px}.modal{padding:20px}.modal h2{font-size:1.55rem}}.multi-home{background:radial-gradient(circle at 75% 10%,#b7d43b22,transparent 28%),var(--cream);min-height:100vh;padding:28px}.back-link{color:#45531f;font-weight:800;text-decoration:none}.multi-intro{border:1px solid var(--line);background:#fff;border-radius:18px;width:min(760px,100%);margin:8vh auto;padding:clamp(24px,5vw,52px);box-shadow:0 20px 60px #4e493d22}.multi-intro>small{color:#839622;letter-spacing:.15em;font-weight:900}.multi-intro h1{margin:.35rem 0 1rem;font-size:clamp(2rem,5vw,3.7rem)}.multi-intro>p{color:#65695d;line-height:1.6}.multi-actions{grid-template-columns:1fr 1fr;gap:14px;margin-top:28px;display:grid}.multi-actions>div{background:#f2eee5;border-radius:12px;padding:18px}.multi-actions h2{margin:0 0 14px;font-size:1rem}.multi-actions label{color:#62665a;gap:6px;font-size:.75rem;font-weight:800;display:grid}.multi-actions select,.multi-actions input{font:inherit;background:#fff;border:1px solid #cbc5b8;border-radius:7px;padding:11px}.multi-actions button,.lobby>button{color:#fff;cursor:pointer;background:#20251d;border:0;border-radius:7px;width:100%;margin-top:12px;padding:12px;font-weight:900}.multi-actions button:disabled,.lobby>button:disabled{opacity:.45}.multi-error{color:#b3262e;font-size:.82rem;font-weight:700}.lobby{text-align:center}.lobby h1{letter-spacing:.2em}.lobby-list{gap:8px;margin:24px 0;display:grid}.lobby-list>div{background:#f0ece2;border-radius:8px;justify-content:space-between;padding:13px 15px;display:flex}.lobby-list .empty{color:#8b8e84;font-style:italic}.multi-status{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:18px;padding:12px clamp(18px,4vw,58px);display:flex}.multi-status>div{flex-wrap:wrap;gap:7px;display:flex}.multi-status span{background:#ede9df;border-radius:999px;padding:7px 10px;font-size:.74rem}.multi-status span.active{background:var(--lime)}.multi-status>strong{font-size:.82rem}.multiplayer-game{--multi-board-width:min(calc((100dvh - 190px)*1.2),calc(100vw - 454px))}.multiplayer-game .play-area{grid-template-columns:minmax(170px,210px) var(--multi-board-width) minmax(120px,170px);justify-content:center}.multiplayer-game .control-card{align-self:start;max-height:calc(100dvh - 190px);overflow-y:auto}.multiplayer-game .control-card>.tile-art{width:clamp(96px,13vh,132px);margin:4px auto}.multiplayer-game .board-cell>.tile-art{width:100%;margin:0}.multiplayer-game .board-shell{width:var(--multi-board-width);clip-path:polygon(31% 0,69% 0,100% 50%,69% 100%,31% 100%,0 50%);background:0 0;border:0;place-self:start center}.multiplayer-game .board{background:0 0}.multiplayer-game .board:after{display:none}.multiplayer-game .rack{align-self:start;min-width:0;max-height:calc(100dvh - 190px);margin:0}.multiplayer-game .rack-scroll{flex-direction:column;min-height:0;max-height:calc(100dvh - 246px);padding:10px;overflow:hidden auto}.multiplayer-game .rack-scroll .tile-art{flex:0 0 54px;width:54px}.multi-actions label+label{margin-top:10px}.singleplayer-game{--single-board-width:min(calc((100dvh - 232px)*1.2),calc(100vw - 454px))}.singleplayer-game .play-area{grid-template-columns:minmax(170px,210px) var(--single-board-width) minmax(120px,170px);justify-content:center}.singleplayer-game .control-card{align-self:start;max-height:calc(100dvh - 190px);overflow-y:auto}.singleplayer-game .control-card>div:first-child{min-width:0}.singleplayer-game .control-card>div>.tile-art{width:clamp(86px,12vh,132px);max-width:100%;margin:8px auto 0}.singleplayer-game .board-shell{width:var(--single-board-width);background:0 0;border:0;place-self:start center;overflow:visible}.singleplayer-game .board{clip-path:polygon(31% 0,69% 0,100% 50%,69% 100%,31% 100%,0 50%);background:0 0}.singleplayer-game .board:after{display:none}.singleplayer-game .rack{align-self:start;min-width:0;max-height:calc(100dvh - 190px);margin:0}.singleplayer-game .rack-title{gap:4px;display:grid}.singleplayer-game .rack-title>span{font-size:.68rem}.singleplayer-game .rack-scroll{flex-direction:column;min-height:0;max-height:calc(100dvh - 246px);padding:10px;overflow:hidden auto}.singleplayer-game .rack-scroll .tile-art{flex:0 0 54px;width:54px}.multiplayer-game .play-area,.singleplayer-game .play-area{grid-template-columns:210px minmax(0,1fr) 170px;gap:0;padding-left:0;padding-right:0}.multiplayer-game .control-card,.singleplayer-game .control-card{border-radius:0 12px 12px 0}.multiplayer-game .rack,.singleplayer-game .rack{border-radius:12px 0 0 12px}.multiplayer-game .board-shell,.singleplayer-game .board-shell{clip-path:none;background:#d9d2c3;border-top:1px solid #c9c0af;border-bottom:1px solid #c9c0af;border-radius:0;width:100%;overflow:hidden}.multiplayer-game .board,.singleplayer-game .board{clip-path:none;background:radial-gradient(circle at 50% 45%,#f9f5eb,#e4ded1 72%)}.multiplayer-game .board:after,.singleplayer-game .board:after{display:block}.opponent-select{color:#dfe6d3;letter-spacing:.08em;gap:3px;font-size:.6rem;font-weight:800;display:grid}.opponent-select select{color:#20251d;font:inherit;letter-spacing:0;background:#fff;border:1px solid #78806f;border-radius:7px;padding:7px 8px}.invite-card{background:#f0ece2;border-radius:12px;margin:18px 0;padding:16px}.invite-card>button,.whatsapp-link{color:#fff;text-align:center;cursor:pointer;background:#20251d;border:0;border-radius:7px;width:100%;padding:12px;font-weight:900;text-decoration:none;display:block}.invite-card>p{background:#fff;border-radius:8px;margin:8px 0;padding:10px;line-height:1.6}.whatsapp-link{background:#168c48}.emoji-panel{border-top:1px solid var(--line);background:#f7f3ea;gap:10px;padding:12px 16px;display:grid}.emoji-buttons{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.emoji-buttons button,.emoji-compose button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;padding:9px 0;font-size:1rem}.emoji-strip{flex-wrap:wrap;gap:6px;display:flex}.emoji-strip span{border:1px solid var(--line);background:#fff;border-radius:999px;place-items:center;width:34px;height:34px;font-size:1rem;display:grid}.emoji-compose{grid-template-columns:1fr auto;gap:7px;display:grid}.emoji-compose input{border:1px solid var(--line);font:inherit;background:#fff;border-radius:8px;padding:9px 10px}.emoji-compose button:disabled,.emoji-buttons button:disabled{opacity:.45;cursor:not-allowed}@media (width<=650px){.multi-actions{grid-template-columns:1fr}.multi-home{padding:15px}.multi-status{flex-direction:column;align-items:flex-start}.top-actions .multi-link{padding:9px;font-size:.75rem}}@media (width<=800px){.multiplayer-game .play-area{grid-template-columns:1fr;gap:10px;padding-top:10px;padding-bottom:10px}.multiplayer-game .control-card{grid-template-rows:auto auto auto auto;grid-template-columns:100px minmax(0,1fr);gap:7px 12px;padding:10px;display:grid}.multiplayer-game .control-card>small{grid-area:1/1}.multiplayer-game .control-card>.tile-art{grid-area:2/1/5;width:86px;margin:0 auto}.multiplayer-game .control-card>.rotate-row{grid-area:1/2/3;align-self:center}.multiplayer-game .control-card>.help{grid-area:3/2}.multiplayer-game .control-card>.pass{grid-area:4/2;margin:0}.multiplayer-game .control-card>.multi-error{grid-column:1/-1}.multiplayer-game .board-shell{width:min(100%,120dvh - 684px)}.multiplayer-game .rack{margin:0 0 10px}.multiplayer-game .rack-title{padding:8px 12px}.multiplayer-game .rack-scroll{flex-direction:row;min-height:70px;max-height:none;padding:7px 10px;overflow:auto hidden}.multiplayer-game .rack-scroll .tile-art{flex-basis:46px;width:auto}.singleplayer-game .play-area{grid-template-columns:1fr;gap:10px;padding-top:10px;padding-bottom:10px}.singleplayer-game .control-card>div>.tile-art{width:clamp(64px,20vw,86px);margin:4px auto}.singleplayer-game .board-shell{width:min(100%,120dvh - 732px)}.singleplayer-game .rack{margin:0 0 10px}.singleplayer-game .rack-title{padding:8px 12px;display:flex}.singleplayer-game .rack-scroll{flex-direction:row;min-height:70px;max-height:none;padding:7px 10px;overflow:auto hidden}.singleplayer-game .rack-scroll .tile-art{flex-basis:46px;width:auto}}@media (width<=520px){.account-strip{flex-direction:row;align-items:center;min-height:34px;padding:5px 10px;font-size:.65rem}.account-strip>span:last-child{gap:8px}.top{height:64px}.brand{gap:6px}.brand-hex{width:36px;height:42px}.brand strong{font-size:1rem}.top-actions{gap:4px}.top-actions .multi-link,.top-actions .primary{padding:8px 7px;font-size:.67rem}.opponent-select{width:58px;font-size:0}.opponent-select select{width:58px;padding:7px 3px;font-size:.66rem}.singleplayer-game .statusbar{grid-template-columns:1fr 1.35fr 1fr;gap:6px;height:82px;padding:7px 8px}.singleplayer-game .turn-center{grid-area:auto}.singleplayer-game .turn-center p{display:none}.singleplayer-game .player{gap:6px}.singleplayer-game .player>span{width:34px;height:34px}.singleplayer-game .player strong{font-size:1.1rem}.singleplayer-game .play-area{gap:8px;padding:8px 0}.singleplayer-game .control-card{border-radius:0;grid-template-rows:auto auto auto;grid-template-columns:96px minmax(0,1fr);gap:8px;padding:10px 12px;display:grid}.singleplayer-game .control-card>div:first-child{grid-area:1/1/4;align-self:center}.singleplayer-game .control-card>div>.tile-art{width:78px}.singleplayer-game .control-card>.rotate-row{grid-area:1/2;margin:0}.singleplayer-game .control-card>.help{grid-area:2/2;font-size:.68rem;line-height:1.35}.singleplayer-game .control-card>.pass{grid-area:3/2;margin:0}.singleplayer-game .board-shell{width:calc(100vw - 16px)}.singleplayer-game .legend{display:none}.singleplayer-game .rack{border-radius:0;margin:0}.singleplayer-game .rack-title{padding:7px 10px}.singleplayer-game .rack-scroll{min-height:62px;padding:6px 8px}.singleplayer-game .rack-scroll .tile-art{flex-basis:42px}}.login-screen{background:radial-gradient(circle at 70% 15%,#b7d43b33,#0000 30%),#171b16;place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:#fffdf8;border-radius:18px;width:min(440px,100%);padding:clamp(25px,5vw,46px);box-shadow:0 28px 90px #0007}.login-card .brand-hex{margin-bottom:20px}.login-card>small{color:#839622;letter-spacing:.14em;font-weight:900}.login-card h1{margin:.45rem 0 1rem;font-size:2.25rem}.login-card>p{color:#666b5d;line-height:1.55}.login-card label,.admin-card label{color:#62665a;gap:6px;margin-top:14px;font-size:.76rem;font-weight:800;display:grid}.login-card input,.admin-card input,.admin-card select{width:100%;font:inherit;background:#fff;border:1px solid #c9c3b7;border-radius:8px;padding:12px}.login-card>button,.admin-card>button{color:#fff;cursor:pointer;background:#20251d;border:0;border-radius:8px;width:100%;margin-top:20px;padding:13px;font-weight:900}.account-strip{color:#e9ecdf;background:#30362d;justify-content:space-between;align-items:center;gap:12px;min-height:36px;padding:7px clamp(15px,4vw,58px);font-size:.72rem;display:flex}.account-strip>span:last-child{align-items:center;gap:12px;display:flex}.account-strip a{color:#d7e77f;font-weight:800}.account-strip button{color:#fff;cursor:pointer;font:inherit;background:0 0;border:0;text-decoration:underline}.admin-page{background:var(--cream);min-height:calc(100vh - 36px);padding:clamp(20px,5vw,60px)}.admin-page>header{justify-content:space-between;align-items:flex-end;margin-bottom:26px;display:flex}.admin-page header small{color:#7c8e26;letter-spacing:.14em;font-weight:900}.admin-page h1{margin:.3rem 0 0;font-size:clamp(2rem,5vw,3.4rem)}.admin-page header a{color:#354116;font-weight:900}.admin-grid{grid-template-columns:minmax(280px,390px) 1fr;gap:18px;display:grid}.admin-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:22px;box-shadow:0 12px 35px #4e493d18}.admin-card h2{margin:0 0 16px}.password-row{grid-template-columns:1fr auto;gap:7px;display:grid}.password-row button,.user-list button{cursor:pointer;background:#f0ece3;border:1px solid #c9c3b7;border-radius:7px;padding:0 12px;font-weight:800}.user-list{gap:8px;display:grid}.user-list>div{background:#f2eee5;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:13px;display:flex}.user-list span{gap:3px;display:grid}.user-list small{color:#777b6e}@media (width<=720px){.admin-grid{grid-template-columns:1fr}.account-strip{flex-direction:column;align-items:flex-start}.admin-page>header{flex-direction:column;align-items:flex-start;gap:12px}}.multiplayer-game .rack{height:calc(var(--multi-board-width) * .833333);flex-direction:column;max-height:none;display:flex;overflow:hidden}.multiplayer-game .rack-scroll{flex:1;min-height:0;max-height:none}.singleplayer-game .rack{height:calc(var(--single-board-width) * .833333 + 42px);flex-direction:column;max-height:none;display:flex;overflow:hidden}.singleplayer-game .rack-scroll{flex:1;min-height:0;max-height:none}@media (width<=800px){.multiplayer-game .rack,.singleplayer-game .rack{height:auto;display:block}.multiplayer-game .rack-scroll,.singleplayer-game .rack-scroll{flex:none;max-height:none}}.brand{color:#fff;text-decoration:none}.brand-ci{object-fit:contain;object-position:left center;width:clamp(132px,15vw,190px);height:42px;display:block}.brand>span{color:#c9cfc3;margin-top:2px;font-size:.68rem}.exit-link{color:#fff;background:#7a332d;border-radius:7px;padding:10px 17px;font-weight:800;text-decoration:none}.exit-link:hover,.exit-link:focus-visible{background:#963d35}@media (width<=520px){.brand-ci{width:112px;height:36px}.brand>span{display:none}.exit-link{padding:8px 7px;font-size:.67rem}}:root{--ci-orange:#ff7a1a;--ci-orange-strong:#ff9b2f;--ci-blue:#2370d8;--ci-lime:#9fbe25;--ci-yellow:#f3d323;--wood-dark:#4b2919;--wood-mid:#85502b;--wood-light:#b8783d}.game .top{border-bottom-color:var(--ci-orange);background:#101216}.game .brand{gap:10px}.game .brand-ci{object-fit:contain;object-position:left center;width:clamp(138px,16vw,198px);height:42px}.multiplayer-game .brand>div{min-width:0}.multiplayer-game .brand strong{letter-spacing:0;font-size:1rem}.multiplayer-game .brand small{white-space:nowrap}.game .exit-link{background:var(--ci-orange);color:#17191d}.game .exit-link:hover,.game .exit-link:focus-visible{background:var(--ci-orange-strong)}.game .primary{background:var(--ci-orange);color:#17191d}.game .primary:hover,.game .primary:focus-visible{background:var(--ci-orange-strong)}.game .statusbar{background:#f4f4f4}.game .player.active>span{background:var(--ci-orange)}.game .board-shell{border:4px solid var(--wood-dark);background:linear-gradient(145deg,var(--wood-light),var(--wood-mid) 44%,var(--wood-dark));border-radius:18px;box-shadow:inset 0 0 0 2px #d3955448,inset 0 0 22px #24130c88,0 14px 28px #21150d55}.game .board:after{mix-blend-mode:multiply;background-image:repeating-linear-gradient(7deg,#0000 0 13px,#4c28152b 14px,#d99a5b20 16px,#0000 20px),repeating-linear-gradient(92deg,#0000 0 37px,#3c20122b 38px,#0000 40px);background-size:auto}.game .board-cell>span{filter:drop-shadow(0 1px 1px #3d201255);background:#f1d49c1e;border:1px dashed #f5dfb36b}.game .board-cell.valid>span{filter:drop-shadow(0 0 7px #ffcf33);background:#ffcf3359}.game .board-cell.valid:hover{transform:translate(-50%,-50%)scale(1.1)}.game .tile-art{filter:drop-shadow(0 7px 5px #24130c88)}.game .tile-art.selected{filter:drop-shadow(0 9px 6px #ffcf3377)}.game .tile-art.selected svg{outline-color:var(--ci-orange)}.game .rack,.game .control-card{background:#fffdf8;border-color:#c8b9a2}.game .multi-status{background:#fffdf8;border-color:#ded1bc}.game .multi-status span.active{background:var(--ci-orange);color:#17191d}@media (width<=800px){.game .brand-ci{width:112px;height:36px}.game .board-shell{border-width:4px}}:root{--ink:#f4f4f4;--cream:#0b0d10;--paper:#171a1f;--green:#a8c52b;--lime:#c8df45;--line:#343a43}body{color:#f4f4f4;background:#0b0d10}.multi-home{background:radial-gradient(circle at 75% 10%,#ff7a1a18,#0000 30%),#0b0d10}.multi-intro{color:#f4f4f4;background:#171a1f;border-color:#303640;box-shadow:0 22px 70px #0008}.multi-intro>p,.multi-home .help{color:#b6bbc3}.multi-intro>small{color:#ff9b2f}.multi-actions>div,.lobby-list>div,.invite-card{color:#f4f4f4;background:#20252c}.multi-actions label{color:#c6cbd2}.multi-actions select,.multi-actions input,.emoji-compose input{color:#f4f4f4;background:#101216;border-color:#4a515c}.multi-actions button,.lobby>button,.invite-card>button{color:#17191d;background:#ff7a1a}.multi-actions button:hover,.lobby>button:hover,.invite-card>button:hover{background:#ff9b2f}.invite-card>p{color:#17191d;letter-spacing:.02em;background:#fff;font-weight:900}.multi-error{color:#ff8b91}.lobby-list .empty{color:#9ba2ab}.multi-status{color:#f4f4f4;background:#15181d;border-color:#343a43}.multi-status span{color:#e9edf1;background:#252b33}.game .statusbar{color:#f4f4f4;background:#15181d;border-color:#343a43}.game .player>span{color:#f4f4f4;background:#303640}.game .turn-center p,.game .help{color:#b6bbc3}.game .control-card,.game .rack{color:#f4f4f4;background:#171a1f;border-color:#343a43;box-shadow:0 10px 28px #0008}.game .rack-title{background:#20252c;border-color:#343a43}.game .rack-title>span{color:#b6bbc3}.game .rotate-row button,.game .emoji-buttons button,.game .emoji-compose button{color:#f4f4f4;background:#252b33;border-color:#4a515c}.game .rotate-row button:hover,.game .emoji-buttons button:hover,.game .emoji-compose button:hover{background:#343c47}.game .pass{color:#17191d;background:#ff7a1a;border-color:#ff7a1a}.game .pass:hover{background:#ff9b2f}.game .legend{color:#bfc5cc;background:#171a1f;border-top:1px solid #343a43}.game .emoji-panel{background:#20252c;border-color:#343a43}.game .emoji-strip span{background:#15181d;border-color:#4a515c}.game .modal-backdrop{background:#050608e8}.game .modal{color:#f4f4f4;background:#171a1f;border:1px solid #343a43}.game .rule-grid article{background:#20252c}.game .rule-grid p{color:#b6bbc3}.game .close{color:#f4f4f4}.game .board-shell{background:linear-gradient(145deg,#694024,#3a2118 48%,#1e1410);border-color:#24140d;box-shadow:inset 0 0 0 2px #bc733d38,inset 0 0 25px #000b,0 14px 28px #0009}@media (width<=800px){.multi-intro{box-shadow:0 15px 40px #0009}.game .control-card,.game .rack{box-shadow:0 8px 22px #0008}}@media (width>=801px){.multiplayer-game,.singleplayer-game{--multi-board-width:min(calc((100dvh - 190px)*1.2),calc(100vw - 390px));--single-board-width:min(calc((100dvh - 232px)*1.2),calc(100vw - 390px))}.multiplayer-game .play-area,.singleplayer-game .play-area{grid-template-columns:180px minmax(0,1fr) 140px;gap:0}.multiplayer-game .control-card,.singleplayer-game .control-card{border-right:0;border-radius:0;padding-left:12px;padding-right:12px}.multiplayer-game .rack,.singleplayer-game .rack{border-left:0;border-radius:0}.multiplayer-game .board-shell,.singleplayer-game .board-shell{border-radius:0;margin:0}}body{background-color:#0b0d10;background-image:linear-gradient(#080a0dcc,#080a0dcc),url(/hexacol-tabletop-bg.png);background-position:50%;background-size:cover;background-attachment:fixed}.game,.multi-home{background-image:linear-gradient(#080a0d99,#080a0d99),url(/hexacol-tabletop-bg.png);background-position:50%;background-size:cover;background-attachment:fixed}.game .board-shell{background-image:linear-gradient(#100b0870,#100b0870),url(/hexacol-tabletop-bg.png);background-position:50%;background-size:cover}.game .board:after{opacity:.6}.game .board{background:#f1d49c1e;box-shadow:inset 0 0 32px #0008}.game .board-cell>span{background:0 0}.game .control-card,.game .rack{box-shadow:none;background:0 0;border-color:#0000}.game .rack-title,.game .emoji-panel{background:0 0;border-color:#0000}.stone-preview-page{color:#f4f4f4;background-color:#0000;background-image:radial-gradient(circle at 75% 8%,#b8783d55,#0000 30%),linear-gradient(#080a0dcc,#080a0dcc),url(/hexacol-tabletop-bg.png);background-position:50%;background-repeat:repeat,repeat,repeat;background-size:cover;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:100vh;padding:clamp(24px,5vw,64px)}.stone-preview-header{max-width:980px;margin:0 auto 28px}.stone-preview-header>span{color:#ff9b2f;letter-spacing:.16em;font-size:.72rem;font-weight:900}.stone-preview-header h1{margin:.35rem 0 .65rem;font-size:clamp(2rem,5vw,4rem)}.stone-preview-header p{color:#c4c9c2;max-width:680px;margin:0;line-height:1.55}.stone-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:980px;margin:0 auto;display:grid}.stone-preview-card{background:#171a1fcc;border:1px solid #59605a;border-radius:16px;padding:20px;box-shadow:0 18px 42px #0008}.stone-preview-card-heading>span{color:#ff9b2f;letter-spacing:.14em;font-size:.7rem;font-weight:900}.stone-preview-card h2{margin:.35rem 0 0;font-size:1.25rem}.stone-preview-stones{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.stone-preview-sample{text-align:center;color:#c4c9c2;font-size:.7rem}.preview-stone{filter:drop-shadow(0 10px 10px #0009);width:min(100%,150px);margin:0 auto}.preview-stone svg{width:100%;height:auto;display:block}.preview-body{fill:#eee9dc}.preview-stone-dark .preview-body{fill:#111418}.preview-divider{stroke:#fffdf8;stroke-width:1.3px;stroke-linecap:round}.preview-outline{fill:none;stroke:#fffdf8;stroke-width:2.4px;stroke-linejoin:round}.preview-stone-dark .preview-outline{stroke:#aeb6bd}.preview-pin{fill:#fffdf8}.preview-stone-dark .preview-pin{fill:#cbd1d5}.stone-preview-sample small{margin-top:6px;display:block}@media (width<=720px){.stone-preview-grid{grid-template-columns:1fr}.stone-preview-card{padding:16px}}.preview-stone-dark .preview-divider,.preview-stone-dark .preview-outline{stroke:#000}.tile-surface{filter:brightness(.8)saturate(2.4)}.tile-shadow-dark{fill:#111418}.tile-divider{stroke:#fffdf8;stroke-width:1.3px;stroke-linecap:round}.tile-divider-dark,.tile-outline-dark{stroke:#000}.variant-modal p{color:#666b5d}.variant-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.variant-choices .variant-choice{color:#20251d;background:#f0ece3;border:1px solid #c9c3b7;border-radius:12px;padding:16px}.variant-choices .variant-choice:hover{border-color:var(--ci-orange);box-shadow:0 0 0 3px #ff7a1a33}.variant-choices .tile-art{width:min(140px,100%);margin:0 auto 10px}.variant-choices strong{display:block}@media (width<=520px){.variant-choices{grid-template-columns:1fr}.variant-choices .variant-choice{text-align:left;grid-template-columns:92px 1fr;align-items:center;gap:10px;display:grid}.variant-choices .tile-art{width:92px;margin:0}}@media (width>=801px) and (width<=1100px){.multiplayer-game,.singleplayer-game{--multi-board-width:min(calc((100dvh - 190px)*1.2),calc(100vw - 260px));--single-board-width:min(calc((100dvh - 232px)*1.2),calc(100vw - 260px))}.multiplayer-game .play-area,.singleplayer-game .play-area{grid-template-columns:150px minmax(0,var(--multi-board-width)) 110px;justify-content:center;overflow:hidden}.singleplayer-game .play-area{grid-template-columns:150px minmax(0,var(--single-board-width)) 110px}.multiplayer-game .control-card,.singleplayer-game .control-card{min-width:0;padding:10px;overflow:hidden}.multiplayer-game .help,.singleplayer-game .help{overflow-wrap:anywhere}}html[data-stone-variant=dark] .multiplayer-game .tile-shadow{fill:#111418}html[data-stone-variant=dark] .multiplayer-game .tile-divider,html[data-stone-variant=dark] .multiplayer-game .tile-outline{stroke:#000}.admin-page{color:#000;background:#fff}.admin-page .admin-lead,.admin-page .help,.admin-page .user-list small,.admin-page .request-row small,.admin-page .audit-list time,.admin-page .audit-list small,.admin-page header small,.admin-page header a{color:#000}.admin-page .admin-card{box-shadow:none;background:#fff;border:2px solid #000}.admin-page .count-badge{color:#fff;background:#000}.admin-page .request-row,.admin-page .user-list>div{background:#fff;border:1px solid #000}.admin-page .request-actions select,.admin-page .user-actions select{color:#000;background:#fff;border:1px solid #000}.admin-page .request-actions button,.admin-page .user-actions button,.admin-page .user-list>div>button,.admin-page .credential-card button{color:#fff;background:#000;border:1px solid #000}.admin-page .muted-button,.admin-page .delete-button{color:#000!important;background:#fff!important}.admin-page .credential-card code{color:#fff;background:#000}.admin-page .audit-list>div{border-color:#000}.account-strip .admin-link{color:#171b16;background:#d7e77f;border:1px solid #d7e77f;border-radius:7px;align-items:center;padding:7px 12px;text-decoration:none;display:inline-flex}.lobby-start-hint{color:#65695d;margin:14px 0 0;font-size:.8rem;line-height:1.45}.request-card label:has(select){display:none}.login-screen{background:#0d1110}.login-card{color:#161a17;background:#fff;border:1px solid #d5d8d2;box-shadow:0 28px 90px #0009}.login-card>small{color:#4f6811}.login-card h1,.login-card h2{color:#111510}.login-card>p{color:#30372f}.login-card label{color:#20251f}.login-card input{color:#111;background:#fff;border-color:#737a70}.login-card input::placeholder{color:#5d655c;opacity:1}.login-card>button{color:#fff;background:#141914}.game .top-actions .multi-link{color:#fff;background:#2f9d57}.game .top-actions .multi-link:hover,.game .top-actions .multi-link:focus-visible{color:#fff;background:#38b864}.game .top-actions .primary{color:#102033;background:#89c9ff}.game .top-actions .primary:hover,.game .top-actions .primary:focus-visible{color:#102033;background:#a6d8ff}.text-button{cursor:pointer;border:0;text-decoration:underline;color:#45531f!important;background:0 0!important;width:auto!important;margin:8px 0 0!important;padding:6px!important}.inline-form{grid-template-columns:2fr 1fr 1fr auto;align-items:end;gap:10px;margin-bottom:18px;display:grid}.inline-form label{margin:0}.inline-form button{color:#fff;cursor:pointer;background:#20251d;border:0;border-radius:8px;padding:12px;font-weight:900}.invite-admin{margin:18px 0}.credential-card code{color:#e8f1c1;overflow-wrap:anywhere;background:#20251d;border-radius:8px;padding:14px;display:block}.secondary-action{color:#20251d!important;background:#e7e2d7!important}.save-list{gap:10px;display:grid}.save-list article{background:#f2eee5;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:15px;display:flex}.save-list article>div,.session-list>div{gap:4px;display:grid}.save-list small,.session-list small{color:#707568}.save-list article>span{align-items:center;gap:8px;display:flex}.save-list a,.save-list button{color:#fff;cursor:pointer;background:#20251d;border:0;border-radius:7px;padding:9px 12px;font-weight:800;text-decoration:none}.session-list{gap:8px;margin-bottom:16px;display:grid}.session-list>div{background:#f2eee5;border-radius:8px;padding:10px}@media (width<=800px){.inline-form{grid-template-columns:1fr 1fr}.save-button,.saves-link{display:none}}@media (width<=520px){.inline-form{grid-template-columns:1fr}.save-list article{flex-direction:column;align-items:flex-start}.save-list article>span{width:100%}.save-list article a,.save-list article button{text-align:center;flex:1}}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
