@import url('/platform/platform.css?jke-css=2026.10.29.1&jke-font=3.300-clear2');
:root{--club-ink:#203e36;--club-muted:#617168;--club-paper:#faf4e8;--club-green:#3d6858;--club-gold:#e5b474;--club-line:#dfdbc9;--club-radius:24px;color:var(--club-ink);background:var(--club-paper);font-family:var(--jke-font-ui),ui-rounded,'Trebuchet MS',system-ui,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 5%,#e5eada88,transparent 60%),var(--club-paper);color:var(--club-ink)}button,input,select{font:inherit}button,select{min-height:44px}button{cursor:pointer;color:inherit;border:1px solid var(--club-line);background:#fffdf7;border-radius:12px;padding:11px 18px;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#eee9dc}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b46534;outline-offset:4px}button.primary,.primary{background:var(--club-green);border-color:var(--club-green);color:#fff9ee;font-weight:700}button.primary:hover{background:#294e40}.quiet{border-color:transparent;background:transparent;padding:9px 12px}.button-link{text-decoration:none;display:inline-block;padding:14px 22px;border-radius:12px}a{color:var(--club-green)}#app{max-width:1160px;margin:auto;padding:0 36px 35px}.save-status{max-width:1088px;margin:14px auto 0;padding:6px 14px;font-size:12px;color:var(--club-muted);text-align:right;min-height:28px}.save-status.warning{background:#fff0d1;color:#774319;border-radius:8px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em}h1{font-size:clamp(30px,4vw,48px);line-height:1.1}p{line-height:1.65}.club-nav{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--club-line);padding:7px 0 17px;gap:10px}.club-wordmark{font-size:12px;font-weight:700;letter-spacing:.18em}.club-wordmark span{color:#b77d42;margin-left:9px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--club-green);margin-bottom:16px}.welcome{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;padding:50px 0 45px}.welcome h1{font-family:var(--jke-font-reading),Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(36px,4.5vw,56px);line-height:1.08;letter-spacing:-.035em;margin-bottom:20px}.welcome h1 em{font-weight:400;color:var(--club-green)}.welcome-copy>p:not(.eyebrow){color:var(--club-muted);font-size:16px}.welcome-note{display:block;font-size:12px;margin-top:14px;color:var(--club-muted)}.portrait{object-fit:contain;object-position:bottom;width:100%;height:200px;filter:drop-shadow(0 7px 5px #39554115)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 22px}.section-title h2{font-family:var(--jke-font-reading),Georgia,serif;font-size:27px;font-weight:400;margin:0}.section-title>span{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--club-muted)}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.game-card{display:flex;flex-direction:column;text-align:left;padding:0;overflow:hidden;border-radius:19px;background:#fffcf5;box-shadow:0 3px 0 #d0c9b622}.game-card:hover:not(:disabled){transform:translateY(-3px);background:#fffdf8;box-shadow:0 8px 16px #203e3610}.card-art{width:100%;position:relative;display:flex;align-items:center;justify-content:center;background:#e9eddf;height:159px}.game-checkers .card-art,.game-morris .card-art{background:#efe1ca}.game-dots .card-art{background:#e5e9ed}.game-chess .card-art{background:#dfe6dd}.game-oware .card-art{background:#f0dfcf}.mini-board{width:160px;height:137px}.game-number{position:absolute;left:18px;top:18px;font-size:11px;color:#203e3680}.card-copy{display:flex;flex-direction:column;padding:19px 20px 17px;width:100%;gap:6px}.game-title{font-size:20px;letter-spacing:-.03em;font-weight:700}.card-copy>span:not(.game-title){font-size:13px;color:var(--club-muted)}.card-copy small{border-top:1px solid var(--club-line);margin-top:10px;padding-top:12px;font-size:11px;color:var(--club-muted)}.card-copy b{float:right;font-size:17px;font-weight:400;color:var(--club-green)}.saved-section{margin-top:42px}.saved-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.saved-game{display:flex;align-items:center;gap:16px;text-align:left;padding:16px;border-radius:14px}.saved-game>span:nth-child(2){flex:1}.saved-game strong{display:block;font-size:15px}.saved-game small{display:block;margin-top:6px;color:var(--club-muted);font-size:11px}.saved-icon{font-size:27px;width:38px;text-align:center}.empty-note{color:var(--club-muted);font-size:14px;padding:21px 0;border-top:1px solid var(--club-line)}.home-note{display:flex;align-items:center;gap:20px;border-top:1px solid var(--club-line);padding:28px 0;margin-top:35px}.home-note>span{font-size:32px;color:#b48449}.home-note p{font-size:14px;margin:0;flex:1}.home-note small{color:var(--club-muted);font-size:12px}.panel{background:#fffdf6;border:1px solid var(--club-line);border-radius:var(--club-radius);padding:30px}.setup{max-width:740px;margin:32px auto}.setup-heading{display:flex;gap:20px;align-items:center}.setup-heading h1{margin-bottom:12px}.setup-heading .mini-board{width:120px;flex-shrink:0}.setup-heading p:last-child{color:var(--club-muted);font-size:14px}fieldset{border:0;padding:0;margin:22px 0}legend{font-weight:700;padding:0;margin-bottom:14px}.mode-options{display:flex;flex-wrap:wrap;gap:12px}.mode-options label{background:#f1f1e6;padding:14px;border-radius:12px;font-size:14px;flex:1;min-width:220px}.opponent-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.opponent-card{display:flex;flex-direction:column;align-items:center;border:1px solid var(--club-line);border-radius:16px;padding:15px 10px;cursor:pointer}.opponent-card:has(input:checked){border:2px solid var(--club-green);background:#e9eee2;padding:14px 9px}.opponent-card .portrait{height:120px}.opponent-card span{margin-top:14px;font-weight:700}.opponent-card small{font-size:11px;color:var(--club-muted);text-align:center;margin-top:9px;line-height:1.5}.field{display:block;font-weight:700;margin-top:20px}.field select{display:block;width:100%;margin-top:10px;border:1px solid var(--club-line);border-radius:10px;padding:10px;background:#fffdf8;color:var(--club-ink)}.setup-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.play-header{display:flex;align-items:center;justify-content:space-between;margin:30px 0 24px;gap:15px}.play-header h1{font-family:var(--jke-font-reading),Georgia,serif;font-weight:400;margin:0;font-size:36px}.play-header .eyebrow{margin-bottom:9px}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:24px;align-items:start}.table-panel{padding:25px;background:#fffcf5;border:1px solid var(--club-line);border-radius:var(--club-radius)}.turn-banner{display:flex;align-items:center;gap:10px;min-height:38px;margin-bottom:20px}.turn-banner h2{font-size:19px;margin:0;flex:1;letter-spacing:-.02em}.turn-dot{width:16px;height:16px;border-radius:50%;background:var(--club-green)}.turn-dot.player-2{background:#d59651;border:2px solid #92592d}.move-count{font-size:11px;color:var(--club-muted)}.board{margin:auto;max-width:490px;position:relative}.square-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));border:8px solid #9c7952;border-radius:9px;overflow:hidden;box-shadow:0 6px 0 #866540,0 12px 20px #3c35221a;aspect-ratio:1}.square{border:0;border-radius:0;padding:0;min-height:0;aspect-ratio:1;position:relative;display:flex;align-items:center;justify-content:center}.square.dark{background:#719080}.square.light{background:#efdfbd}.square:disabled{opacity:1}.square:hover:not(:disabled){background:#e5ba7e}.square.selected{box-shadow:inset 0 0 0 4px #b25d2b;background:#edc78d}.square.last-move{box-shadow:inset 0 0 0 3px #a06539aa}.square.legal:after{content:'';position:absolute;inset:37%;border-radius:50%;background:#254e3b99;pointer-events:none}.square.legal:has(.checker):after,.square.legal:has(svg):after{inset:4px;border:3px dashed #5b3c20;background:transparent}.rank,.file{position:absolute;z-index:1;font-size:9px;line-height:1;color:#183e2b;pointer-events:none}.rank{left:3px;top:4px}.file{bottom:2px;right:3px}.checker{width:68%;height:68%;border-radius:50%;border:3px solid #3c3727;box-shadow:0 3px 0 #3e3127;display:flex;align-items:center;justify-content:center;font-size:25px}.ivory.checker{background:#f7d99e;color:#584125}.ink.checker{background:#294e42;color:#fff0d5}.chess-piece{width:92%;height:92%;stroke-width:1.9;stroke-linejoin:round;filter:drop-shadow(0 2px 1px #0003)}.chess-piece.ivory{fill:#fff6dc;stroke:#57452f}.chess-piece.ink{fill:#244c40;stroke:#f8edd5}.chess-piece .eye{fill:#725434;stroke:none}.chess-piece .cut{fill:none}.tic-board{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:12px;background:#b6c4ae;border-radius:20px;max-width:370px;aspect-ratio:1}.tic-cell{font-family:var(--jke-font-ui),Arial,sans-serif;font-size:clamp(45px,8vw,76px);font-weight:400;border:0;padding:0;line-height:1;aspect-ratio:1;min-height:0;border-radius:12px;background:#fff9eb}.token-1{color:var(--club-green)}.token-2{color:#a65c32}.tic-cell.legal{background:#f7f3e4}.board .hinted{outline:4px dashed #ae5e2d;outline-offset:-5px;z-index:2}.board .hinted:after{background:#ae5e2d99}.dots-board,.morris-board{width:100%;max-width:440px;aspect-ratio:1;background:#f3ead5;border-radius:16px;box-shadow:inset 0 0 0 2px #ddceb1}.board>svg{position:absolute;width:100%;height:100%;inset:0}.dots-board circle{fill:#355849}.dot-line{stroke:#c6cbb8;stroke-width:3;stroke-linecap:round}.dot-line.player-1{stroke:#3d6858;stroke-width:7}.dot-line.player-2{stroke:#bf8046;stroke-width:7}.box-fill.player-1{fill:#a8c7ae77}.box-fill.player-2{fill:#ebbd8177}.dots-board text{text-anchor:middle;fill:#4c6554;font-size:18px}.dot-edge{position:absolute;transform:translate(-50%,-50%);border:0;border-radius:6px;min-height:0;background:transparent;padding:0}.dot-edge.horizontal{width:23%;height:12%}.dot-edge.vertical{width:12%;height:23%}.dot-edge:hover:not(:disabled){background:#668d6a44}.dot-edge:disabled{opacity:1}.morris-board line{stroke:#8a8067;stroke-width:3}.morris-point{position:absolute;transform:translate(-50%,-50%);width:11.5%;height:11.5%;min-height:0;padding:0;border-radius:50%;background:#f9f0dd;border:2px solid #b7a884;font-size:16px;box-shadow:0 2px 0 #a2916d}.morris-point.token-1{background:#315d4c;color:#fffae9;border-color:#183d2e}.morris-point.token-2{background:#e9b676;color:#563b24;border-color:#a06f3f}.morris-point.legal{border:3px dashed #588269}.morris-point.selected{outline:4px solid #ae5e2d}.oware-wrap{width:100%;max-width:560px;margin:auto}.oware-board{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;background:#bc8f60;border:8px solid #bc8f60;padding:12px 7px;border-radius:36px;box-shadow:0 6px 0 #8b633e}.pit{position:relative;aspect-ratio:.75;border:0;min-height:0;padding:8px 0;border-radius:45%;background:#735036;color:#fff1d5;box-shadow:inset 0 5px 6px #482f1f66;display:flex;align-items:center;justify-content:center}.pit strong{font-size:21px;z-index:1;text-shadow:0 1px 3px #000}.pit small{position:absolute;bottom:4px;font-size:8px;color:#fff4d6a0}.pit.legal{box-shadow:inset 0 0 0 2px #ffe1a8,inset 0 5px 6px #482f1f66}.pit:hover:not(:disabled){background:#946a45}.seeds{position:absolute;inset:0}.seeds i{position:absolute;width:7px;height:10px;border-radius:50%;background:#ddba79;left:calc(20% + mod(var(--seed),3)*24%);top:calc(20% + round(down,var(--seed)/3)*23%);transform:rotate(30deg)}.seeds i:nth-child(3n+1){left:22%}.seeds i:nth-child(3n+2){left:65%}.seeds i:nth-child(3n){left:43%}.seeds i:nth-child(-n+3){top:20%}.seeds i:nth-child(n+4){top:64%}.seeds i:nth-child(n+7){top:43%}.board-side{font-size:11px;color:var(--club-muted);text-align:center;margin:13px 0}.board-summary{font-size:12px;color:var(--club-muted);text-align:center;margin:22px 0 18px}.play-controls{display:flex;gap:9px;flex-wrap:wrap;border-top:1px solid var(--club-line);padding-top:20px}.play-controls button{font-size:12px;padding:10px 12px}.highlight-toggle{font-size:12px;display:flex;align-items:center;gap:7px;margin-left:auto;min-height:44px}.coach-panel{padding:15px 6px}.coach-person{display:flex;flex-direction:column;align-items:center}.coach-person .portrait{height:154px}.coach-person>span{font-family:var(--jke-font-reading),Georgia,serif;font-style:italic;margin:10px 0 20px;font-size:18px}.speech{position:relative;background:#e8eddf;border-radius:18px;padding:22px 20px}.speech:before{content:'';position:absolute;left:calc(50% - 10px);top:-10px;border-style:solid;border-width:0 10px 12px;border-color:transparent transparent #e8eddf}.speech .eyebrow{font-size:9px;margin-bottom:9px}.speech>p:last-child{font-size:14px;margin-bottom:0}.table-tip{padding:25px 10px 5px}.table-tip h3{font-size:16px}.table-tip p{font-size:12px;color:var(--club-muted)}.move-choices{margin-top:20px;padding:15px;background:#f5e6cb;border-radius:14px}.move-choices h3{font-size:16px}.move-choices button{display:block;width:100%;margin-top:8px;font-size:12px}.move-history{font-size:12px;color:var(--club-muted);margin:20px 10px}.move-history summary{cursor:pointer;min-height:44px}.move-history ol{max-height:220px;overflow:auto;line-height:1.8;padding-left:22px}.result{text-align:center;background:#e8eddf;padding:20px;border-radius:16px;margin-bottom:20px}.result p{font-size:14px}.result button{margin:4px;font-size:13px}dialog{width:min(650px,calc(100vw - 28px));max-height:90dvh;overflow:auto;border:1px solid var(--club-line);border-radius:22px;padding:28px;color:var(--club-ink);background:#fffaf0;box-shadow:0 20px 90px #172d3244}dialog::backdrop{background:#1b362e88}dialog h2{font-size:28px;font-family:var(--jke-font-reading),Georgia,serif;font-weight:400}dialog p{font-size:14px}dialog h3{font-size:18px}#close-help{margin-top:20px}#demo-board{max-width:370px;margin:20px auto}#demo-board .square{min-height:0}#demo-board .morris-point{min-height:0}.skip-link{position:absolute;left:10px;top:-100px;z-index:100;background:white;padding:12px}.skip-link:focus{top:10px}[hidden]{display:none!important}
@media(min-width:720px) and (max-width:1023px){#app{padding:0 26px 30px}.welcome{gap:15px}.game-grid{gap:15px}.card-copy{padding:17px 15px}.play-layout{grid-template-columns:minmax(0,1fr) 205px;gap:16px}.table-panel{padding:18px}.coach-panel{padding:15px 0}.highlight-toggle{margin-left:0}}
@media(max-width:719px){#app{padding:0 17px 25px}.save-status{font-size:10px;text-align:center;margin-top:5px}.club-nav{padding-bottom:12px}.club-nav .quiet{font-size:12px;padding:8px 0}.club-wordmark{font-size:10px;letter-spacing:.1em}.welcome{padding:30px 0;grid-template-columns:1fr;gap:12px}.welcome-copy{text-align:center}.welcome h1{font-size:42px;margin-bottom:15px}.welcome-copy>p:not(.eyebrow){font-size:14px;margin-bottom:18px}.welcome-note{font-size:11px}.section-title{gap:8px;margin-bottom:17px}.section-title h2{font-size:24px}.section-title>span{font-size:8px}.section-title .quiet{font-size:11px;padding:8px 0}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.card-art{height:124px}.mini-board{width:125px;height:107px}.game-number{font-size:9px;left:12px;top:12px}.card-copy{padding:14px 12px 12px;gap:7px}.game-title{font-size:17px;line-height:1.15;min-height:39px;display:flex;align-items:center}.card-copy>span:not(.game-title){font-size:11px;line-height:1.5;min-height:32px}.card-copy small{font-size:9px;margin-top:3px;padding-top:9px}.card-copy b{font-size:13px}.saved-section{margin-top:30px}.saved-list{grid-template-columns:1fr}.home-note{gap:12px;flex-wrap:wrap;padding:22px 0}.home-note p{font-size:12px}.home-note small{font-size:10px}.home-note .quiet{margin-left:auto;font-size:12px}.setup{padding:20px 16px;margin-top:22px}.setup-heading{gap:12px}.setup-heading .mini-board{width:88px}.setup-heading h1{font-size:29px}.opponent-options{gap:7px}.opponent-card{padding:12px 5px}.opponent-card:has(input:checked){padding:11px 4px}.opponent-card .portrait{height:95px}.opponent-card small{font-size:9px}.opponent-card span{font-size:14px}.mode-options label{min-width:100%;font-size:13px}.setup-actions button{flex:1;min-width:150px}.play-header{margin:24px 0 20px}.play-header h1{font-size:30px}.play-header .eyebrow{font-size:9px}.play-header button{font-size:12px;padding:10px}.play-layout{grid-template-columns:1fr;gap:15px}.table-panel{padding:15px 12px;border-radius:18px}.turn-banner{margin-bottom:16px;gap:8px}.turn-banner h2{font-size:17px}.turn-dot{width:12px;height:12px}.move-count{font-size:9px}.square-board{border-width:6px}.checker{border-width:2px;font-size:20px}.rank,.file{font-size:8px}.play-controls{gap:7px;padding-top:15px}.play-controls button{font-size:11px;padding:10px}.highlight-toggle{font-size:11px;margin-left:0}.board-summary{font-size:11px}.coach-panel{display:grid;grid-template-columns:85px minmax(0,1fr);align-items:center;padding:8px 0;gap:12px}.coach-person .portrait{height:110px}.coach-person>span{font-size:15px;margin:7px 0}.speech{padding:16px}.speech:before{left:-10px;top:30px;border-width:10px 12px 10px 0;border-color:transparent #e8eddf transparent transparent}.speech>p:last-child{font-size:12px}.speech .eyebrow{font-size:8px}.table-tip,.move-choices,.move-history{grid-column:1/-1}.table-tip{padding:10px}.table-tip p{margin-bottom:0}.move-history{margin-top:0}.tic-board{max-width:320px}.oware-board{gap:5px;padding:12px 2px;border-width:6px;border-radius:23px}.pit strong{font-size:17px}.pit small{font-size:7px}.seeds i{width:5px;height:7px}dialog{padding:22px}dialog .square{min-height:0}}
/* Additional traditional boards and the original Creekside playing deck. */
.game-fourinarow .card-art,.game-fleet .card-art{background:#e0e9e2}.game-reversi .card-art{background:#e6e4d8}.game-eights .card-art,.game-gofish .card-art,.game-rummy .card-art{background:#e9e1d5}.deck-link{text-align:center;margin:0 0 22px}.deck-link button{font-size:13px}.connect-board{max-width:490px}.drop-buttons{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:9px}.drop-column{padding:5px;min-width:0;min-height:48px;font-size:12px}.drop-column span{display:block;font-size:18px}.connect-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;padding:16px;background:#4b7360;border-radius:18px;border-bottom:7px solid #294e3b}.connect-disc{aspect-ratio:1;border-radius:50%;background:#faf4e8;box-shadow:inset 0 4px 4px #203e3625;display:grid;place-items:center}.connect-disc.token-1{background:#ebbd7d;color:#70492d}.connect-disc.token-2{background:#203e36;color:#f9f4e5}.connect-disc i{font-size:22px;font-style:normal}.last-disc{outline:3px dashed #e7b87e;outline-offset:3px}.reversi-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));border:7px solid #476451;border-radius:8px;overflow:hidden}.reversi-square{background:#799a7d;border:1px solid #b6c7a466;border-radius:0;aspect-ratio:1;min-height:0;padding:0;display:grid;place-items:center}.reversi-square:disabled{opacity:1}.reversi-square:hover:not(:disabled){background:#acc69b}.reversi-disc{width:80%;height:80%;border-radius:50%;display:grid;place-items:center;font-size:18px;box-shadow:0 3px 1px #203e3655}.reversi-disc.token-1{background:#243e34;color:#e5efd8}.reversi-disc.token-2{background:#fcf1d8;color:#76634b}.move-dot{font-size:30px;color:#304d35}.reversi-wrap>button{margin-top:20px;width:100%}.cards-board{max-width:100%;padding:2px}.other-hand{display:flex;align-items:center;justify-content:center;gap:12px;font-size:12px;background:#e7eddf;border-radius:12px;padding:12px}.card-back{display:inline-grid;place-items:center;width:35px;height:47px;flex-shrink:0;border:3px double #f9e9bd;border-radius:5px;color:#e5bb7b;background:repeating-linear-gradient(45deg,#426453 0 5px,#507561 5px 8px);font-size:19px}.card-table-center{display:flex;gap:24px;align-items:center;justify-content:center;padding:22px 0}.stock-count,.top-discard{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px}.stock-count .card-back{width:55px;height:78px}.top-discard small{font-size:10px}.active-suit,.book-count{font-size:12px;margin:0;max-width:140px}.active-suit strong{font-size:17px}.book-count small{font-size:10px;color:var(--club-muted)}.player-hand{display:grid;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:8px;justify-content:center}.playing-card{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:.67;min-width:0;min-height:0;max-width:118px;width:100%;padding:6px 3px 18px;border:1px solid #b7bea8;border-radius:9px;background:#fffdf6;color:#214c3b;box-shadow:0 3px 0 #a7b49c66}.playing-card:disabled{opacity:1;cursor:default}.playing-card img{width:80%;height:64%;object-fit:contain;object-position:center;margin-top:16px}.playing-card.red-suit{color:#a14e33}.card-corner{position:absolute;top:5px;left:6px;display:flex;flex-direction:column;align-items:center;font-size:16px;font-weight:700;line-height:1.05;z-index:1}.card-corner b{font-size:12px;font-weight:400}.card-character{font-size:10px;font-weight:700;color:#344c3e;max-width:100%;white-space:nowrap;margin-top:5px}.card-bottom{position:absolute;bottom:4px;right:6px;font-size:11px}.playing-card.card-selected{outline:3px solid #a96435;outline-offset:0;background:#fff0d1;transform:translateY(-3px)}.playing-card.hinted{outline:3px dashed #a96435;outline-offset:0}.playing-card:hover:not(:disabled){background:#f3eddb}.small-card{width:69px;aspect-ratio:.67}.small-card .card-corner{font-size:12px;top:4px;left:4px}.small-card .card-corner b{font-size:9px}.small-card .card-character{font-size:8px}.small-card .card-bottom{font-size:8px}.small-card img{height:60%;margin-top:12px}.hand-instruction{font-size:13px;margin:6px 0 14px;font-weight:700}.card-notice{font-size:12px;color:var(--club-green);background:#e9eedf;border-radius:9px;padding:9px}.card-actions{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 4px}.card-actions button{font-size:12px;flex:1;min-width:110px}.ask-rank{flex:initial!important;min-width:92px!important}.table-melds{background:#eceedd;padding:14px;border-radius:12px;margin-bottom:14px}.table-melds h3{font-size:14px;margin-bottom:9px}.table-meld{display:flex;gap:12px;align-items:baseline;font-size:12px;padding:7px 0;flex-wrap:wrap}.table-meld strong{font-size:10px;color:var(--club-muted)}.suit-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.deck-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(69px,1fr));gap:10px}.deck-gallery .playing-card{max-width:100%;width:100%}.handoff{max-width:580px;margin:40px auto;text-align:center;padding:42px 25px;background:#e6ecdd}.handoff h1{font-family:var(--jke-font-reading),Georgia,serif;font-weight:400;font-size:36px}.handoff p{font-size:14px}.handoff small{display:block;margin-top:24px;font-size:11px;line-height:1.5;color:var(--club-muted)}.handoff-mark{font-size:72px;display:block;margin:12px 0 20px;color:#47725c}.fleet-board{max-width:100%}.fleet-instruction{font-size:13px;min-height:26px}.fleet-tools{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:18px}.fleet-tools button{font-size:12px;flex:1}.fleet-panels{display:grid;grid-template-columns:1fr;gap:26px}.fleet-panels h3{font-size:14px;letter-spacing:0;margin-bottom:13px}.fleet-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:2px;background:#91b0a3;padding:5px;border-radius:9px;max-width:450px;margin:auto}.fleet-square{border:0;border-radius:3px;background:#e6efe5;aspect-ratio:1;padding:0;min-height:0;min-width:0;font-size:23px;color:#385747;line-height:1}.fleet-square:disabled{opacity:1}.fleet-square.has-ship{background:#68836c;color:#faf1d9}.fleet-square.hit{background:#e6bc8c;color:#923e27;font-weight:700}.fleet-square.miss{background:#c9ded8;color:#447268}.fleet-square.placeable{box-shadow:inset 0 0 0 1px #567e65}.fleet-square:hover:not(:disabled){background:#f0c98f}
@media(max-width:719px){.connect-grid{gap:6px;padding:12px}.connect-disc i{font-size:17px}.drop-column{min-height:44px;font-size:10px}.drop-column span{font-size:15px}.player-hand{grid-template-columns:repeat(auto-fit,minmax(62px,1fr));gap:6px}.playing-card{border-radius:7px;padding-bottom:14px}.playing-card img{height:61%;width:79%;margin-top:14px}.card-corner{font-size:13px;left:4px;top:4px}.card-corner b{font-size:10px}.card-character{font-size:8px}.card-bottom{font-size:9px;right:4px}.card-table-center{gap:14px;padding:18px 0}.other-hand{font-size:11px}.card-actions button{font-size:11px;padding:10px;min-width:100px}.card-actions{gap:6px}.hand-instruction{font-size:12px}.reversi-grid{border-width:5px}.reversi-disc{font-size:14px}.fleet-grid{gap:2px;padding:4px}.fleet-square{font-size:18px}.fleet-tools button{font-size:11px;padding:10px}.handoff{padding:32px 18px;margin:25px 0}.handoff h1{font-size:31px}.deck-gallery{gap:7px;grid-template-columns:repeat(4,minmax(0,1fr))}.deck-gallery .small-card .card-character{font-size:7px}.card-table-center .active-suit{font-size:10px}.active-suit strong{font-size:13px}}
.fleet-panels section:last-child:not(:first-child){order:-1}
.game-kim .card-art{background:#e5eadb}.kim-panel{max-width:940px;margin:26px auto;padding:clamp(20px,4vw,40px);background:#fffaf0}.kim-heading{display:flex;justify-content:space-between;align-items:start;gap:16px;margin:10px 0 22px}.kim-heading h1,.kim-result h1{font:400 clamp(30px,5vw,42px) var(--jke-font-reading),Georgia,serif;margin:0 0 8px}.kim-heading p,.kim-result>p{font-size:14px;color:var(--club-muted)}.kim-score{padding:10px 14px;background:#e9eedf;border-radius:20px;white-space:nowrap;font-size:12px}.kim-score strong{font-size:18px;margin-left:5px}.kim-tray{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:12px;padding:18px;background:#c39b6b;border:8px solid #ae8153;border-radius:20px;box-shadow:0 7px 0 #866540,0 12px 20px #3c35221a}.kim-toy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:132px;padding:10px 7px;border:1px solid #d7ceb7;border-radius:12px;background:#fffaf0;color:var(--club-ink);font-size:12px;font-weight:700}.kim-toy img{width:100%;height:86px;object-fit:contain}.kim-choices .kim-toy{cursor:pointer}.kim-choices .kim-toy:hover{outline:3px solid #54765b;background:#f5f0df;transform:translateY(-2px)}.kim-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:24px 0 0}.kim-actions button{font-size:13px}.kim-cover{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:130px;margin:20px 0;background:repeating-linear-gradient(135deg,#426453 0 12px,#507561 12px 24px);border:8px solid #ae8153;border-radius:20px;color:#f8e9c2;font:32px var(--jke-font-reading),Georgia,serif}.kim-cover span{font:14px var(--jke-font-ui),system-ui,sans-serif}.kim-result{text-align:center}.kim-result .kim-tray{max-width:720px;margin:20px auto}.kim-score-line{font-size:17px!important;color:var(--club-ink)!important}.kim-score-line strong{font-size:24px;color:#476f55}@media(max-width:719px){.kim-panel{padding:20px 14px;margin-top:18px}.kim-tray{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:10px;border-width:5px}.kim-toy{min-height:104px;padding:7px 4px;font-size:10px}.kim-toy img{height:65px}.kim-heading h1{font-size:30px}.kim-heading p{font-size:12px}.kim-score{font-size:10px;padding:8px}.kim-score strong{font-size:15px}.kim-cover{min-height:110px;font-size:27px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* One seated family scene, sized as a whole on every screen. */
.kim-stage-title{font-size:17px;letter-spacing:0;margin:24px 0 12px}
.kim-covered-tray .kim-cover{box-shadow:0 7px 0 #866540;text-align:center;padding:20px}
.kim-covered-tray .kim-cover b{font-weight:400}
.kim-answer{max-width:190px;margin:20px auto}
.kim-panel h1:focus{outline:none}
.welcome{gap:clamp(18px,3vw,36px);padding:36px 0 32px}
.welcome-copy{min-width:0}
.family-welcome{width:100%;min-width:0;margin:0;align-self:center}
.family-table-art{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
#game-shelf{scroll-margin-top:20px}
@media(max-width:719px){
  .welcome{padding:22px 0 24px;gap:18px}
  .welcome h1{font-size:clamp(32px,9.5vw,42px);line-height:1.1}
  .welcome .eyebrow{margin-bottom:12px}
  .welcome-note{font-size:12px;line-height:1.5;margin-top:12px}
  .family-welcome{max-width:380px;margin:0 auto}
  .section-title{align-items:baseline;flex-wrap:wrap}
  .card-art .mini-board{max-width:100%}
}
