:root{color:#22382e;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f0e7;font-family:system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea{font:inherit}button,summary,input{min-height:48px}button{color:#fff;cursor:pointer;background:#285440;border:0;border-radius:10px;padding:12px 18px;font-weight:650}button:disabled{opacity:.55;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #ad7134}button.secondary{color:#285440;background:#e6eee6}h1{margin:10px 0 16px;font-family:Georgia,serif;font-size:30px;line-height:1.15}h2{margin:0 0 12px;font-size:18px}p{line-height:1.5}a{color:#285440}.app{max-width:520px;padding:24px 16px calc(100px + env(safe-area-inset-bottom));min-height:100dvh;margin:0 auto}.card{background:#fffef9;border:1px solid #deded0;border-radius:16px;margin:0 0 16px;padding:20px}.welcome{margin-top:clamp(16px,8vh,80px)}.eyebrow{text-transform:uppercase;letter-spacing:.11em;color:#617267;margin:0;font-size:12px;font-weight:700}.muted{color:#637167;font-size:14px}form,.share-link{gap:12px;display:grid}label{font-weight:600;display:block}input,textarea{color:#22382e;background:#fff;border:1px solid #b4c0b3;border-radius:8px;width:100%;min-width:0;padding:12px;font-size:16px;display:block}textarea{resize:none;overflow-wrap:anywhere;margin-top:10px;line-height:1.35}.welcome a{min-height:44px;margin-top:20px;display:block}.members{padding:4px 16px;list-style:none}.members li{border-bottom:1px solid #ebede4;align-items:center;gap:14px;min-height:58px;display:flex}.members li:last-child{border:0}.members strong{overflow-wrap:anywhere;flex:1;min-width:0}.you{color:#285440;background:#e6eee6;border-radius:10px;padding:2px 6px;font-size:12px}.personal summary{cursor:pointer;align-items:center;font-weight:650;display:flex}.personal{padding-top:6px;padding-bottom:6px}.actions{padding:12px 16px calc(12px + env(safe-area-inset-bottom));z-index:2;background:#f4f0e7f5;border-top:1px solid #deded0;position:fixed;bottom:0;left:0;right:0}.actions button,.actions p{text-align:center;width:min(100%,488px);margin:0 auto;display:block}.actions .muted{margin-top:6px}.notice{color:#8c3226;background:#fff0e8;border-radius:10px;padding:14px 16px}.loading{text-align:center;margin-top:30vh}.scores{gap:0 6px;padding:0 8px;list-style:none;display:grid}.score{background:0 0;align-items:center;gap:3px;min-width:0;height:26px;padding:2px 3px;display:flex;position:relative}.score.current{color:#164e34;font-weight:750}.score-name{flex:1;align-items:center;gap:2px;min-width:0;font-size:12px;line-height:16px;display:flex}.score-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.score-you{flex:none;font-size:10px;font-weight:500}.score strong{flex:none;font:750 15px ui-monospace,monospace}.score-debt{white-space:nowrap;flex:none;font-size:11px}.board{background:#436e57;border:1px solid #436e57;border-radius:0;grid-template-columns:repeat(15,minmax(0,1fr));gap:1px;width:100%;padding:0;display:grid}.board-row{display:contents}.board-cell{aspect-ratio:1;color:#8b5531;background:#d7dfc5;justify-content:center;align-items:center;min-width:0;font-size:clamp(11px,3.5vw,20px);display:flex}.board-cell.occupied{color:#22382e;background:#ead9b3;font-family:Georgia,serif;font-weight:700}.rack-section{margin-top:20px}.rack{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.tile{aspect-ratio:1;color:#22382e;background:#ead9b3;border-radius:6px;flex:0 52px;justify-content:center;align-items:center;min-width:0;min-height:48px;font:700 26px Georgia,serif;display:flex;box-shadow:0 3px #c4a875}.dictionary{margin:18px 0}@media (width>=700px){.app{padding-top:40px}}body:has(.play-surface){overscroll-behavior:none;height:100dvh;overflow:hidden}.app:has(.play-surface){height:100dvh;min-height:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overflow:hidden auto;container-type:inline-size}.app:has(.play-surface) h1{white-space:nowrap;text-overflow:ellipsis;margin:0;font:750 20px/1.15 ui-monospace,monospace;overflow:hidden}.app:has(.play-surface) .scores{margin:0;font-size:12px}.rack-tools,.modal-actions{gap:6px;display:flex}.rack-tools button{flex:1;padding:8px 6px;font-size:14px}.board-window{overscroll-behavior:contain;border-radius:0;overflow:auto}.board.precision{width:682px}.square{border-radius:0;min-height:0;padding:0;font-family:Georgia,serif;font-weight:700;position:relative}.square.empty{font-family:system-ui,sans-serif;font-size:9px;font-weight:600}.square.doubleLetter{background:#c8e2ec}.square.tripleLetter{background:#81b7ce}.square.doubleWord{background:#edb9bb}.square.tripleWord{background:#d57d7f}.square.occupied,.square.provisional{color:#22382e;background:#ead9b3}.square.provisional{box-shadow:inset 0 0 0 2px #ad7134}.square.draft{color:#174934;background:#e6eee6;box-shadow:inset 0 0 0 2px #285440}.tile small,.square small{font:9px system-ui,sans-serif;position:absolute;bottom:1px;right:3px}.precision .square{min-width:44px;min-height:44px;font-size:24px}.precision .square.empty{font-size:12px}.play-dock{z-index:2;background:#f4f0e7fa;padding:4px 8px}.play-dock .rack-section{margin:0}.play-dock h2{margin:0 0 6px;font:600 14px system-ui,sans-serif}.rack-slot{min-width:0;position:relative}.rack-slot .tile{z-index:1;border-radius:2px;width:100%;min-width:0;min-height:44px;padding:0;font:750 25px ui-monospace,monospace;position:relative;box-shadow:0 3px #b39459,2px 3px #b39459}.rack-slot .tile.dragging{z-index:4;box-shadow:0 5px #b39459,2px 5px #b39459}.rack[data-dragging=true] .tile:not(.dragging){transition:transform .12s}.rack-slot[data-drop-target=true]:before{content:"";pointer-events:none;border:2px dashed #617267;position:absolute;inset:0}.tile[aria-pressed=true]{outline-offset:-3px;background:#fff1cb;outline:3px solid #285440;translate:0 -6px}.rack-tools{margin-top:8px}.play-dock p{margin:8px 0;font-size:14px}.scored-words p{margin:4px 0}.play-button{width:100%;margin-top:8px;display:block}dialog{color:#22382e;background:#fffef9;border:1px solid #b4c0b3;border-radius:16px;width:min(400px,100vw - 32px);max-height:calc(100dvh - 32px);padding:20px;overflow:auto}dialog::backdrop{background:#10291eb3}.alphabet{grid-template-columns:repeat(6,minmax(44px,1fr));gap:4px;margin:12px 0;display:grid}.alphabet button{padding:8px}.modal-actions{flex-wrap:wrap;margin-top:16px}.modal-actions button{flex:140px}.overview .square small{display:none}.square[data-draft=true],.rack-slot .tile{touch-action:none;cursor:grab}.square[data-draft=true]:active,.rack-slot .tile:active{cursor:grabbing}.rack-heading{align-items:center;gap:4px;height:44px;min-height:44px;margin:0;display:flex}.play-dock .rack-heading h2{flex:none;margin:0}.rack-heading .rack-tools{flex:1;justify-content:flex-end;gap:2px;margin:0}.rack-heading .rack-tools button{flex-direction:column;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;min-height:44px;padding:2px;font-size:11px;line-height:12px;display:flex}.game-viewport{--header-height:44px;--score-height:26px;--board-size:100cqw;--dock-height:calc(100% - var(--header-height) - var(--score-height) - var(--board-size));--turn-actions-height:48px;grid-template:"heading" var(--header-height) "scores" var(--score-height) "board" var(--board-size) "dock" minmax(48px, 1fr) / minmax(0, 1fr);height:100%;min-height:calc(var(--header-height) + var(--score-height) + var(--board-size) + 48px);display:grid;position:relative;overflow:hidden}.game-viewport>.notice{z-index:5;left:0;right:0;bottom:var(--turn-actions-height);max-height:calc(var(--dock-height) - var(--turn-actions-height));margin:0;position:absolute;overflow-y:auto}.game-viewport>.notice.recovery{max-height:var(--dock-height);bottom:0}.game-heading{grid-area:heading;min-width:0;padding:0 8px}.game-viewport .scores{grid-area:scores}.play-surface{display:contents}.board-window{grid-area:board;align-items:flex-start;min-height:0;display:flex}.board.overview{aspect-ratio:1;flex:none;width:100%;height:100%;margin:0;container-type:inline-size}.board.precision{flex:none;height:682px}.play-dock{grid-area:dock;grid-template-rows:auto minmax(0,1fr) 48px;min-height:0;display:grid;overflow-y:auto}.play-dock .outcome{grid-row:3}.draft-feedback{overscroll-behavior:contain;min-height:0;overflow-y:auto}.square:disabled,.rack-slot .tile:disabled{opacity:1;cursor:default}.responses{grid-row:2/4;grid-template-rows:minmax(0,1fr) 48px;min-height:0;display:grid}.response-buttons{gap:6px;min-height:0;display:flex}.response-buttons button{flex:1;height:48px;min-height:48px;padding:6px;font-size:14px}.play-dock dialog p{font-size:16px}.score small{white-space:nowrap}.turn-actions{z-index:3;background:#f4f0e7;gap:6px;height:48px;margin:0;display:flex;position:sticky;bottom:0}.turn-actions button{padding:10px}.turn-actions .play-button{flex:1;width:auto;margin:0}.exchange-tiles{grid-template-columns:repeat(4,minmax(44px,1fr));gap:8px;display:grid}.exchange-tiles .tile{position:relative}.outcome{justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.outcome strong{font-size:20px}.outcome a{color:#fff;white-space:nowrap;background:#285440;border-radius:10px;align-items:center;min-height:48px;padding:8px 16px;text-decoration:none;display:flex}.highlights{margin-top:16px}.highlights ul{padding-left:20px}.highlights li{overflow-wrap:anywhere;margin-bottom:10px}.notice.recovery p{margin:0 0 10px}.notice.recovery button{width:100%}:is(.game-viewport:has(.notice.recovery) .rack-tools,.game-viewport:has(.notice.recovery) .draft-feedback){display:none}.play-dock p.draft-storage-note{margin:4px 0;font-size:12px}.game-heading h1,.outcome strong{overflow-wrap:anywhere;min-width:0}.turn-heading{justify-content:space-between;align-items:center;gap:8px;height:44px;min-height:44px;display:flex}.turn-heading h1{flex:1;min-width:0}.game-heading.your-turn h1{color:#164e34}.game-options{flex:none;gap:4px;display:flex}.game-options>button{min-width:44px;min-height:44px;padding:6px 8px;font-size:12px}.game-viewport button:not(.square):not(.tile){border-radius:2px}.square.occupied,.square.provisional,.square.draft{color:#16251b;font-family:system-ui,sans-serif;font-weight:800}.overview .square:not(.empty){font-size:6cqw;line-height:1}.game-options dialog .highlights{border:0;margin:0 0 16px;padding:0}.game-options dialog .highlights>h2{display:none}.turn-alternatives{flex:1;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:6px;width:100%;display:grid}.turn-options{position:relative}.turn-options summary{color:#285440;cursor:pointer;background:#e6eee6;justify-content:center;align-items:center;min-width:110px;padding:10px;font-weight:650;list-style:none;display:flex}.turn-options summary::-webkit-details-marker{display:none}.turn-options .turn-alternatives{z-index:5;background:#fffef9;border:1px solid #b4c0b3;width:calc(100cqw - 16px);padding:6px;position:absolute;bottom:calc(100% + 4px);left:0}.turn-actions:has(.play-button) .turn-options .turn-alternatives{left:auto;right:0}.turn-options summary:after{content:"▴";margin-left:8px;font-size:10px}.turn-options[open] summary:after{content:"▾"}.score.current:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.score-seat{white-space:nowrap;flex:none;font-size:10px}.game-viewport:has(.scores>.score:nth-child(4)){--score-height:52px}.rack-title{flex:none}.bag-count,.control-caption{font-size:10px;line-height:12px;display:block}.bag-count{color:#52645a}.summary-button{color:#22382e;text-align:left;background:0 0;flex-direction:column;justify-content:center;align-items:flex-start;width:100%;min-width:0;height:48px;min-height:44px;padding:2px 0;display:flex}.summary-label,.summary-detail{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:11px;font-weight:500;line-height:12px;display:block;overflow:hidden}.summary-word{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:15px;font-weight:750;line-height:20px;display:block;overflow:hidden}.play-dock .waiting-status{align-items:center;margin:0;font-size:13px;display:flex}.draft-feedback p{margin:0;line-height:16px}.game-options>button{justify-content:center;align-items:center;gap:4px;display:flex}.turn-alternatives button{justify-content:center;align-items:center;gap:8px;width:100%;height:48px;display:flex}.turn-alternatives .action-pass{color:#234359;background:#dae8f3}.turn-alternatives .action-exchange{color:#664414;background:#f3e2bd}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.notice.recovery{grid-template-rows:minmax(0,1fr) 48px;gap:8px;display:grid;overflow:hidden}.recovery-copy{min-height:0;overflow-y:auto}
