@font-face{font-family:Nunito;src:url('assets/nunito-400.ttf');font-weight:400;font-display:swap}@font-face{font-family:Nunito;src:url('assets/nunito-700.ttf');font-weight:700;font-display:swap}@font-face{font-family:Nunito;src:url('assets/nunito-800.ttf');font-weight:800;font-display:swap}@font-face{font-family:Nunito;src:url('assets/nunito-900.ttf');font-weight:900;font-display:swap}
:root{--UNIT:48px;--FONT_SIZE:15px;--BORDER_GAP:6px;--BORDER_RADIUS:3px}*{box-sizing:border-box}body{min-width:360px;background-size:350px;image-rendering:auto}button,a,input,select{touch-action:manipulation}button{transition:background .12s,transform .12s}button:focus-visible,a:focus-visible,#board:focus-visible{outline:3px solid #ffce36;outline-offset:2px}button:active{transform:translateY(1px)}button:disabled{opacity:.35}button[hidden],[hidden]{display:none!important}
#game{display:flex;margin:0;padding:24px 24px 20px}#game-wrapper{width:100%;max-width:1340px;height:auto;grid-template-columns:180px minmax(0,1fr) 270px;grid-template-rows:64px 52px auto 48px 30px;grid-template-areas:'logo logo logo' 'bar bar bar' 'players canvas chat' 'footer tools chat' 'tips tips tips';gap:6px}
#game-logo{height:64px;align-items:center;padding-bottom:8px}.brand{position:relative;display:flex;align-items:center;text-decoration:none}#game-logo a img{width:235px;image-rendering:pixelated}.brand-note{color:white;font-weight:900;font-size:20px;transform:rotate(-6deg);margin-left:12px;text-shadow:2px 2px #102965;white-space:nowrap}.brand-note span{display:inline-block;font-size:28px;transform:rotate(20deg)}#game-logo nav{display:flex;align-items:center;gap:10px}.header-button{background:#143e8f80;color:#fff;border:1px solid #ffffff30;border-radius:3px;padding:7px 13px;font-size:13px}.header-button:hover{background:#173d8d}.connection{color:#e1edff;font-size:12px;display:flex;gap:7px;align-items:center;margin-right:6px}.connection i,#builder-label i{width:7px;height:7px;background:#8ddd45;border-radius:50%;display:inline-block}
#game-bar{color:#222}#game-clock{width:64px;height:64px;top:-9px;left:-4px;line-height:3.6;font-size:21px}#game-round{font-size:19px;top:14px;left:67px}#game-word{margin-left:180px;margin-right:270px;font-family:Nunito,sans-serif}#game-word .description{font-size:10px;letter-spacing:1.5px;line-height:1.2}#game-word .word{font-size:26px;font-weight:900;line-height:1.15}#game-settings{width:48px;height:48px;right:4px;top:2px;background:none}#game-settings .icon{display:block;width:32px;height:32px;filter:none}.bar-button{position:absolute;right:61px;top:12px;background:#e4e4e4;color:#666;border-radius:3px;padding:5px 11px;font-size:12px}.bar-button:hover{background:#d1d1d1}.bar-button span{font-size:15px;margin-left:6px}
#game-players{width:auto;overflow:hidden;background:#173b8090}#game-players .players-list{flex:0 0 auto;height:auto;min-height:64px}#game-players .player{height:68px;cursor:default}#game-players .player .player-avatar-container{width:60px;height:60px;right:4px;top:4px}#game-players .player .player-info{width:calc(100% - 62px);padding-left:16px}#game-players .player .player-name{font-size:14px;line-height:1.4}#game-players .player .player-score{font-size:12px;line-height:1.4}#game-players .player .player-rank{font-size:13px;top:25px;left:5px}#game-players .player .builder-mark{position:absolute;right:2px;bottom:1px;font-size:17px}.room-note{padding:26px 16px;color:#d3e2ff;text-align:center;margin-top:auto;margin-bottom:auto}.room-note strong{font-size:14px;font-weight:800;line-height:1.5}.room-note p{font-size:12px;line-height:1.8;color:#a6c5f0}.mini-dice{font-size:46px;line-height:1.6;opacity:.6;transform:rotate(-13deg)}.room-note button{font-size:12px;border:1px solid #ffffff40;background:#ffffff0c;color:#fff;border-radius:3px;padding:8px 13px;margin-top:4px}.room-note button:hover{background:#ffffff20}.room-note small{display:block;font-size:10px;margin-top:12px;color:#91b3e5}#game-players-footer{height:48px;justify-content:center}#name-button{background:#103b8055;border-radius:3px;padding:7px 16px;color:#dbe7fc;font-size:12px}
#game-canvas{position:relative;width:100%;height:auto;aspect-ratio:4/3;min-height:420px;display:flex;flex-direction:column;overflow:hidden;background:#f9fafc;border-radius:3px;box-shadow:0 1px 3px #12336630}#board{position:relative;flex:1;min-height:280px;overflow:hidden;background:#fafbfc;touch-action:none;outline-offset:-3px}#board canvas{display:block;width:100%;height:100%;position:absolute;inset:0;image-rendering:auto}#board.dragging{cursor:grabbing}#board.adding{cursor:copy}.board-top{position:absolute;top:12px;left:14px;right:14px;display:flex;align-items:center;justify-content:space-between;z-index:2;pointer-events:none;font-size:11px;color:#8c939f}.board-top>div{display:flex;gap:5px}.board-top button{pointer-events:auto;background:#ffffffb8;border:1px solid #e7e9ef;color:#848d9b;border-radius:3px;padding:4px 7px;font-weight:700;font-size:11px}.board-top button:hover,.board-top button[aria-pressed=true]{background:#ecf5ff;color:#297bd1}#builder-label{display:flex;gap:6px;align-items:center}#builder-label i{width:6px;height:6px}#board-caption{position:absolute;bottom:13px;left:16px;font-size:11px;color:#9ca3ad;pointer-events:none}#board-counter{position:absolute;bottom:13px;right:16px;font-size:10px;color:#a6adb7;pointer-events:none}#board-counter b{font-weight:700;color:#737f90}#loading{position:absolute;left:0;right:0;top:45%;text-align:center;color:#8493aa;font-size:14px}#empty-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;color:#a3adbc}#empty-state strong{font-size:23px;font-weight:800;color:#97a7bf}#empty-state p{font-size:13px;margin:9px}#empty-state>span{font-size:30px;margin-top:8px}#selection{position:absolute;left:14px;top:47px;background:#fff;box-shadow:0 2px 12px #23355215;border:1px solid #e8ebf1;padding:6px 8px;display:flex;align-items:center;gap:7px;border-radius:4px;font-size:10px;z-index:2;color:#7d8795}#selection b{color:#424b5a}#selection button{color:#a1a8b2;background:none;font-size:16px;margin-left:3px}.selection-dot{width:9px;height:9px;border:1px solid #0002;border-radius:2px;background:#eee}
#dice-tray{height:94px;flex:0 0 94px;display:flex;align-items:center;gap:10px;background:#fff;border-top:1px solid #e8ebf2;padding:10px 14px}.tray-label{display:flex;flex-direction:column;flex-shrink:0}.tray-label b{font-size:13px;color:#43506a}.tray-label span{font-size:9px;color:#a0a6b0;margin-top:2px}#tray-dice{display:flex;align-items:center;justify-content:space-evenly;gap:4px;flex:1;min-width:0}.tray-die{width:54px;height:65px;background:none;color:#9299a4;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:9px;cursor:grab;touch-action:none;flex:0 1 54px}.tray-die:hover{background:#f3f6fb;border-radius:4px}.tray-die small{font-size:8px;font-weight:700;white-space:nowrap}.die-cube{display:block;width:30px;height:30px;border-radius:6px;position:relative;background:var(--die-color);box-shadow:2px 5px 0 var(--die-side),4px 9px 8px #13274524,inset 2px 2px 3px #fff9,inset -1px -1px 2px #0001;transform:rotate(-11deg);border:1px solid #00000009}.die-cube .dot{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--pip-color,#192636);box-shadow:inset 1px 1px 2px #0004;transform:translate(-50%,-50%)}.tray-finish{display:flex;flex-direction:column;gap:3px;flex:0 0 79px;border-left:1px solid #edf0f4;padding-left:10px}.tray-finish label{font-size:9px;color:#98a1af}.tray-finish select{font-size:11px;font-weight:700;color:#5c687d;height:27px;padding:1px 2px;background:#f5f6f9;border-color:#e6e9ef}
#game-toolbar{height:48px;grid-template-columns:42px 182px minmax(0,1fr) auto;grid-template-rows:48px;grid-template-areas:'preview colors tools actions';gap:5px}#game-toolbar .color-preview{width:42px;height:48px;background:#fff;border:2px solid #eee;display:grid;place-items:center;cursor:pointer;border-radius:3px}#color-preview>span{font-size:33px;line-height:1;color:#222;text-shadow:0 1px 1px #0002;pointer-events:none}#custom-color{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}#game-toolbar .colors{height:48px;display:grid;grid-template-columns:repeat(13,1fr);grid-template-rows:repeat(2,1fr);gap:0;overflow:hidden}#palette button{border:0;border-radius:0;position:relative;width:100%;height:100%}#palette button:hover{z-index:1;outline:2px solid #fff;outline-offset:-3px}#palette button.active::after{content:'';position:absolute;inset:3px;border:2px solid #fff;box-shadow:0 0 0 1px #0006;border-radius:1px}#game-toolbar .toolbar-group-tools{justify-content:center;gap:4px;min-width:0}#game-toolbar .toolbar-group-actions{gap:4px}#game-toolbar .tool{width:39px;height:48px;flex-shrink:1;min-width:27px;border-radius:3px;display:flex;justify-content:center;align-items:center}#game-toolbar .tool-symbol{font-family:Arial,sans-serif;font-weight:700;font-size:30px;color:#252525;line-height:1}#game-toolbar .pip-symbol{font-size:32px}#game-toolbar .small-symbol{font-size:25px}#game-toolbar .key{font-size:8px;top:2px;left:3px;opacity:.45}#game-toolbar svg{width:24px;height:24px;stroke:#444;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}#game-toolbar .tool:hover{background:#e7ecf9}
#game-chat{width:100%;min-width:0;font-size:13px;padding-bottom:7px;overflow:hidden}.chat-heading{display:flex;justify-content:space-between;align-items:center;background:#e3e3e3;padding:11px 10px;font-size:12px;color:#4c4c4c;border-bottom:1px solid #d4d4d4}.chat-heading span{font-size:8px;font-weight:800;letter-spacing:1px;background:#fff8;padding:3px 5px;color:#888;border-radius:2px}#game-chat .chat-content{height:0;padding-top:0;flex:1;overflow-y:auto;scrollbar-width:thin}#game-chat .chat-content p{padding:6px 9px;font-size:13px;line-height:1.45;overflow-wrap:anywhere}#game-chat .chat-content p.system{color:#48902d;font-weight:800}#game-chat .chat-content p.info{color:#6b6b6b;font-size:12px}#game-chat .chat-content p.notice{color:#3483c7}#game-chat .chat-content p.correct{background:#a4e48c;color:#256117;font-weight:800}#game-chat .chat-content p .stamp{font-size:9px;float:right;opacity:.55;margin-top:4px}#game-chat .chat-form{display:flex;margin:6px 7px 0;position:relative;padding:0}#game-chat .chat-form input{height:37px;padding:7px 27px 7px 8px;background:#fff;border:1px solid #c9c9c9;border-radius:3px;font-size:12px;width:100%}#game-chat .chat-form button{position:absolute;right:6px;top:7px;font-size:18px;color:#9a9a9a;background:none;font-weight:400}
#game-tips{grid-area:tips;display:flex;gap:10px;align-items:center;font-size:10px;color:#b6cff3;padding-top:6px}#game-tips b{color:#e5efff}#game-tips button{font-size:10px;background:none;color:#d5e6ff;border-bottom:1px solid #a0b6dc60;margin-left:6px}.credit{margin-left:auto;opacity:.6;font-size:9px}
#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#16366a;color:white;box-shadow:0 5px 20px #0003;border-radius:5px;padding:10px 20px;font-size:13px;z-index:100;transition:.2s}#toast.visible{opacity:1;transform:translate(-50%,0)}dialog{border:0;border-radius:5px;padding:0;max-width:470px;width:calc(100% - 32px);color:#343d4c;box-shadow:0 15px 80px #061c6055;font-family:Nunito,sans-serif}dialog::backdrop{background:#072152aa;backdrop-filter:blur(3px)}.dialog-header{background:#2c8de4;display:flex;align-items:center;justify-content:space-between;padding:12px 18px;color:#fff}.dialog-header h2{font-size:20px;margin:0;font-weight:900}.dialog-header button{color:#fff;font-size:26px;background:none;line-height:1}#dialog-body{padding:20px 22px;font-size:14px}#dialog-body p{line-height:1.65;margin:0 0 14px}#dialog-body .action{display:block;width:100%;padding:11px;background:#46d525;color:#fff;border-radius:3px;text-shadow:0 1px 1px #0002;margin-top:12px;font-size:17px}#dialog-body .action.blue{background:#2c8de4}#dialog-body .action.gray{background:#eceef2;color:#66748b;text-shadow:none}#dialog-body label{display:block;font-size:12px;font-weight:800;margin:12px 0 6px}#dialog-body input,#dialog-body select{height:38px}#dialog-body .word-choices{display:flex;gap:8px}.word-choices button{flex:1;background:#edf4fd;border:2px solid #b6d7ff;color:#257ac9;padding:18px 8px;border-radius:4px;font-size:17px}.word-choices button:hover{background:#2c8de4;color:#fff}.how-step{display:flex;gap:13px;align-items:center;margin:15px 0}.how-step>b{width:32px;height:32px;border-radius:50%;background:#e4f0fd;color:#2785d5;display:grid;place-items:center;flex-shrink:0}.how-step p{margin:0!important;font-size:13px}.hotkeys{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#f1f4f8;padding:13px;border-radius:3px;font-size:12px;margin:17px 0}.hotkeys kbd{background:white;padding:1px 4px;border:1px solid #d9dee6;border-radius:3px;font-family:inherit}.dialog-small{font-size:11px;color:#8a96a7;margin-top:12px!important}.setting-row{display:flex;gap:10px;align-items:center;margin:12px 0}.setting-row label{flex:1;margin:0!important}.setting-row input[type=checkbox]{width:20px;height:20px}.setting-row select{width:130px}
@media(min-width:1500px){#game{padding-top:35px}}@media(max-width:1200px){#game-wrapper{grid-template-columns:155px minmax(0,1fr) 235px}#game-word{margin-left:155px;margin-right:235px}#game-toolbar{grid-template-columns:36px 130px minmax(0,1fr) auto}#game-toolbar .color-preview{width:36px}#game-toolbar .tool{width:31px;min-width:22px}#game-toolbar .tool-symbol{font-size:26px}#game-toolbar .toolbar-group-tools,#game-toolbar .toolbar-group-actions{gap:3px}.tray-label span{font-size:8px}.tray-label b{font-size:11px}#dice-tray{gap:5px;padding:8px 10px}.tray-die{width:44px}.die-cube{width:26px;height:26px}.tray-finish{flex-basis:67px;padding-left:7px}.tray-die small{font-size:7px}.room-note{padding:20px 10px}}
@media(max-width:1000px){#game{padding:14px}#game-wrapper{grid-template-columns:136px minmax(0,1fr) 210px}#game-canvas{min-height:400px}#game-round{font-size:16px}#game-word{margin-left:136px;margin-right:210px}#game-toolbar{height:100px;grid-template-columns:36px 1fr 1fr;grid-template-rows:44px 44px;grid-template-areas:'preview colors colors' 'tools tools actions'}#game-toolbar .color-preview,#game-toolbar .colors{height:44px}#game-toolbar .toolbar-group-tools{justify-content:flex-start}#game-toolbar .toolbar-group-actions{justify-content:flex-end}#game-toolbar .tool{width:38px;height:44px}#game-wrapper{grid-template-rows:64px 52px auto 94px 30px}.tray-label{display:none}#game-players .player .player-avatar-container{width:47px;height:47px;right:2px;top:9px}#game-players .player .player-info{width:calc(100% - 45px)}.room-note strong{font-size:12px}.credit{display:none}.connection{display:none}#game-logo a img{width:210px}.brand-note{font-size:17px}}
@media(max-width:760px){#game{padding:10px}#game-wrapper{grid-template-columns:1fr 1fr;grid-template-rows:52px 52px auto 96px 230px 28px;grid-template-areas:'logo logo' 'bar bar' 'canvas canvas' 'tools tools' 'players chat' 'tips tips'}#game-logo{display:flex;height:52px}#game-logo a{display:flex}#game-logo a img{width:173px}.brand-note{font-size:14px;margin-left:7px}.brand-note span{display:none}#game-logo nav{gap:4px}.header-button{padding:6px 8px;font-size:10px}#help{display:none}#game-round{font-size:13px;top:18px;left:56px}#game-clock{width:58px;height:58px;top:-4px;font-size:19px}#game-word{margin-left:110px;margin-right:130px}#game-word .word{font-size:23px}#game-word .description{font-size:8px}.bar-button{font-size:10px;right:42px;padding:6px;top:14px}.bar-button span{display:none}#game-settings{width:37px;height:48px;right:1px}#game-settings .icon{width:27px;height:27px}#game-canvas{aspect-ratio:1.15;min-height:390px;grid-area:canvas}#board{min-height:280px}.board-top{font-size:10px;left:10px;right:10px;top:10px}.board-top button{font-size:10px;padding:3px 5px}#dice-tray{height:82px;flex-basis:82px;padding:6px 8px}.tray-label{display:flex}.tray-label b{font-size:11px}.tray-label span{font-size:8px;max-width:42px}.tray-finish{flex-basis:68px}#tray-dice{gap:0}.tray-die{width:36px;height:64px}.die-cube{width:25px;height:25px}.die-cube .dot{width:4px;height:4px}.tray-die small{font-size:7px}.tray-die:nth-child(6){display:none}#game-toolbar{grid-area:tools;grid-template-columns:40px 1fr 1fr;grid-template-rows:44px 44px;grid-template-areas:'preview colors colors' 'tools tools actions';gap:6px}#game-toolbar .colors{display:grid;position:static;height:44px}#game-toolbar .color-preview{display:grid;width:40px;height:44px}#game-toolbar .toolbar-group-tools{justify-content:flex-start}#game-toolbar .toolbar-group-actions{justify-content:flex-end}#game-toolbar .tool{width:44px;height:44px}#game-chat{grid-area:chat;font-size:12px}#game-chat .chat-form{display:flex}#game-chat .chat-content p{font-size:11px}.chat-heading{font-size:11px;padding:7px}#game-players{grid-area:players;width:auto}.room-note{padding:12px;margin:0}.room-note strong{font-size:11px}.room-note p,.mini-dice{display:none}.room-note small{margin-top:7px;font-size:9px}.room-note button{font-size:10px;padding:5px 8px}#game-players-footer{display:none}#game-tips{font-size:8px;gap:5px;padding:0}#game-tips button{font-size:8px;white-space:nowrap}#board-caption{font-size:9px;left:11px}#board-counter{font-size:8px;right:11px}#selection{top:41px;font-size:9px}}
@media(min-width:1001px){#game-canvas{height:clamp(360px,calc(100dvh - 262px),650px);min-height:360px;aspect-ratio:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* A finite tray replaces the original paint palette. */
#game-toolbar .collection-preview{grid-area:preview;background:#f8f7f3;border-radius:3px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#1e2530;font-size:29px;line-height:1.1}#game-toolbar .collection-preview span{font-size:8px;color:#758092;font-weight:800;margin-top:2px}.inventory-note{grid-area:colors;display:flex;flex-direction:column;justify-content:center;gap:3px;color:#e1ecff;padding:0 5px}.inventory-note b{font-size:11px}.inventory-note span{font-size:9px;color:#a8c6f1}#tray-dice{justify-content:flex-start;gap:14px;overflow-x:auto;scrollbar-width:thin;padding:5px 10px;min-height:74px}.tray-die{min-width:55px;flex-shrink:0}.tray-die small{font-size:9px}.tray-die .stock{font-size:9px;color:#5c677a}.tray-die:disabled{opacity:.35;cursor:default}#collection{flex:0 0 auto;background:#f0f4fa;border:1px solid #e1e7f0;border-radius:4px;color:#6e7c91;font-size:10px;padding:9px 10px}#collection b{margin-left:4px;background:#dce6f5;padding:2px 5px;border-radius:3px;color:#5578ab}#pip-view[aria-pressed=true]{color:#267fc5;background:#edf5ff;border-color:#d5e7fb}.collection-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}.collection-grid>div{display:grid;grid-template-columns:36px 1fr;background:#f3f5f8;border-radius:4px;padding:10px;column-gap:9px}.collection-grid i{grid-row:span 3;width:32px;height:32px;border-radius:7px;text-align:center;font-style:normal;font-size:27px;color:#1e2736;box-shadow:0 2px 4px #182b491f}.collection-grid b{font-size:12px}.collection-grid span{font-size:9px;color:#8a94a5}.collection-grid small{font-size:9px;color:#a1a9b6}.board-top>div{gap:4px}#board-caption{max-width:65%}
@media(max-width:1200px){.inventory-note b{font-size:9px}.inventory-note span{font-size:8px}#collection{font-size:9px;padding:7px}.board-top button{font-size:10px}}
@media(max-width:760px){#tray-dice{gap:10px}.tray-die:nth-child(6){display:flex}.inventory-note{padding-left:7px}.inventory-note b{font-size:12px}.inventory-note span{font-size:10px}.board-top{align-items:flex-start}.board-top>div{gap:3px}.board-top button{font-size:9px;padding:4px}.board-top #builder-label{font-size:9px;max-width:95px}#collection{font-size:9px;padding:7px}.collection-grid{grid-template-columns:1fr}#game-tips>span{max-width:75%}}
