@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500&display=swap');
:root{--paper:#faf6ed;--ink:#283d35;--muted:#777b6b;--pink:#e9bcb6;--green:#28574a}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}button,select{font:inherit}button{cursor:pointer;border:1px solid #c9cebd;background:transparent;color:inherit;border-radius:7px;padding:10px 15px}button:hover:not(:disabled){filter:brightness(.93);transform:translateY(-1px)}button:disabled{opacity:.4;cursor:default}header{max-width:1380px;margin:auto;height:100px;display:flex;justify-content:space-between;align-items:center;padding:0 44px;border-bottom:1px solid #dcded0}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:38px}.brand span{font-size:16px;letter-spacing:2px;font-weight:700;line-height:1.25}.brand small{font-size:10px;letter-spacing:4px}.tag,.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700}.tag{color:var(--muted)}main{max-width:1380px;margin:auto;padding:35px 44px 20px}.intro{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:30px}h1{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:53px;line-height:1.08;margin:15px 0}h1 em{color:#a05e54}p{color:var(--muted);font-size:14px;line-height:1.6}.setup{display:grid;gap:12px;width:310px}.setup label{font-size:11px;color:var(--muted)}select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #d0d4c5;border-radius:6px;background:transparent;color:var(--ink)}.dark{background:var(--ink);color:white;border:0}.game{border:1px solid #c7cdbc;border-radius:16px;overflow:hidden;box-shadow:0 12px 30px #20392b0b}.tablebar{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;font-size:10px;letter-spacing:1px}.tablebar button{font-size:11px;border:0;padding:5px}.live{display:inline-block;width:7px;height:7px;border-radius:50%;background:#8c9e70;margin-right:8px}.felt{background:radial-gradient(ellipse at center,#386a58,#204c3f);min-height:370px;position:relative;padding:65px 150px;color:#faf5e7}.felt:after{content:'';position:absolute;inset:12px;border:1px solid #e3e4c225;border-radius:10px;pointer-events:none}.center{text-align:center;position:relative;z-index:1}.center .eyebrow{color:#b6c5aa;font-size:9px}.pile{height:74px;margin-top:16px;display:flex;justify-content:center}.pile span{background:#f3edda;color:#73977c;border-radius:6px;box-shadow:3px 4px 0 #bebba5;border:1px solid #fff;width:43px;height:57px;font-size:30px;padding-top:7px;margin:0 -8px;transform:rotate(-15deg)}.pile span:nth-child(2){transform:rotate(8deg) translateY(-5px)}.pile span:last-child{transform:rotate(23deg)}h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:26px;margin:10px 0}.center p{color:#c4d3c6;margin:8px 0 15px;font-size:12px}.actions{display:flex;gap:8px;justify-content:center}.cream{background:#ecebdc;color:var(--ink);border:0;font-size:12px}.pink{background:var(--pink);border:0;color:#442d29;font-weight:700;font-size:12px}#remaining{font-size:10px;color:#b6c8b5}.seat{position:absolute;z-index:2;text-align:center;font-size:12px}.seat.top{top:19px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;text-align:left}.seat.left{left:22px;top:120px}.seat.right{right:22px;top:120px}.avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;font-size:23px;background:#edc3ba;color:#4f3e36;margin:0 auto 7px;border:3px solid #dfe5cb44}.seat.active .avatar{outline:2px solid #e8c785;outline-offset:3px}.seat small{display:block;font-size:9px;color:#bacbbd;margin-top:4px}.backs{margin-top:10px;color:#ddd9ba;letter-spacing:1px;font-size:18px}#discards{display:flex;gap:4px;justify-content:center;flex-wrap:wrap;max-width:470px;margin:14px auto 8px;min-height:34px}.mini{background:#f3eddc;color:#305047;border-radius:3px;padding:4px;min-width:26px;font-size:13px}.rackarea{padding:20px 24px;background:#f1efdf}.rackhead{display:flex;align-items:center;justify-content:space-between;gap:10px}h3{font-size:16px;margin:7px 0 16px}.rackhead button{font-size:11px;margin-left:4px;padding:7px 10px}#rack{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;border-bottom:7px solid #a68b66;padding-bottom:6px}.tile{width:57px;height:78px;border-radius:6px;background:#fffdf4;box-shadow:0 4px 0 #d4d0b8;border:1px solid #d4d5c3;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;color:#49647d}.tile b{font-size:26px;line-height:1.1}.tile small{font-size:9px;margin-top:6px}.tile.b{color:#356b51}.tile.c{color:#a85848}.tile.j{color:#ac7942}.tile.selected{outline:3px solid #b87266;transform:translateY(-8px)}#instruction{text-align:center;font-size:11px;margin:15px 0 0}.bottom{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;padding:30px 0}#cast{display:flex;gap:25px;margin-top:18px}.castperson{font-size:12px}.castperson b{display:block}.castperson small{font-size:10px;color:var(--muted)}.castperson span{display:block;font-size:23px;margin-bottom:7px}.gossip{border-left:1px solid #d7d9c9;padding-left:30px}.gossip p{font-family:'Playfair Display',Georgia,serif;font-size:21px;color:var(--ink);margin:14px 0}.gossip small{font-size:9px;letter-spacing:1.5px}footer{font-size:10px;color:var(--muted);border-top:1px solid #dcded0;padding-top:18px;display:flex;justify-content:space-between}dialog{border:0;border-radius:16px;background:var(--paper);color:var(--ink);padding:32px;width:680px;max-width:94vw;max-height:85vh}dialog::backdrop{background:#122b22aa}.close{float:right;font-size:22px;padding:0 8px;border:0}.pattern{padding:13px 0;border-bottom:1px solid #dddcca}.pattern button{float:right;font-size:10px;padding:5px}.pattern p{margin:6px 0;font-size:12px}.pattern code{display:block;font-size:13px;word-break:break-word}.builder{display:flex;flex-wrap:wrap;gap:4px}.builder button{padding:5px;font-size:11px}input{padding:9px;margin:8px 0;width:100%;font:inherit}#curtain{position:fixed;inset:0;background:#f8f5e9;z-index:20;display:grid;place-items:center;text-align:center}#curtain[hidden]{display:none}@media(max-width:800px){header{height:80px;padding:0 18px}.tag{display:none}main{padding:25px 15px}h1{font-size:40px}.intro{align-items:stretch;flex-direction:column;gap:15px}.setup{width:100%;grid-template-columns:1fr 1fr}.setup>button{grid-column:1/-1}.felt{padding:95px 72px 30px;min-height:400px}.seat.left{left:12px;top:140px}.seat.right{right:12px;top:140px}.seat{font-size:10px}.seat small{font-size:8px}.avatar{width:38px;height:38px;font-size:18px}.backs{font-size:12px;letter-spacing:0}.actions{flex-wrap:wrap}.center .eyebrow{font-size:8px;letter-spacing:1px}.tablebar{padding:10px 12px}.tablebar #round{display:none}.tile{width:38px;height:61px}.tile b{font-size:21px}.tile small{font-size:7px}#rack{gap:4px}.rackarea{padding:18px 10px}.rackhead{align-items:flex-start}.rackhead button{padding:6px;font-size:9px}h3{font-size:13px}.bottom{grid-template-columns:1fr}#cast{justify-content:space-between;gap:8px}.gossip{border-left:0;border-top:1px solid #d7d9c9;padding:20px 0 0}footer span{display:none}}

#charleston{margin-top:14px}#charleston[hidden],#optionalchoice[hidden]{display:none}#optionalchoice{max-width:240px;margin:0 auto 10px;font-size:11px}#optionalchoice select{background:#f3eddc;color:#283d35}.tile:disabled{opacity:.45}#charleston button{font-size:12px}

body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}button{touch-action:manipulation}#installhelp{margin-bottom:20px} @media(max-width:600px){select,input{font-size:16px}header button{min-height:44px}.tile{min-height:64px}.rackhead button{min-height:36px}#passconfirm{min-height:44px}.felt{padding-left:65px;padding-right:65px}h2{font-size:24px}#curtain{padding:20px;padding-top:calc(20px + env(safe-area-inset-top))}}

.setup #restart{grid-column:1/-1;background:#f1efdf;font-size:12px;min-height:44px}#restart:disabled{display:none}

/* The hand tracker opens as a bottom sheet, like a card beside the rack. */
dialog.card-sheet{position:fixed;inset:auto 0 0;margin:0 auto;width:1200px;max-width:100%;max-height:62dvh;border-radius:18px 18px 0 0;padding:20px 24px calc(20px + env(safe-area-inset-bottom));overflow:auto;box-shadow:0 -10px 40px #122b2240}
.card-sheet::backdrop{background:#122b2240}.card-sheet .close{position:sticky;top:0;background:var(--paper);min-width:44px;min-height:44px;z-index:2}.card-sheet h2{font-size:24px}.card-sheet #modalbody>p{font-size:11px;max-width:1000px}.card-columns{columns:3;column-gap:24px;column-rule:1px solid #dddcca}.card-columns .pattern{break-inside:avoid;padding:10px 0}.card-columns .pattern b{font-size:12px}.card-columns .pattern p{font-size:11px}.card-columns .pattern small{font-size:10px}.card-columns .pattern code{font-size:13px;line-height:1.6}
@media(max-width:700px){dialog.card-sheet{padding:14px 12px calc(16px + env(safe-area-inset-bottom));max-height:60dvh}.card-columns{columns:3;min-width:780px;column-gap:18px}.card-sheet #modalbody{overflow-x:auto}.card-sheet #modalbody>p{max-width:100%}.card-sheet h2{font-size:21px}}

.card-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));columns:auto;align-items:start;gap:20px}.card-category{min-width:0;border:1px solid #d4d5c3;border-radius:9px;overflow:hidden;padding:0 12px 8px}.card-category h3{background:var(--green);color:var(--paper);padding:12px;margin:0 -12px 4px;font-family:'Playfair Display',Georgia,serif;font-size:17px}.card-category .pattern:last-child{border-bottom:0}.card-category:nth-child(3n+2) h3{background:#8d554c}.card-category:nth-child(3n) h3{background:#55527a}

/* Compact card rows for a phone at the table. */
.card-columns{gap:10px}.card-category{padding:0 8px 3px}.card-category h3{padding:7px 8px;margin:0 -8px 2px;font-size:15px}.card-columns .pattern{padding:5px 0}.card-columns .pattern p{margin:2px 0;font-size:10px;line-height:1.3}.card-columns .pattern code{font-size:12px;line-height:1.3}.card-columns .pattern small{font-size:9px;line-height:1.2;display:block;margin-top:2px}.card-sheet h2{margin:5px 0;font-size:20px}.card-sheet #modalbody>p{margin:6px 0 10px;line-height:1.35}.card-sheet .eyebrow{font-size:9px;letter-spacing:1px}
@media(max-width:700px){.card-columns{min-width:660px;gap:8px}dialog.card-sheet{padding:10px 8px calc(10px + env(safe-area-inset-bottom))}.card-sheet h2{font-size:18px}}

dialog.card-sheet{height:var(--card-height,60dvh);max-height:92dvh;padding-top:0}.card-sheet #cardresize{position:sticky;top:0;z-index:3;background:var(--paper);text-align:center;margin:0 -8px}.card-sheet #cardhandle{display:block;width:100%;height:32px;min-height:32px;padding:0;border:0;border-radius:0;touch-action:none;cursor:ns-resize;color:#9ca89b;font-size:28px;line-height:24px}.card-sheet #cardhandle:hover{transform:none}.card-sheet .close{top:32px}

.card-sheet .close{position:absolute;float:none;top:0;right:5px;z-index:4;width:36px;min-width:36px;height:32px;min-height:32px;font-size:20px;padding:0}.card-sheet #cardresize{height:24px;min-height:24px;margin:0;padding:0}.card-sheet #cardhandle{height:24px;min-height:24px;line-height:20px;width:calc(100% - 40px);margin:0 auto;padding:0;font-size:24px}.card-sheet #modalbody{margin:0;padding-top:0}

.rackhead #card{background:var(--ink);color:var(--paper);min-height:40px;font-size:11px;padding:8px 10px}@media(max-width:600px){.rackhead{flex-wrap:wrap}.rackhead>div:last-child{display:flex;flex-wrap:wrap;gap:4px}.rackhead #card{min-height:44px}}

#discards{display:block;max-width:520px;max-height:180px;overflow-y:auto;text-align:left}.discard-row{display:grid;grid-template-columns:105px 1fr;gap:5px;align-items:center;margin:5px 0}.discard-row>b{font-size:9px;color:#e5eadc}.discard-row>div{display:flex;gap:3px;flex-wrap:wrap;min-height:25px}.discard-row .mini{display:inline-flex;align-items:center;justify-content:center;font-size:15px;padding:3px;min-width:25px}.discard-row .latest{outline:2px solid #e9bcb6}@media(max-width:600px){.discard-row{grid-template-columns:1fr}.discard-row>b{font-size:9px}#discards{max-height:170px}}

#callpanel{background:#ffffff12;border-radius:8px;padding:8px;margin:10px 0}#callpanel p{margin:3px 0 8px}#callpanel button{font-size:11px;min-height:40px}#calloptions{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:5px}#calloptions button{background:#e9bcb6;color:#283d35}.exposure-row{font-size:9px;margin:6px 0;display:flex;gap:5px;align-items:center;flex-wrap:wrap}.exposure-row:has(>.exposed-set){border-bottom:1px solid #ffffff30;padding-bottom:5px}.exposure-row:not(:has(>.exposed-set)){display:none}.exposed-set{display:inline-flex;gap:2px;align-items:center}.exposed-set button{font-size:9px;padding:5px;background:#faf6ed;color:#283d35}

.discard-center{margin:10px auto;background:#173e3340;border:1px solid #ffffff20;border-radius:8px;padding:8px;max-width:520px}.discard-center .eyebrow{display:block;text-align:center}.discard-center #discards{margin:6px auto 0}.discard-center:has(#discards:empty){display:none}
@media(orientation:landscape) and (max-height:500px) and (max-width:1000px){
header{height:42px;padding:0 14px}.brand{font-size:24px;gap:7px}.brand span{font-size:11px}.brand small{font-size:7px}.tag{display:none}header button{font-size:10px;min-height:32px;padding:5px 8px}main{padding:6px 10px}.intro{margin:0 0 6px;flex-direction:row;gap:8px}.intro>div:first-child{display:none}.setup{width:100%;display:flex;align-items:end;gap:6px}.setup label{font-size:9px;flex:1}.setup select{font-size:12px;margin-top:2px;padding:4px;min-height:30px}.setup button,.setup #restart{font-size:10px;min-height:30px;padding:6px 10px}.tablebar{padding:5px 10px}.felt{min-height:170px;padding:35px 110px 8px}.seat.top{top:6px}.seat.left,.seat.right{top:48px}.seat.left{left:12px}.seat.right{right:12px}.seat .avatar{width:28px;height:28px;font-size:15px;margin-bottom:3px}.seat.top .avatar{margin:0}.seat{font-size:9px}.seat small{font-size:7px}.backs{display:none}.center>.eyebrow,.pile,#remaining{display:none}.center h2{font-size:16px;margin:2px 0}.center>p{font-size:10px;margin:3px 0}.actions button{font-size:10px;padding:5px 8px}.discard-center{padding:4px;margin:5px auto}.discard-center .eyebrow{font-size:8px}.discard-row{grid-template-columns:88px 1fr;margin:3px 0}.discard-row>b{font-size:8px}.discard-row .mini{min-width:22px;padding:2px;font-size:12px}.discard-center #discards{max-height:85px}.rackarea{padding:5px 10px}.rackhead h3{font-size:11px;margin:2px 0}.rackhead .eyebrow{font-size:8px}.rackhead button,.rackhead #card{font-size:10px;min-height:30px;padding:5px 8px}#rack{flex-wrap:nowrap;gap:4px;padding-bottom:3px;border-bottom-width:4px}.tile{flex:1;max-width:48px;height:48px;min-height:48px}.tile b{font-size:19px}.tile small{font-size:6px;margin-top:3px}#instruction{font-size:9px;margin:6px 0}.bottom,footer,#installhelp{display:none}#callpanel{margin:4px 0;padding:4px}#callpanel p{font-size:10px;margin:2px 0}#callpanel button{min-height:30px;font-size:9px;padding:4px 8px}#calloptions{margin-top:3px}.card-columns{min-width:0;gap:8px}.card-sheet{width:100%}.card-sheet h2{font-size:16px}.card-sheet .eyebrow{font-size:8px}.card-category h3{font-size:13px;padding:5px 8px}.card-columns .pattern p{font-size:9px}.card-columns .pattern code{font-size:11px}
}
[hidden]{display:none!important}
@media(orientation:landscape) and (max-height:500px) and (max-width:1000px){#callpanel{display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap}#callpanel p{margin:0;font-size:9px}#callpanel select{width:auto;font-size:10px;padding:3px;margin:0}#calloptions{margin:0}.center>p{display:none}.felt{padding-top:34px;min-height:155px}.discard-center #discards{max-height:60px}.discard-row{min-height:20px}.discard-row>div{min-height:20px}.discard-center{margin:4px auto}.setup label{font-size:0}.setup select{margin:0}.intro{margin-bottom:4px}header{height:34px}.exposure-row{font-size:8px;margin:3px 0}}
#callpanel{background:#163d32;border:1px solid #e8dec530;box-shadow:0 3px 10px #102d2318;border-radius:10px;padding:8px 10px;max-width:440px;margin:8px auto}#callpanel p{color:#f5efdd;font-size:11px;margin:0 0 6px}#callpanel button{min-height:34px;font-size:10px;padding:6px 10px;border-radius:6px}#callpanel #pause{background:transparent;color:#f2ead6;border:1px solid #d9d6bf66}#continueplay{background:#e9dfc4}#caller{color:#f4efdc;background:#204c3f;border-color:#bfc5ae66;margin:4px 0;font-size:12px;padding:6px}.discard-center{background:#173e33;border:1px solid #e5dbc02b;padding:7px 9px}.discard-center .eyebrow{color:#c9cbb0;letter-spacing:1.2px}.discard-row{grid-template-columns:90px 1fr}.discard-row>b{color:#cbd4c1;font-size:8px;font-weight:500}.discard-row:has(>div:empty){display:none}.discard-row .mini{background:#f6f0df;border:1px solid #d5d2b8;box-shadow:0 2px 0 #a6ae93;border-radius:4px}.discard-row .latest{outline:1px solid #e7b4a5;outline-offset:1px}
@media(orientation:landscape) and (max-height:500px) and (max-width:1000px){#callpanel{max-width:100%;padding:4px 6px;margin:4px auto}#callpanel p{margin:0}#callpanel button{min-height:28px;padding:4px 8px;font-size:9px}.discard-center{padding:4px 7px}}

.discard-center{background:transparent;border:0;padding:5px;margin:8px auto;min-height:65px}.discard-center .eyebrow{display:none}#discards{display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:5px;margin:0 auto;min-height:55px;max-height:140px}.discard-center #discards{margin:0 auto}.discard-center .mini{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:34px;padding:4px;font-size:18px;background:#faf3df;border:1px solid #d5d0b7;border-radius:4px;box-shadow:1px 2px 0 #b6b89e}.discard-center .latest{outline:2px solid #e8bcac;outline-offset:2px}@media(orientation:landscape) and (max-height:500px) and (max-width:1000px){.discard-center{min-height:55px;padding:2px;margin:4px auto}.discard-center #discards{min-height:48px;max-height:65px;gap:4px}.discard-center .mini{min-width:26px;height:28px;font-size:15px;padding:3px}}

#callpanel{background:transparent;border:0;box-shadow:none;padding:2px 0;margin:6px auto;display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;max-width:100%}#callpanel p{margin:0;color:#d4ddce;font-size:10px}#callpanel button{min-height:30px;padding:5px 10px;font-size:10px;border-radius:20px}#callpanel #pause{border:1px solid #c5ceb34d;color:#eee8d5;background:transparent}#callpanel #continueplay{background:#e6ddc2;color:#304d40;border:0}#remaining{display:none}.discard-center{margin:14px auto 10px;min-height:75px}#calloptions{margin:0}#callpanel select{width:auto;max-width:160px}.discard-center .mini{height:38px;min-width:29px;font-size:17px;border-radius:5px;box-shadow:0 3px 0 #a4ae95}.discard-center .latest{outline:1px solid #f0d29e;outline-offset:3px}.center h2{font-size:21px}.center>p{font-size:11px}.center>.eyebrow{display:none}@media(orientation:landscape) and (max-height:500px) and (max-width:1000px){#callpanel{margin:4px auto;padding:0;gap:6px}#callpanel p{font-size:9px}#callpanel button{min-height:27px;font-size:9px;padding:4px 9px}.discard-center{margin:7px auto;min-height:58px}.discard-center .mini{height:32px;min-width:26px;font-size:16px}.center h2{font-size:15px}}

.pile{height:38px;margin:4px auto 8px;display:flex}.pile span{width:25px;height:32px;font-size:19px;padding-top:3px;margin:0 -5px;border-radius:4px;box-shadow:2px 2px 0 #bebba5}@media(orientation:landscape) and (max-height:500px) and (max-width:1000px){.pile{display:flex;height:24px;margin:0 auto 4px}.pile span{height:22px;width:18px;font-size:13px;padding-top:1px;margin:0 -4px}.brand{display:flex}.brand span{font-size:11px}.brand small{font-size:7px}}

#callpanel #calltext{display:none}

.felt .center{min-height:230px;display:flex;flex-direction:column;justify-content:center}.felt .center>#status,.felt .center>#message{display:none}.felt .pile{display:none}.discard-center{width:100%;max-width:650px;margin:auto;min-height:160px;display:flex;align-items:center;justify-content:center}.discard-center #discards{max-height:220px;min-height:130px;width:100%;gap:4px;align-content:center}.discard-center .mini{min-width:22px;width:22px;height:28px;font-size:14px;padding:2px;border-radius:3px;box-shadow:0 2px 0 #b2b69d}.table-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:6px 12px;background:#f1efdf}.table-controls .actions{justify-content:flex-end}.table-controls button{min-height:32px;font-size:10px;padding:6px 10px}.table-controls #callpanel{margin:0;padding:0}.table-controls #callpanel #pause{color:#28574a;border-color:#28574a55}.table-controls #calloptions button{background:#e9bcb6}.table-controls #caller{color:#283d35;background:#faf6ed}.table-controls #continueplay{background:#28574a;color:#faf6ed}.rackhead #handname{display:flex;align-items:center;font-size:16px}.rackarea{padding-top:8px}@media(orientation:landscape) and (max-height:500px) and (max-width:1000px){.felt{padding:35px 95px 6px;min-height:155px}.felt .center{min-height:115px}.discard-center{min-height:100px;margin:0 auto}.discard-center #discards{min-height:100px;max-height:115px;gap:3px}.discard-center .mini{width:20px;min-width:20px;height:24px;font-size:13px;padding:1px}.table-controls{padding:4px 10px;gap:5px}.table-controls button,.table-controls #callpanel button{min-height:26px;padding:4px 8px;font-size:9px}.rackhead #handname{font-size:12px}.rackarea{padding-top:4px}}

.felt .center:has(#charleston:not([hidden]))>#status{display:block;font-size:18px}.felt .center:has(#charleston:not([hidden]))>#message{display:block;font-size:11px}

#exposures{display:flex;flex-wrap:wrap;gap:6px 16px;background:#e8e8d8;padding:4px 12px;color:#283d35}#exposures:empty{display:none}#exposures .exposure-row{margin:2px 0;border:0;padding:0;gap:5px}#exposures .exposure-row>b{font-size:9px}#exposures .mini{display:inline-flex;align-items:center;justify-content:center;height:26px;min-width:22px;font-size:14px;border:1px solid #d4d1bb}#exposures .exposed-set{border-right:1px solid #c0c9b5;padding-right:5px}#exposures button{font-size:9px;min-height:26px;padding:4px 6px}

#exposures .exposure-row{display:none}#exposures{padding:0;background:transparent}.seat-exposed{display:flex;flex-wrap:wrap;justify-content:center;gap:3px;max-width:125px;margin:7px auto 0}.seat-exposed .exposed-set{display:flex;gap:2px;flex-wrap:wrap;justify-content:center}.seat-exposed .mini{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:25px;padding:2px;font-size:13px;border:1px solid #d4d1bb}.seat-exposed button{padding:3px;font-size:8px;background:#ece3cc;color:#283d35}.seat.top .seat-exposed{max-width:260px;margin:0 0 0 6px}@media(orientation:landscape) and (max-height:500px) and (max-width:1000px){.seat-exposed{max-width:85px;margin-top:5px}.seat-exposed .mini{min-width:16px;height:21px;font-size:11px;padding:1px}.seat.top .seat-exposed{max-width:220px}.seat.top{gap:6px}.seat-exposed button{font-size:7px;padding:2px}}

#exposures .own-exposure:has(>.exposed-set){display:flex;margin:4px 12px}

#arrange[aria-pressed="true"]{background:#e9bcb6;color:#283d35}.rackhead>div:last-child{display:flex;flex-wrap:wrap;gap:3px}

/* Arranging captures touch gestures; normal play retains page scrolling. */
#rack.arranging [data-index]{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}
#rack .drag-source{opacity:.35}
#rack .drop-target{outline:3px solid #bb776b;outline-offset:2px;transform:translateY(-4px)}
.rack-drag-ghost{position:fixed!important;z-index:10000;pointer-events:none;transform:translate(-50%,-60%) rotate(-4deg);opacity:.95;box-shadow:0 8px 20px #183d3550!important}

.bamboo-face{height:1em;width:.8em;display:inline-block;vertical-align:middle}.mini .bamboo-face{height:100%;width:100%}

/* Shared face colors apply equally to racks, exposures and discards. */
.face{display:inline-flex;align-items:center;justify-content:center;height:1em;line-height:1}
.face-b,.face-G{color:#287544}.face-c,.face-R{color:#bd3f35}.face-d,.face-H{color:#316ca5}.face-F{color:#b05b9a}.face-N,.face-E,.face-W,.face-S{color:#202020}
.tile.G,.tile.b{color:#287544}.tile.R,.tile.c{color:#bd3f35}.tile.H,.tile.d{color:#316ca5}.tile.F{color:#b05b9a}.tile.N,.tile.E,.tile.W,.tile.S{color:#202020}
.dragon-face{height:1.2em;width:1.2em;overflow:visible}.mini .face{height:100%;width:100%}.mini .dragon-face{width:100%;height:100%}

#rack [data-index],#rack [data-index] *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#rack [data-index]{touch-action:none;cursor:grab}

/* One continuous rack at every screen width. */
#rack{flex-wrap:nowrap;gap:clamp(2px,.45vw,6px);width:100%}
#rack .tile{flex:1 1 0;min-width:0;max-width:57px;width:auto}
#rack .tile b{font-size:clamp(13px,3.2vw,26px)}
#rack .tile small{font-size:clamp(5px,.85vw,9px);white-space:nowrap}
