#rummikub-play-area{--rk-tile-w:44px;--rk-tile-h:61px;display:flex;flex-direction:column;isolation:isolate;min-width:0;width:100%;box-sizing:border-box;color:#eaf5ff;background:radial-gradient(ellipse at 45% 20%,#2584c0 0,#1464a1 48%,#3c3f4d 100%);border:1px solid #4395c8;border-radius:18px;overflow:hidden;box-shadow:inset 0 1px #ffffff35,0 16px 35px #0003;font-family:inherit}
#rummikub-play-area[hidden]{display:none!important}
#rummikub-play-area *{box-sizing:border-box}
#rummikub-play-area aside{width:auto;min-width:0}
.rk-header{display:flex;align-items:center;gap:16px;min-height:67px;padding:12px 20px;background:linear-gradient(#2b2e3880,#363a4710);border-bottom:1px solid #ffffff12}
.rk-brand{font:bold italic 25px Georgia,serif;letter-spacing:-1px;text-shadow:0 2px #292c36;display:flex;align-items:baseline;gap:10px}.rk-brand span{font:10px sans-serif;letter-spacing:1px;opacity:.6}
.rk-header h2{font-size:15px;margin:0 0 0 auto;max-width:45%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-weight:600}.rk-clock{display:flex;align-items:baseline;gap:3px;color:#c5e8ff;min-width:49px}.rk-clock b{font-size:25px;font-variant-numeric:tabular-nums}.rk-clock span{font-size:11px}.rk-my-turn .rk-clock{color:#fff19c}
#rk-guide{border-radius:50%;min-width:44px;min-height:44px;padding:0;background:#282a3470;border:1px solid #ffffff40;color:#eaf5ff;font-size:20px}
.rk-arena{display:grid;grid-template-columns:88px minmax(0,1fr) 72px;gap:10px;padding:12px 14px 0;min-width:0}
.rk-players{display:flex;flex-direction:column;gap:16px;padding-top:15px}.rk-player{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;min-width:0}.rk-avatar{width:57px;height:57px;background:radial-gradient(circle,#9ad0ed,#356599);border:2px solid #ffffff55;border-radius:50%;overflow:hidden;display:grid;place-items:center;box-shadow:0 3px 5px #21232c80}.rk-avatar>*{max-width:100%;max-height:100%}.rk-player.current .rk-avatar{border-color:#ffe08b;box-shadow:0 0 0 3px #ffdf6040,0 3px 5px #21232c80}.rk-player b{font-size:11px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rk-player small{color:#c7e7fa;font-size:10px}.rk-player.current b{color:#fff0ac}
.rk-board-wrap{min-width:0}.rk-table-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 10px 10px;font-size:11px;color:#c4e7ff}.rk-draft-label{opacity:.65;font-size:10px}
.rk-table{position:relative;overflow:auto;height:clamp(290px,44vh,480px);border-radius:9px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#91ccf58c #41455540;background:radial-gradient(ellipse,#ffffff07,transparent);border:1px solid #ffffff0c}
.rk-surface{position:relative;min-height:100%;width:100%;box-sizing:content-box!important;padding-bottom:60px}
.rk-meld{position:absolute;display:flex;flex-wrap:wrap;align-content:flex-start;gap:3px;width:max-content;max-width:calc(100% - 16px);border-radius:5px;padding:3px;outline:1px solid transparent;transition:outline-color .15s;background:transparent}
.rk-meld.rk-incomplete{outline:1px dashed #ffd6aa80}.rk-meld:focus-visible{outline:2px solid #fff3aa;outline-offset:3px}.rk-meld.rk-drop-target{outline:2px solid #fbe6a3;background:#fff2}
.rk-empty{position:absolute;inset:0 0 auto;min-height:230px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;text-align:center;pointer-events:none;color:#d6edff70;padding:20px}.rk-empty b{font-size:14px;font-weight:500}.rk-empty>span{font-size:11px}.rk-sample{display:flex;gap:5px;margin-bottom:4px;opacity:.32;transform:rotate(-5deg)}.rk-sample i{font-style:normal;font-weight:700;font-size:31px;display:grid;place-items:center;border:1px solid #dcf0ff70;border-radius:5px;width:38px;height:50px}
#rummikub-play-area .rk-tile,.rk-drag-ghost .rk-tile{position:relative;flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:var(--rk-tile-w,44px);height:var(--rk-tile-h,61px);min-width:var(--rk-tile-w,44px);padding:3px 0 2px;border-radius:5px;border:1px solid #fff7dd;background:linear-gradient(110deg,#fffef6,#eeeadd)!important;box-shadow:0 3px 0 #b8b3a1,0 5px 5px #26293266,inset 1px 1px #fff;color:#232b32;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab;transition:box-shadow .12s;line-height:1}
.rk-tile b{font-size:32px;font-weight:750;font-family:Arial,sans-serif;line-height:1.1;letter-spacing:-1px;pointer-events:none}.rk-tile span{font-size:7px;opacity:.55;pointer-events:none}.rk-tile[data-color=red]{color:#d52e28!important}.rk-tile[data-color=blue]{color:#1267cb!important}.rk-tile[data-color=orange]{color:#e29905!important}.rk-tile[data-color=joker]{color:#7d34a5!important}
#rummikub-play-area .rk-tile[aria-pressed=true]{outline:2px solid #ffe291;outline-offset:1px;transform:translateY(-5px);box-shadow:0 4px #c29f55,0 7px 10px #1e202790}
#rummikub-play-area .rk-tile:disabled{opacity:1;cursor:default}#rummikub-play-area .rk-tile:focus-visible{outline:3px solid #fff799;outline-offset:3px}
.rk-actions{display:flex;flex-direction:column;gap:9px;padding-top:22px}.rk-actions button,.rk-sorts button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;min-height:54px;min-width:44px;padding:6px 3px;border:1px solid #95cdec66;background:linear-gradient(#1467a2,#3b3e4c);border-radius:9px;color:#e4f3ff;box-shadow:0 3px 0 #2c2f39;font-family:inherit}.rk-actions b{font-size:25px;line-height:1}.rk-actions span{font-size:10px}.rk-actions small{font-size:10px;color:#c7e5f9}.rk-actions button:disabled{opacity:.38;cursor:default}.rk-actions #rk-draw{margin-top:auto;min-height:78px;background:linear-gradient(#238ab5,#126288)}.rk-actions #rk-submit{min-height:70px;background:linear-gradient(#67b65d,#3c8d40);border-color:#b1df90;color:#fff9d9;box-shadow:0 3px #225f38}.rk-actions #rk-submit b{font-size:28px}
.rk-feedback{padding:9px 100px 8px;display:flex;justify-content:space-between;gap:8px;min-height:32px;color:#cbe9fc}.rk-feedback p{margin:0;font-size:11px;line-height:1.45}#rk-status{max-width:48%;opacity:.8}#rk-help{text-align:right;flex:1}
.rk-rack-section{padding:8px 16px 14px;background:linear-gradient(#30333e30,#2a2c3680)}.rk-rack-head{display:flex;align-items:center;justify-content:space-between;min-height:32px;padding:0 7px 5px}.rk-rack-head>b{font-size:12px;font-weight:500;color:#deeeff}.rk-assist{display:flex;gap:6px}.rk-assist button{background:transparent;border:0;color:#d4e9fc;padding:5px 9px;font-size:11px;min-height:44px}.rk-assist button:disabled{opacity:.3}
.rk-rack-bottom{display:flex;align-items:stretch;gap:12px}.rk-rack{flex:1;min-width:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--rk-tile-w),1fr));grid-auto-rows:77px;align-items:start;justify-items:center;gap:0 3px;padding:10px 13px 5px;min-height:170px;max-height:248px;overflow:auto;border:1px solid #885b36;border-top-color:#e6b67b;border-radius:7px;background:repeating-linear-gradient(0deg,#6e3d21 0px,#704422 6px,#d5a76d 7px,#b78550 12px,#956139 13px,#aa7646 69px,#cc9b60 75px,#58341c 77px);box-shadow:0 6px 0 #4e311f,0 9px 14px #1e202780,inset 0 1px 3px #f5d39d;scrollbar-width:thin;scrollbar-color:#edc38e #744927;overscroll-behavior:contain}.rk-rack .rk-tile{box-shadow:0 3px #bbb5a2,0 8px 5px #3d251f88!important}.rk-rack.rk-drop-target{outline:2px solid #ffe79f;outline-offset:2px}.rk-sorts{display:flex;flex-direction:column;justify-content:center;gap:9px;width:60px}.rk-sorts b{font-size:18px;letter-spacing:1px}.rk-sorts span{font-size:10px}.rk-sorts button[aria-pressed=true]{border-color:#f3d28e;color:#ffe8b0}
.rk-drag-ghost{position:fixed;display:flex;gap:3px;z-index:10020;pointer-events:none;filter:drop-shadow(0 10px 8px #0005);transform:rotate(-3deg);transform-origin:left center;max-width:90vw}.rk-drag-ghost .rk-tile{flex-shrink:1;min-width:20px!important;opacity:.95}.rk-drop-mark{position:fixed;width:4px;background:#fff0a1;box-shadow:0 0 8px #ffe687;border-radius:2px;z-index:10019;pointer-events:none}.rk-dragging,.rk-dragging .rk-tile{cursor:grabbing!important}.rk-dragging .rk-tile[aria-pressed=true]{opacity:.4!important}
.rummikub-active #game{overflow:auto!important;display:block;min-height:0}.rummikub-active #game[hidden]{display:none}.rummikub-active #board{display:none!important}
@media(max-height:500px) and (orientation:landscape){:where(html:not(.mobile-layout)) .rk-header{min-height:48px;padding:3px 12px}:where(html:not(.mobile-layout)) .rk-header h2{font-size:13px}:where(html:not(.mobile-layout)) .rk-arena{grid-template-columns:68px minmax(0,1fr) 58px;padding:5px 10px 0;gap:7px}:where(html:not(.mobile-layout)) .rk-players{padding-top:5px;gap:10px}:where(html:not(.mobile-layout)) .rk-avatar{width:38px;height:38px}:where(html:not(.mobile-layout)) .rk-player b{font-size:10px}:where(html:not(.mobile-layout)) .rk-table{height:230px}:where(html:not(.mobile-layout)) .rk-actions{padding-top:22px;gap:7px}:where(html:not(.mobile-layout)) .rk-actions button{min-height:44px;flex-direction:row}:where(html:not(.mobile-layout)) .rk-actions span{font-size:9px}:where(html:not(.mobile-layout)) .rk-actions #rk-draw,:where(html:not(.mobile-layout)) .rk-actions #rk-submit{min-height:52px;flex-wrap:wrap}:where(html:not(.mobile-layout)) .rk-feedback{padding:7px 80px}:where(html:not(.mobile-layout)) .rk-rack{min-height:91px;max-height:168px}:where(html:not(.mobile-layout)) .rk-rack-section{padding-top:0}:where(html:not(.mobile-layout)) .rk-sorts{flex-direction:row;width:105px}:where(html:not(.mobile-layout)) .rk-sorts button{flex:1}:where(html:not(.mobile-layout)) .rk-rack-head{min-height:30px}:where(html:not(.mobile-layout)) .rk-assist button{min-height:44px}}
@media(prefers-reduced-motion:reduce){#rummikub-play-area *{transition:none!important}.rk-drag-ghost{transform:none}}
/* The rack and board are the main surfaces; the right rail stays narrow. */
#rummikub-play-area{background:radial-gradient(ellipse at 48% 36%,#2264a2 0,#404352 52%,#272932 100%);border-color:#355982}
.rk-header{background:linear-gradient(#20222a80,transparent);min-height:54px;padding-top:5px;padding-bottom:5px}.rk-brand{font-size:22px}.rk-header h2{font-weight:500}.rk-clock b{color:inherit!important;font-size:23px}.rk-arena{grid-template-columns:80px minmax(0,1fr) 88px;gap:12px}.rk-table{background:transparent;border-color:transparent;height:clamp(300px,43vh,460px)}.rk-table-head{opacity:.8}
.rk-actions{padding-top:20px;gap:12px}.rk-actions .rk-sorts{display:flex;flex-direction:column;gap:0;width:100%;border-radius:22px;overflow:hidden;border:1px solid #5e8cc45c;box-shadow:0 4px 7px #21232c80}.rk-actions .rk-sorts button{width:100%;border:0;border-radius:0;box-shadow:none;min-height:53px;background:linear-gradient(100deg,#23517f,#414555);color:#deeaff}.rk-actions .rk-sorts button+button{border-top:1px solid #ffffff19}.rk-actions .rk-sorts button[aria-pressed=true]{background:linear-gradient(100deg,#3a6894,#2b5386);color:#ffe7ab}.rk-actions .rk-sorts b{font-size:22px}.rk-actions .rk-sorts span{font-size:9px;opacity:.7}.rk-history{display:flex;gap:5px}.rk-history button{min-width:0;flex:1;min-height:44px;padding:2px;background:#383b48;border-color:#5281b344;box-shadow:none}.rk-history b{font-size:24px}.rk-actions #rk-draw{min-height:94px;background:linear-gradient(100deg,#28537f,#404453);border-color:#b093685c;border-radius:17px;box-shadow:0 4px 6px #1e202870}.rk-actions #rk-draw>b{color:#e4b775;font-size:38px;font-weight:400}.rk-actions #rk-submit{min-height:58px;border-radius:12px}.rk-actions #rk-submit b{font-size:24px}.rk-feedback{padding:8px 104px}.rk-rack-section{width:min(740px,calc(100% - 190px));margin:0 auto;padding:0 0 16px;background:none}.rk-rack-head{padding:0 4px 3px}.rk-rack{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;justify-content:flex-start;gap:16px 9px;padding:10px 13px 8px;min-height:166px;max-height:244px;background:repeating-linear-gradient(0deg,#8b6341 0px,#966e47 4px,#e2bf88 6px,#d3a872 10px,#b68756 13px,#c99b68 68px,#e0ba85 74px,#805832 77px)}.rk-rack-group{display:flex;flex-wrap:wrap;gap:3px;max-width:100%;position:relative;min-height:61px}.rk-rack-combo{margin-right:13px}.rk-rack-combo:after{content:'';position:absolute;bottom:-8px;left:3px;right:3px;height:2px;background:#ffe5ad80;border-radius:3px}.rk-rack .rk-rack-group:last-child{margin-right:0}
@media(max-height:500px) and (orientation:landscape){:where(html:not(.mobile-layout)) .rk-arena{grid-template-columns:63px minmax(0,1fr) 86px;gap:8px}:where(html:not(.mobile-layout)) .rk-actions{padding-top:22px;gap:6px}:where(html:not(.mobile-layout)) .rk-actions .rk-sorts{flex-direction:row;border-radius:10px}:where(html:not(.mobile-layout)) .rk-actions .rk-sorts button{min-width:0;min-height:44px;display:flex;flex-direction:column}:where(html:not(.mobile-layout)) .rk-actions .rk-sorts b{font-size:16px}:where(html:not(.mobile-layout)) .rk-actions .rk-sorts span{display:none}:where(html:not(.mobile-layout)) .rk-actions .rk-sorts button+button{border-top:0;border-left:1px solid #ffffff19}:where(html:not(.mobile-layout)) .rk-actions #rk-draw,:where(html:not(.mobile-layout)) .rk-actions #rk-submit{min-height:53px}:where(html:not(.mobile-layout)) .rk-actions #rk-draw>b{font-size:26px}:where(html:not(.mobile-layout)) .rk-table{height:220px}:where(html:not(.mobile-layout)) .rk-rack-section{width:calc(100% - 190px)}:where(html:not(.mobile-layout)) .rk-rack{min-height:91px;max-height:168px}:where(html:not(.mobile-layout)) .rk-feedback{padding:6px 86px}:where(html:not(.mobile-layout)) .rk-header{min-height:47px}}
/* Keep the rack on screen; only a crowded table/rack scrolls, never the whole game. */
body.rummikub-active #game{display:flex!important;flex-direction:column;overflow:hidden!important;min-height:0}
body.rummikub-active #game>.game-head{flex:0 0 auto}
#rummikub-play-area{flex:1;min-height:0;position:relative}
.rk-header,.rk-feedback,.rk-rack-section{flex:0 0 auto}
.rk-arena{flex:1;min-height:0}
.rk-board-wrap{display:flex;flex-direction:column;min-height:0}
.rk-table-head{flex:0 0 auto}
.rk-table{flex:1;height:auto;min-height:0}
.rk-players{overflow:auto;scrollbar-width:none}
.rk-actions{min-height:0;padding-bottom:4px}
.rk-rack{height:166px;min-height:0;max-height:none}
@media(max-height:500px) and (orientation:landscape){:where(html:not(.mobile-layout)) #rummikub-play-area{--rk-tile-h:46px}:where(html:not(.mobile-layout)) .rk-header{min-height:44px;padding:0 10px}:where(html:not(.mobile-layout)) .rk-header h2{font-size:12px}:where(html:not(.mobile-layout)) .rk-header .rk-brand{font-size:18px}:where(html:not(.mobile-layout)) .rk-header #rk-guide{min-height:36px;min-width:36px}:where(html:not(.mobile-layout)) .rk-arena{grid-template-columns:63px minmax(0,1fr) 86px;padding-top:0}:where(html:not(.mobile-layout)) .rk-table-head{display:none}:where(html:not(.mobile-layout)) .rk-actions{position:absolute;top:48px;right:10px;bottom:7px;width:86px!important;padding:0;gap:4px}:where(html:not(.mobile-layout)) .rk-actions .rk-sorts{flex-shrink:0}:where(html:not(.mobile-layout)) .rk-actions .rk-sorts button{min-height:44px}:where(html:not(.mobile-layout)) .rk-history button{min-height:44px}:where(html:not(.mobile-layout)) .rk-actions #rk-draw{min-height:44px;flex:1;padding:3px}:where(html:not(.mobile-layout)) .rk-actions #rk-submit{min-height:44px}:where(html:not(.mobile-layout)) .rk-actions #rk-draw span{display:none}:where(html:not(.mobile-layout)) .rk-actions #rk-draw b{font-size:26px}:where(html:not(.mobile-layout)) .rk-actions #rk-submit span{font-size:9px}:where(html:not(.mobile-layout)) .rk-feedback{display:none}:where(html:not(.mobile-layout)) .rk-rack-section{margin-left:81px;margin-right:106px;width:auto;padding-bottom:7px}:where(html:not(.mobile-layout)) .rk-rack-head{height:31px;min-height:31px;padding:0}:where(html:not(.mobile-layout)) .rk-rack-head>b{font-size:10px}:where(html:not(.mobile-layout)) .rk-assist button{min-height:28px;font-size:9px;padding:1px 7px}:where(html:not(.mobile-layout)) .rk-rack{height:110px;padding:7px 9px;gap:9px 6px;background:repeating-linear-gradient(0deg,#8b6341 0px,#c79a67 4px,#e2bf88 6px,#d3a872 9px,#c99b68 50px,#805832 55px)}:where(html:not(.mobile-layout)) .rk-rack-group{min-height:46px}:where(html:not(.mobile-layout)) .rk-rack-combo{margin-right:8px}:where(html:not(.mobile-layout)) .rk-rack-combo:after{bottom:-4px}:where(html:not(.mobile-layout)) .rk-tile b{font-size:26px}:where(html:not(.mobile-layout)) .rk-tile span{font-size:6px}:where(html:not(.mobile-layout)) .rk-empty{min-height:100px;padding:8px;gap:4px}:where(html:not(.mobile-layout)) .rk-empty .rk-sample{display:none}:where(html:not(.mobile-layout)) .rk-avatar{width:34px;height:34px}:where(html:not(.mobile-layout)) .rk-players{gap:8px;padding-top:3px}:where(html:not(.mobile-layout)) .rk-player small{font-size:8px}:where(html:not(.mobile-layout)) .rk-player b{font-size:9px}}
@media(max-height:500px) and (orientation:landscape){:where(html:not(.mobile-layout)) .rk-rack-head{position:absolute;left:9px;bottom:10px;width:64px;height:auto;min-height:0;display:block}:where(html:not(.mobile-layout)) .rk-rack-head>b{display:none}:where(html:not(.mobile-layout)) .rk-assist{flex-direction:column;gap:2px}:where(html:not(.mobile-layout)) .rk-assist button{min-height:44px;padding:4px 2px}:where(html:not(.mobile-layout)) .rk-rack{height:116px}}
.rk-rack{display:grid;grid-template-columns:repeat(var(--rk-cols,14),var(--rk-rack-tile-w,44px));grid-auto-rows:var(--rk-rack-tile-h,var(--rk-tile-h));gap:16px 3px;justify-content:start;align-content:start}
.rk-rack-group{display:contents;margin:0}.rk-rack-group:after{display:none}.rk-rack-cell{width:var(--rk-rack-tile-w,44px);height:var(--rk-rack-tile-h,var(--rk-tile-h));border-radius:4px;position:relative}.rk-rack-cell.rk-drop-target{background:#fff3;outline:2px solid #ffe49a}#rummikub-play-area #rk-rack .rk-tile{width:var(--rk-rack-tile-w,44px);min-width:var(--rk-rack-tile-w,44px);height:var(--rk-rack-tile-h,var(--rk-tile-h,61px))}
@media(max-height:500px) and (orientation:landscape){:where(html:not(.mobile-layout)) .rk-rack{gap:9px 3px}}

/* A fixed, visible table; density changes tile size instead of creating scroll space. */
html.has-rummikub-active:not(body){height:100%;overflow:hidden}
body.rummikub-active{height:var(--game-viewport-height,100dvh);min-height:0;overflow:hidden;overscroll-behavior:none}
body.rummikub-active>.public-site-footer{display:none}
#rk-table{overflow:hidden;touch-action:none;overscroll-behavior:none}
#rk-surface{width:100%;height:100%;min-height:0;max-height:100%;padding:0;box-sizing:border-box!important;overflow:hidden}
#rk-surface .rk-meld{display:grid;grid-template-columns:repeat(var(--rk-group-cols),var(--rk-board-tile-w));grid-auto-rows:var(--rk-board-tile-h);max-width:none;gap:calc(3px * var(--rk-fit));padding:calc(3px * var(--rk-fit));border:0;border-radius:calc(5px * var(--rk-fit))}
#rummikub-play-area #rk-surface .rk-tile{width:var(--rk-board-tile-w);min-width:0;height:var(--rk-board-tile-h);min-height:0;padding:calc(2px * var(--rk-fit)) 0;gap:0;border-width:calc(1px * var(--rk-fit));border-radius:calc(5px * var(--rk-fit));box-shadow:0 calc(3px * var(--rk-fit)) 0 #b8b3a1,0 calc(5px * var(--rk-fit)) calc(5px * var(--rk-fit)) #26293266}
#rk-surface .rk-tile b{font-size:var(--rk-board-font);letter-spacing:calc(-1px * var(--rk-fit))}
#rk-surface .rk-tile span{font-size:calc(7px * var(--rk-fit))}
#rummikub-play-area #rk-surface .rk-tile[aria-pressed=true]{transform:translateY(calc(-5px * var(--rk-fit)))}
#rk-surface .rk-empty{inset:0;min-height:0;overflow:hidden}

/* A short arrival cue, then a steady turn marker. Never intercept tile input. */
.rk-turn-notice{position:absolute;inset:0;z-index:12;display:grid;place-items:center;pointer-events:none;user-select:none;padding:20px}
.rk-turn-notice[hidden]{display:none!important}
.rk-turn-banner{display:flex;flex-direction:column;align-items:center;gap:8px;width:min(380px,100%);padding:24px 20px;border:1px solid #e9cd87b8;border-radius:16px;background:linear-gradient(135deg,#2c2e39f5,#1b1d23f5);box-shadow:0 16px 48px #13141885,inset 0 1px #fff2;text-align:center;animation:rk-turn-arrival 1.6s both}
.rk-turn-kicker{color:#e9cd87;font-size:10px;font-weight:700;letter-spacing:3px}
.rk-turn-banner strong{color:#fff1c5;font-size:clamp(32px,4vw,46px);font-weight:800;line-height:1.2;letter-spacing:-1.5px;text-shadow:0 3px 14px #eac35a20}
#rk-turn-hint{color:#d4e4f6;font-size:12px;line-height:1.5;word-break:keep-all}
#rummikub-play-area.rk-my-turn{border-color:#d6bb77}
.rk-my-turn #rk-turn{display:flex;align-items:center;gap:6px;color:#fff0bb;font-weight:800;background:#21232ab8;border:1px solid #e5c47780;border-radius:20px;padding:5px 11px;flex-shrink:0;max-width:none}
.rk-my-turn #rk-turn:before{content:'';width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#ffe09a;box-shadow:0 0 9px #ffd87780}
.rk-my-turn .rk-rack{outline:2px solid #f4d38fb3;outline-offset:-2px}
.rk-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@keyframes rk-turn-arrival{0%{opacity:0;transform:translateY(12px) scale(.95)}16%,76%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-8px) scale(.99)}}
@media(max-height:500px) and (orientation:landscape){:where(html:not(.mobile-layout)) .rk-turn-banner{width:310px;padding:14px 18px;gap:5px}:where(html:not(.mobile-layout)) .rk-turn-banner strong{font-size:32px}}
@media(prefers-reduced-motion:reduce){.rk-turn-banner{animation:none}}

/* Submission feedback does not change board geometry or intercept gestures. */
#rk-surface .rk-meld.rk-invalid{outline:2px solid #ff6571;outline-offset:1px;background:#ff344020;box-shadow:0 0 0 3px #75172545}
#rk-surface .rk-meld.rk-invalid:after{content:'';position:absolute;left:1px;right:1px;bottom:0;height:3px;background:#ff6571;border-radius:3px;pointer-events:none}
.rk-validation-message{position:absolute;z-index:14;top:62px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);margin:0;padding:9px 14px;border:1px solid #ff808b;border-radius:9px;background:#471c2af5;box-shadow:0 5px 18px #16171c66;color:#ffe6e9;font-size:12px;font-weight:600;line-height:1.5;text-align:center;word-break:keep-all;pointer-events:none}
.rk-validation-message[hidden]{display:none!important}
.rk-actions #rk-submit.rk-needs-fix{background:linear-gradient(#934c54,#733340);border-color:#ff919a;box-shadow:0 3px #481e2a}
@media(max-height:500px) and (orientation:landscape){:where(html:not(.mobile-layout)) .rk-validation-message{top:45px;font-size:10px;padding:5px 10px;max-width:calc(100% - 180px)}}

/* 현생 OFF: shared dark panels, compact participant cards and a quiet table. */
#rummikub-play-area{color:#e6e9f3;background:radial-gradient(ellipse at 20% 0,#7367e80b,transparent 55%),#16181d;border:1px solid #ffffff12;box-shadow:0 12px 28px #0002}
.rk-header{background:#1c1e25;border-bottom-color:#ffffff0b}
.rk-header h2{margin-left:0;margin-right:auto;max-width:70%;font-size:15px;color:#cfd5e5}
.rk-clock{color:#a4aec2}.rk-my-turn .rk-clock{color:#c9baff}
#rk-guide{background:#ffffff06;border-color:#ffffff19;color:#b7c0d4;border-radius:12px}
.rk-arena{grid-template-columns:112px minmax(0,1fr) 72px}
.rk-players{gap:9px;padding-top:22px}
.rk-player{align-items:stretch;text-align:left;gap:6px;padding:11px 9px;border:1px solid #ffffff0b;border-radius:11px;background:#1e2028;box-shadow:none}
.rk-player.current{border-color:#a795ff69;background:#7b65cf15;box-shadow:inset 3px 0 #9e88f0}
.rk-player b{font-size:12px;color:#d5dbea}.rk-player.current b{color:#e1d9ff}.rk-player small{font-size:10px;color:#8e9ab2}
.rk-player-state{font-size:9px;color:#68768e}.rk-player.current .rk-player-state{color:#b6a3fc}
.rk-table-head{color:#8390a9}.rk-draft-label{opacity:1;color:#797992}
.rk-table{background:#14161b;border:1px solid #ffffff08;border-radius:12px}
.rk-empty{color:#8993ac}.rk-sample{opacity:.19}
.rk-actions button,.rk-actions .rk-sorts button,.rk-history button,.rk-actions #rk-draw{background:#282a33;border-color:#ffffff12;box-shadow:none;border-radius:11px;color:#b9c4da}
.rk-actions .rk-sorts{border-color:#ffffff12;box-shadow:none;border-radius:12px}
.rk-actions .rk-sorts button{border-radius:0}.rk-actions .rk-sorts button[aria-pressed=true]{background:#7560c433;color:#d7caff}
.rk-actions #rk-draw{border-radius:12px}.rk-actions #rk-draw>b{color:#baaddf}.rk-actions small{color:#9babc3}
.rk-actions #rk-submit{background:#7360bd;border-color:#b09ddb66;box-shadow:none;color:#fff}
.rk-actions #rk-submit.rk-needs-fix{background:#733340;border-color:#ff919a}
.rk-assist button{background:#252730;border-color:#ffffff13;color:#aebbd0}
.rk-feedback p{color:#8a98af}
.rk-rack-head{color:#adb8cc}
.rk-rack{border:1px solid #ffffff13;border-radius:12px;box-shadow:inset 0 1px #ffffff04;background:repeating-linear-gradient(0deg,#1a1c22 0px,#1a1c22 4px,#384052 5px,#2b2d37 8px,#272933 72px,#1a1c22 77px)}
.rk-my-turn .rk-rack{border-color:#9985dd70;box-shadow:inset 0 1px #d0bfff0a,0 0 0 1px #9582c415}
#rummikub-play-area .rk-tile{border-color:#f1eee2;box-shadow:0 2px 0 #aaa99e,0 3px 4px #0004,inset 1px 1px #fff;border-radius:5px}
#rummikub-play-area .rk-tile[aria-pressed=true]{outline-color:#b7a0f0;box-shadow:0 3px #9a80c2,0 6px 12px #0005}
.rk-meld.rk-drop-target{outline-color:#b9a4f2;background:#ae95ef13}
.rk-remote-drag{position:absolute;display:flex;gap:3px;z-index:8;pointer-events:none;transform:translate(-22px,-30px);filter:drop-shadow(0 5px 7px #0007);opacity:.85;transition:left .12s linear,top .12s linear}
#rummikub-play-area .rk-remote-drag .rk-tile{width:var(--rk-board-tile-w);min-width:var(--rk-board-tile-w);height:var(--rk-board-tile-h)}
#rummikub-play-area .rk-remote-moving{opacity:.3}
@media(max-height:500px) and (orientation:landscape){:where(html:not(.mobile-layout)) .rk-arena{grid-template-columns:76px minmax(0,1fr) 86px}:where(html:not(.mobile-layout)) .rk-players{gap:5px;padding-top:4px}:where(html:not(.mobile-layout)) .rk-player,:where(html:not(.mobile-layout)) .rk-player:nth-child(n+3){padding:7px 5px;gap:3px}:where(html:not(.mobile-layout)) .rk-player b{font-size:10px}:where(html:not(.mobile-layout)) .rk-player small{font-size:9px}:where(html:not(.mobile-layout)) .rk-player-state{font-size:8px}:where(html:not(.mobile-layout)) .rk-rack{background:repeating-linear-gradient(0deg,#1a1c22 0px,#1a1c22 4px,#384052 5px,#2b2d37 8px,#272933 50px,#1a1c22 55px)}}
@media(prefers-reduced-motion:reduce){.rk-remote-drag{transition:none}}

.rk-my-turn #rk-turn{color:#e2d7ff;background:#8f75d925;border-color:#b6a0ef5c}

#rummikub-play-area.rk-my-turn{border-color:#9b87d580}.rk-my-turn .rk-rack{outline-color:#ad97e88c}.rk-my-turn #rk-turn:before{background:#c1a9fa;box-shadow:0 0 8px #a488d966}.rk-turn-banner{border-color:#ae94dc80;background:linear-gradient(135deg,#282b35f5,#1d1e25f5)}.rk-turn-banner strong{color:#e9dfff}.rk-turn-kicker{color:#b3a1d4}
