:root{--paper:#f3efe5;--ink:#30372d;--muted:#757969;--coral:#df765b;--olive:#7e8b51;--line:#d9d9c9;--panel:#e5e6d5}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 system-ui,-apple-system,'Segoe UI',sans-serif}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--coral);outline-offset:4px}a{color:inherit;text-decoration:none}header,main,footer{max-width:1240px;margin:auto}header{height:110px;display:flex;align-items:center;gap:28px;padding:0 40px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;font-size:27px;font-weight:800;letter-spacing:-1.4px}.brand-icon{font-size:46px;line-height:1;margin-right:11px;color:var(--coral)}.brand-dot{color:var(--coral)}.header-note{margin-left:auto;color:var(--muted);font-size:13px}.text-button{border:0;background:none;color:var(--ink);padding:8px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:750}#lobby{padding:76px 40px 0;display:grid;grid-template-columns:1fr 1fr;gap:68px 70px}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(40px,4.5vw,66px);line-height:1.08;font-weight:normal;letter-spacing:-2.5px;margin:26px 0 22px}.lede{font-size:17px;color:var(--muted);line-height:1.8}.actions{display:flex;gap:20px;align-items:center;margin:30px 0}.primary{background:var(--ink);color:#fffdf5;border:1px solid var(--ink);border-radius:8px;padding:14px 23px;font-weight:600;box-shadow:0 3px 0 #18201420}.primary:hover{background:#46513f}.primary span{margin-left:24px}.quiet{font-size:12px;color:var(--muted)}label{font-size:12px;display:block;margin-bottom:9px;color:var(--muted)}.join{display:flex;gap:9px}input{border:1px solid #c9cbbb;background:transparent;border-radius:7px;padding:11px 12px;min-width:0;width:220px;color:var(--ink)}input::placeholder{color:#939582;font-size:12px}.secondary{border:1px solid #bfc3b0;background:transparent;border-radius:7px;padding:10px 17px;font-size:13px;color:var(--ink);font-weight:600}.secondary:hover{background:var(--panel)}.preview-wrap{padding-top:16px;transform:rotate(3deg)}.preview-label{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:1px;margin-bottom:20px}.preview-label>span:last-child{margin-left:auto;color:var(--muted);font-size:9px}.mini-dot{width:7px;height:7px;background:var(--olive);border-radius:50%}.preview-board,.board{background:var(--panel);border:1px solid #c8cdb7;border-radius:15px;padding:19px;box-shadow:0 10px 0 #cbd0b8,0 20px 30px #3b422214}.preview-board{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.hole{display:block;border-radius:50%;aspect-ratio:1;background:var(--paper);box-shadow:inset 0 3px 4px #333b2613;border:1px solid #d1d4c3}.hole.p1,.hole.p2{border:0;box-shadow:inset 0 -4px 0 #00000012,0 2px 3px #0000000d}.p1{background:var(--coral)}.p2{background:var(--olive)}.preview-caption{display:flex;align-items:center;gap:12px;padding:22px 2px}.sun{font-size:36px;color:var(--coral)}.preview-caption p{font-family:Georgia,serif;font-style:italic;color:var(--muted);font-size:17px}.scribble{margin-left:auto;font-size:37px}.steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding:30px 0 43px;gap:35px}.steps>div{position:relative;padding-left:40px}.steps>div>span{position:absolute;left:0;top:5px;font-size:11px;color:var(--olive)}h3{font-size:14px;margin:0 0 7px}.steps p{font-size:12px;color:var(--muted);margin:0}footer{padding:23px 40px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}#room{padding:30px 40px 55px}.room-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.back{font-size:13px}.network{font-size:11px;color:var(--olive)}.table-layout{display:grid;grid-template-columns:280px 1fr;gap:85px;margin-top:48px}.table-info h1{font-size:54px;margin:20px 0 27px}.room-code{font-size:11px;color:var(--muted)}.room-code strong{display:block;font:17px ui-monospace,monospace;letter-spacing:2px;color:var(--ink);margin-top:7px;text-transform:uppercase}.table-info .primary{width:100%;margin-top:5px}.players{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:27px 0;padding:15px 0}.players>div{display:flex;align-items:center;gap:10px;margin:10px 0;font-size:13px}.players b{margin-left:auto;font-size:10px;color:var(--muted);font-weight:400}.disc{display:inline-block;width:16px;height:16px;border-radius:50%}.coral{background:var(--coral)}.olive{background:var(--olive)}.rules p{font-size:12px;color:var(--muted);line-height:1.9}.turn-line{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px;gap:15px;min-height:39px}.turn-line h2{font-family:Georgia,serif;font-size:26px;font-weight:400;margin:0}.turn-line>span{font-size:11px;color:var(--muted);white-space:nowrap}.board{display:grid;grid-template-columns:repeat(7,1fr);gap:11px;max-width:620px}.column{display:grid;grid-template-rows:repeat(6,1fr);gap:11px;padding:0;border:0;background:transparent;border-radius:30px}.column:disabled{opacity:1}.column:not(:disabled):hover{background:#ffffff75;outline:5px solid #ffffff75}.column:not(:disabled):hover .hole:not(.p1):not(.p2):not(.board-preview){background:#fffdf5}.winning{outline:3px solid var(--ink);outline-offset:-6px}.under-board{display:flex;gap:15px;justify-content:space-between;align-items:center;margin-top:28px;min-height:40px}.under-board p{font-size:12px;color:var(--muted);margin:0}.notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);border-radius:9px;box-shadow:0 5px 25px #0002;padding:14px 22px;max-width:90vw;z-index:5;font-size:13px}#invite-fallback{margin-top:12px}#invite-url{width:100%;font-size:11px}[hidden]{display:none!important}@media(max-width:1000px){#lobby{gap:50px 35px}.actions{align-items:flex-start;flex-direction:column;gap:10px}.table-layout{gap:40px;grid-template-columns:220px 1fr}.board{padding:13px;gap:8px}.column{gap:8px}.preview-board{gap:9px;padding:15px}}@media(max-width:700px){header{height:80px;padding:0 22px}.header-note{display:none}.text-button{margin-left:auto}.brand{font-size:24px}#lobby{padding:40px 22px 0;grid-template-columns:1fr;gap:35px}.intro h1{font-size:52px}.actions{flex-direction:row;align-items:center}.preview-wrap{max-width:440px;width:95%;margin:0 auto;transform:rotate(2deg)}.steps{gap:22px;grid-template-columns:1fr}.steps p{font-size:13px}footer{padding:22px;flex-direction:column;gap:6px}#room{padding:24px 20px 40px}.room-top .eyebrow{display:none}.table-layout{grid-template-columns:1fr;gap:25px;margin-top:28px}.table-info>.eyebrow,.table-info h1,.rules{display:none}.table-info{display:grid;grid-template-columns:1fr 1fr;gap:5px 15px;align-items:center}.room-code{margin:0}.room-code strong{font-size:14px;letter-spacing:1px}.table-info .primary{font-size:12px;padding:12px 8px}.table-info>.quiet{grid-column:1/-1;margin:8px 0}.players{grid-column:1/-1;display:flex;gap:24px;margin:8px 0 0;padding:8px 0}.players>div{flex:1;gap:7px}.players b{font-size:9px}.turn-line{margin-bottom:15px}.turn-line h2{font-size:23px}.board{padding:12px;gap:7px;max-width:none}.column{gap:7px}#invite-fallback{grid-column:1/-1}.under-board{margin-top:25px}}@media(prefers-reduced-motion:no-preference){.primary,.secondary{transition:background .15s}@keyframes appear{from{transform:scale(.92);opacity:.65}to{transform:scale(1);opacity:1}}}

/* Shared collection navigation and Reversi pieces. All artwork is CSS. */
.site-nav{display:flex;align-items:center;gap:22px;margin-left:auto;font-size:12px}.site-nav a{padding:8px 0;border-bottom:2px solid transparent}.site-nav a:hover,.site-nav a[aria-current=page]{border-color:var(--olive)}.lobby-back{display:block;margin-bottom:20px;color:var(--muted)}
.reversi-board{grid-template-columns:repeat(8,1fr);gap:1px;padding:12px;background:#657b63;border-color:#4d634b;box-shadow:0 8px 0 #4d634b,0 18px 25px #26302118}.square{position:relative;display:block;aspect-ratio:1;border:0;border-radius:0;background:#81957b;padding:0;box-shadow:inset 0 0 0 1px #ffffff0d}.square:disabled{opacity:1}.square.p1,.square.p2{background:#81957b;box-shadow:inset 0 0 0 1px #ffffff0d;animation:none}.square.p1:before,.square.p2:before{content:'';position:absolute;inset:10%;border-radius:50%;background:#f7f2e5;box-shadow:inset 0 -3px 0 #d6d2c4,0 2px 3px #15231235}.reversi-board:not(.seat-one-black) .square.p2:before,.seat-one-black .square.p1:before{background:#29342b;box-shadow:inset 0 -3px 0 #18221a,0 2px 3px #15231255}.square.legal:after{content:'';position:absolute;inset:42%;border-radius:50%;background:#f5f1ddd9}.square.legal:hover{background:#a0b096}.square.last-move:after{content:'';position:absolute;inset:43%;border:2px solid var(--coral);border-radius:50%;background:var(--coral)}.black-disc{background:#29342b}.white-disc{background:#fffdf4;border:1px solid #a3aa97}.board.reversi-board{max-width:550px}.reversi-board .square:focus-visible{outline:3px solid #fce7b6;outline-offset:-3px;z-index:1}
.catalog{padding:0 40px}.catalog-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:90px;padding:64px 0 60px;align-items:center}.catalog-hero h1{font-size:clamp(56px,6vw,84px);letter-spacing:-3.5px;margin:22px 0}.browse-button{display:inline-block;margin-top:17px}.invitation{border:1px solid #d2d7bf;background:#e8ebdb;border-radius:14px;padding:34px;position:relative;transform:rotate(2deg)}.invitation-star{position:absolute;right:26px;top:21px;font-size:40px;color:var(--olive)}.invitation>.eyebrow{font-size:9px;letter-spacing:1.2px;display:block;max-width:80%}.invitation h2{font:36px/1.2 Georgia,serif;margin:22px 0 12px;letter-spacing:-1px}.invitation p{font-size:13px;color:#5d6857;max-width:250px}.invitation form{margin:24px 0 10px}.invitation input{width:100%;background:#f6f5ed}.invitation button{width:100%;margin-top:10px;background:#f3efe5}.shelf-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:30px 0;border-top:1px solid var(--line)}.shelf-heading h2{font:40px/1.2 Georgia,serif;margin:8px 0 0;letter-spacing:-1.5px}.game-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px}.game-card{display:block;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#f9f7f0}.card-art{height:310px;position:relative;display:flex;align-items:center;justify-content:center;padding-bottom:20px}.four-art{background:#e7e8d8}.reversi-art{background:#e6ddd0}.art-number{position:absolute;left:24px;top:19px;font:13px ui-monospace,monospace;color:#757c68}.art-caption{position:absolute;bottom:16px;font:italic 13px Georgia,serif;color:#626c58}.mini-four{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;width:265px;padding:13px;background:#c8d0b5;border:1px solid #acb797;border-radius:10px;box-shadow:0 7px 0 #abb798,8px 17px 22px #34442520;transform:rotate(-7deg)}.mini-reversi{display:grid;width:230px;transform:rotate(8deg);border-radius:7px;padding:9px}.card-body{padding:25px 28px 27px}.game-tags{display:flex;gap:16px;font-size:9px;letter-spacing:1px;font-weight:650;color:#6b745c}.card-body h3{font:36px/1.3 Georgia,serif;letter-spacing:-1px;display:flex;justify-content:space-between;align-items:center;margin:13px 0 9px}.card-arrow{font:28px system-ui;color:var(--olive)}.card-body p{font-size:14px;color:#6a715f;max-width:360px;margin:0 0 21px}.card-cta{font-size:12px;font-weight:650;border-bottom:1px solid #9da78c;padding-bottom:3px}.game-card:hover .card-arrow{color:var(--coral)}.game-card:hover{border-color:#98a083}.how-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:42px 0 25px;margin-top:42px;border-top:1px solid var(--line)}.how-strip>div>span{font:11px ui-monospace,monospace;color:var(--olive)}.how-strip h3{margin:8px 0}.how-strip p,.catalog-note{font-size:12px;color:var(--muted)}.catalog-note{margin:5px 0 35px}
@media(max-width:1000px){.catalog-hero{gap:45px}.card-art{height:280px}.mini-four{width:225px;gap:6px}.mini-reversi{width:210px}.game-tags{gap:10px}.card-body{padding:22px}.card-body h3{font-size:30px}}
@media(max-width:700px){header{height:auto;min-height:104px;flex-wrap:wrap;gap:0;padding:14px 22px 8px}.site-nav{order:3;width:100%;margin:5px 0 0;justify-content:space-between;gap:10px;font-size:11px}.catalog{padding:0 22px}.catalog-hero{grid-template-columns:1fr;gap:35px;padding:40px 0 30px}.catalog-hero h1{font-size:60px;letter-spacing:-2.5px}.catalog-hero .lede{font-size:15px}.invitation{transform:none;padding:25px}.invitation h2{font-size:32px;margin:14px 0 10px}.invitation form{margin-top:18px}.game-cards{grid-template-columns:1fr;gap:24px}.shelf-heading{padding:25px 0;align-items:start}.shelf-heading h2{font-size:32px}.shelf-heading>.quiet{max-width:95px;text-align:right}.card-art{height:280px}.mini-four{width:250px}.mini-reversi{width:215px}.card-body h3{font-size:34px}.how-strip{grid-template-columns:1fr;gap:15px;margin-top:30px;padding:25px 0 15px}.how-strip p{margin:0}.how-strip h3{margin:5px 0}.board.reversi-board{max-width:100%;padding:9px;gap:1px}.table-info .rules{display:block;grid-column:1/-1}.table-info .rules p{margin-bottom:0}.preview-board.reversi-board{gap:1px;padding:12px}.lobby-back{margin-bottom:15px}}

.rules summary{cursor:pointer;font-size:13px;font-weight:650}.rules summary:focus-visible{outline:3px solid var(--coral);outline-offset:3px}

/* Fifteen-line wooden board; every target is a full intersection-sized button. */
.gomoku-board{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:0;padding:15px;background:#dcc091;border:1px solid #b99a67;border-radius:12px;box-shadow:0 8px 0 #b79c72,0 18px 28px #41331d20}.board.gomoku-board{max-width:610px}.intersection{position:relative;display:block;aspect-ratio:1;border:0;border-radius:0;padding:0;background-color:transparent;background-image:linear-gradient(#8c734b,#8c734b),linear-gradient(#8c734b,#8c734b);background-size:var(--h-width,100%) 1px,1px var(--v-height,100%);background-position:var(--h-position,center) center,center var(--v-position,center);background-repeat:no-repeat}.intersection:disabled{opacity:1}.edge-left{--h-width:50%;--h-position:right}.edge-right{--h-width:50%;--h-position:left}.edge-top{--v-height:50%;--v-position:bottom}.edge-bottom{--v-height:50%;--v-position:top}.intersection.star-point:after{content:'';position:absolute;inset:43%;border-radius:50%;background:#705a38}.intersection.p1:before,.intersection.p2:before,.intersection.pending-stone:before{content:'';position:absolute;inset:7%;border-radius:50%;background:#fcf8ed;box-shadow:inset 0 -2px 1px #c9c3af,0 2px 3px #3a2e2a45;z-index:1}.seat-one-black .intersection.p1:before,.gomoku-board:not(.seat-one-black) .intersection.p2:before,.gomoku-board.preview-black .intersection.pending-stone:before{background:#2c342c;box-shadow:inset 0 -2px 1px #141c17,0 2px 3px #3a2e2a45}.intersection.pending-stone:before{opacity:.55;outline:2px dashed #9a4c31;outline-offset:1px}.intersection.last-stone:after{content:'';position:absolute;inset:43%;background:#e88763;border-radius:50%;z-index:2}.intersection.winning-stone:before{outline:3px solid #b35435;outline-offset:1px}.intersection:focus-visible{outline:2px solid #9a4c31;outline-offset:-1px;z-index:3}.intersection:not(:disabled):hover{background-color:#fff4dc55}.move-controls{display:flex;align-items:center;gap:12px;max-width:610px;margin:0 0 18px;min-height:44px}.move-controls>span{font:13px ui-monospace,monospace;margin-right:auto}.move-controls .primary{padding:9px 16px;font-size:13px}.move-controls .text-button{font-size:12px;margin:0}.gomoku-art{background:#eee0c4}.mini-gomoku{width:245px;transform:rotate(-5deg);padding:11px}.game-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.card-body h3{font-size:30px}.card-art{height:285px}.mini-four{width:240px}.mini-reversi{width:220px}.game-tags{gap:10px;font-size:8px}
@media(max-width:1000px){.game-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.game-cards{grid-template-columns:1fr}.site-nav{gap:6px}.gomoku-board,.board.gomoku-board,.preview-board.gomoku-board{gap:0;padding:9px}.mini-gomoku{width:245px;padding:11px}.move-controls{gap:8px;margin-bottom:13px}.move-controls .primary{padding:10px 12px}.move-controls>span{font-size:12px}.card-body h3{font-size:32px}.gomoku-board .intersection.winning-stone:before{outline-width:2px}}

.card-art{height:310px}.mini-gomoku{width:220px}

.site-nav .catalog-link{border:1px solid var(--line);border-radius:7px;padding:8px 13px}.site-nav .catalog-link:hover{background:var(--panel)}@media(max-width:700px){header{height:80px;min-height:80px;flex-wrap:nowrap;gap:10px;padding:0 20px}.site-nav{order:0;width:auto;margin:0 0 0 auto;gap:0}.site-nav .catalog-link{white-space:nowrap;padding:6px 9px}.text-button{margin-left:0}.brand{font-size:22px}.brand-icon{font-size:34px;margin-right:7px}}

.catalog-search{margin:0 0 24px}.catalog-search input{width:100%;max-width:430px;background:#faf8f1}.catalog-search label{font-weight:600;color:var(--ink)}#no-games{padding:25px 0 55px;color:var(--muted)}
.dice-preview,.mini-dice{display:flex;align-items:center;justify-content:center;gap:12px;min-height:270px;background:#dce4d3;border-radius:15px;padding:25px;flex-wrap:wrap}.dice-preview span,.mini-dice i{font:86px/1 Georgia,serif;color:#384e3a;background:#fffdf4;border-radius:13px;box-shadow:0 8px 0 #c3ceb5,0 16px 22px #29372820;transform:rotate(-9deg)}.dice-preview span:nth-child(even),.mini-dice i:nth-child(even){transform:rotate(13deg);color:#b4694b}.mini-dice{min-height:0;background:none;padding:0;gap:10px}.mini-dice i{font-size:75px}.dice-art{background:#dce4d3}.dice-game{border:1px solid var(--line);background:#faf8f2;border-radius:13px;padding:20px}.dice-tray{display:flex;justify-content:space-between;gap:10px;background:#e0e7d6;border-radius:10px;padding:20px 14px;margin-bottom:18px}.die{border:2px solid transparent;border-radius:9px;background:#fffdf4;color:#384e3a;font-size:clamp(35px,5vw,65px);line-height:1.1;padding:4px;flex:1;box-shadow:0 4px 0 #bcc8af;min-width:0}.die:disabled{opacity:1}.die.held{border-color:#c26645;transform:translateY(-5px);box-shadow:0 4px 0 #c26645}.die.held:after{content:'✓';display:block;font:12px system-ui;color:#a54e31}.dice-actions,.score-confirm,.road-confirm{display:flex;align-items:center;gap:14px;justify-content:space-between}.dice-actions>span{font-size:12px;color:var(--muted)}.dice-actions .primary,.score-confirm .primary,.road-confirm .primary{padding:10px 17px;font-size:13px;white-space:nowrap}.dice-help{font-size:12px;color:var(--muted);line-height:1.7}.score-head,.score-row{display:grid;grid-template-columns:1fr 55px 55px 60px;gap:8px;align-items:center;width:100%;text-align:center}.score-head{font-size:10px;color:var(--muted);border-bottom:1px solid var(--line);padding:12px 10px}.score-head>span:first-child{text-align:left}.score-row{border:0;border-bottom:1px solid #e5e5d8;background:transparent;padding:8px 10px;color:var(--ink);font-size:14px}.score-row:disabled{opacity:1}.score-row:not(:disabled):hover{background:#edf0e2}.score-row>span:first-child{text-align:left}.score-row b{display:block;font-weight:600;font-size:12px}.score-row small{font-size:10px;color:var(--muted)}.score-row.selected-score{background:#e0e7d1;outline:2px solid var(--olive);outline-offset:-2px}.score-row>span:last-child{font-weight:700;color:#66733e}.score-confirm{margin-top:18px}.score-confirm>span{font-size:12px;max-width:65%}
.road-preview,.road-art{background:#dbe4e6;border-radius:13px}.road-preview{padding:35px}.road-art-grid{position:relative;width:220px;aspect-ratio:1;border:13px solid #a0b3b7;border-radius:12px;background-color:#dbe5e4;background-image:repeating-linear-gradient(0deg,transparent 0 calc(100% / 9 - 3px),#8aa0a7 calc(100% / 9 - 3px) calc(100% / 9)),repeating-linear-gradient(90deg,transparent 0 calc(100% / 9 - 3px),#8aa0a7 calc(100% / 9 - 3px) calc(100% / 9));transform:rotate(5deg);box-shadow:0 8px 0 #8ea5a9,0 16px 23px #243a4025;margin:auto}.road-art-grid:before,.road-art-grid:after{content:'';position:absolute;width:42%;height:7px;left:10%;top:40%;border-radius:4px;background:#bd7960}.road-art-grid:after{left:50%;top:70%;width:7px;height:25%}.road-art-grid i,.road-art-grid b{position:absolute;width:18px;height:18px;border-radius:50%;background:#d87959;left:40%;top:60%;box-shadow:0 3px 0 #a05134}.road-art-grid b{background:#69805b;left:60%;top:25%;box-shadow:0 3px 0 #455f39}.road-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.road-controls label{margin:0;font-size:12px}.road-controls select{font:inherit;border:1px solid var(--line);background:var(--paper);border-radius:7px;padding:8px;color:var(--ink)}.road-controls>span{margin-left:auto;font-size:12px}.road-grid{position:relative;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));aspect-ratio:1;border:12px solid #a8babc;background:#9caeb0;border-radius:12px;box-shadow:0 8px 0 #8d9fa1;margin-top:18px;overflow:visible}.road-cell{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border:3px solid #9caeb0;border-radius:5px;background:#e0e9e5;padding:0;color:var(--coral);font:clamp(16px,2.5vw,31px)/1 system-ui;position:relative}.road-cell:disabled{opacity:1}.road-cell.goal-cell{background:#cedfc0}.road-cell.pawn-2{color:#647d51}.road-cell.can-walk:after{content:'';width:7px;height:7px;background:#738966;border-radius:50%;position:absolute}.road-cell.road-selected{background:#f4e0bf;box-shadow:inset 0 0 0 2px #c36b4b}.road-wall{position:absolute;pointer-events:none;background:#ad6953;border-radius:5px;z-index:2;box-shadow:0 2px 1px #60402f30}.road-wall.h{width:calc(200% / 9);height:6px;transform:translateY(-50%)}.road-wall.v{height:calc(200% / 9);width:6px;transform:translateX(-50%)}.road-wall.preview-wall{background:#edaa66;outline:2px dashed #9d5a2e;z-index:3}.road-confirm{margin-top:24px}.road-confirm>span{font-size:12px}.road-preview .road-art-grid{width:85%;max-width:350px}
@media(max-width:700px){.dice-game{padding:12px}.dice-tray{gap:7px;padding:15px 8px}.die{font-size:43px}.score-head,.score-row{grid-template-columns:1fr 45px 45px 42px;gap:4px;padding:8px 5px}.score-head{font-size:9px}.score-row small{font-size:9px}.score-confirm{align-items:flex-start;gap:10px}.score-confirm .primary{padding:10px;font-size:12px}.road-controls{gap:8px}.road-controls select{font-size:12px}.road-controls>span{font-size:11px}.road-grid{border-width:8px}.road-cell{border-width:2px;font-size:22px}.road-wall.h{height:5px}.road-wall.v{width:5px}.dice-preview span{font-size:64px}.dice-preview{gap:10px;min-height:250px}}

.solo-entry{margin:0 0 26px;padding:0 0 18px;border-bottom:1px solid var(--line)}.solo-entry .secondary{border-color:var(--olive);background:#e8ebdb;padding:12px 22px}.solo-entry p{margin:9px 0 0}.solo-mode .room-code,.solo-mode #invite,.solo-mode #invite-fallback,.solo-mode .table-info>.quiet{display:none!important}.solo-tools{margin:0 0 20px}.solo-tools p{margin:0 0 12px}.solo-mode .table-info .players{margin-top:18px}@media(max-width:700px){.solo-tools{grid-column:1/-1;display:flex;align-items:center;gap:12px;margin:0}.solo-tools p{flex:1;margin:0}.solo-tools .secondary{white-space:nowrap;padding:8px 12px}.solo-mode .table-layout{margin-top:20px}.solo-entry{margin-bottom:24px}}

/* Gem Guild: original paper cards and geometric gem illustrations. */
.gem-c0{--gem:#a74e5d;--gem-pale:#f2dce0}.gem-c1{--gem:#446d9a;--gem-pale:#dce7f3}.gem-c2{--gem:#477c66;--gem-pale:#dbeae1}.gem-c3{--gem:#89774d;--gem-pale:#f3ecda}.gem-c4{--gem:#655573;--gem-pale:#e6dfed}.gem-c5{--gem:#a47b24;--gem-pale:#f5e3ab}
.guild-art,.gem-preview{background:#e5dfd1}.guild-mini,.gem-preview-cards{display:flex;align-items:center;justify-content:center;gap:0}.guild-mini i,.gem-preview-cards i{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#faf7ed;border:1px solid #cabd9c;border-radius:12px;box-shadow:0 5px 0 #cabea4,0 12px 24px #52452920;width:91px;height:143px;font:53px/1.1 Georgia,serif;color:#a74e5d;transform:rotate(-14deg)}.guild-mini i:nth-child(2),.gem-preview-cards i:nth-child(2){color:#477c66;transform:translateY(-20px);z-index:1}.guild-mini i:nth-child(3),.gem-preview-cards i:nth-child(3){color:#89774d;transform:rotate(14deg)}.guild-mini small,.gem-preview-cards small{font:10px/2 system-ui;letter-spacing:2px;margin-top:14px}.gem-preview{padding:25px 20px 50px;border:1px solid #cec6b3;border-radius:16px}.gem-preview-star{display:block;text-align:center;color:#a47b24;font:50px/1 Georgia;margin-bottom:30px}.gem-preview-cards i{width:125px;height:185px}.gem-preview-cards small{font-size:8px;letter-spacing:0}.gems-page .table-layout{grid-template-columns:210px minmax(0,1fr);gap:32px}.gems-page .table-info h1{font-size:43px}.gem-game{min-width:0}.gem-goal{background:#e7e8d8;color:#566244;padding:12px 16px;border-radius:9px;margin:0 0 16px;font-size:12px}.gem-goal.gem-final{background:#f1dfb7;color:#775922}.gem-portfolios{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.gem-portfolio{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#faf8f0}.gem-portfolio h3{display:flex;justify-content:space-between;gap:8px}.gem-portfolio h3 b{font-size:13px;color:#7c5e2b}.gem-portfolio p{margin:5px 0;font-size:10px;color:var(--muted)}.gem-portfolio small{display:block;font-size:10px;margin-top:8px;color:var(--muted)}.gem-assets{display:flex;gap:4px;flex-wrap:wrap}.gem-chip{display:inline-flex;gap:3px;align-items:center;background:var(--gem-pale);color:var(--gem);border:1px solid color-mix(in srgb,var(--gem),transparent 70%);padding:1px 5px;border-radius:5px;font:600 11px/1.7 system-ui;white-space:nowrap}.gem-bank-panel{border:1px solid #d2c7ad;border-radius:12px;padding:15px;background:#ede7d9}.gem-bank-panel h3{font-size:13px}.gem-bank{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.gem-token{border:1px solid color-mix(in srgb,var(--gem),transparent 50%);border-radius:10px;background:var(--gem-pale);color:var(--gem);padding:7px 3px;position:relative}.gem-token>span{display:block;font:28px/1.1 Georgia}.gem-token b{font-size:18px;margin-right:5px}.gem-token small{display:block;font-size:9px}.gem-token:disabled{opacity:.8}.gem-token[aria-pressed=true]{outline:2px solid var(--gem);outline-offset:2px}.gem-token em{position:absolute;right:-4px;top:-8px;font:600 12px/22px system-ui;background:var(--ink);color:white;border-radius:20px;width:22px;height:22px}.gem-bank-panel .dice-help{margin-bottom:0}.gem-toolbar{display:flex;gap:10px;align-items:center;margin:18px 0}.gem-toolbar label{margin:0}.gem-toolbar select{font:inherit;padding:8px;border:1px solid var(--line);border-radius:6px;background:#faf8f0;color:var(--ink)}.gem-toolbar .text-button{margin-left:auto;font-size:12px}.gem-patrons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:20px}.gem-patron{border:1px solid #cfc6af;background:#f7edda;border-radius:8px;padding:9px 6px;text-align:left;color:#705e39}.gem-patron:disabled{opacity:1}.gem-patron b{font:600 10px/1.5 system-ui;display:block;margin-bottom:5px}.gem-patron>span{display:flex;gap:3px;flex-wrap:wrap}.gem-market-tier{margin-bottom:20px}.gem-market-tier>h3{font-size:10px;font-weight:600;letter-spacing:1px;color:var(--muted);margin-bottom:9px}.gem-market-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.gem-card{width:100%;display:block;text-align:left;background:#fcfaf3;border:1px solid #d3cbbb;border-radius:10px;overflow:hidden;padding:10px;box-shadow:0 3px 0 #ded8c9;color:var(--ink);min-width:0}.gem-card:disabled{opacity:1}.gem-card:not(:disabled):hover{border-color:var(--gem);transform:translateY(-2px)}.gem-card-top{display:flex;align-items:center;justify-content:space-between}.gem-card-top>b{font:26px/1.1 Georgia,serif;color:#77572b}.gem-card-top small{font:8px system-ui;margin-left:4px;color:var(--muted)}.gem-bonus{background:var(--gem-pale);border-radius:5px;padding:4px 7px;color:var(--gem);font-size:13px;font-weight:700}.gem-illustration{display:flex;height:60px;position:relative;align-items:center;justify-content:center;margin:7px 0;border-radius:7px;background:repeating-linear-gradient(45deg,transparent 0 10px,#ffffff30 10px 11px),var(--gem-pale)}.gem-illustration i{display:block;width:40px;height:40px;border:1px solid var(--gem);transform:rotate(45deg);opacity:.35}.gem-illustration b{position:absolute;font:35px/1 Georgia;color:var(--gem)}.gem-card-name{display:block;font:600 10px/1.4 system-ui;margin:5px 0 8px;letter-spacing:.4px}.gem-cost{display:flex;gap:3px;flex-wrap:wrap;min-height:23px}.gem-selected{outline:3px solid #ab8034;outline-offset:1px}.gem-empty{border:1px dashed #d3cbbb;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px;min-height:170px}.gem-reserved{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;font-size:12px;color:var(--muted);margin:10px 0 18px}.gem-other{font-size:12px;margin:15px 0}.gem-other summary{cursor:pointer}.gem-confirm{position:sticky;bottom:12px;z-index:4;background:#f8f5ea;border:1px solid #c6baa0;border-radius:10px;padding:12px 14px;box-shadow:0 4px 20px #4f45231c;margin-top:20px}.gem-confirm p{font-size:12px;margin:0 0 9px;line-height:1.6}.gem-confirm>div{display:flex;justify-content:flex-end;gap:9px}.gem-confirm .primary,.gem-confirm .secondary{font-size:12px;padding:9px 14px}.gems-page .turn-line h2{font-size:23px}
@media(max-width:1000px){.gems-page .table-layout{grid-template-columns:180px minmax(0,1fr);gap:24px}.gem-market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gem-card{padding:12px}.gem-illustration{height:65px}.gem-reserved{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.gems-page .table-layout{grid-template-columns:minmax(0,1fr);gap:20px}.gem-portfolios{gap:8px}.gem-portfolio{padding:10px}.gem-portfolio h3{font-size:12px;flex-wrap:wrap;gap:2px}.gem-portfolio h3 b{font-size:11px}.gem-chip{font-size:10px;padding:1px 4px}.gem-bank-panel{padding:12px 9px}.gem-bank{gap:6px}.gem-token>span{font-size:24px}.gem-token b{font-size:15px}.gem-token small{font-size:8px}.gem-patrons{gap:6px}.gem-patron{padding:8px 5px}.gem-patron b{font-size:9px}.gem-toolbar{gap:7px}.gem-toolbar select{font-size:12px}.gem-confirm{bottom:6px;padding:10px}.gem-preview-cards i{width:90px;height:145px}.gem-preview-cards small{font-size:7px}.gem-card-name{font-size:11px}}

/* Original SVG art and 2–4-player Gem Guild tables. */
.gem-icon{width:22px;height:22px;object-fit:contain;vertical-align:middle;flex:none}.gem-chip .gem-icon{width:16px;height:16px}.gem-bonus{display:flex;align-items:center;gap:2px}.gem-token>span .gem-icon{width:44px;height:44px;filter:drop-shadow(0 2px 2px #40301b26)}.gem-illustration{height:88px;background:#e0e8dc;overflow:hidden}.gem-scene{width:100%;height:100%;object-fit:cover}.gem-illustration>b{right:5px;bottom:4px;line-height:1}.gem-illustration>b .gem-icon{width:30px;height:30px;filter:drop-shadow(0 2px 1px #22382d55)}.gem-card{background:linear-gradient(135deg,#fffdf5,#f0e8d8);border-color:#c9b992;box-shadow:0 3px 0 #c4b594,0 5px 10px #5b452016}.gem-patron-seal{float:left;width:34px;height:34px;margin-right:5px}.gem-patrons{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.gem-patron{background:linear-gradient(135deg,#fff2d6,#eaddc0)}.gem-active-portfolio{border-color:#8e793e;box-shadow:inset 0 3px #ad9050}.gem-active-seat{font-weight:750}.gem-reserve-owner{grid-column:1/-1;margin:4px 0 0}.gem-room-size{margin:24px 0 0}.gem-room-size select{font:inherit;background:#fff9ed;color:var(--ink);border:1px solid #bcad8c;border-radius:7px;min-width:110px;padding:9px 15px}.gem-room-size p{max-width:360px}.gem-room-size select:focus-visible,.gem-toolbar select:focus-visible{outline:3px solid var(--coral);outline-offset:3px}.gem-preview-cards i,.guild-mini i{overflow:hidden;background:linear-gradient(135deg,#fff4d6,#d9c59b);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.gem-preview-cards i>img:first-child,.guild-mini i>img:first-child{width:100%;height:90px;object-fit:cover}.gem-preview-cards i .gem-icon,.guild-mini i .gem-icon{width:36px;height:36px}.gem-preview-cards small,.guild-mini small{position:static!important;margin:0 0 9px}.gems-page .players{flex-wrap:wrap}.gems-page .rules{display:block}.gems-page .gem-game{background:transparent}
@media(max-width:700px){.gems-page .players{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}.gems-page .players>div{min-width:0;margin:5px 0}.gems-page .rules{grid-column:1/-1;margin-top:12px}.gem-token>span .gem-icon{width:34px;height:34px}.gem-patrons{grid-template-columns:repeat(2,minmax(0,1fr))}.gem-illustration{height:84px}.gem-preview-cards i>img:first-child{height:68px}.gem-preview-cards i .gem-icon{width:28px;height:28px}.gem-chip .gem-icon{width:14px;height:14px}.gem-portfolios{grid-template-columns:repeat(2,minmax(0,1fr))}.gem-patron-seal{width:30px;height:30px}}

/* Little Kingdom: flat terrain illustrations and touch-first tile placement. */
.kingdom-page .table-layout{grid-template-columns:190px minmax(0,1fr);gap:38px}.kingdom-page .table-info h1{font-size:42px}.kingdom-game.board{display:block;background:none;border:0;box-shadow:none;padding:0;max-width:none}.kingdom-preview{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;padding:12px;background:#d3c9ae;border:1px solid #b5a98a;border-radius:14px;box-shadow:0 8px #b8ac8f,0 20px 35px #40533226;max-width:420px;margin:auto;transform:rotate(-5deg)}.land-cell{display:block;position:relative;aspect-ratio:1;overflow:hidden;border-radius:4px}.land-cell img{width:100%;height:100%;display:block;object-fit:cover}.land-crowns{position:absolute;bottom:3px;right:4px;background:#fff0bc;color:#775820;border-radius:4px;padding:0 3px;font:700 16px/1.2 Georgia;box-shadow:0 1px 3px #3b301f40}.land-scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin-bottom:20px}.land-score{border:1px solid var(--line);border-radius:9px;background:#faf7eb;padding:10px 12px;text-align:left;color:var(--ink)}.land-score>span,.land-score>small{display:block;font-size:11px}.land-score>b{font:28px/1.5 Georgia}.land-score b small{font:11px system-ui}.land-score.active{box-shadow:inset 0 3px #a98c46}.land-score.selected{border-color:#788761;background:#e8ecdc}.land-draft{background:#e8e4d4;border:1px solid #cec6af;border-radius:12px;padding:16px}.land-draft h3{font-size:11px;letter-spacing:1px}.land-draft .quiet{margin:4px 0 12px}#land-market{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.land-offer{background:#faf6e8;border:1px solid #c7b98f;padding:6px;border-radius:8px;box-shadow:0 3px #c5b793}.land-offer:disabled{opacity:1}.land-offer.selected{outline:3px solid #ac8240;outline-offset:2px}.land-rank{display:block;text-align:left;font:11px ui-monospace;color:#756138;margin-bottom:5px}.land-domino{display:grid;grid-template-columns:1fr 1fr;gap:2px;min-width:0}.land-domino .land-cell{border-radius:3px}.land-domino .land-crowns{font-size:12px;bottom:1px;right:1px}.land-workbench{margin-top:22px;border:1px solid #c8cdb7;border-radius:12px;padding:18px;background:#e7e9dd}.land-workbench h3{font:22px Georgia;margin:0 0 12px}.land-map{display:grid;gap:3px;max-width:510px;margin:auto;padding:6px;background:#cdd5c4;border:1px solid #b4c0a7;border-radius:8px}.land-square{padding:0;aspect-ratio:1;min-width:0;border:0;background:#edf0e5;border-radius:3px;position:relative;display:flex;align-items:center;justify-content:center}.land-square .land-cell{width:100%}.land-square:disabled{opacity:1}.land-square.legal{background:#f6f4dd;box-shadow:inset 0 0 0 1px #9fae79;cursor:pointer}.land-square.legal .land-empty-dot{width:9px;height:9px;background:#80915d;border-radius:50%}.land-square.preview{outline:3px solid #ad8545;outline-offset:-2px;z-index:1}.land-square.legal:hover{background:#dbe6bd}.land-ghost{opacity:.8}.land-empty-dot{width:3px;height:3px;background:#bdc6ae;border-radius:50%}#land-controls{display:flex;align-items:center;gap:12px;margin:20px 0}#land-held{display:block;width:100px;margin:0 16px}#land-held>.land-domino{transform:rotate(var(--rotation,0deg))}#land-controls button{font-size:12px}#land-discard{margin-left:auto}.land-confirm{position:sticky;bottom:10px;display:flex;align-items:center;gap:9px;background:#fbf7e9;border:1px solid #b7ae92;border-radius:10px;padding:12px;box-shadow:0 4px 20px #4a47251a;margin-top:18px;z-index:4}.land-confirm p{font-size:12px;margin:0 auto 0 0}.land-confirm button{font-size:12px;padding:9px 16px;white-space:nowrap}.land-breakdown{margin:22px 0;font-size:12px}.land-breakdown summary{cursor:pointer}#land-breakdown p{display:flex;justify-content:space-between;gap:10px;padding:7px 12px;border-bottom:1px solid var(--line);margin:0}.kingdom-page .players{flex-wrap:wrap}.kingdom-page .rules{display:block}.kingdom-art{background:#e0e5d6}.kingdom-art .kingdom-preview{width:245px;padding:8px;gap:2px}.kingdom-art .land-crowns{font-size:12px}
@media(max-width:700px){.kingdom-page .table-layout{grid-template-columns:minmax(0,1fr);gap:22px}.kingdom-page .players{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}.kingdom-page .players>div{margin:5px 0;min-width:0}.kingdom-page .rules{grid-column:1/-1;margin:10px 0}.land-scores{grid-template-columns:repeat(2,minmax(0,1fr))}.land-draft{padding:12px}#land-market{grid-template-columns:repeat(2,minmax(0,1fr))}.land-offer .land-domino{max-width:110px;margin:auto}.land-workbench{padding:12px 7px}.land-map{gap:2px;padding:4px}.land-map .land-crowns{font-size:12px;bottom:1px;right:1px}.land-confirm{flex-wrap:wrap;bottom:6px}.land-confirm p{width:100%;margin-bottom:3px}.land-confirm button:first-of-type{margin-left:auto}#land-controls{gap:5px}#land-held{width:85px;margin:5px 12px}.land-workbench h3{padding-left:5px}.land-workbench>.quiet{padding:0 5px}.land-square.legal .land-empty-dot{width:7px;height:7px}}

#land-held{display:flex;align-items:center;justify-content:center;flex:none;width:100px;height:100px;margin:0 8px}#land-held>.land-domino{width:100px;flex:none}@media(max-width:700px){#land-held{width:82px;height:82px;margin:0 5px}#land-held>.land-domino{width:82px}}

/* Motion is cosmetic: the final board is always immediately playable. */
.motion-ghost{position:fixed!important;z-index:30!important;pointer-events:none!important;transform-origin:center;overflow:hidden}
.motion-disc{position:absolute;border-radius:50%;z-index:3;pointer-events:none}
[data-motion-hidden=piece]:before{visibility:hidden}
.motion-score{position:fixed;z-index:31;pointer-events:none;font:700 18px/1.2 system-ui;color:#805b22;background:#fff2ce;border:1px solid #d9c092;border-radius:20px;padding:4px 8px;box-shadow:0 3px 10px #49351620}
.motion-toggle{white-space:nowrap;font-size:11px;padding:0 5px;color:var(--muted);align-self:center}
.players>div{border-radius:6px}.players>div.motion-turn{background:#e6e9d8;box-shadow:0 0 0 5px #e6e9d8}
.road-pawn{display:block;pointer-events:none;position:relative;z-index:3}
.die{position:relative}.die.held:after{position:absolute;bottom:-9px;left:calc(50% - 9px);width:18px;height:18px;line-height:18px;background:#fff1da;border-radius:50%;border:1px solid #c26645}
@media(prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
  body:not(.motion-off) :is(.primary,.secondary,.text-button,.site-nav a,input,select,.gem-token,.gem-card,.gem-patron,.land-offer,.land-score,.score-row,.road-cell){transition:background-color .18s,border-color .18s,box-shadow .18s,scale .16s,translate .18s}
  body:not(.motion-off) .die{transition:transform .18s,border-color .18s,box-shadow .18s}
  body:not(.motion-off) .game-card{transition:translate .24s,border-color .2s,box-shadow .24s}
  body:not(.motion-off) .card-arrow{transition:translate .24s,color .2s}
  body:not(.motion-off) .players>div{transition:background-color .25s,box-shadow .25s}
  body:not(.motion-off) :is(.primary,.secondary,.text-button,.site-nav a,.gem-token,.gem-card,.gem-patron,.land-offer,.land-score):not(:disabled):active{scale:.96}
  body:not(.motion-off) input:focus,body:not(.motion-off) select:focus{background:#fffaf0;box-shadow:0 0 0 3px #c9d2b766}
  @media(hover:hover){
    body:not(.motion-off) .game-card:hover{translate:0 -5px;box-shadow:0 10px 22px #364b2514}
    body:not(.motion-off) .game-card:hover .card-arrow{translate:5px 0}
    body:not(.motion-off) :is(.gem-token,.land-offer,.gem-patron):not(:disabled):hover{translate:0 -3px}
    body:not(.motion-off) :is(.primary,.secondary):not(:disabled):hover{translate:0 -2px}
  }
}
body.motion-off *,body.motion-off *:before,body.motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

/* Trailbound: paper expedition cards, five distinct shapes as well as colors. */
.exp-c0{--trail:#a67b43;--pale:#f5e8c9}.exp-c1{--trail:#477e86;--pale:#dcebec}.exp-c2{--trail:#54794c;--pale:#e0ead5}.exp-c3{--trail:#667e98;--pale:#e1e7ee}.exp-c4{--trail:#a25f4a;--pale:#f2ded2}
.expedition-page .table-layout{grid-template-columns:185px minmax(0,1fr);gap:32px}.expedition-page .table-info h1{font-size:42px}.expedition-page .rules{display:block}.exp-game{min-width:0}.exp-scores{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.exp-score{padding:12px 16px;border:1px solid #cdd0ba;border-radius:10px;background:#faf7ed;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.exp-score b{font:32px Georgia;margin-left:auto}.exp-score small{width:100%;color:var(--muted);font-size:11px}.exp-score.active{box-shadow:inset 0 3px #839268;background:#e9eddf}.exp-progress{display:flex;gap:12px;align-items:center;margin-bottom:18px;font-size:12px}.exp-progress span{padding:7px 12px;border-radius:20px;background:#e9e6d9;color:var(--muted)}.exp-progress[data-phase=play]>span:first-child,.exp-progress[data-phase=draw]>span:last-child{background:#d7e1c9;color:#405833;font-weight:650}.exp-area{margin:20px 0}.exp-area>h3,.exp-hand-panel>h3{font-size:12px;letter-spacing:.6px}.exp-routes,.exp-discards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.exp-route{padding:8px 6px 9px;background:var(--pale);border:1px solid color-mix(in srgb,var(--trail),transparent 55%);border-radius:9px;color:var(--trail);min-width:0}.exp-route:disabled,.exp-card:disabled,.exp-pile:disabled{opacity:1}.exp-route>img{width:100%;height:50px;object-fit:cover;border-radius:4px;margin:6px 0}.exp-route-title{font-size:11px;display:block;font-weight:650}.exp-route-cards{display:flex;justify-content:center;gap:3px;flex-wrap:wrap;min-height:28px;align-content:center}.exp-route-cards i{font:650 11px/20px system-ui;background:#fffaf0;border-radius:4px;min-width:17px;padding:0 3px}.exp-route>b{display:block;font:23px Georgia;margin:8px 0 5px}.exp-route>small{font-size:10px}.exp-market{padding:16px;background:#e9e4d5;border:1px solid #d1c5ac;border-radius:12px}.exp-draw-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.exp-draw-head h3{font-size:11px}.exp-deck{display:flex;align-items:center;gap:12px;background:#f9f4e6;border:1px solid #c5b997;border-radius:9px;padding:6px 13px;color:#675c3d;font-size:11px;box-shadow:0 3px #cec2a5}.exp-deck b{font:24px Georgia;display:block}.exp-cardback{display:flex;width:38px;height:48px;align-items:center;justify-content:center;border:2px solid #e1d5b9;outline:1px solid #89927a;border-radius:4px;background:repeating-linear-gradient(45deg,#7b8c73 0 7px,#73836b 7px 8px);color:#f7eccf;font-size:27px}.exp-pile{min-width:0;border:1px dashed var(--trail);border-radius:7px;background:var(--pale);padding:8px 3px;color:var(--trail)}.exp-pile small,.exp-pile span{display:block;font-size:10px}.exp-pile b{display:block;font:26px Georgia;margin:5px 0}.exp-market .quiet{margin-bottom:0}.exp-hand{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;align-items:start}.exp-card{padding:6px;border:1px solid color-mix(in srgb,var(--trail),transparent 40%);background:#fffcf3;border-radius:8px;color:var(--trail);box-shadow:0 3px 0 #c9c0aa;text-align:left;min-width:0;width:100%}.exp-card-head{display:flex;align-items:center;justify-content:space-between;gap:3px}.exp-card-head b{font:26px Georgia}.exp-card-head small{font-size:9px}.exp-card>img{display:block;width:100%;height:63px;object-fit:cover;border-radius:4px;margin:5px 0}.exp-card-foot{display:block;font:10px/1.6 system-ui;text-align:center;min-height:16px}.exp-card.selected,.exp-route.selected{outline:3px solid #ac843c;outline-offset:2px}.exp-confirm{position:sticky;bottom:8px;background:#fcf8ed;border:1px solid #c4b998;border-radius:10px;padding:12px;box-shadow:0 4px 20px #4f45231c;z-index:4;margin-top:20px}.exp-confirm p{font-size:12px;margin:0 0 10px}.exp-confirm>div{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.exp-confirm button{font-size:12px;padding:8px 12px}.exp-confirm [aria-pressed=true]{background:#dde6ce;border-color:#7d8b61}.exp-score-help{font-size:12px;margin:20px 0}.exp-score-help summary{cursor:pointer}.exp-preview{display:flex;gap:0;justify-content:center;padding:65px 18px;background:#e5e7d7;border-radius:16px}.exp-preview .exp-card{width:135px;transform:rotate(-12deg)}.exp-preview .exp-card:nth-child(2){transform:translateY(-20px);z-index:1}.exp-preview .exp-card:nth-child(3){transform:rotate(12deg)}.exp-preview .exp-card>img{height:120px}.exp-art{background:#e3e6d6}.exp-mini{display:flex;width:260px;align-items:center;justify-content:center}.exp-mini img{width:90px;height:140px;object-fit:cover;border:7px solid #fff8e8;border-radius:8px;box-shadow:0 4px #c2baa1;transform:rotate(-12deg)}.exp-mini img:nth-child(2){transform:translateY(-20px);z-index:1}.exp-mini img:nth-child(3){transform:rotate(12deg)}
@media(prefers-reduced-motion:no-preference){body:not(.motion-off) :is(.exp-card,.exp-pile,.exp-route,.exp-deck){transition:translate .18s,scale .18s,box-shadow .18s}body:not(.motion-off) .exp-card.selected{translate:0 -7px}body:not(.motion-off) :is(.exp-card,.exp-pile,.exp-deck):not(:disabled):active{scale:.96}@media(hover:hover){body:not(.motion-off) :is(.exp-card,.exp-pile,.exp-deck):not(:disabled):hover{translate:0 -4px}}}
@media(max-width:1000px){.expedition-page .table-layout{grid-template-columns:160px minmax(0,1fr);gap:24px}.exp-hand{grid-template-columns:repeat(4,minmax(0,1fr))}.exp-card>img{height:70px}.exp-card-head small{font-size:10px}}
@media(max-width:700px){.expedition-page .table-layout{grid-template-columns:minmax(0,1fr);gap:20px}.expedition-page .rules{grid-column:1/-1;margin-top:10px}.exp-routes,.exp-discards{gap:5px}.exp-route{padding:6px 3px}.exp-route-title{font-size:9px}.exp-route>img{height:38px}.exp-route>small{font-size:8px}.exp-route-cards i{min-width:14px;font-size:9px;padding:0 2px;line-height:18px}.exp-route>b{font-size:21px}.exp-market{padding:12px 8px}.exp-pile small,.exp-pile span{font-size:9px}.exp-hand{gap:7px}.exp-card{padding:5px}.exp-card-head b{font-size:23px}.exp-card-head small{font-size:9px}.exp-card>img{height:50px}.exp-card-foot{font-size:8px}.exp-progress{gap:8px;font-size:10px}.exp-progress span{padding:6px 9px}.exp-scores{gap:8px}.exp-score{padding:10px 12px}.exp-confirm button{font-size:11px;padding:8px}.exp-confirm>div{gap:5px}.exp-confirm .text-button{margin:0}.exp-preview .exp-card{width:100px}.exp-preview .exp-card>img{height:95px}}
html:has(body.motion-off){scroll-behavior:auto}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Shared original geometric cards; each color also has its own symbol. */
.ct-c0{--card-ink:#a6523c;--card-pale:#f2d7ca}.ct-c1{--card-ink:#886519;--card-pale:#f3e6b8}.ct-c2{--card-ink:#526d47;--card-pale:#dce6ce}.ct-c3{--card-ink:#36757b;--card-pale:#cfe5e2}.ct-c4{--card-ink:#4b6394;--card-pale:#d8dfef}.ct-c5{--card-ink:#795687;--card-pale:#e5d8e9}.ct-c6{--card-ink:#9a526a;--card-pale:#f1d9e1}
.ct-card{display:flex;flex-direction:column;justify-content:space-between;min-width:0;width:106px;aspect-ratio:5/7;padding:9px;border:1px solid var(--card-ink);border-radius:9px;background:var(--card-pale);color:var(--card-ink);box-shadow:0 3px 0 #302d2420;text-align:left;flex:none}
.ct-card-top{display:flex;align-items:center;justify-content:space-between;gap:3px}.ct-card-top b{font-size:24px;line-height:1}.ct-card-top small{font-size:9px;letter-spacing:.02em}.ct-card img{display:block;width:100%;height:auto;min-height:0;max-height:80px;object-fit:contain}.ct-card-bottom{font-size:9px;letter-spacing:.05em;text-align:center}.ct-card.selected{outline:3px solid var(--card-ink);outline-offset:3px;transform:translateY(-5px)}
.ct-preview,.ct-catalog-preview{display:flex;justify-content:center;align-items:center;gap:12px;padding:40px 10px;min-height:240px}.ct-preview .ct-card{width:135px}.ct-preview .ct-card:nth-child(1),.ct-catalog-preview .ct-card:nth-child(1){rotate:-9deg;translate:0 12px}.ct-preview .ct-card:nth-child(3),.ct-catalog-preview .ct-card:nth-child(3){rotate:9deg;translate:0 12px}.ct-catalog-preview{background:#eae5d8;min-height:220px;padding:26px;overflow:hidden;border-radius:12px}.ct-catalog-preview .ct-card{width:88px}.ct-catalog-preview .ct-card img{height:65px}.card-formation .ct-catalog-preview{background:#dee5e2}
.card-table-page .table-layout{grid-template-columns:240px minmax(0,1fr);gap:30px}.card-table-page .play-area{min-width:0}.ct-game{width:100%;min-width:0}.ct-game h3{font-size:13px;letter-spacing:.05em;margin:0 0 10px}.ct-game button:disabled{cursor:default}.ct-game .ct-card:disabled,.formation-lane:disabled{opacity:1}.ct-game button:focus-visible{outline:3px solid #926f30;outline-offset:3px}.card-table-page .rules{display:block}.card-table-page .rules p{font-size:13px;line-height:1.85}.ct-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0 10px}.ct-section-title h3{margin:0}.ct-confirm{display:flex;align-items:center;gap:10px;position:sticky;bottom:10px;z-index:3;border:1px solid #d5cdbc;background:#f8f5edee;backdrop-filter:blur(8px);padding:12px;border-radius:12px;margin:15px 0}.ct-confirm p{flex:1;margin:0;font-size:13px;line-height:1.6}.ct-confirm .primary{padding:12px 18px;white-space:nowrap}.ct-empty-card{border:1px dashed #b5ad99;border-radius:9px;aspect-ratio:5/7;width:88px;display:flex;align-items:center;justify-content:center;flex:none;color:#8d8574;font-size:13px;text-align:center}
.palette-draw{display:flex;align-items:center;gap:16px;background:#e9e6d9;border-radius:14px;padding:18px}.palette-draw>div:first-child{flex:1}.palette-draw h3{font-size:19px;letter-spacing:0;margin:10px 0}.palette-draw .quiet{margin:0;line-height:1.7}.ct-deck{display:flex;flex-direction:column;align-items:center;justify-content:center;width:88px;aspect-ratio:5/7;flex:none;border:4px double #ded7c5;border-radius:9px;background:#657461;color:#fff8ea;gap:7px}.ct-deck>span{font-size:32px}.ct-deck b{font-size:22px}.ct-deck small{font-size:10px}#palette-pending .ct-card{width:88px}.palette-rows{display:grid;gap:12px;margin-top:16px}.palette-row{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #d8d0c0;border-radius:12px;background:#faf7ef}.palette-row.selected{border-color:#64775c;box-shadow:inset 0 0 0 2px #64775c}.palette-row.taken{background:#e8e6dc}.palette-row-title{display:flex;flex-direction:column;gap:8px;min-width:65px}.palette-row-title>b{font-size:24px;color:#8e846f}.palette-row-title small{font-size:11px}.palette-row-cards{flex:1;display:flex;gap:10px}.palette-row .ct-card,.palette-row .ct-empty-card{width:74px}.palette-row .ct-card{padding:6px}.palette-row .ct-card img{max-height:48px}.palette-row .ct-card-top b{font-size:19px}.palette-row>.secondary{font-size:12px;padding:10px 12px;flex:none}.palette-collections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.palette-portfolio{border:1px solid #d8d0c0;background:#f9f6ee;padding:14px;border-radius:12px}.palette-portfolio.active{border-color:#718363}.palette-portfolio h3{display:flex;justify-content:space-between;align-items:center}.palette-portfolio h3 b{font-size:24px}.palette-color-counts{display:grid;grid-template-columns:1fr;gap:4px}.palette-color-counts>div{display:flex;align-items:center;gap:10px;background:var(--card-pale);color:var(--card-ink);padding:5px 8px;border-radius:4px;font-size:11px}.palette-color-counts span{flex:1}.palette-color-counts small{min-width:30px;text-align:right}.palette-color-counts .negative{background:transparent;border:1px dashed #d8d0c0}
.formation-map{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px;margin:16px 0 8px;padding:10px;background:#e7e5d9;border-radius:10px}.formation-flag{display:flex;flex-direction:column;align-items:center;color:#938b78;gap:3px;min-width:0}.formation-flag b{font-size:25px}.formation-flag small{font-size:10px;white-space:nowrap}.formation-flag.owned{border-radius:6px;background:#d1dfc2;color:#4e6747}.formation-flag.owner-other{background:#ecd2c6;color:#a65f48}.formation-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.formation-lane{min-width:0;text-align:center;border:1px solid #cfc8b9;border-radius:11px;background:#f9f6ee;padding:10px;color:#343a30}.formation-lane.selected{outline:3px solid #687b5c;outline-offset:1px;background:#eef0e3}.formation-lane.claimed{background:#e5e4da}.formation-troops{display:flex;gap:5px;justify-content:center}.formation-chip{display:flex;align-items:center;justify-content:center;gap:4px;background:var(--card-pale);color:var(--card-ink);border:1px solid var(--card-ink);border-radius:5px;height:40px;flex:1;max-width:55px}.formation-chip small{font-size:12px}.formation-chip b{font-size:20px}.formation-chip.empty{border:1px dashed #c8c0ae;background:transparent;color:#a8a08e}.formation-type{display:block;font-size:10px;margin-top:5px;min-height:13px}.formation-divider{display:flex;align-items:center;justify-content:space-between;gap:6px;border-top:1px solid #d4cdbd;border-bottom:1px solid #d4cdbd;padding:6px 0;margin:7px 0}.formation-divider b{font-size:17px;color:#8a806a}.formation-divider small{font-size:9px}.ct-hand{display:flex;gap:10px;flex-wrap:wrap;padding:8px 0}.ct-hand .ct-card{flex:1;width:auto;max-width:106px;min-width:70px}.formation-deck{font-size:12px;white-space:nowrap}.formation-deck span{display:inline-block;background:#697962;color:#fff8ea;padding:5px 10px;border:3px double #ddd7c6;border-radius:4px;margin-right:5px}.formation-ranks{font-size:13px;line-height:1.8}.formation-ranks summary{cursor:pointer}
@media(min-width:1150px){.formation-lanes{grid-template-columns:repeat(3,minmax(0,1fr))}.formation-lane{padding:12px}}
@media(max-width:850px){.card-table-page .table-layout{grid-template-columns:1fr}.card-table-page .table-info{display:grid;grid-template-columns:1fr 1fr;gap:8px}.card-table-page .table-info .rules{grid-column:1/-1}.card-table-page .ct-preview .ct-card{width:100px}.card-table-page .table-info .players{grid-column:1/-1}.card-table-page .table-info h1{font-size:32px}}
@media(max-width:520px){.ct-preview{gap:8px}.ct-preview .ct-card{width:92px}.palette-draw{gap:9px;padding:12px;flex-wrap:wrap}.palette-draw>div:first-child{flex-basis:100%}.palette-draw h3{font-size:17px}.ct-deck,#palette-pending .ct-card,#palette-pending .ct-empty-card{width:72px}.palette-row{gap:8px;flex-wrap:wrap;padding:10px}.palette-row-title{min-width:44px}.palette-row-title small{max-width:47px;line-height:1.5}.palette-row-cards{gap:6px}.palette-row .ct-card,.palette-row .ct-empty-card{width:62px}.palette-row .ct-card-top small{display:none}.palette-row>.secondary{margin-left:auto}.palette-row .ct-card-bottom{font-size:8px}.ct-confirm{flex-wrap:wrap;bottom:5px;padding:9px}.ct-confirm p{flex-basis:100%;min-height:20px}.ct-confirm .text-button{margin-left:auto}.ct-section-title{align-items:flex-start;flex-direction:column}.palette-portfolio{padding:10px}.palette-collections{gap:8px}.formation-lanes{gap:7px}.formation-lane{padding:6px}.formation-troops{gap:3px}.formation-chip{height:32px;gap:1px;flex-direction:column}.formation-chip b{font-size:14px;line-height:1}.formation-chip small{font-size:9px;line-height:1}.formation-divider small{font-size:8px}.formation-type{font-size:9px}.formation-map{gap:2px;padding:6px}.formation-flag small{font-size:8px}.ct-hand{gap:7px}.ct-hand .ct-card{min-width:0;width:calc((100% - 14px)/3);max-width:none;flex:none;aspect-ratio:5/6}.ct-hand .ct-card img{max-height:65px}.formation-hand-panel .ct-section-title{flex-direction:row;align-items:center}}
@media(min-width:851px){.formation-lanes{grid-template-columns:repeat(9,minmax(0,1fr));gap:7px}.formation-lane{padding:7px}.formation-troops{flex-direction:column;align-items:stretch}.formation-chip{flex:none;max-width:none;height:30px}.formation-type{min-height:24px;line-height:12px}.formation-divider{flex-direction:column;gap:3px}.formation-divider small{font-size:8px}}
/* Friendly Hold'em: original paper cards, sage felt and geometric chip art. */
.poker-page .table-layout{grid-template-columns:215px minmax(0,1fr);gap:28px}.pk-game{min-width:0;width:100%}.poker-page .play-area{min-width:0}.poker-page .rules{display:block}.poker-page .rules p{font-size:12px;line-height:1.9}.pk-table{background:#637d70;border:8px solid #d2c5a8;border-radius:38px;padding:20px;color:#f5efdc;box-shadow:inset 0 0 0 2px #8f9f80,0 6px 0 #b6a98e}.pk-opponents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start}.pk-opponents[data-count="1"]{grid-template-columns:minmax(120px,200px);justify-content:center}.pk-opponents[data-count="2"]{grid-template-columns:repeat(2,minmax(0,190px));justify-content:center}.pk-seat{background:#425f555c;border:1px solid #a5b49a66;border-radius:14px;padding:10px;min-width:0;text-align:center}.pk-seat.active{border:2px solid #f4d692;padding:9px;box-shadow:0 0 0 3px #ebd59424}.pk-seat.won{border:2px solid #f4d692;padding:9px}.pk-seat.folded .pk-hole{opacity:.32;filter:grayscale(.5)}.pk-seat-head{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:12px;margin-bottom:8px}.pk-badges{display:flex;gap:3px}.pk-badges b{display:inline-flex;align-items:center;justify-content:center;background:#f5eedc;color:#526052;border-radius:50%;min-width:19px;height:19px;font-size:8px}.pk-hole{display:flex;gap:6px;justify-content:center}.pk-card{--pk-ink:#344d43;position:relative;display:inline-flex;align-items:center;justify-content:center;background:#faf5e8;color:var(--pk-ink);border:1px solid #c8c2aa;border-radius:7px;width:64px;aspect-ratio:5/7;flex:none;box-shadow:0 3px 0 #293b3030;overflow:hidden}.pk-card.red{--pk-ink:#b45f50}.pk-corner{position:absolute;left:5px;top:5px;display:flex;flex-direction:column;line-height:1;gap:1px;text-align:center}.pk-corner b{font:700 18px/1 Georgia,serif}.pk-corner small{font-size:12px;line-height:1}.pk-corner-bottom{left:auto;top:auto;right:5px;bottom:5px;rotate:180deg}.pk-pip{font-size:29px;line-height:1}.pk-card.pk-back{padding:0}.pk-back img{width:100%;height:100%;object-fit:fill}.pk-card.winning{outline:2px solid #f1d395;outline-offset:2px}.pk-stack{display:flex;justify-content:center;align-items:center;gap:5px;font-size:15px;margin-top:9px}.pk-stack img{width:19px;height:19px}.pk-seat-detail{font-size:10px;margin-top:4px;min-height:14px;letter-spacing:.02em}.pk-center{padding:22px 0 16px}.pk-center-top{display:flex;align-items:center;justify-content:center;gap:14px;font-size:10px;letter-spacing:.12em;color:#e1e7d0}.pk-pot{text-align:center;margin:12px 0 14px}.pk-pot>small{display:block;font-size:10px;letter-spacing:.14em}.pk-pot strong{display:flex;gap:7px;align-items:center;justify-content:center;font:32px/1.3 Georgia,serif}.pk-pot img{width:28px;height:28px}.pk-community-wrap{position:relative;display:flex;gap:13px;align-items:center;justify-content:center;padding:0 20px}.pk-community{display:flex;gap:8px;justify-content:center;min-width:0}.pk-community .pk-card{width:70px}.pk-empty{background:#45625633;border:1px dashed #bec9ad88;color:#d4d9be;box-shadow:none;font-size:16px}.pk-deck{width:44px;aspect-ratio:5/7;flex:none;rotate:-8deg;box-shadow:3px 3px #e4decb,5px 5px #aaa98e;border-radius:5px}.pk-deck img{display:block;width:100%;height:100%}.pk-muck{font-size:20px;opacity:.5;position:absolute;right:0;bottom:-9px}.pk-stages{display:flex;justify-content:center;gap:15px;margin-top:15px;font-size:10px;color:#c2ceba}.pk-stages span{padding-bottom:4px;border-bottom:2px solid transparent}.pk-stages .passed{color:#f4e6be;border-color:#d9c18a}.pk-own{display:flex;justify-content:center}.pk-own .pk-seat{width:230px;padding:12px 18px}.pk-own .pk-card{width:76px}.pk-own .pk-pip{font-size:36px}.pk-own .pk-corner b{font-size:23px}.pk-actions{margin-top:22px;padding:18px;border:1px solid #d4cbb8;border-radius:16px;background:#faf6ed}.pk-action-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.pk-action-head h3{font-size:15px;margin:0}.pk-action-head>span{font-size:12px;color:#6d7562}.pk-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.pk-buttons button{padding:12px 8px;font-size:13px}.pk-buttons button[aria-pressed=true]{background:#dce5ce;border-color:#6b805f;outline:2px solid #7a8c61;outline-offset:1px}.pk-raise{display:grid;grid-template-columns:auto 100px 1fr auto auto;align-items:center;gap:10px;margin-top:14px}.pk-raise label{font-size:12px}.pk-raise input[type=number]{width:100%;min-width:0;padding:9px}.pk-raise input[type=range]{width:100%;min-width:0;accent-color:#647b59;cursor:pointer;padding:0}.pk-raise button{font-size:11px;padding:10px}.pk-confirm{display:flex;align-items:center;gap:10px;margin-top:14px;border-top:1px solid #ded6c5;padding-top:14px}.pk-confirm p{flex:1;font-size:12px;line-height:1.65;margin:0}.pk-confirm .primary{font-size:13px;padding:12px 17px;white-space:nowrap}.pk-results{margin-top:20px;padding:20px;border:1px solid #b5c198;border-radius:15px;background:#e7ead8}.pk-results h3{margin-top:0;font:24px Georgia,serif}.pk-payouts{display:flex;gap:10px;flex-wrap:wrap}.pk-payouts>div{display:flex;flex-direction:column;padding:10px 15px;background:#faf7eb;border-radius:10px;gap:5px;min-width:75px}.pk-payouts span,.pk-payouts small{font-size:11px}.pk-payouts b{font-size:23px}.pk-results>p{font-size:12px;margin:10px 0 0}.pk-play-note{font-size:11px;color:#7c806e;line-height:1.7;border-top:1px solid #d6d0bf;padding-top:12px}.pk-preview{display:flex;align-items:center;justify-content:center;gap:10px;min-height:285px;position:relative}.pk-preview .pk-card{width:105px;aspect-ratio:5/7}.pk-preview .pk-card:nth-of-type(1){rotate:-13deg;translate:10px 5px}.pk-preview .pk-card:nth-of-type(2){rotate:5deg}.pk-preview .pk-card:nth-of-type(3){rotate:14deg;translate:-5px 9px}.pk-preview .pk-pip{font-size:45px}.pk-preview-chips{position:absolute;bottom:5px;left:35%;display:flex}.pk-preview-chips img{width:38px;height:38px;margin-left:-12px}.pk-catalog{background:#dde6d9}.pk-mini{position:relative;display:flex;gap:8px}.pk-mini .pk-card{width:95px;rotate:-12deg}.pk-mini .pk-card+span{rotate:9deg;translate:0 -7px}.pk-mini>img{position:absolute;bottom:-30px;right:-24px}.pk-mini .pk-pip{font-size:42px}.poker-page .pk-game button:focus-visible,.pk-raise input:focus-visible{outline:3px solid #b48b48;outline-offset:3px}
@media(min-width:1150px){.pk-opponents[data-count="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}.pk-opponents[data-count="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}.pk-opponents .pk-card{width:52px}.pk-opponents .pk-pip{font-size:24px}.pk-opponents .pk-corner b{font-size:15px}.pk-opponents .pk-corner small{font-size:10px}}
@media(max-width:950px){.poker-page .table-layout{grid-template-columns:1fr}.poker-page .table-info{display:grid;grid-template-columns:1fr 1fr;gap:8px}.poker-page .table-info .players,.poker-page .table-info .rules{grid-column:1/-1}.poker-page .table-info h1{font-size:30px}}
@media(max-width:580px){.pk-table{padding:12px 8px;border-width:5px;border-radius:24px}.pk-opponents{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.pk-opponents .pk-seat{padding:8px}.pk-opponents .pk-seat.active{padding:7px}.pk-opponents .pk-card{width:44px}.pk-opponents .pk-corner{left:3px;top:3px}.pk-opponents .pk-corner-bottom{left:auto;top:auto;right:3px;bottom:3px}.pk-opponents .pk-corner b{font-size:13px}.pk-opponents .pk-corner small{font-size:9px}.pk-opponents .pk-pip{font-size:20px}.pk-seat-head{font-size:11px}.pk-community-wrap{padding:0;gap:6px}.pk-community{gap:4px}.pk-community .pk-card{width:43px}.pk-community .pk-corner{left:3px;top:3px}.pk-community .pk-corner-bottom{left:auto;top:auto;right:3px;bottom:3px}.pk-community .pk-corner b{font-size:14px}.pk-community .pk-corner small{font-size:9px}.pk-community .pk-pip{font-size:20px}.pk-deck{width:26px}.pk-stages{gap:13px;font-size:9px}.pk-center{padding:17px 0}.pk-own .pk-seat{width:200px}.pk-own .pk-card{width:66px}.pk-actions{padding:12px}.pk-action-head{gap:6px}.pk-action-head h3{font-size:13px}.pk-action-head>span{font-size:11px}.pk-buttons{gap:6px}.pk-buttons button{font-size:12px;padding:11px 4px}.pk-raise{grid-template-columns:auto 1fr 1fr;gap:8px}.pk-raise input[type=range]{grid-column:1/-1;grid-row:2}.pk-raise #pk-min{grid-column:1/3}.pk-confirm{flex-wrap:wrap}.pk-confirm p{flex-basis:100%;min-height:20px}.pk-confirm .text-button{margin-left:auto}.pk-preview .pk-card{width:83px}.pk-results{padding:14px}.pk-payouts{gap:7px}.pk-payouts>div{padding:8px;min-width:70px}}

.poker-page .players{flex-wrap:wrap}
/* Tile Atelier: geometric ceramics and a compact, inspectable workshop. */
.mt-game{min-width:0;display:grid;gap:18px}.mt-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.mt-heading h3{margin:0;font-size:16px}.mt-heading small{font-size:11px;color:#77786a}.mt-scoreboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(95px,1fr));gap:8px}.mt-player{background:#ebe7db;border:1px solid transparent;border-radius:12px;padding:11px;text-align:left;display:grid;grid-template-columns:1fr auto;gap:5px;min-width:0}.mt-player>span:first-child{font-size:12px;grid-column:1/-1}.mt-player strong{font-size:25px}.mt-player strong small{font-size:10px;font-weight:400}.mt-player.active{border-color:#75835d}.mt-player.inspecting{background:#e2e6d7;box-shadow:inset 0 -3px #72825a}.mt-player.won{border-color:#b2944a}.mt-mini-wall{display:grid;grid-template-columns:repeat(5,5px);gap:2px}.mt-mini-wall i{width:5px;height:5px;background:var(--tile-color);border-radius:1px}.mt-mini-wall i.empty{opacity:.15}
.mt-supply,.mt-workshop{padding:19px;background:#faf7ef;border:1px solid #dedbcc;border-radius:17px}.mt-factories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mt-tray{position:relative;background:#eae4d7;border:1px solid #ded6c4;border-radius:15px;min-height:92px;padding:20px 7px 9px;display:flex;flex-wrap:wrap;gap:5px;justify-content:center;align-content:center}.mt-tray>small{position:absolute;left:9px;top:5px;font-size:10px;color:#8b8978}.mt-tray.empty{background:transparent;border-style:dashed;opacity:.65}.mt-tray-empty{font-size:32px;color:#999781}.mt-group{background:transparent;border:1px solid transparent;border-radius:8px;padding:3px;display:flex;align-items:center;gap:3px;min-width:0}.mt-group b{font-size:10px;white-space:nowrap}.mt-group-tiles{display:flex;flex-wrap:wrap;gap:3px;max-width:110px}.mt-group:not(:disabled):hover,.mt-group.selected{background:#fff8e7;border-color:#72825a;box-shadow:0 2px 0 #72825a}.mt-group:disabled{opacity:1;cursor:default}.mt-tile{display:inline-flex;width:34px;height:34px;flex:0 0 auto;border-radius:6px;box-shadow:0 2px 0 #0002;vertical-align:middle}.mt-tile img{display:block;width:100%;height:100%;border-radius:inherit}.mt-center{border-top:1px solid #dedbcc;margin-top:14px;padding-top:12px;min-height:78px}.mt-center-label{font-size:10px;letter-spacing:.06em;display:flex;align-items:center;gap:9px;margin-bottom:7px}.mt-first-label,.mt-marker{background:#e7d7af;color:#5c573e;justify-content:center;align-items:center;font-weight:700}.mt-first-label{font-size:19px;border-radius:50%}.mt-center-tiles{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:6px}.mt-center .mt-group-tiles{max-width:160px}.mt-center .quiet{font-size:11px}
.mt-decision{background:#e4e8da;border:1px solid #cbd2bb;border-radius:15px;padding:14px 18px;display:grid;grid-template-columns:1fr auto;gap:9px 12px;align-items:center}.mt-held{display:flex;align-items:center;flex-wrap:wrap;gap:5px;grid-column:1/-1;min-height:34px}.mt-held>span:not(.mt-tile){font-size:12px;margin-right:7px}.mt-step-mark{border:1px solid #8c9a78;border-radius:50%;padding:3px 5px}.mt-decision p{font-size:12px;line-height:1.6;margin:0}.mt-buttons{display:flex;gap:10px;align-items:center}.mt-buttons .primary{font-size:12px;padding:11px 15px;white-space:nowrap}.mt-buttons .text-button{font-size:11px}
.mt-board-head{display:grid;grid-template-columns:1fr 1fr;gap:22px;font-size:10px;letter-spacing:.07em;margin-bottom:12px}.mt-board-head span:first-child{text-align:right}.mt-work{display:grid;gap:8px}.mt-work-row{display:grid;grid-template-columns:1fr 18px 1fr;gap:3px;align-items:center}.mt-pattern{display:flex;align-items:center;justify-content:flex-end;gap:4px;background:transparent;border:1px solid transparent;border-radius:7px;padding:3px;min-width:0}.mt-pattern small{font-size:10px;color:#878772;margin-right:auto}.mt-line-slots{display:flex;gap:4px}.mt-pattern:disabled{opacity:1;cursor:default}.mt-pattern:not(:disabled){background:#f2ecd9;border-color:#c2c9ac}.mt-pattern.selected,.mt-floor[aria-pressed=true]{border-color:#657d49;background:#e4e8d7}.mt-slot{background:#e6e1d4;box-shadow:inset 0 1px 2px #0001;border:1px dashed #c5bfae}.mt-wall-arrow{font-size:13px;color:#a7a58c;text-align:center}.mt-wall-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.mt-wall-cell{display:block;border-radius:6px;aspect-ratio:1;background:#e7e2d6}.mt-wall-cell>img{display:block;width:100%;height:100%;opacity:.15}.mt-wall-cell .mt-tile{width:100%;height:100%}.mt-wall-cell.target{outline:2px dashed #899771;outline-offset:1px}.mt-floor-wrap{display:flex;align-items:center;gap:12px;margin-top:19px;border-top:1px solid #e0dccf;padding-top:12px}.mt-floor-wrap>span{font-size:10px;letter-spacing:.07em}.mt-floor{display:flex;gap:7px;background:transparent;border:1px solid transparent;border-radius:7px;padding:5px}.mt-floor-slot{display:grid;gap:4px;text-align:center}.mt-floor-slot>small{font-size:10px;color:#9d6657}.mt-floor:disabled{opacity:1;cursor:default}.mt-floor:not(:disabled){border-color:#c7a795;background:#f3e8dc}.mt-board-help{margin-bottom:0}.mt-workshop .quiet{font-size:11px;line-height:1.6;margin:12px 0 0}.mt-resolution{border-left:3px solid #b39a5b;padding:5px 15px;background:#ebe6d8;border-radius:0 10px 10px 0}.mt-resolution h3{font-size:13px}.mt-resolution p{display:flex;justify-content:space-between;gap:10px;font-size:12px}.mt-resolution .quiet{font-size:11px}.mosaic-page .players{flex-wrap:wrap}.mosaic-page .play-area{min-width:0}.mt-preview{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:26px;max-width:370px;margin:40px auto;background:#ded7c4;border-radius:24px;transform:rotate(-6deg);box-shadow:10px 15px 0 #e3ddcf}.mt-preview span{box-shadow:0 3px 0 #b7ad97;border-radius:7px}.mt-preview img{width:100%;height:auto;display:block}.mt-catalog{background:#dfded0}.mt-catalog-tiles{display:grid;grid-template-columns:repeat(3,54px);gap:8px;transform:rotate(-9deg);margin:27px auto 36px}.mt-catalog-tiles img{width:54px;height:54px;border-radius:8px;box-shadow:0 3px 0 #9b947f}
@media(min-width:701px){.mosaic-page .table-layout{grid-template-columns:220px minmax(0,1fr)}.mosaic-page .mt-game{max-width:700px}.mt-line-slots .mt-tile{width:clamp(24px,3.1vw,42px);height:clamp(24px,3.1vw,42px)}}
@media(max-width:700px){.mosaic-page .table-info{display:grid;grid-template-columns:1fr auto;gap:8px 14px}.mosaic-page .table-info>.eyebrow,.mosaic-page .table-info>h1,.mosaic-page .table-info>.quiet{display:none}.mosaic-page .players,.mosaic-page .rules,.mosaic-page #solo-tools{grid-column:1/-1}.mosaic-page .mt-scoreboard{grid-template-columns:repeat(2,minmax(0,1fr))}.mt-supply,.mt-workshop{padding:12px}.mt-factories{gap:6px}.mt-tray{padding:18px 3px 6px;gap:2px;min-height:86px}.mt-tray .mt-tile{width:27px;height:27px}.mt-group{padding:2px;gap:2px}.mt-group-tiles{max-width:58px;gap:2px}.mt-group b{font-size:9px}.mt-center .mt-tile,.mt-held .mt-tile{width:30px;height:30px}.mt-decision{padding:12px;grid-template-columns:1fr}.mt-buttons{justify-content:flex-end}.mt-held{grid-column:auto}.mt-work-row{grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr);gap:1px}.mt-line-slots{gap:2px}.mt-line-slots .mt-tile{width:clamp(17px,5.4vw,30px);height:clamp(17px,5.4vw,30px)}.mt-pattern{gap:2px;padding:2px}.mt-pattern small{font-size:8px}.mt-wall-row{gap:3px}.mt-floor{gap:5px;padding:3px}.mt-floor .mt-tile{width:27px;height:27px}.mt-floor-wrap{gap:7px}.mt-board-head{font-size:8px;gap:12px}.mt-heading h3{font-size:14px}.mt-heading small{font-size:10px}.mt-heading .text-button{font-size:10px}.mt-resolution p{font-size:11px}.mt-preview{max-width:270px;gap:7px;padding:20px}}

@media(max-width:700px){.mt-pattern{min-height:34px}.mt-tray .mt-group{min-height:34px}.mt-supply .mt-group:focus-visible,.mt-pattern:focus-visible{outline:2px solid #647751;outline-offset:2px}}
/* Caravan Market: flat goods, small price tokens and a readable barter desk. */
.bz-game{display:grid;gap:16px;min-width:0;max-width:760px}.bz-scores{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bz-player{display:grid;grid-template-columns:1fr auto;gap:5px 9px;padding:14px 17px;border:1px solid #dcd7c7;border-radius:14px;background:#eee8d9}.bz-player.active{border-color:#87936d;background:#e7ebdd}.bz-player>span:first-child{font-size:13px}.bz-player>strong{font-size:31px;grid-row:1/3;grid-column:2}.bz-player>small{font-size:10px;grid-column:1/-1;color:#77776a}.bz-seals{display:flex;gap:6px}.bz-seals b{font-size:22px;color:#c9c1a9;line-height:1}.bz-seals b.earned{color:#a4863c}.bz-price-board,.bz-market-panel,.bz-hand-panel{background:#faf7ef;border:1px solid #dfd9ca;border-radius:15px;padding:16px}.bz-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.bz-heading h3{margin:0;font-size:14px}.bz-heading>span,.bz-heading>small{font-size:11px;color:#74786b}.bz-prices{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.bz-price{display:flex;align-items:center;justify-content:space-between;gap:7px;border-bottom:1px solid #ebe4d5;padding-bottom:6px;min-width:0}.bz-price>span{display:flex;align-items:center;gap:2px;flex-shrink:0}.bz-price>span>img{width:28px;height:24px}.bz-price b{font-size:10px;color:var(--goods)}.bz-coins{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:3px}.bz-coins i{font-style:normal;font-size:10px;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#eae2cd;color:#78745d}.bz-coins i.next{background:var(--goods);color:white;box-shadow:0 2px 0 #0002}.bz-coins small{font-size:10px;color:#9b9281}.bz-bonuses{display:flex;gap:10px;flex-wrap:wrap;font-size:10px;margin-top:12px;color:#807051}.bz-bonuses>span{background:#efe3c7;border:1px dashed #d4c099;border-radius:7px;padding:6px 10px}.bz-bonuses b{background:#a28750;color:#fff;border-radius:4px;padding:2px 4px}.bz-bonuses small{opacity:.7}
.bz-cards{display:flex;gap:9px;flex-wrap:wrap;align-items:flex-start}.bz-market{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.bz-card{display:flex;flex-direction:column;justify-content:space-between;gap:6px;width:94px;min-width:0;padding:9px 7px;background:#f5efe1;border:1px solid color-mix(in srgb,var(--goods) 60%,#e2d4bf);border-top:5px solid var(--goods);border-radius:10px;box-shadow:0 3px 0 #d5cbb7;color:#374032;text-align:left;transition:border-color .15s,background .15s}.bz-market .bz-card{width:100%}.bz-card img{display:block;width:100%;height:auto;aspect-ratio:96/76;pointer-events:none}.bz-card-top{display:flex;align-items:center;justify-content:space-between;gap:3px;font-size:11px;font-weight:600;min-width:0}.bz-card-top small{font-weight:400;font-size:9px;color:#8c836f}.bz-card-bottom{font-size:8px;color:var(--goods);letter-spacing:.1em}.bz-card:disabled{opacity:1;cursor:default}.bz-card:not(:disabled):hover{background:#fff9e9;box-shadow:0 4px 0 #b1ad94;translate:0 -3px}.bz-card.selected{background:#fff9e9;outline:2px solid #6e8055;outline-offset:2px;translate:0 -5px}.bz-card:focus-visible{outline:2px solid #5e7345;outline-offset:3px}.bz-hand{min-height:105px}.bz-herd-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid #e1dac9;padding-top:11px;margin-top:14px}.bz-herd{display:flex;align-items:center;gap:8px}.bz-herd>img{width:57px;height:44px}.bz-herd>span{display:grid;gap:2px}.bz-herd strong{font-size:19px}.bz-herd small{font-size:10px;color:#83816d}.bz-camel-picker{display:flex;gap:9px;align-items:center;font-size:11px}.bz-camel-picker .secondary{padding:5px 11px;min-height:34px;font-size:18px}.bz-camel-picker strong{font-size:16px}.bz-camel-picker[hidden]{display:none}
.bz-decision{background:#e5e9dc;border:1px solid #cbd2bc;border-radius:15px;padding:15px}.bz-modes{display:flex;gap:7px;flex-wrap:wrap}.bz-modes .secondary{font-size:12px;padding:9px 13px;background:#f6f6ed;border:1px solid #cbd1bd}.bz-modes .secondary[aria-pressed=true]{background:#596c49;color:white;border-color:#596c49}.bz-decision>p{font-size:12px;line-height:1.6;color:#6a735e;margin:13px 0}.bz-confirm-row{display:flex;align-items:center;gap:12px;border-top:1px solid #cfd5c2;padding-top:12px}.bz-confirm-row p{flex:1;font-size:12px;line-height:1.6;margin:0}.bz-confirm-row .primary{font-size:12px;padding:12px 16px;white-space:nowrap}.bz-confirm-row .text-button{font-size:11px}.bz-report{background:#eee4cf;border-radius:14px;padding:15px}.bz-report h3{font-size:12px;letter-spacing:.07em;margin:0 0 10px;color:#8f7850}.bz-ledger{padding:9px 0;border-bottom:1px solid #d9ceb4}.bz-ledger:last-child{border:0}.bz-ledger>strong{font-size:13px}.bz-ledger p{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;margin:8px 0}.bz-ledger p span{color:#7e7765}.bz-game>.quiet{font-size:11px;line-height:1.6;margin:0}.bz-decision[hidden],.bz-report[hidden]{display:none}.bz-preview{display:flex;justify-content:center;align-items:center;margin:70px auto;isolation:isolate}.bz-preview-card{background:#f8f1e1;border:1px solid #cfbfa1;border-top:9px solid var(--goods);border-radius:12px;padding:25px 15px 14px;width:150px;box-shadow:0 8px 0 #d6cab0;transform:rotate(-13deg);margin-right:-23px}.bz-preview-card:nth-child(2){transform:translateY(-14px);z-index:1}.bz-preview-card:last-child{transform:rotate(13deg);margin:0}.bz-preview-card img{width:100%;height:auto}.bz-preview-card span{display:block;font-size:9px;letter-spacing:.12em;text-align:center;color:var(--goods);margin-top:12px}.bz-catalog{background:#e8dbc1}.bz-catalog-preview{display:flex;align-items:center;justify-content:center;margin:48px auto}.bz-catalog-preview>span{background:#faf2df;border-top:7px solid var(--goods);border-radius:9px;padding:18px 6px;width:96px;transform:rotate(-12deg);box-shadow:0 5px 0 #cdbb98;margin-right:-12px}.bz-catalog-preview>span:nth-child(2){transform:translateY(-15px);z-index:1}.bz-catalog-preview>span:last-child{transform:rotate(12deg);margin:0}.bz-catalog-preview img{width:100%;height:auto}.bazaar-page .play-area{min-width:0}
@media(min-width:701px){.bazaar-page .table-layout{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:700px){.bazaar-page .table-info{display:grid;grid-template-columns:1fr auto;gap:8px 14px}.bazaar-page .table-info>.eyebrow,.bazaar-page .table-info>h1,.bazaar-page .table-info>.quiet{display:none}.bazaar-page .players,.bazaar-page .rules,.bazaar-page #solo-tools{grid-column:1/-1}.bz-game{gap:12px}.bz-scores{gap:7px}.bz-player{padding:11px}.bz-player>strong{font-size:26px}.bz-player>small{font-size:9px;line-height:1.5}.bz-price-board,.bz-market-panel,.bz-hand-panel{padding:12px}.bz-prices{grid-template-columns:1fr;gap:5px}.bz-price{padding:3px 0}.bz-price b{font-size:11px}.bz-coins i{width:21px;height:21px}.bz-bonuses{gap:5px}.bz-bonuses>span{padding:5px;font-size:9px}.bz-heading h3{font-size:13px}.bz-market{gap:5px}.bz-card{padding:6px 4px;border-top-width:4px;border-radius:7px;gap:4px;width:calc((100% - 21px)/4)}.bz-card-top{font-size:9px;flex-wrap:wrap;line-height:1.2}.bz-market .bz-card-top small{display:none}.bz-card-bottom{font-size:6px;letter-spacing:0}.bz-cards{gap:7px}.bz-market.bz-cards{gap:5px}.bz-hand{min-height:94px}.bz-camel-picker{gap:6px}.bz-decision{padding:12px}.bz-modes{gap:5px}.bz-modes .secondary{padding:9px 10px;font-size:11px}.bz-confirm-row{gap:8px;flex-wrap:wrap}.bz-confirm-row p{flex-basis:100%;font-size:11px}.bz-confirm-row .text-button{margin-left:auto}.bz-report{padding:12px}.bz-ledger p{font-size:10px}.bz-preview-card{width:112px;padding:18px 8px 11px}.bz-preview{margin:55px auto}.bz-herd-row{gap:8px}.bz-herd>img{width:48px;height:38px}}

#bz-deck{display:flex;gap:7px;align-items:center}.bz-deck-back{display:grid;place-items:center;width:25px;height:34px;border:3px solid #ead9b5;border-radius:5px;background:#9a8054;color:#f6e9c8;font-size:17px;box-shadow:2px 2px 0 #cabb9d}.motion-ghost.bz-deck-back{display:grid}.bz-heading #bz-deck small{font-size:10px}

.bz-c0{--goods:#b76e67}.bz-c1{--goods:#b4994e}.bz-c2{--goods:#78949a}.bz-c3{--goods:#88799b}.bz-c4{--goods:#738459}.bz-c5{--goods:#ad8060}.bz-c6{--goods:#b79a70}
.mt-mini-c0{--tile-color:#bd715c}.mt-mini-c1{--tile-color:#b89b48}.mt-mini-c2{--tile-color:#74855d}.mt-mini-c3{--tile-color:#648c9a}.mt-mini-c4{--tile-color:#92788e}

.bz-coin{font-style:normal;display:grid;place-items:center;border-radius:50%;background:var(--goods);color:#fff;font-size:11px;box-shadow:0 2px 0 #0002}.bz-bonus-token{background:#efe3c7;border:1px dashed #d4c099;border-radius:7px;padding:6px 10px;font-size:10px;color:#807051}

/* Row Rush: large numerals, five quiet spaces, one conspicuous boundary. */
.rows-page .table-layout{grid-template-columns:220px minmax(0,1fr);gap:32px}.rows-page .play-area{min-width:0}.rows-page .table-info h1{font-size:48px}.rows-page .players{flex-wrap:wrap}.rows-page .players>div{min-width:0}.rr-game{display:flex;flex-direction:column;gap:20px;background:transparent;box-shadow:none;padding:0;aspect-ratio:auto;border:0;width:100%}.rr-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rr-heading h3{margin:0 auto 0 0;font-size:14px}.rr-heading small{font-size:11px;color:#706c60}.rr-back{display:inline-grid;place-items:center;width:28px;height:36px;background:#798269;color:#eee7d5;border:3px double #ddd3b9;border-radius:5px}.rr-scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:8px}.rr-player{padding:12px;border:1px solid #ddd5c2;border-radius:12px;background:#eee8da;display:flex;flex-direction:column;gap:3px}.rr-player.yours{background:#e3e7d8;border-color:#8c967a}.rr-player>span{font-size:12px}.rr-player>strong{font-size:26px;font-weight:600;line-height:1.2}.rr-player>small{font-size:10px;color:#706c60}.rr-lock{font-size:11px;font-weight:500;margin-top:5px;color:#687057}.rr-rows{display:grid;gap:9px}.rr-row{border:1px solid #d9d3c4;background:#e9e5d9;border-radius:13px;padding:10px;display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:center}.rr-row.full{background:#f0dfd4;border-color:#bd8069}.rr-row-label{display:flex;flex-direction:column;align-items:center;gap:6px}.rr-row-label>b{font-size:18px;color:#797b67}.rr-row-label span{font-size:10px;color:#807a6c}.rr-row-label strong{font-size:11px;color:#9a5f4e}.rr-lane{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) 22px;gap:6px;align-items:stretch}.rr-card{--rr-accent:#7d8969;display:flex;flex-direction:column;justify-content:space-between;align-items:center;position:relative;box-sizing:border-box;background:#fbf6e9;color:#363c31;border:1px solid #d4cbb8;border-top:4px solid var(--rr-accent);border-radius:7px;min-width:0;aspect-ratio:0.72;box-shadow:0 3px 0 #d7d0c0;padding:6px;text-decoration:none;font-family:inherit}.rr-card.rr-p2{--rr-accent:#b99d61}.rr-card.rr-p3{--rr-accent:#80999b}.rr-card.rr-p5{--rr-accent:#ab7e69}.rr-card.rr-p7{--rr-accent:#a26769;background:#f8e8dc}.rr-card>small{font-size:8px;display:flex;justify-content:space-between;width:100%;gap:3px;color:#777263;white-space:nowrap}.rr-card>strong{font-size:clamp(20px,2.8vw,37px);font-weight:650;line-height:1.1;font-variant-numeric:tabular-nums}.rr-card>img{width:20px;height:20px;opacity:.75}.rr-card>small:last-child{font-size:6px;letter-spacing:.6px}.rr-card>small:last-child b{color:var(--rr-accent)}button.rr-card{cursor:pointer;transition:translate .18s,box-shadow .18s}button.rr-card:disabled{opacity:1;cursor:default}.rr-card.selected{translate:0 -9px;box-shadow:0 6px 0 #b7be9d;outline:2px solid #778261}.rr-slot{display:grid;place-items:center;border:1px dashed #c8c1af;border-radius:6px;color:#b7ae9c}.rr-danger{display:flex;flex-direction:column;justify-content:center;align-items:center;background:#c78b72;color:#fff6e7;border-radius:5px;font-size:12px;line-height:1.9}.rr-take{grid-column:1/-1;padding:10px;min-height:42px;border-color:#b67f66;color:#884d3f}.rr-reveal-panel,.rr-hand-panel,.rr-report{border:1px solid #ddd6c5;border-radius:14px;padding:16px;background:#f4eee1}.rr-reveal-panel h3,.rr-report h3{font-size:13px;margin:0 0 12px}.rr-revealed{display:flex;gap:12px;flex-wrap:wrap;min-height:40px}.rr-reveal-item{width:64px;display:flex;flex-direction:column;gap:7px;align-items:center}.rr-reveal-item .rr-card{width:100%}.rr-reveal-item .rr-card strong{font-size:25px}.rr-reveal-item .rr-card img{width:15px;height:15px}.rr-reveal-item .rr-card>small:last-child{display:none}.rr-reveal-item small,.rr-reveal-item>span{font-size:10px}.rr-reveal-item.waiting{outline:2px dashed #b88664;outline-offset:4px;border-radius:6px}.rr-hand{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;padding-top:18px;min-height:80px}.rr-hand .rr-card>strong{font-size:24px}.rr-hand .rr-card>img{width:16px;height:16px}.rr-hand .rr-card>small:last-child{display:none}.rr-decision{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px}.rr-decision p{font-size:12px;line-height:1.6;flex:1}.rr-decision button{white-space:nowrap;padding:12px 16px}.rr-ledger p{font-size:12px;line-height:1.8;border-bottom:1px solid #e1d8c5;padding:8px 0;margin:0}.rr-preview{display:flex;align-items:center;justify-content:center;gap:14px;background:#dce1cf;padding:65px 30px;border-radius:24px;min-height:330px}.rr-preview .rr-card{width:115px;rotate:-9deg}.rr-preview .rr-card:nth-child(2){rotate:3deg;translate:0 -20px}.rr-preview .rr-card:nth-child(3){rotate:12deg}.rr-preview .rr-card>strong{font-size:48px}.rr-catalog{background:#dce1cf}.rr-catalog-cards{display:flex;gap:15px;align-items:center;justify-content:center;height:100%;padding:35px}.rr-catalog-cards>b{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:77px;height:105px;border-radius:8px;background:#faf4e5;border-top:6px solid #a98065;color:#383e32;font-size:38px;rotate:-10deg;box-shadow:0 4px 0 #c4cbb4}.rr-catalog-cards>b:nth-child(2){rotate:3deg;translate:0 -10px;border-color:#bca363}.rr-catalog-cards>b:nth-child(3){rotate:12deg;background:#f3dfd1;border-color:#a26769}.rr-catalog-cards small{font-size:12px;color:#9d6853}.rr-card.motion-ghost{pointer-events:none}
@media(max-width:1050px){.rows-page .table-layout{grid-template-columns:1fr}.rows-page .table-info{display:block}.rows-page .table-info h1,.rows-page .table-info>.eyebrow{display:none}.rows-page .room-top{flex-wrap:wrap}.rr-hand .rr-card>strong{font-size:30px}}
@media(max-width:620px){.rr-game{gap:14px}.rr-scores{grid-template-columns:repeat(3,minmax(0,1fr))}.rr-player{padding:8px}.rr-player>strong{font-size:22px}.rr-row{padding:7px;gap:6px;grid-template-columns:28px minmax(0,1fr)}.rr-row{grid-template-columns:28px minmax(0,1fr)}.rr-lane{gap:4px;grid-template-columns:repeat(5,minmax(0,1fr)) 14px}.rr-card{padding:4px;border-top-width:3px;border-radius:5px}.rr-card>small{font-size:7px}.rr-card>small:first-child>span{font-size:6px}.rr-card>small:last-child{display:none}.rr-card>strong{font-size:23px}.rr-card>img{width:13px;height:13px}.rr-danger{font-size:10px}.rr-row-label>b{font-size:13px}.rr-row-label strong{font-size:9px}.rr-row-label{gap:4px}.rr-reveal-panel,.rr-hand-panel,.rr-report{padding:11px}.rr-revealed{gap:10px}.rr-reveal-item{width:52px}.rr-reveal-item .rr-card strong{font-size:21px}.rr-hand{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px 7px}.rr-hand .rr-card>strong{font-size:28px}.rr-decision{flex-wrap:wrap;gap:4px}.rr-decision p{flex-basis:100%;margin:4px 0 10px}.rr-decision button{width:100%}.rr-heading h3{font-size:12px}.rr-heading small{font-size:10px}.rr-preview{min-height:260px;padding:42px 23px;gap:10px}.rr-preview .rr-card{width:90px}.rr-preview .rr-card>strong{font-size:36px}}

.rr-lane .rr-card{aspect-ratio:auto;height:88px}.rr-lane .rr-card>strong{font-size:30px}.rr-lane .rr-card>img{width:14px;height:14px}
@media(max-width:620px){.rr-lane .rr-card{height:65px}.rr-lane .rr-card>strong{font-size:22px}.rr-lane .rr-card>img{width:11px;height:11px}}

@media(max-width:620px){.rr-scores:has(>section:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Summit Paths: compact ascending trails and distinct temporary/saved markers. */
.summit-page .table-layout{grid-template-columns:210px minmax(0,1fr);gap:32px}.summit-page .table-info h1{font-size:48px}.summit-page .play-area{min-width:0}.summit-page .players{flex-wrap:wrap}.sm-game{display:flex;flex-direction:column;gap:15px;background:none;border:0;padding:0;box-shadow:none;width:100%;aspect-ratio:auto}.sm-s1{--sm-color:#bd7e68}.sm-s2{--sm-color:#808b5b}.sm-s3{--sm-color:#699197}.sm-s4{--sm-color:#9b819f}.sm-scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:9px}.sm-player{background:#eae6d8;border:1px solid #d7d2c0;border-top:3px solid var(--sm-color);border-radius:12px;padding:12px;display:grid;grid-template-columns:1fr auto;gap:6px}.sm-player.active{background:#e1e5d5;outline:1px solid #a7b38e}.sm-player>span{display:flex;align-items:center;gap:6px;font-size:12px}.sm-player>strong{font-size:28px;grid-row:1/3;grid-column:2;align-self:center}.sm-player>strong small{font-size:12px;font-weight:400;color:#7a7e6a}.sm-player>small{font-size:10px;grid-column:1/-1;color:#7c796b}.sm-medals{display:flex;gap:5px}.sm-medals i{font-size:12px;font-style:normal;color:#ccc6b3}.sm-medals .earned{color:var(--sm-color)}.sm-seat-dot{display:inline-grid;place-items:center;width:18px;height:18px;background:var(--sm-color,#bd7e68);color:white;font-size:10px;border-radius:50%;font-style:normal;flex-shrink:0}.sm-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.sm-heading h3{font-size:13px;margin:0}.sm-heading small{font-size:11px;color:#777c67}#sm-runners{display:flex;gap:5px;align-items:center;font-size:11px;color:#797c68}.sm-runner-stock{display:inline-grid;place-items:center;width:17px;height:21px;border:1px solid #b1ad99;border-radius:5px;background:#fffbed;font-size:13px;font-style:normal;color:#657d6d}.sm-runner-stock.used{opacity:.25}.sm-map{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:8px;align-items:end;padding:18px 16px 12px;border:1px solid #c6cdb7;border-radius:19px;background:#dce2d0 url('/art/summit-range.svg') center 16%/100% auto no-repeat}.sm-path{display:flex;flex-direction:column;align-items:stretch;min-width:0}.sm-peak{height:24px;text-align:center;font-size:17px;color:#738775;line-height:24px}.sm-flag{font-size:15px;font-weight:700;color:var(--sm-color)}.sm-track{display:flex;flex-direction:column;gap:3px;padding:4px;border-radius:12px;background:#f4f0e0c9;border:1px solid #f6f5e9}.sm-path.climbing .sm-track{box-shadow:0 0 0 2px #b29b69}.sm-path.closed .sm-track{background:#bec8b36e;opacity:.8}.sm-cell{height:20px;position:relative;border-radius:5px;background:#dddccbbf;border:1px solid #c9cdb995;box-sizing:border-box}.sm-cell.summit{background:#f1e5c2;border-color:#c5b988}.sm-cell.occupied{background:#eee6c9}.sm-base{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;margin-top:7px;background:#eff0e2;border-radius:9px;padding:4px 0}.sm-base>b{font-size:17px;font-weight:650;color:#425b4c}.sm-base>small{font-size:9px;color:#8d917b}.sm-marker{position:absolute;display:grid;place-items:center;width:10px;height:10px;border-radius:50%;background:var(--sm-color);color:white;font-size:7px;line-height:1;font-style:normal;box-shadow:0 1px 0 #0002}.sm-pos1{left:1px;top:1px}.sm-pos2{right:1px;top:1px}.sm-pos3{left:1px;bottom:1px}.sm-pos4{right:1px;bottom:1px}.sm-runner{position:absolute;width:14px;height:17px;left:50%;top:50%;translate:-50% -50%;border-radius:5px;background:#fffcee;border:1px solid #7e886c;display:grid;place-items:center;font-size:14px;color:#526e5c;font-style:normal;z-index:1;box-shadow:0 2px 0 #a3a98d}.sm-legend{display:flex;gap:13px;flex-wrap:wrap;font-size:10px;color:#747965}.sm-legend>span{display:flex;align-items:center;gap:5px}.sm-control{background:#f3eddf;border:1px solid #d6d0be;border-radius:16px;padding:17px}.sm-dice-tray{display:flex;justify-content:center;gap:14px;padding:17px 0}.sm-die{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:3px;background:#fcf7e9;border:1px solid #cbbda3;border-radius:10px;box-shadow:0 4px 0 #b9aa90;width:53px;height:53px;padding:9px;box-sizing:border-box}.sm-die>b{grid-column:1/-1;grid-row:1/-1;display:grid;place-items:center;font-size:25px;color:#a59f8a}.sm-pip{display:block;width:100%;height:100%;border-radius:50%;background:#666f57}.sm-p1{grid-column:1;grid-row:1}.sm-p3{grid-column:3;grid-row:1}.sm-p4{grid-column:1;grid-row:2}.sm-p5{grid-column:2;grid-row:2}.sm-p6{grid-column:3;grid-row:2}.sm-p7{grid-column:1;grid-row:3}.sm-p9{grid-column:3;grid-row:3}.sm-group-a{background:#e7edda;border-color:#899b75}.sm-group-b{background:#f2e3d3;border-color:#bc8e71}#sm-pair-help{font-size:12px;line-height:1.7;color:#77745f;margin:2px 0 13px}.sm-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sm-option{border:1px solid #b8c5a4;background:#e5e9d6;border-radius:12px;min-width:0;padding:12px 7px;cursor:pointer;color:#435642;transition:transform .15s,background .15s}.sm-option:hover:not(:disabled){background:#d8e2c5;transform:translateY(-3px)}.sm-option:disabled{cursor:default;opacity:.65}.sm-sums{display:flex;align-items:center;justify-content:center;gap:8px}.sm-sums>b{font-size:26px;line-height:1;display:flex;flex-direction:column;gap:7px;min-width:35px}.sm-sums small{font-size:10px;font-weight:400;line-height:1.2;color:#7f836e}.sm-sums i{font-size:12px;font-style:normal;color:#95a084}.sm-sums .unusable{opacity:.3;text-decoration:line-through}.sm-option-note{display:block;font-size:10px;line-height:1.6;margin-top:10px}.sm-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.sm-actions>button{flex:1;padding:13px 16px;font-size:13px;white-space:nowrap}.sm-risk{font-size:11px;color:#82674c;line-height:1.8;padding:10px 12px;background:#eae3ce;border-radius:9px;margin:12px 0 0}.sm-log{font-size:12px;line-height:1.8;padding:12px 15px;margin:0;background:#e7e7d9;border-radius:12px;color:#626e54}.sm-log.busted{background:#f0ded0;color:#9f624b}.sm-preview{position:relative;overflow:hidden;border-radius:24px;background:#e0e3d2;padding-bottom:20px}.sm-preview>img{display:block;width:100%;height:auto}.sm-preview-dice{display:flex;justify-content:center;gap:14px;margin-top:-12px;position:relative}.sm-preview-dice .sm-die:nth-child(1){rotate:-13deg}.sm-preview-dice .sm-die:nth-child(2){rotate:7deg}.sm-preview-dice .sm-die:nth-child(3){rotate:-5deg}.sm-preview-dice .sm-die:nth-child(4){rotate:12deg}.sm-catalog{background:#e0e3d2}.sm-catalog>img{width:100%;height:100%;object-fit:cover}.sm-catalog .art-caption{background:#e0e3d2c9;padding:4px 9px;border-radius:8px}.sm-marker.motion-ghost,.sm-runner.motion-ghost{position:fixed}
@media(max-width:1050px){.summit-page .table-layout{grid-template-columns:1fr}.summit-page .table-info h1,.summit-page .table-info>.eyebrow{display:none}.summit-page .players{display:flex;flex-wrap:wrap;gap:8px}.summit-page .players>div{flex:1;min-width:120px}.summit-page .table-info .room-code{display:inline-block;margin-right:20px}}
@media(max-width:620px){.sm-game{gap:12px}.sm-scores{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.sm-player{padding:9px}.sm-player>strong{font-size:24px}.sm-player>small{font-size:9px}.sm-heading h3{font-size:11px}#sm-runners{font-size:10px;gap:3px}.sm-map{gap:4px;padding:12px 6px 8px;border-radius:13px}.sm-track{padding:2px;gap:3px;border-radius:8px}.sm-cell{height:19px;border-radius:4px}.sm-base>b{font-size:13px}.sm-base>small{font-size:8px}.sm-peak{font-size:14px;height:22px;line-height:22px}.sm-flag{font-size:11px}.sm-runner{width:11px;height:15px;font-size:11px;border-radius:4px}.sm-marker{width:8px;height:8px;font-size:6px}.sm-pos1,.sm-pos3{left:0}.sm-pos2,.sm-pos4{right:0}.sm-pos1,.sm-pos2{top:0}.sm-pos3,.sm-pos4{bottom:0}.sm-legend{gap:8px;font-size:9px}.sm-control{padding:12px}.sm-dice-tray{gap:12px;padding:14px 0}.sm-die{width:47px;height:47px;padding:8px;gap:3px}.sm-options{gap:6px}.sm-option{padding:11px 3px}.sm-sums{gap:3px}.sm-sums>b{font-size:23px;min-width:25px}.sm-sums small{font-size:9px}.sm-option-note{font-size:9px}.sm-actions{gap:8px}.sm-actions>button{font-size:12px;padding:13px 8px}.sm-risk{font-size:10px}.sm-preview-dice .sm-die{width:45px;height:45px}}

/* Poker: only the travelling copy remains visible after a fold. */
.pk-seat.folded .pk-hole{visibility:hidden}.pk-flight.pk-deck{rotate:0deg;box-shadow:none}.pk-flight{pointer-events:none;transform-origin:center}

/* Seven Arts — handmade objects, cards and invitations. */
.ar-game{display:flex;flex-direction:column;gap:18px}.ar-scores{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ar-player{border:1px solid #c9cbb7;border-radius:15px;padding:13px;background:#ecebdf}.ar-player.ar-own{background:#f0e2d5;border-color:#d4b1a0}.ar-player.active{outline:2px solid #9caa7d;outline-offset:2px}.ar-player>div:first-child{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.ar-player strong{font:28px Georgia,serif}.ar-player strong small{font-size:12px;color:#878674}.ar-player span{font-size:12px}.ar-spent{display:flex;gap:6px;align-items:center;margin-top:10px}.ar-spent>span{display:grid;place-items:center;border:1px solid #a8b097;border-radius:6px;width:30px;height:28px;font-size:12px;background:#f8f4e9}.ar-spent>span.used{background:#d7d9c8;color:#7b816e;opacity:.65}.ar-spent small{margin-left:auto;font-size:11px}.ar-hidden-zones{display:flex;gap:7px;margin-top:10px;flex-wrap:wrap}.ar-hidden-zones>span{padding:4px 6px;background:#d6d8c680;border-radius:5px;font-size:10px}.ar-table{padding:18px;border-radius:20px;background:#e4e8d6;border:1px solid #bdc6a6}.ar-heading{display:flex;justify-content:space-between;gap:8px;align-items:center}.ar-heading h3{font-size:12px;letter-spacing:.07em;margin:0}.ar-heading>span{font-size:11px}.ar-deck{border:1px solid #8d9b7c;background:#f4eddc;border-radius:7px;padding:8px;white-space:nowrap}.ar-legend{font-size:11px;color:#717960;line-height:1.7;margin:12px 0 16px}.ar-artisans{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.ar-artist{min-width:0;padding:9px 5px;border-radius:13px;background:#f6f0e2;border:1px solid #c7cbb1;text-align:center}.ar-portrait{position:relative;padding:3px 0 8px}.ar-portrait>img{width:100%;height:auto;display:block}.ar-value{position:absolute;right:0;top:0;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#f8f0d6;border:1px solid #cabb97;font:17px Georgia,serif}.ar-token{position:absolute;left:50%;top:50%;margin:-10px 0 0 -10px;display:grid;place-items:center;width:20px;height:20px;border:2px solid #f9f1dc;border-radius:50%;background:#b9b49d;box-shadow:0 2px 3px #4b504335;font-size:12px;color:#fff9e8}.ar-token-own{background:#bc7868;transform:translateY(24px)}.ar-token-other{background:#798d65;transform:translateY(-24px)}.ar-artist h4{font-size:11px;margin:3px 0;line-height:1.4;overflow-wrap:anywhere}.ar-owner{font-size:9px;color:#7b816c}.ar-support{min-height:31px;display:flex;align-items:center;gap:4px;justify-content:center;padding:6px 0}.ar-support>span{font-weight:bold;font-size:13px;color:#738360}.ar-support.ar-own>span{color:#b16f60}.ar-support>div{display:flex;max-width:70%;flex-wrap:wrap;gap:1px}.ar-card{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:70px;min-width:0;aspect-ratio:5/7;border:1px solid var(--ar-color,#a5ad95);border-radius:9px;background:#fbf4e5;box-shadow:0 3px 0 #a49c7b33;color:#555f4c;overflow:hidden;flex:none}.ar-card>b{position:absolute;top:5px;left:7px;font:17px Georgia,serif;z-index:1}.ar-card>img{width:86%;height:auto;margin-top:8px}.ar-card>small{font-size:10px;margin:3px 2px 6px}.ar-card.selected{outline:2px solid var(--ar-color);outline-offset:2px;background:#fff9e9}.ar-support .ar-card{width:17px;border-radius:3px;box-shadow:none}.ar-support .ar-card>b,.ar-support .ar-card>small{display:none}.ar-support .ar-card>img{width:100%;margin:0}.ar-hand-panel{padding:17px;border:1px solid #d6c7b3;border-radius:16px;background:#f3eadd}.ar-hand{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px;min-height:110px}.ar-pick{position:relative;border:0;background:none;padding:0;cursor:pointer}.ar-pick:disabled{cursor:default;opacity:1}.ar-pick[aria-pressed=true]{translate:0 -7px}.ar-pick-order{display:block;text-align:center;font-size:11px;margin-top:5px;color:#8b785a}.ar-private{margin-top:9px;font-size:11px;color:#786e5a}.ar-private summary{cursor:pointer;padding:6px 0}.ar-private>div>div{display:flex;gap:7px;align-items:center;margin-top:8px}.ar-private .ar-card{width:43px}.ar-private .ar-card>small{font-size:8px}.ar-private .ar-card>b{font-size:12px;left:3px;top:3px}.ar-offer-panel{border:1px solid #bdab87;background:#f2e5c7;padding:18px;border-radius:18px}.ar-offer-panel h3{font-size:16px;margin:0 0 8px}.ar-offer-panel p{font-size:12px;line-height:1.6;color:#7a765f}.ar-offer{display:flex;gap:12px;justify-content:center}.ar-group{flex:1;min-width:0;border:1px solid #c2b18d;border-radius:12px;background:#faf1db;cursor:pointer;padding:12px 7px;color:#6f725b}.ar-group:disabled{opacity:1;cursor:default}.ar-group[aria-pressed=true]{outline:2px solid #869b70;background:#eef0d9}.ar-group>span{display:block;font-size:11px;margin-bottom:10px}.ar-group>div{display:flex;gap:7px;justify-content:center}.ar-group>small{display:block;font-size:10px;margin-top:10px;line-height:1.5}.ar-decision{background:#efeee3;border:1px solid #c8cfb7;border-radius:15px;padding:17px}.ar-modes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ar-modes button{padding:11px 6px;font-size:11px}.ar-modes button>b{display:block;font:22px Georgia,serif;margin-bottom:4px}.ar-modes button[aria-pressed=true]{background:#dce5cb;border-color:#879a71;outline:1px solid #879a71}.ar-decision>p{font-size:12px;line-height:1.8;color:#737d61}.ar-confirm-row{display:flex;align-items:center;gap:10px}.ar-confirm-row p{flex:1;font-size:12px}.ar-confirm-row .primary{font-size:13px;padding:11px 20px}.ar-pairs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0}.ar-pairs button{font-size:10px;line-height:1.7;padding:8px 4px}.ar-report{padding:18px;background:#e4e9d3;border:1px solid #b7c49d;border-radius:15px}.ar-report h3{font:23px Georgia,serif;margin:0 0 12px}.ar-report p{font-size:12px;line-height:1.8}.ar-report summary{font-size:11px;cursor:pointer}.ar-preview{display:flex;align-items:center;justify-content:center;gap:10px;min-height:270px;background:#e7dfcb;border-radius:24px}.ar-preview-card{background:#f9f2df;border:1px solid var(--ar-color);border-radius:16px;width:105px;padding:15px 7px;text-align:center;box-shadow:0 6px #a58f6330}.ar-preview-card:nth-child(1){rotate:-12deg;translate:0 16px}.ar-preview-card:nth-child(3){rotate:12deg;translate:0 16px}.ar-preview-card img{width:100%;height:auto}.ar-preview-card b{font:28px Georgia,serif;color:#798361}.ar-catalog{background:#e8dec8}.ar-catalog-tools{display:flex;gap:5px;align-items:center;justify-content:center;height:100%}.ar-catalog-tools img{width:26%;height:auto}.ar-catalog-tools img:first-child{rotate:-12deg;translate:0 15px}.ar-catalog-tools img:last-child{rotate:12deg;translate:0 15px}
@media(max-width:650px){.ar-table{padding:13px}.ar-artisans{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ar-player{padding:10px}.ar-player>div:first-child{gap:7px}.ar-player strong{font-size:24px}.ar-player span{font-size:10px}.ar-spent{gap:3px}.ar-spent>span{width:23px;height:24px;font-size:10px}.ar-spent small{font-size:9px}.ar-hidden-zones{gap:3px}.ar-hidden-zones>span{font-size:9px;padding:3px}.ar-hand{gap:7px}.ar-card{width:59px}.ar-card>small{font-size:9px}.ar-hand-panel,.ar-offer-panel,.ar-decision{padding:12px}.ar-offer{gap:7px}.ar-group{padding:10px 4px}.ar-group>div{gap:4px}.ar-group .ar-card{width:50px}.ar-pairs{grid-template-columns:1fr}.ar-support .ar-card{width:15px}.ar-modes{gap:5px}.ar-modes button{font-size:10px}.ar-preview-card{width:85px}}
.ar-c0{--ar-color:#bb7668}.ar-c1{--ar-color:#799898}.ar-c2{--ar-color:#aa955e}.ar-c3{--ar-color:#8b819f}.ar-c4{--ar-color:#768a63}.ar-c5{--ar-color:#c18d5d}.ar-c6{--ar-color:#a67d90}
/* Published game names remain readable in both languages and narrow layouts. */
.game-title{font-size:clamp(20px,3vw,28px);font-weight:750;line-height:1.3;margin:18px 0 12px;overflow-wrap:anywhere}.game-origin{font-size:12px;line-height:1.7;color:var(--muted);margin:14px 0;max-width:58ch}.game-origin a{text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.room-top>[data-i="gameName"]{display:block;min-width:0;overflow-wrap:anywhere;letter-spacing:.04em}.room-top{flex-wrap:wrap}.ct-card-bottom{overflow-wrap:anywhere}

/* Onitama: paper cards, stone courtyard and two flat pawn silhouettes. */
.on-preview{max-width:500px;margin:auto;position:relative}.on-scene{width:100%;height:auto;display:block;border-radius:22px}.on-preview-cards{display:flex;justify-content:center;gap:24px;margin-top:-55px;position:relative;transform:rotate(-5deg)}.on-preview-cards .on-card{width:134px}.on-catalog{background:#e4e4cf}.on-catalog-scene{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.on-catalog .art-number,.on-catalog .art-caption{z-index:1}
.on-game{display:grid;gap:16px}.on-summary{display:flex;justify-content:space-between;gap:10px}.on-p1{--on-color:#cb7157;--on-light:#f4e1d6}.on-p2{--on-color:#788751;--on-light:#e5e9d5}.on-seat{border-left:4px solid var(--on-color);background:var(--on-light);padding:9px 13px;font-size:12px;border-radius:5px}.on-seat b{margin-right:8px}.on-seat.active{box-shadow:0 0 0 2px var(--on-color)}.on-arena{display:grid;gap:14px}.on-hand-panel h3,.on-side-panel h3{font-size:10px;letter-spacing:.09em;margin:0 0 9px;color:var(--muted)}.on-hand{display:flex;gap:14px;justify-content:center}.on-card{display:flex;flex-direction:column;align-items:center;gap:8px;width:144px;border:1px solid #c6c7b0;border-top:5px solid var(--on-color);border-radius:12px;background:#faf5e8;padding:11px 15px;color:var(--ink);box-shadow:0 4px 0 #d1ceb9;position:relative;z-index:2;text-align:center;transform-origin:center}.on-card:disabled{opacity:1}.on-card.selected{outline:3px solid var(--on-color);outline-offset:3px;background:var(--on-light);z-index:4}.on-card:not(:disabled):hover{background:var(--on-light)}.on-card-title{width:100%;display:flex;justify-content:space-between;align-items:center;gap:6px}.on-card-title b{font-size:13px}.on-card-title small{font-size:8px;color:var(--muted)}.on-diagram{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;width:78px;aspect-ratio:1}.on-diagram i{border-radius:2px;background:#e7e5d7}.on-diagram .origin{background:#394235}.on-diagram .step{background:var(--on-color);box-shadow:inset 0 0 0 2px #ffffff55}.on-card-direction{font-size:9px;letter-spacing:.06em;color:var(--muted)}
.on-field{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:20px;align-items:center}.on-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));aspect-ratio:1;gap:3px;background:#c7c9b3;padding:8px;border:1px solid #b4b79f;border-radius:16px;box-shadow:0 7px 0 #a7af95;isolation:isolate}.on-cell{background:#f1eedf;border:0;border-radius:5px;position:relative;padding:4px;aspect-ratio:1;min-width:0;display:grid;place-items:center}.on-cell:disabled{opacity:1}.on-cell.on-temple{background:#dce1cb}.on-temple-mark{font-size:40px;color:#83926a;position:absolute;line-height:1;opacity:.45}.on-cell.selected{box-shadow:inset 0 0 0 3px #ae8b41;background:#f5e8c8}.on-cell.on-target{box-shadow:inset 0 0 0 3px #455b3f;background:#dbe7c8}.on-cell.on-last:after{content:'';position:absolute;bottom:4px;right:4px;width:6px;height:6px;border-radius:50%;background:#b18b43}.on-coord{position:absolute;left:4px;top:1px;font-size:8px;color:#8d937f}.on-piece{display:block;width:78%;aspect-ratio:1;background:var(--on-color);border:2px solid #ffffff66;border-radius:50%;box-shadow:0 3px 0 #3d462542;position:relative;z-index:2;pointer-events:none}.on-piece img{display:block;width:100%;height:100%;object-fit:contain}.on-master{border-radius:35% 35% 42% 42%;outline:2px solid #c2a04a;outline-offset:1px}.on-dot{width:22%;aspect-ratio:1;border-radius:50%;background:#7a8c62;position:absolute;z-index:3;box-shadow:0 0 0 4px #a6b38d66;pointer-events:none}.on-cell:has(.on-piece) .on-dot{inset:4px;width:auto;aspect-ratio:auto;background:none;border:3px dashed #485b3f;border-radius:50%;box-shadow:none}.on-cell.winning{box-shadow:inset 0 0 0 3px #b9913c}.on-side-panel .on-card{width:100%}.on-side-panel p{font-size:11px;margin:12px 0}.on-side-panel #on-captures{display:grid;gap:6px;font-size:11px;color:var(--muted)}.on-side-panel #on-captures>div{border-top:1px solid var(--line);padding:6px 0}.on-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;background:#e4e7d7;border-radius:12px;position:sticky;bottom:8px;z-index:5}.on-controls p{font-size:13px;margin:0}.on-controls>div{display:flex;gap:5px;flex-shrink:0}.on-controls .primary{padding:10px 16px}.on-danger{font-size:12px;padding:10px;border-left:3px solid var(--coral);background:#f0e0d4}.on-help{font-size:12px;color:var(--muted)}.on-help a{text-decoration:underline}.onitama-page .play-area{min-width:0}
@media(max-width:700px){.onitama-page .table-info{display:grid;grid-template-columns:1fr auto;gap:8px 14px}.onitama-page .table-info>.eyebrow,.onitama-page .table-info>h1,.onitama-page .table-info>.quiet{display:none}.onitama-page .players,.onitama-page .rules,.onitama-page #solo-tools{grid-column:1/-1}.on-field{grid-template-columns:minmax(0,1fr) 108px;gap:10px}.on-card{width:120px;padding:9px;gap:6px}.on-card-title small{display:none}.on-card-title{justify-content:center}.on-diagram{width:68px}.on-grid{padding:5px;gap:2px;border-radius:10px}.on-controls{flex-wrap:wrap}.on-controls>p{flex-basis:100%}.on-controls>div{margin-left:auto}.on-summary{gap:6px}.on-seat{font-size:10px;padding:7px}.on-temple-mark{font-size:28px}.on-coord{font-size:7px}}
@media(max-width:460px){.on-field{display:flex;flex-direction:column;gap:16px}.on-grid{width:100%}.on-side-panel{width:100%;display:grid;grid-template-columns:104px 1fr;gap:6px 14px;align-items:center}.on-side-panel h3{grid-column:1/-1;margin:0}.on-side-panel #on-side{grid-row:2/4}.on-side-panel p{margin:0}.on-side-panel #on-captures{display:flex;gap:10px}.on-side-panel #on-captures>div{padding:3px 0}.on-side-panel .on-card{padding:7px;gap:4px}.on-side-panel .on-diagram{width:54px}.on-card{width:122px}.on-piece{width:72%}.on-hand{gap:16px}.on-preview-cards .on-card{width:112px}}

.on-game{max-width:600px;margin-inline:auto}.on-hand-panel .on-card{padding:8px 12px;gap:5px}.on-hand-panel .on-diagram{width:62px}.on-hand-panel .on-card-direction{font-size:8px}.on-hand-panel h3{margin-bottom:6px}

@media(max-width:460px){.on-arena{display:grid;grid-template-columns:minmax(0,1fr) 94px;gap:12px}.on-field{display:contents}.on-hand-panel:first-child{grid-column:1/-1;grid-row:1}.on-grid{grid-column:1/-1;grid-row:2}.on-hand-panel:last-child{grid-column:1;grid-row:3}.on-hand-panel:last-child .on-hand{gap:8px}.on-hand-panel:last-child .on-card{width:calc((100% - 8px)/2);padding:8px 4px}.on-hand-panel:last-child .on-diagram{width:56px}.on-side-panel{grid-column:2;grid-row:3;display:flex;flex-direction:column;align-items:stretch;gap:6px}.on-side-panel h3{font-size:9px}.on-side-panel p{font-size:9px;line-height:1.4}.on-side-panel #on-captures{font-size:9px;gap:5px}.on-card-title b{font-size:12px}}

/* Love Letter: original flat court emblems and readable paper cards. */
.ll-game{display:grid;gap:18px;max-width:740px;margin-inline:auto;min-width:0}.ll-progress{font-size:11px;letter-spacing:.1em;color:var(--muted)}.ll-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ll-player{border:1px solid #d2c9b7;background:#f5efdf;border-radius:15px;padding:13px;min-width:0}.ll-player.active{border-color:#ad797e;box-shadow:0 0 0 2px #ad797e33}.ll-player.ll-out{background:#e9e5dc}.ll-player-title{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:10px;font-size:13px}.ll-player-title strong{color:#a66e72;font-size:22px;white-space:nowrap}.ll-player-title strong small{font-size:11px;color:var(--muted);font-weight:400}.ll-hand-state{display:flex;gap:12px;align-items:center}.ll-hand-state>div{display:grid;gap:5px;font-size:11px}.ll-hand-state small{font-size:10px;color:var(--muted)}.ll-back{display:block;width:50px;height:69px;border-radius:7px;overflow:hidden;flex-shrink:0}.ll-back img{width:100%;height:100%;display:block}.ll-broken{display:grid;place-items:center;width:50px;height:69px;border:1px dashed #bbb2a1;border-radius:7px;font-size:30px;color:#aa9a90}.ll-protection{color:#647952;font-size:10px}.ll-discard-label{font-size:10px;color:var(--muted);margin:12px 0 7px}.ll-discards{display:flex;flex-wrap:wrap;gap:5px;min-height:20px}.ll-face{--ll-color:#997e89;display:flex;flex-direction:column;align-items:center;position:relative;box-sizing:border-box;width:142px;min-height:218px;padding:10px 10px 8px;gap:7px;background:#fcf4e0;border:1px solid #cbbba0;border-top:5px solid var(--ll-color);border-radius:12px;color:#4c4b3e;box-shadow:0 4px 0 #baab8d44;transform-origin:center;text-align:left}.ll-face-head{display:flex;align-items:center;gap:9px;width:100%}.ll-face-head b{font:27px Georgia,serif;color:var(--ll-color)}.ll-face-head strong{font-size:12px;line-height:1.3}.ll-face>img{display:block;width:100%;height:85px;object-fit:contain}.ll-effect{font-size:11px;line-height:1.5;min-height:50px}.ll-copies{font-size:9px;letter-spacing:2px;color:var(--ll-color);margin-top:auto}.ll-face.selected{outline:3px solid #936b76;outline-offset:4px;box-shadow:0 5px 12px #81616424}.ll-small{width:49px;min-height:72px;height:72px;border-radius:6px;padding:3px;gap:1px;border-top-width:3px;box-shadow:none}.ll-small .ll-face-head{gap:3px;justify-content:center}.ll-small .ll-face-head b{font-size:16px}.ll-small .ll-face-head strong{display:none}.ll-small>img{height:38px}.ll-small .ll-effect{display:none}.ll-small .ll-copies{font-size:6px;letter-spacing:1px}.ll-r1{--ll-color:#788a94}.ll-r2{--ll-color:#7c9884}.ll-r3{--ll-color:#b88a60}.ll-r4{--ll-color:#99a575}.ll-r5{--ll-color:#c18b68}.ll-r6{--ll-color:#b19b63}.ll-r7{--ll-color:#9d839f}.ll-r8{--ll-color:#bd7d83}.ll-court{display:grid;grid-template-columns:95px minmax(0,1fr);gap:18px;background:#eae4d5;padding:15px;border-radius:14px}.ll-court h3,.ll-private h3,#ll-hand-title{font-size:10px;letter-spacing:.09em;margin:0 0 10px;color:var(--muted)}.ll-court #ll-deck-panel{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:12px}.ll-court #ll-deck-panel small{font-size:9px;color:var(--muted)}.ll-removed{display:flex;gap:7px}.ll-court .quiet{font-size:11px;line-height:1.5;margin:9px 0 0}.ll-private{background:#e6eadb;border-left:3px solid #8e9c76;padding:14px;border-radius:8px}.ll-intel{display:grid;gap:4px;padding:7px 0;font-size:12px}.ll-intel span{font-size:11px;color:#767568}.ll-intel.current b{color:#536e4a}.ll-hand{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;padding:5px 0}.ll-pick{padding:0;border:0;background:none;border-radius:12px;cursor:pointer;font:inherit}.ll-pick:disabled{opacity:1;cursor:default}.ll-pick:disabled .ll-face{background:#f1ecdf}.ll-pick:focus-visible{outline:3px solid #866f94;outline-offset:6px}.ll-choice{background:#eee4dc;padding:16px;border-radius:14px}.ll-choice>p{font-size:12px;line-height:1.65;margin:0 0 12px}.ll-targets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.ll-targets button{font-size:12px;padding:9px 15px}.ll-targets [aria-pressed=true]{background:#d9c0c5;outline:2px solid #997b87}.ll-choice label{display:block;font-size:11px;margin:8px 0}.ll-choice select{width:100%;font:inherit;font-size:13px;border:1px solid #c1aaac;border-radius:8px;padding:10px;background:#fbf5e9;color:var(--ink)}.ll-confirm{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:12px}.ll-confirm>span{flex:1;font-size:12px;min-width:110px}.ll-confirm .primary{padding:11px 17px;font-size:13px}.ll-log{font-size:12px;line-height:1.7;margin:0;padding:12px;border-left:2px solid #ba9ca0;background:#f3eadf}.ll-result{padding:18px;border-radius:14px;background:#e3e8d5}.ll-result h3{font-size:19px;margin:0 0 10px}.ll-result p{font-size:12px;line-height:1.7}.ll-reference{font-size:12px;color:var(--muted)}.ll-reference summary{cursor:pointer;padding:9px 0}.ll-reference #ll-reference{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ll-reference #ll-reference>div{padding:10px;border:1px solid var(--line);border-radius:8px}.ll-reference small{font-size:10px;font-weight:400}.ll-reference p{font-size:11px;line-height:1.6;margin:6px 0}.ll-preview{display:flex;align-items:center;justify-content:center;gap:5px;background:#e7dad3;min-height:320px;border-radius:24px;padding:20px}.ll-preview .ll-face{width:128px}.ll-preview .ll-face:first-child{rotate:-13deg;translate:10px 16px}.ll-preview .ll-face:last-child{rotate:13deg;translate:-10px 16px}.ll-preview .ll-face:nth-child(2){z-index:1;translate:0 -10px}.ll-catalog{background:#e9ded1}.ll-catalog-scene{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.ll-catalog .art-number,.ll-catalog .art-caption{z-index:1}.letter-page .play-area{min-width:0}
@media(max-width:700px){.letter-page .table-info{display:grid;grid-template-columns:1fr auto;gap:8px 14px}.letter-page .table-info>.eyebrow,.letter-page .table-info>h1,.letter-page .table-info>.quiet{display:none}.letter-page .players,.letter-page .rules,.letter-page #solo-tools{grid-column:1/-1}.ll-player{padding:10px}.ll-player-title{font-size:11px}.ll-player-title strong{font-size:19px}.ll-hand-state{gap:7px}.ll-hand-state>div{font-size:10px}.ll-players{gap:9px}.ll-small{width:42px;height:64px;min-height:64px}.ll-small>img{height:30px}.ll-discards{gap:4px}.ll-back,.ll-broken{width:43px;height:60px}.ll-game{gap:14px}.ll-preview .ll-face{width:105px}.ll-preview .ll-effect{font-size:10px}.ll-preview .ll-face-head strong{font-size:10px}}
@media(max-width:390px){.ll-face:not(.ll-small){width:130px;padding-inline:8px}.ll-hand{gap:14px}.ll-confirm>span{flex-basis:100%}.ll-preview{padding:15px 5px}.ll-preview .ll-face:not(.ll-small){width:96px}.ll-preview .ll-face-head{gap:4px}}

/* Santorini: layered flat blocks, readable heights and numbered builders. */
.sa-game{display:grid;gap:15px;max-width:640px;margin-inline:auto}.sa-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sa-p1{--sa-color:#be7965;--sa-light:#f1d7c7}.sa-p2{--sa-color:#7b8d5b;--sa-light:#e0e5c9}.sa-seat{padding:10px 13px;border:1px solid #d0d1b9;border-left:4px solid var(--sa-color);border-radius:9px;background:var(--sa-light);font-size:12px}.sa-seat.active{outline:2px solid var(--sa-color);outline-offset:1px}.sa-seat>b{display:block;margin-bottom:7px}.sa-seat>span{display:flex;flex-wrap:wrap;gap:7px}.sa-mini-worker{font-size:10px;white-space:nowrap}.sa-mini-worker i{display:inline-grid;place-items:center;background:var(--sa-color);color:#fff7e6;font-style:normal;width:18px;height:18px;border-radius:50%}.sa-steps{display:flex;justify-content:center;gap:9px;font-size:11px}.sa-steps>span{padding:6px 9px;color:var(--muted);border-radius:20px}.sa-steps b{display:inline-block;margin-right:5px}.sa-steps .active{color:#4d6b71;background:#d9e5dc}.sa-sea{padding:14px;background:#cbded4;border:1px solid #b2c8b9;border-radius:20px;box-shadow:0 6px 0 #aabca6}.sa-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;background:#a9b89a;border:5px solid #e5dfc6;border-radius:10px;padding:4px;isolation:isolate}.sa-cell{position:relative;min-width:0;aspect-ratio:1/1.08;border:0;border-radius:5px;background:#e0e3c6;padding:0;cursor:pointer;overflow:visible}.sa-cell:disabled{opacity:1;cursor:default}.sa-cell:nth-child(even){background:#d7ddbc}.sa-cell>*{pointer-events:none}.sa-cell.selected{outline:2px solid #9e8552;outline-offset:-2px}.sa-cell.sa-legal{box-shadow:inset 0 0 0 2px #698e82}.sa-cell.sa-destination{background:#c1d7be;outline:3px solid #6b886a;outline-offset:-3px}.sa-cell.sa-build-selected{background:#d9d4ad;outline:3px solid #b49152;outline-offset:-3px}.sa-cell.winning{box-shadow:inset 0 0 0 3px #bd9742;background:#e6dfad}.sa-cell:focus-visible{outline:3px solid #647a9d;outline-offset:2px;z-index:5}.sa-coord{position:absolute;top:3px;left:4px;color:#7f9279;font-size:8px;z-index:6}.sa-height{position:absolute;right:4px;bottom:3px;background:#f9f5e2db;color:#607570;font-size:10px;border-radius:4px;padding:1px 4px;z-index:6}.sa-ground{position:absolute;inset:25% 12% 15%;background:#eff0d04d;border-radius:50%}.sa-building{position:absolute;inset:6%;pointer-events:none}.sa-level{position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:90%;height:42%;display:block}.sa-level img,.sa-dome img{width:100%;height:100%;display:block}.sa-level-2{width:74%;height:35%;bottom:20%}.sa-level-3{width:56%;height:28%;bottom:38%}.sa-dome{position:absolute;left:50%;transform:translateX(-50%);width:51%;height:30%;bottom:55%}.sa-worker-anchor{position:absolute;left:33%;width:34%;height:35%;bottom:12%;z-index:4}.sa-worker{position:relative;display:block;width:100%;height:100%;background:var(--sa-color);border-radius:40% 40% 24% 24%;box-shadow:0 3px 0 #42504044}.sa-worker img{width:100%;height:100%;display:block}.sa-worker>b{position:absolute;bottom:4%;left:25%;width:50%;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:var(--sa-color);color:#fff9e7;font-size:11px;line-height:1}.sa-preview-worker{opacity:.55;outline:2px dashed var(--sa-color);outline-offset:2px}.sa-departing{opacity:.25}.sa-planned-build{position:absolute;bottom:9%;left:22%;width:56%;height:33%;opacity:.6;z-index:5}.sa-planned-build img{width:100%;height:100%;display:block}.sa-target{position:absolute;bottom:7%;left:9%;width:13px;height:13px;border:2px solid #648b77;border-radius:50%;z-index:6;display:grid;place-items:center;font-size:11px;line-height:1;color:#506e5d;background:#edf1d8}.sa-last-move:after{content:'';position:absolute;right:5px;top:5px;width:5px;height:5px;border-radius:50%;background:#bb8165}.sa-last-build .sa-height{background:#b6955e;color:#fff9e8}.sa-controls{position:sticky;bottom:8px;z-index:8;border:1px solid #b8c4ae;background:#edf0dcf5;backdrop-filter:blur(5px);padding:12px;border-radius:13px;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.sa-controls p{flex:1;font-size:12px;line-height:1.6;margin:0;min-width:150px}.sa-controls>div{display:flex;align-items:center;gap:7px;margin-left:auto}.sa-controls .primary{font-size:12px;padding:10px 14px}.sa-controls .text-button{font-size:11px;padding:7px 5px}.sa-danger{font-size:12px;line-height:1.6;border-left:3px solid #b57c62;background:#f0e1cf;padding:11px;margin:0}.sa-log{font-size:12px;color:var(--muted);line-height:1.7;margin:0}.sa-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:10px;color:var(--muted)}.sa-legend b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:4px;background:#dce4ce;color:#607d7f;margin-right:5px}.sa-help{font-size:12px;color:var(--muted);line-height:1.8}.sa-help summary{cursor:pointer}.sa-preview img{display:block;width:100%;height:auto;border-radius:24px}.sa-catalog{background:#d7e5de}.sa-catalog-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sa-catalog .art-number,.sa-catalog .art-caption{z-index:1}.santorini-page .play-area{min-width:0}
@media(max-width:700px){.santorini-page .table-info{display:grid;grid-template-columns:1fr auto;gap:8px 14px}.santorini-page .table-info>.eyebrow,.santorini-page .table-info>h1,.santorini-page .table-info>.quiet{display:none}.santorini-page .players,.santorini-page .rules,.santorini-page #solo-tools{grid-column:1/-1}.sa-sea{padding:8px;border-radius:14px}.sa-grid{gap:3px;border-width:3px;padding:3px}.sa-seat{padding:9px}.sa-controls{gap:6px}.sa-controls p{flex-basis:100%;font-size:11px}.sa-worker>b{font-size:9px}.sa-coord{font-size:7px}.sa-height{font-size:9px;padding:1px 3px;right:3px}.sa-target{width:10px;height:10px;font-size:9px}.sa-summary{gap:7px}.sa-steps{gap:4px}.sa-game{gap:12px}.sa-legend{gap:8px}.sa-legend b{width:17px;height:17px}}

/* Use stylesheet classes so layer placement also works with the strict CSP. */
.sa-h1 .sa-worker-anchor{bottom:28%}.sa-h2 .sa-worker-anchor{bottom:44%}.sa-h3 .sa-worker-anchor{bottom:60%}
.sa-h1 .sa-planned-build{bottom:27%}.sa-h2 .sa-planned-build{bottom:45%}.sa-h3 .sa-planned-build{bottom:63%}

/* Sushi Go!: original geometric dishes, paper cards and shared card motion. */
.sg-game{display:grid;gap:16px;max-width:800px;margin-inline:auto;min-width:0}.sg-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.sg-back{display:inline-block;width:30px;height:41px;flex-shrink:0}.sg-back img{width:100%;height:100%;display:block}.sg-top>.sg-back{width:24px;height:33px}.sg-scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px}.sg-score{position:relative;background:#e5e8d6;border:1px solid #c8cdb7;border-radius:12px;padding:10px;display:grid;gap:5px;min-width:0}.sg-score.yours{background:#f0e3ce;border-color:#c1a47c}.sg-score>b{font-size:12px}.sg-score>strong{font:26px Georgia,serif}.sg-score strong small{font:9px Arial,sans-serif;margin-left:5px}.sg-score>span:not(.sg-back){font-size:10px}.sg-score>.sg-back{position:absolute;right:8px;top:30px;width:20px;height:28px}.sg-score>small{font-size:9px;color:var(--muted)}.sg-game h3{font-size:11px;letter-spacing:.04em;margin:0 0 10px;color:var(--muted)}.sg-hand{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:5px 2px 13px}.sg-card{--sg-accent:#9b967e;display:flex;flex-direction:column;align-items:center;gap:5px;position:relative;width:100%;min-width:0;box-sizing:border-box;padding:8px 6px;border:1px solid #c9c5ae;border-top:5px solid var(--sg-accent);border-radius:11px;background:#faf1d9;color:#4e5041;box-shadow:0 3px 0 #c7bba655;font:inherit;transform-origin:center}.sg-card.selected{outline:3px solid #728265;outline-offset:3px;background:#f2e7c6}.sg-card:disabled{opacity:1;cursor:default}.sg-card:not(:disabled):hover{background:#f1e6c9}.sg-card img{width:100%;height:62px;object-fit:contain;display:block}.sg-card-head{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;width:100%;min-height:35px}.sg-card-head>b{font-size:15px;color:var(--sg-accent);letter-spacing:1px}.sg-card-head>strong{font-size:10px;line-height:1.3}.sg-card-tip{font-size:9px;line-height:1.4;min-height:26px;text-align:center;display:grid;align-items:center;margin-top:auto}.sg-order{position:absolute;right:-6px;top:-8px;border-radius:50%;width:22px;height:22px;background:#708364;color:#fff9e6;font-style:normal;font-size:12px;display:grid;place-items:center;z-index:2}.sg-boost{position:absolute;right:0;bottom:1px;background:#839a68;color:#fff9e6;font-size:11px;font-style:normal;padding:2px;border-radius:5px}.sg-tempura{--sg-accent:#b59b59}.sg-sashimi{--sg-accent:#bc8376}.sg-dumpling{--sg-accent:#b5a37f}.sg-maki{--sg-accent:#6f8978}.sg-salmon{--sg-accent:#c38b71}.sg-squid{--sg-accent:#9ca3a0}.sg-egg{--sg-accent:#c8ac61}.sg-pudding{--sg-accent:#ae8969}.sg-wasabi{--sg-accent:#8c9f68}.sg-chopsticks{--sg-accent:#a18770}.sg-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;border-radius:12px;background:#e5e9d4;border:1px solid #c0c8ad;position:sticky;bottom:8px;z-index:10}.sg-controls p{flex:1;min-width:180px;font-size:12px;line-height:1.6;margin:0}.sg-controls>div{display:flex;gap:8px;align-items:center;margin-left:auto}.sg-controls .primary{font-size:12px;padding:10px 14px}.sg-controls .text-button{font-size:11px}.sg-reveal{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 9px;min-height:76px}.sg-reveal>div{flex-shrink:0}.sg-reveal>div>small{font-size:10px;display:block;margin-bottom:6px}.sg-reveal>div>div{display:flex;gap:5px}.sg-reveal>.quiet{font-size:12px;line-height:1.6}.sg-small{width:50px;min-height:72px;padding:3px;gap:1px;border-radius:7px;border-top-width:3px;flex-shrink:0;box-shadow:none}.sg-small img{height:34px}.sg-small .sg-card-head{min-height:27px;gap:0}.sg-small .sg-card-head>b{font-size:11px}.sg-small .sg-card-head>strong{font-size:7px;line-height:1.2}.sg-small .sg-card-tip{display:none}.sg-plates{display:grid;gap:10px}.sg-plate{border:1px solid #cbcbb8;border-radius:12px;padding:11px;background:#efeddd;min-width:0}.sg-plate summary{font-size:12px;cursor:pointer}.sg-plate summary>span{float:right;font-size:10px;color:var(--muted)}.sg-plate-cards{display:flex;gap:6px;overflow-x:auto;padding:14px 2px 4px;min-height:36px}.sg-plate-cards>small{font-size:11px;color:var(--muted)}.sg-report{padding:16px;border-radius:12px;background:#e6e8d5;font-size:12px}.sg-report>div+div{border-top:1px solid #c4cbb4;padding-top:12px;margin-top:12px}.sg-report p{display:flex;flex-wrap:wrap;gap:9px;margin:8px 0}.sg-report p small{font-size:10px;color:var(--muted)}.sg-report p strong{margin-left:auto}.sg-help{font-size:12px;line-height:1.8;color:var(--muted)}.sg-help summary{cursor:pointer}.sg-reference{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.sg-reference>div{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px;background:#eee8d5;border-radius:8px}.sg-reference b{font-size:11px}.sg-reference small{font-size:9px}.sg-preview img{display:block;width:100%;height:auto;border-radius:24px}.sg-catalog{background:#dce3cc}.sg-catalog-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sg-catalog .art-number,.sg-catalog .art-caption{z-index:1}.sushi-page .play-area{min-width:0}
@media(max-width:700px){.sushi-page .table-info{display:grid;grid-template-columns:1fr auto;gap:8px 14px}.sushi-page .table-info>.eyebrow,.sushi-page .table-info>h1,.sushi-page .table-info>.quiet{display:none}.sushi-page .players,.sushi-page .rules,.sushi-page #solo-tools{grid-column:1/-1}.sg-hand{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.sg-card img{height:57px}.sg-small img{height:32px}.sg-controls p{flex-basis:100%;font-size:11px}.sg-score>strong{font-size:23px}.sg-scores{grid-template-columns:repeat(auto-fit,minmax(85px,1fr))}.sg-reveal{gap:10px}.sg-game{gap:13px}.sg-reference{grid-template-columns:repeat(2,minmax(0,1fr))}.sg-progress{font-size:10px}.sg-plate summary{font-size:11px}.sg-card-head>strong{font-size:9px}.sg-small .sg-card-head>strong{font-size:7px}}

/* No Thanks!: number runs, private wallets and a shared offer. */
.nt-lobby{display:block!important;background:transparent!important;border:0!important;box-shadow:none!important;transform:none!important}.nt-lobby img{display:block;width:100%;height:auto}.nt-catalog{background:#e2e6d6}.nt-catalog-scene{width:100%;height:100%;object-fit:contain}.nt-table{display:block;width:100%;padding:20px;border-radius:22px;background:#e2e6d6;color:#293b36}.nt-heading{display:flex;justify-content:space-between;gap:12px;font-size:12px;letter-spacing:.03em}.nt-heading span:last-child{color:#65746a;font-size:10px}.nt-market{display:flex;align-items:center;justify-content:center;gap:32px;padding:24px 0 18px}.nt-deck-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}.nt-deck-wrap img{width:82px;height:115px;filter:drop-shadow(3px 5px 0 #c8cfbd)}.nt-deck-wrap small{font-size:11px;color:#65746a}.nt-card{width:116px;height:158px;display:flex;flex-direction:column;background:#fff9e9;border:1px solid #d8d3be;border-radius:12px;color:#a75636;padding:10px 12px;box-shadow:3px 4px 0 #c8cfbd;position:relative;flex-shrink:0}.nt-card>small{font-size:16px;line-height:1}.nt-card>strong{font-size:61px;line-height:1.5;align-self:center;font-variant-numeric:tabular-nums}.nt-card>span{align-self:center;color:#d6ae72;font-size:12px}.nt-pot{min-width:65px;display:flex;flex-direction:column;align-items:center;gap:4px}.nt-pot>img{width:36px;height:36px}.nt-pot strong{font-size:30px;font-variant-numeric:tabular-nums}.nt-pot small{font-size:10px;color:#65746a}.nt-controls{padding:12px 16px 16px;background:#f3f1e6;border-radius:15px;text-align:center}.nt-controls p{font-size:13px;line-height:1.5;margin:0 0 12px}.nt-controls>div{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.nt-controls button{min-width:155px;min-height:45px}.nt-event{font-size:12px;color:#576a61;min-height:1.5em;margin:14px 2px}.nt-players{display:grid;gap:10px}.nt-player{background:#eef0e3;border:1px solid #d1d7c4;border-radius:14px;padding:12px;min-width:0}.nt-player.yours{background:#faf5e6}.nt-player.active{border-color:#3f7770;box-shadow:inset 3px 0 #3f7770}.nt-player-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.nt-player h3{font-size:14px;margin:0;min-width:50px}.nt-wallet{display:flex;align-items:center;gap:5px;white-space:nowrap}.nt-wallet b{font-size:18px}.nt-wallet small{font-size:10px;color:#65746a}.nt-total{margin-left:auto;font-size:12px;color:#65746a}.nt-total strong{font-size:19px;color:#293b36}.nt-runs{display:flex;flex-wrap:wrap;gap:10px 16px;padding-top:8px;min-height:22px}.nt-run>div{display:flex;gap:3px;flex-wrap:wrap}.nt-run>small{font-size:10px;color:#65746a;display:block;margin-top:5px}.nt-small{width:34px;height:45px;border-radius:5px;padding:3px;box-shadow:1px 2px 0 #d2d4c0;color:#7d8071}.nt-small>small{display:none}.nt-small>strong{font-size:18px;line-height:1.45}.nt-small>span{font-size:7px;line-height:1}.nt-counts{color:#a75636;border-color:#d3af7e}.nt-match{outline:2px dashed #739386;outline-offset:2px}.nt-help{margin-top:18px;font-size:12px;line-height:1.6}.nt-help summary{cursor:pointer}.nt-example{display:flex;align-items:center;gap:6px;padding:12px 0 0}.nt-example span{background:#fff9e9;border-radius:5px;padding:4px 9px}.nt-example b{margin-left:8px}.nt-done{width:116px;height:158px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:13px;color:#628885}.nt-done strong{font-size:45px}
@media(max-width:700px){.nothanks-game .table-info h1,.nothanks-game .table-info>.eyebrow,.nothanks-game .table-info>.quiet,.nothanks-game .table-info .players{display:none}.nothanks-game .table-info{padding-bottom:10px}.nt-table{padding:13px}.nt-market{gap:18px;padding:18px 0}.nt-deck-wrap img{width:63px;height:88px}.nt-card:not(.nt-small){width:96px;height:133px}.nt-card:not(.nt-small)>strong{font-size:49px}.nt-pot{min-width:52px}.nt-pot small{max-width:65px;text-align:center}.nt-controls{padding:12px 8px}.nt-controls>div{gap:8px}.nt-controls button{min-width:0;flex:1;font-size:12px;padding:11px 9px}.nt-heading{font-size:10px}.nt-player-head{gap:8px}.nt-total{font-size:10px}.nt-wallet small{display:none}.nt-player{padding:10px}.nt-player h3{font-size:12px;min-width:38px}.nt-wallet img{width:22px;height:22px}.nt-event{line-height:1.6}}

/* Hive: an expanding hex field with individually animated insect tiles. */
.hv-lobby{display:block!important;background:transparent!important;border:0!important;box-shadow:none!important;transform:none!important}.hv-lobby img{display:block;width:100%;height:auto}.hv-catalog{background:#e6e2d1}.hv-catalog-scene{width:100%;height:100%;object-fit:contain}.hv-table{display:block;width:100%;padding:18px;background:#e6e2d1;border-radius:22px;color:#30443b}.hv-summary{display:flex;justify-content:space-between;gap:10px}.hv-seat{display:flex;flex-direction:column;gap:6px;font-size:13px}.hv-seat>span{display:flex;gap:5px;align-items:center;font-size:11px}.hv-seat-1>b:before,.hv-seat-2>b:before{content:'';display:inline-block;width:10px;height:10px;margin-right:7px;background:#fff8e7;border:1px solid #bcb99e;border-radius:3px}.hv-seat-2>b:before{background:#3a514c;border-color:#3a514c}.hv-rival{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 0 8px;color:#617265;font-size:11px}.hv-rival>span{display:flex;align-items:center;gap:4px}.hv-map-head{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #cecdb7;font-size:11px;color:#617265;padding-top:5px}.hv-map-head>div{display:flex;gap:3px}.hv-map-head button{min-width:36px;min-height:36px;font-size:13px}.hv-viewport{width:100%;overflow:auto;max-height:510px;min-height:240px;background:#dddcca;border-radius:15px;overscroll-behavior:contain}.hv-stage{position:relative;margin:auto}.hv-plane{position:absolute;left:0;top:0;transform-origin:0 0}.hv-cell{position:absolute;width:64px;height:74px;border:0;padding:0;background:transparent;cursor:pointer;filter:drop-shadow(1px 3px 0 #bbbda8);opacity:1!important;transition:none!important}.hv-cell:disabled{cursor:default}.hv-piece,.hv-under{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:#fff8e7;transform-origin:center}.hv-piece img{width:42px;height:42px;margin-top:4px;pointer-events:none}.hv-piece small{font-size:10px;line-height:1;font-weight:800;color:#62725e}.hv-p2{background:#3a514c}.hv-p2 small{color:#eceddc}.hv-under{transform:translateY(7px);background:#afb59e}.hv-height{position:absolute;right:0;bottom:9px;border-radius:50%;width:19px;height:19px;display:grid;place-items:center;background:#bc8255;color:white;border:2px solid #eee8d5;font-size:10px;font-weight:800;z-index:4}.hv-target{background:#c3d2b0;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);filter:none}.hv-target.occupied{clip-path:none}.hv-target.occupied:after{content:'+';position:absolute;inset:22px 0 0;text-align:center;color:#a54f2b;font-size:30px;font-weight:900;text-shadow:0 1px #fff8e7;pointer-events:none}.hv-dot{font-size:24px;color:#607a50}.hv-empty{display:block;margin:auto;width:5px;height:5px;border-radius:50%;background:#c1c5ae}.hv-selected{filter:drop-shadow(0 0 3px #a6502d) drop-shadow(0 0 2px #a6502d);z-index:5}.hv-can-move:before{content:'';position:absolute;inset:-3px;background:#a2b58a;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.hv-last{z-index:6}.hv-cell:focus-visible{outline:3px solid #ad663b;outline-offset:3px}.hv-inspect{font-size:11px;line-height:1.5;min-height:17px;color:#647361;margin:8px 0 12px}.hv-controls{border-radius:14px;background:#f5f1e1;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.hv-controls p{font-size:12px;line-height:1.5;margin:0;flex:1;min-width:180px}.hv-controls>div{display:flex;align-items:center;gap:8px}.hv-controls .primary{min-height:43px;padding:11px 16px;font-size:12px}.hv-table>h3{font-size:12px;margin:15px 0 8px}.hv-hand{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.hv-stock{border:1px solid #c5c7af;background:#f4efdd;border-radius:12px;padding:9px 3px;display:flex;flex-direction:column;align-items:center;gap:3px;color:#384b3e;min-width:0}.hv-stock.selected{border-color:#ad663b;background:#fceacb}.hv-stock b{font-size:11px}.hv-stock small{font-size:12px}.hv-stock-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:10px}.hv-stock:disabled{opacity:.45}.hv-event{font-size:12px;color:#657561;margin:12px 1px;min-height:18px}.hv-help{font-size:12px;line-height:1.65}.hv-help summary{cursor:pointer}.hv-guide{display:grid;gap:8px;margin-top:12px;grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}.hv-guide>div{display:flex;flex-direction:column;gap:3px;align-items:flex-start;padding:8px;background:#f2eedb;border-radius:10px}.hv-guide small{color:#667561}
@media(max-width:700px){.hive-game .table-info h1,.hive-game .table-info>.eyebrow,.hive-game .table-info>.quiet,.hive-game .table-info .players{display:none}.hive-game .table-info{padding-bottom:10px}.hv-table{padding:12px}.hv-controls{padding:10px;gap:8px}.hv-controls>div{margin-left:auto}.hv-controls p{min-width:150px}.hv-hand{gap:5px}.hv-stock b{font-size:10px}.hv-stock{padding:7px 2px}.hv-stock-icon{width:37px;height:37px}.hv-stock-icon img{width:29px;height:29px}.hv-rival{gap:7px;font-size:10px}.hv-map-head{font-size:10px}.hv-viewport{max-height:390px;min-height:200px}}

.hv-controls>div{flex-shrink:0}.hv-controls button{white-space:nowrap}.hv-controls .text-button{min-width:45px}

/* For Sale — small paper houses, green cheques and visible bids. */
.fs-lobby{display:flex;align-items:center;justify-content:center;width:100%;background:none!important;border:0!important;aspect-ratio:500/340}.fs-lobby img,.fs-catalog>img{width:100%;height:100%;object-fit:contain}.fs-catalog{background:#e1e5d3}.fs-table{background:#e6e8d9;border:1px solid #d5d9c6;border-radius:25px;padding:22px;color:#364b43;min-width:0}.fs-phase,.fs-market-head,.fs-actions,.fs-assets,.fs-bid-step{display:flex;align-items:center;gap:10px}.fs-phase{justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:.08em;padding-bottom:14px;border-bottom:1px solid #cbd1bc}.fs-market-head{margin:17px 0 13px;flex-wrap:wrap}.fs-market-head h3{font-size:15px;margin:0;flex:1}.fs-bank{display:flex;align-items:center;gap:4px;font-size:10px}.fs-bank img{width:24px;height:19px}.fs-deck{width:32px;height:44px;object-fit:contain}.fs-market,.fs-hand{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.fs-market{min-height:150px;align-items:center;padding:10px 0 20px}.fs-card{box-sizing:border-box;width:98px;height:148px;flex-shrink:0;border:1px solid #cec6b4;border-radius:10px;background:#fbf6e9;color:#40584d;box-shadow:0 3px 0 #c2c5ad;display:flex;flex-direction:column;position:relative;padding:8px;overflow:hidden;text-align:left}.fs-card small{font-size:8px;letter-spacing:.09em;font-weight:700}.fs-card strong{font-size:29px;line-height:1.05;margin-top:3px;font-family:Georgia,serif}.fs-card>img{width:100%;height:74px;object-fit:contain;margin-top:-3px}.fs-card>span{font-size:8px;align-self:flex-end;margin-top:auto;letter-spacing:.04em}.fs-tier-1{background:#fff0e2}.fs-tier-2{background:#f1f2d9}.fs-tier-3{background:#e8f1e8}.fs-tier-4{background:#f2e9ee}.fs-tier-5{background:#f6edca}.fs-check{background:#cee0c5;border-color:#a3b996;color:#456345}.fs-check strong{font-size:38px;margin-top:13px}.fs-check>img{width:45px;height:35px;align-self:center;margin-top:9px}.fs-void{background:#e3ddd0;color:#8b8171}.fs-controls{border-radius:14px;background:#f6f4e7;padding:15px;margin:10px 0}.fs-controls p{font-size:12px;line-height:1.7;margin:0 0 12px}.fs-bid-step{flex-wrap:nowrap;margin:8px 0 12px}.fs-bid-step>button{padding:10px 14px;white-space:nowrap}.fs-bid-step>input{min-width:0;width:67px;text-align:center;border:1px solid #c4ccb5;background:#fffdf4;border-radius:8px;padding:10px 3px;font-size:16px;color:inherit}.fs-bid-step>button:last-child{margin-left:auto;flex:1}.fs-controls label{font-size:11px;font-weight:700}.fs-actions{justify-content:flex-end;flex-wrap:wrap}.fs-actions button{font-size:12px;white-space:normal}.fs-event{font-size:11px;line-height:1.8;min-height:20px;color:#617365}.fs-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0}.fs-player{border:1px solid #d0d6c2;background:#eef0e3;border-radius:12px;padding:12px;min-width:0}.fs-player.yours{background:#fff8e8}.fs-player.active{border-color:#809779;box-shadow:inset 0 0 0 1px #809779}.fs-player h3{font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0 0 10px}.fs-player h3 small{font-size:9px;font-weight:400}.fs-assets{display:grid;grid-template-columns:1fr 1fr;gap:7px;font-size:10px}.fs-assets>span{display:flex;gap:3px;align-items:center;white-space:nowrap}.fs-assets img{width:21px;height:17px;object-fit:contain}.fs-assets .fs-back img{height:25px}.fs-assets b{font-size:13px}.fs-receipts{font-size:10px;line-height:1.7;margin:9px 0 0;overflow-wrap:anywhere}.fs-hand{justify-content:flex-start;padding:3px 0 13px}.fs-hand button{cursor:pointer;transition:transform .16s,border-color .16s}.fs-hand button:disabled{opacity:.86;cursor:default}.fs-hand button:not(:disabled):hover{transform:translateY(-5px)}.fs-hand button.selected{outline:3px solid #779064;outline-offset:1px;transform:translateY(-7px)}#fs-hand-title{font-size:14px;margin-top:20px}.fs-help{border-top:1px solid #cbd1bc;padding-top:14px;margin-top:10px;font-size:12px}.fs-help summary{cursor:pointer;font-weight:700}.fs-help p{font-size:12px;line-height:1.9}.fs-results{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:10px 0}.fs-result{display:grid;grid-template-columns:75px 14px 75px;gap:4px;align-items:center}.fs-result>b{grid-column:1/-1;font-size:11px;text-align:center}.fs-result .fs-card{width:75px;height:122px;padding:7px}.fs-result .fs-card>img{height:58px}.fs-result .fs-check>img{height:28px}.fs-equals{text-align:center;font-size:12px}
@media(max-width:700px){.fs-table{padding:12px;border-radius:18px}.fs-market{gap:7px;min-height:135px}.fs-card{width:86px;height:132px;padding:7px}.fs-card>img{height:63px}.fs-card strong{font-size:26px}.fs-check strong{font-size:33px}.fs-check>img{height:30px}.fs-players{grid-template-columns:1fr 1fr;gap:7px}.fs-player{padding:9px}.fs-assets{grid-template-columns:1fr;gap:5px}.fs-hand{gap:9px}.fs-controls{padding:12px}.fs-bid-step{gap:7px}.fs-bid-step>button{padding:10px}.fs-bid-step>input{width:48px}.fs-phase{font-size:9px}.fs-market-head h3{font-size:13px;flex-basis:60%}.fs-bank{font-size:9px}.fs-results{gap:12px 8px}.fs-result{grid-template-columns:69px 10px 69px;gap:2px}.fs-result .fs-card{width:69px;height:119px}.fs-result .fs-card strong{font-size:24px}}

/* Quarto — original flat wooden pieces; four traits remain distinct at phone size. */
.qt-lobby{display:flex;align-items:center;justify-content:center;background:none!important;border:0!important;aspect-ratio:500/360;width:100%}.qt-lobby>img,.qt-catalog>img{width:100%;height:100%;object-fit:contain}.qt-catalog{background:#e3e2cf}.qt-table{padding:22px;background:#e9eadb;border:1px solid #d6d8c4;border-radius:25px;min-width:0;color:#405148}.qt-heading{display:flex;justify-content:space-between;gap:9px;font-size:11px;letter-spacing:.07em;font-weight:700;border-bottom:1px solid #d2d5bf;padding-bottom:13px}.qt-offer{display:flex;gap:17px;align-items:center;margin:14px 0 7px}.qt-offered{width:72px;height:86px;flex:0 0 72px;border-radius:15px;background:#f8f5e8;display:grid;place-items:center}.qt-offered>.qt-piece{height:83px;width:69px}.qt-offer h3{font-size:15px;margin:0 0 7px}.qt-offer p{font-size:11px;line-height:1.7;color:#6e7967;margin:7px 0 0}.qt-offer-empty{font-size:35px;color:#9aaa8d}.qt-features{display:flex;gap:5px;flex-wrap:wrap}.qt-features span{font-size:10px;background:#f5f2df;border:1px solid #d5d8bf;padding:3px 7px;border-radius:20px}.qt-piece{display:block;width:100%;height:100%;pointer-events:none}.qt-piece>img{width:100%;height:100%;object-fit:contain}.qt-axis{display:grid;grid-template-columns:repeat(4,1fr);max-width:435px;padding:0 14px;margin:7px auto 3px;text-align:center;font-size:10px;color:#7f8b71}.qt-grid{max-width:435px;margin:auto;background:#d7dcc5;padding:12px;border-radius:24px;border:1px solid #c4cbb3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;box-shadow:0 4px 0 #c4c7ad}.qt-cell{aspect-ratio:1;border:1px solid #c0c9af;background:#e9ecd9;border-radius:50%;position:relative;padding:3px;min-width:0;cursor:pointer;display:grid;place-items:center;transition:background-color .18s,box-shadow .18s}.qt-cell>small{position:absolute;left:9px;top:5px;font-size:8px;color:#758566;z-index:1;pointer-events:none}.qt-cell .qt-piece{position:absolute;width:82%;height:96%;bottom:4%;left:9%}.qt-dot{width:5px;height:5px;border-radius:50%;background:#b2bea0}.qt-cell:disabled{cursor:default;opacity:1}.qt-cell.selected,.qt-cell.qt-line-picked{box-shadow:inset 0 0 0 3px #91a271;background:#f5edcb}.qt-cell.winning{box-shadow:inset 0 0 0 3px #bba161;background:#f8edba}.qt-cell.qt-last:after{content:'';position:absolute;width:5px;height:5px;background:#b39862;border-radius:50%;right:8px;bottom:8px}.qt-inspect{font-size:11px;color:#69795d;min-height:20px;line-height:1.7;margin:14px 0 7px}.qt-controls{background:#f8f5e8;border-radius:14px;padding:13px;margin:8px 0}.qt-controls p{font-size:12px;line-height:1.8;margin:0 0 10px}.qt-controls>div{display:flex;justify-content:flex-end;gap:9px}.qt-controls button{white-space:nowrap;font-size:12px}.qt-claim{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:13px 0 17px}.qt-claim>span{font-size:10px;line-height:1.8;flex:1;min-width:130px}.qt-claim>button{font-family:Georgia,serif;font-size:17px;padding:10px 15px}.qt-claim>div{flex-basis:100%;display:flex;align-items:center;gap:9px;flex-wrap:wrap;background:#fff8e9;border:1px solid #d7caab;padding:11px;border-radius:12px}.qt-claim label{font-size:11px}.qt-claim select{min-width:120px;border-radius:7px;border:1px solid #c7cbb3;background:#fffcf2;padding:9px;font-size:12px;color:inherit}.qt-claim>div button{font-size:12px;margin-left:auto}#qt-pool-title{font-size:14px}.qt-pool{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}.qt-stock{min-width:0;aspect-ratio:.87;border-radius:10px;border:1px solid #d1d5bd;background:#f6f3e4;padding:3px;display:grid;place-items:center;cursor:pointer;transition:transform .16s,border-color .16s}.qt-stock:disabled{opacity:.86;cursor:default}.qt-stock.selected{border:2px solid #7d9469;background:#fff3cb;transform:translateY(-5px)}.qt-stock:not(:disabled):hover{transform:translateY(-4px)}.qt-stock.qt-used{border-style:dashed;background:transparent;color:#b4bca2;cursor:default;font-size:20px}.qt-event{font-size:11px;line-height:1.8;color:#6c7c61;margin:13px 0}.qt-help{border-top:1px solid #cbd1b9;padding-top:13px;font-size:12px}.qt-help summary{font-weight:700;cursor:pointer}.qt-help p{font-size:12px;line-height:1.8}.qt-guide{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.qt-guide>div{display:flex;justify-content:center;border-radius:9px;background:#f5f3e5;padding:6px}.qt-guide>div>span{width:48%;text-align:center}.qt-guide .qt-piece{height:65px}.qt-guide small{font-size:10px}
@media(max-width:700px){.qt-table{padding:12px;border-radius:18px}.qt-heading{font-size:10px}.qt-offer{gap:11px}.qt-offer h3{font-size:13px}.qt-offer p{font-size:10px}.qt-offered{width:62px;flex-basis:62px;height:79px}.qt-offered>.qt-piece{width:60px;height:76px}.qt-grid{padding:10px;gap:7px;border-radius:20px}.qt-cell>small{font-size:7px;left:6px;top:3px}.qt-pool{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.qt-stock{aspect-ratio:1.05;padding:1px}.qt-stock .qt-piece{height:62px}.qt-guide{grid-template-columns:1fr 1fr}.qt-claim>div button{margin-left:0}.qt-controls{padding:12px}.qt-controls button{padding:11px}.qt-axis{padding:0 11px}.qt-claim{gap:8px}.qt-claim>button{font-size:15px}}
/* L.L.A.M.A.: flat cards, readable hands and public penalty markers. */
.lm-lobby img,.lm-catalog>img{width:100%;height:auto;display:block}.lm-catalog{background:#e6ead9}.lm-catalog>img{height:100%;object-fit:contain}.lm-table{background:#e9ecdd;border:1px solid #d1d5c3;border-radius:24px;padding:22px;color:#344238}.lm-heading,.lm-hand-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:16px}.lm-heading>span:last-child{text-align:right}.lm-players{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.lm-player{position:relative;border:1px solid #cdd2bd;border-radius:13px;background:#f4f1e5;padding:10px 40px 10px 10px}.lm-player.active{border-color:#617344;box-shadow:inset 0 0 0 2px #8d9b64}.lm-player.withdrawn{background:#dedfd2}.lm-player h3{display:flex;justify-content:space-between;gap:8px;font-size:14px;margin:0 0 9px}.lm-player h3 small{font:10px var(--sans,Arial,sans-serif);align-self:center}.lm-wallet{display:flex;align-items:center;gap:3px;font:12px Arial,sans-serif}.lm-wallet img{width:23px;height:23px}.lm-wallet strong{font-size:21px;margin-left:auto}.lm-seat-back{position:absolute;right:7px;bottom:12px;width:25px;height:36px}.lm-center{display:flex;justify-content:center;align-items:center;gap:28px;padding:27px 0 12px}.lm-deck,.lm-discard,.lm-bank{display:flex;align-items:center;flex-direction:column;gap:9px}.lm-deck>img{width:78px;height:auto;filter:drop-shadow(3px 4px 0 #bfc5ad)}.lm-deck small,.lm-discard>small,.lm-bank small{font-size:11px;text-align:center}.lm-bank{width:60px;gap:4px}.lm-bank img{width:32px;height:32px}.lm-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100px;height:140px;border:2px solid #55624e;border-radius:12px;background:#ecd99e;color:#344337;box-shadow:2px 4px 0 #bdc2a9;overflow:hidden;isolation:isolate}.lm-card>small{position:absolute;left:8px;top:5px;font:bold 18px Georgia,serif}.lm-card>strong{font:bold 70px Georgia,serif;line-height:1}.lm-card>em{position:absolute;bottom:8px;font:8px Arial,sans-serif;letter-spacing:.15em;font-style:normal}.lm-card>img{width:90%;height:88%;object-fit:contain}.lm-pattern{font:bold 14px Georgia,serif;max-width:70px;line-height:.7;text-align:center}.lm-v1{background:#d5dbaa}.lm-v2{background:#b8d1c2}.lm-v3{background:#b7cbd2}.lm-v4{background:#c9bbcf}.lm-v5{background:#e2b1a0}.lm-v6{background:#e3c494}.lm-v7{background:#edd997}.lm-event{font-size:12px;text-align:center;min-height:18px}.lm-controls{background:#f7f3e6;border-radius:14px;padding:14px;margin:16px 0}.lm-controls p{margin:0 0 12px;font-size:13px}.lm-controls>div{display:flex;flex-wrap:wrap;gap:8px}.lm-controls button,.lm-return button,.lm-report>button{font-size:12px;padding:12px 15px}.lm-hand-heading h3{margin:0;font-size:16px}.lm-hand-heading>span{font-size:11px}.lm-hand{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;min-height:128px}.lm-hand-card{padding:0;border:0;background:transparent;border-radius:10px;cursor:pointer}.lm-hand-card .lm-card{width:76px;height:108px}.lm-hand-card .lm-card>strong{font-size:52px}.lm-hand-card .lm-card>small{font-size:15px;left:6px;top:3px}.lm-hand-card.playable .lm-card{border-color:#657c3c;box-shadow:0 0 0 2px #a5b57a,2px 4px 0 #bbc1aa}.lm-hand-card.selected .lm-card{outline:3px solid #344a2a;outline-offset:3px;transform:translateY(-7px)}.lm-hand-card:disabled{opacity:1;cursor:default}.lm-hand-card:disabled .lm-card{filter:saturate(.8)}.lm-hand-card:focus-visible{outline:3px solid #c9755f;outline-offset:4px}.lm-return{padding:16px;border-radius:14px;background:#eddeb2;margin:14px 0}.lm-return p{margin-top:0;font-size:14px}.lm-return button{margin:3px}.lm-report{margin-top:24px;border-top:1px solid #bec7ad;padding-top:12px}.lm-result{padding:12px;background:#f5f1e5;border-radius:12px;margin-bottom:9px}.lm-result>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.lm-result>small{font-size:11px}.lm-revealed{display:flex;flex-wrap:wrap;gap:6px}.lm-small{width:43px;height:61px;border-radius:7px;box-shadow:1px 2px 0 #bdc2a9}.lm-small>strong{font-size:31px}.lm-small>small{font-size:9px;left:4px;top:2px}.lm-small>em,.lm-small .lm-pattern{display:none}#lm-ready{font-size:12px}.lm-help{border-top:1px solid #cbd0bb;margin-top:20px;padding-top:15px;font-size:12px}.lm-help summary{cursor:pointer;font-weight:700}.lm-cycle{padding:15px 0;font-size:17px;letter-spacing:1px}.lm-help p{line-height:1.7}.lm-empty{font-size:14px;padding:20px 0}.llama-game .primary:disabled,.llama-game .secondary:disabled{opacity:.45}
@media(max-width:600px){.lm-table{padding:13px;border-radius:19px}.lm-heading{font-size:10px}.lm-players{grid-template-columns:repeat(2,minmax(0,1fr))}.lm-player{padding:9px 30px 9px 7px}.lm-player h3{font-size:12px;flex-wrap:wrap;gap:3px}.lm-wallet{gap:1px}.lm-wallet img{width:18px;height:18px}.lm-wallet small{font-size:9px}.lm-wallet strong{font-size:18px}.lm-seat-back{width:21px;height:29px;right:5px}.lm-center{gap:18px;padding-top:20px}.lm-center .lm-card{width:85px;height:120px}.lm-deck>img{width:63px}.lm-bank{width:48px}.lm-bank img{width:26px;height:26px}.lm-hand{gap:9px}.lm-hand-card .lm-card{width:63px;height:92px}.lm-hand-card .lm-card>strong{font-size:45px}.lm-hand-card .lm-card>small{font-size:12px}.lm-hand-card .lm-card>em{font-size:7px;bottom:6px}.lm-hand-card .lm-pattern{font-size:11px}.lm-controls button{padding:11px 12px}.lm-cycle{font-size:14px;letter-spacing:0}.lm-result>div:first-child{font-size:13px}.lm-return button{padding:11px}.lm-hand-heading{gap:5px}.lm-hand-heading h3{font-size:14px}}

@media(max-width:700px){.llama-game .table-info .players{flex-wrap:wrap;gap:10px 18px}.llama-game .table-info .players>div{min-width:70px}}

/* The Game: four shared piles, private hands and word-only teamwork. */
.thegame-game .table-layout{grid-template-columns:230px minmax(0,1fr)}.thegame-game .table-info{min-width:0}.thegame-game .players{flex-wrap:wrap}.thegame-game .players>div[hidden]{display:none}.tg-table{width:100%;padding:24px;background:#e2ece4;border:1px solid #becfc5;border-radius:22px;box-sizing:border-box;overflow:visible}.tg-progress{display:flex;justify-content:space-between;gap:10px;font-size:13px;font-weight:700;color:#254f54}.tg-meter{height:5px;background:#c6d9cf;border-radius:5px;margin:12px 0 18px;overflow:hidden}.tg-meter i{display:block;height:100%;background:#39776f}.tg-team{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tg-seat{display:flex;gap:8px;align-items:center;padding:7px 10px;border:1px solid transparent;border-radius:12px;min-width:0;font-size:12px}.tg-seat.active{background:#f8f4e9;border-color:#42766b}.tg-seat span{min-width:0}.tg-seat small{display:block;font-size:10px;margin-top:3px;color:#5b746c}.tg-back{width:26px;height:36px;flex-shrink:0}.tg-play-area{display:flex;gap:16px;align-items:center}.tg-piles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;flex:1;min-width:0}.tg-pile{min-width:0;background:#f4f4e8;border:1px solid #c6d3c5;border-radius:14px;padding:10px 8px}.tg-down{background:#d0e0d7}.tg-pile-title{display:flex;justify-content:space-between;align-items:center;color:#254f54;gap:4px}.tg-pile-title b{font-size:19px}.tg-pile-title small{font-size:9px;letter-spacing:.03em}.tg-pile-button{display:block;width:100%;padding:9px 0 0;border:0;background:none;border-radius:10px;cursor:default;opacity:1!important}.tg-card{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;width:100%;aspect-ratio:5/7;border:1px solid #315d55;border-radius:10px;box-sizing:border-box;color:#254f54;background:#f6f0dc;box-shadow:0 3px 0 #254f5420;max-width:110px;margin:auto}.tg-card small{position:absolute;top:7px;left:8px;font-size:12px;font-weight:700}.tg-card strong{font-size:clamp(28px,3.2vw,42px);line-height:1.2;font-variant-numeric:tabular-nums}.tg-card-mark{position:absolute;right:7px;bottom:4px;font-size:20px;opacity:.5}.tg-tone-1{background:#f6cb9a}.tg-tone-2{background:#e9b9a3}.tg-tone-3{background:#b4cfc2}.tg-target{min-height:27px;font-size:11px;text-align:center;margin:10px 0 4px;color:#456b61;line-height:1.35}.tg-pile.legal{border:2px solid #387b67;padding:9px 7px;background:#edf6e3}.tg-pile.legal button{cursor:pointer}.tg-signal-label{display:block;color:#506d64;font-size:10px}.tg-signal-label select{display:block;width:100%;min-width:0;padding:6px 2px;margin-top:4px;border:1px solid #bdcdbf;border-radius:5px;font-size:10px;background:#f8f5e9;color:#254f54}.tg-signals{min-height:16px}.tg-signals small{display:block;font-size:9px;color:#8a4f32;margin-top:4px;overflow-wrap:anywhere}.tg-deck{display:flex;flex-direction:column;align-items:center;gap:8px;flex:0 0 62px}.tg-deck img{width:58px;height:auto}.tg-deck span{font-size:10px;color:#42675d}.tg-event{font-size:12px;min-height:20px;color:#567369;margin:18px 0 8px}.tg-controls{padding:12px 14px;background:#f8f5ea;border-radius:12px}.tg-controls p{font-size:13px;margin:0 0 10px;line-height:1.5}.tg-controls button{font-size:12px;padding:10px 14px;min-height:38px}.tg-controls button[hidden]{display:none}.tg-hand-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:20px}.tg-hand-heading h3{font-size:14px}.tg-hand-heading small{font-size:10px;color:#5b746c}.tg-hand{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;align-items:end;margin-top:10px;min-height:90px}.tg-hand-card{background:none;border:0;padding:0;min-width:0;cursor:pointer;border-radius:10px;opacity:1!important}.tg-hand-card .tg-card{max-width:none}.tg-hand-card .tg-card strong{font-size:clamp(22px,2.5vw,32px)}.tg-hand-card .tg-card small{font-size:9px;top:5px;left:5px}.tg-hand-card .tg-card-mark{font-size:14px}.tg-hand-card:disabled .tg-card{filter:saturate(.7)}.tg-hand-card.playable .tg-card{border-color:#2c6556;box-shadow:0 3px 0 #254f5440}.tg-hand-card.selected{transform:translateY(-9px)}.tg-hand-card.selected .tg-card{outline:3px solid #db875e;outline-offset:2px}.tg-hand-card:focus-visible,.tg-pile-button:focus-visible{outline:3px solid #bd6d42;outline-offset:4px}.tg-result{margin-top:20px;padding:20px;background:#f4dfc1;border-radius:14px;text-align:center}.tg-result.won{background:#b5d2bb}.tg-result h3{font-size:18px;margin:8px}.tg-result p{font-size:12px;line-height:1.6}.tg-result-mark{font-size:32px;color:#376355}.tg-help{margin-top:18px;font-size:12px;line-height:1.7;color:#4f6d63}.tg-help summary{cursor:pointer}.tg-lobby img,.tg-catalog img{display:block;width:100%;height:100%;object-fit:contain}.tg-lobby{width:100%}.tg-catalog{background:#dce8df}.tg-catalog>img{position:absolute;inset:0}.thegame-game .solo-entry>button{margin:5px 8px 5px 0}
@media(max-width:1000px){.thegame-game .table-layout{grid-template-columns:1fr}.tg-table{max-width:800px;margin:auto}.thegame-game .table-info{max-width:none}.tg-card strong{font-size:34px}}
@media(max-width:520px){.tg-table{padding:14px 10px;border-radius:16px}.tg-play-area{display:block}.tg-piles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tg-pile{padding:10px}.tg-pile.legal{padding:9px}.tg-pile-button .tg-card{max-width:82px}.tg-pile-title small{font-size:10px}.tg-signal-label select{font-size:12px;min-height:34px}.tg-signals small{font-size:10px}.tg-deck{flex-direction:row;justify-content:center;margin-top:12px}.tg-deck img{width:30px;height:42px}.tg-deck span{font-size:12px}.tg-team{gap:4px}.tg-seat{padding:5px;flex:1 0 26%;max-width:48%;font-size:11px}.tg-hand{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 8px}.tg-hand .tg-card{max-width:70px}.tg-hand-card .tg-card strong{font-size:29px}.tg-card small{font-size:10px}.tg-progress{font-size:11px}.tg-hand-heading small{max-width:110px;text-align:right}.tg-target{min-height:16px}.tg-signal-label{font-size:10px}.tg-event{font-size:11px}.tg-controls{padding:12px}.tg-controls p{font-size:12px}}

.tg-alone .tg-signal-label,.tg-alone .tg-signals{display:none}
@media(max-width:520px){.tg-pile{display:grid;grid-template-columns:62px minmax(0,1fr);gap:5px 7px;align-content:start}.tg-pile-title{grid-column:1/-1;margin-bottom:3px}.tg-pile-button{grid-row:2/5;grid-column:1;padding:0}.tg-pile-button .tg-card{max-width:62px}.tg-pile-button .tg-card strong{font-size:27px}.tg-target{grid-column:2;text-align:left;align-self:center;margin:0;font-size:10px}.tg-signal-label{grid-column:2;font-size:9px}.tg-signal-label select{font-size:10px;padding:3px 0;min-height:30px}.tg-signals{grid-column:1/-1;min-height:0}.tg-signals small{font-size:9px}.tg-alone .tg-pile{grid-template-columns:1fr}.tg-alone .tg-pile-button{grid-row:auto;grid-column:1}.tg-alone .tg-target{grid-column:1;text-align:center;margin:5px 0 0}.tg-alone .tg-pile-button .tg-card{max-width:62px}}

/* Hey, That's My Fish!: shrinking pointy-hex ice, penguin families and public catches. */
.fish-game .table-layout{grid-template-columns:230px minmax(0,1fr)}.fish-game .players{flex-wrap:wrap}.fi-table{background:#dfecef;border:1px solid #bbd1d2;border-radius:22px;padding:20px;min-width:0;box-sizing:border-box}.fi-overview{display:flex;justify-content:space-between;gap:10px;font-size:11px;font-weight:700;color:#355e66;letter-spacing:.04em}.fi-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0}.fi-player{padding:10px 12px;background:#f0f3e9;border:1px solid #c7d5cd;border-left:4px solid var(--fi-color);border-radius:12px;min-width:0}.fi-p1{--fi-color:#d27b61}.fi-p2{--fi-color:#6f9587}.fi-p3{--fi-color:#c5a34e}.fi-p4{--fi-color:#9584ad}.fi-player.active{background:#fff8e5;border-color:#748f88;border-left-color:var(--fi-color)}.fi-player.retired{opacity:.72}.fi-player-top{display:flex;align-items:center;gap:8px;font-size:12px}.fi-player-top b{white-space:nowrap}.fi-player-top small{margin-left:auto;font-size:10px;color:#5f7b77}.fi-reserve{display:inline-flex;width:24px;height:32px;flex-shrink:0}.fi-reserve img{width:100%;height:100%}.fi-basket{display:flex;align-items:center;gap:7px;margin-top:5px;color:#355f63}.fi-basket strong{font-size:23px;font-variant-numeric:tabular-nums}.fi-basket span{font-size:11px;margin-left:auto}.fi-map-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#52797c}.fi-map-tools>div{display:flex;align-items:center}.fi-map-tools button{margin:0;padding:8px 10px;font-size:13px}.fi-viewport{overflow:auto;max-width:100%;margin:5px auto 12px;border-radius:18px;background:#bfd9dc;scrollbar-width:thin;touch-action:pan-x pan-y}.fi-stage{position:relative;min-width:0;margin:auto}.fi-plane{position:absolute;left:0;top:0;width:536px;height:487px;transform-origin:0 0}.fi-cell{position:absolute;width:64px;height:74px;border:0;background:none;padding:0;opacity:1!important;cursor:default;color:#355b63;box-sizing:border-box;border-radius:30%;overflow:visible}.fi-floe{position:absolute;inset:0;width:64px;height:74px;display:block}.fi-floe img{width:100%;height:100%;display:block}.fi-penguin{position:absolute;left:9px;top:1px;width:46px;height:58px;display:block;z-index:3;pointer-events:none;transform-origin:50% 75%}.fi-penguin img{width:100%;height:100%;display:block}.fi-penguin b{position:absolute;left:19px;bottom:10px;font-size:11px;font-weight:800;color:#304b52;line-height:12px}.fi-preview{opacity:.55}.fi-value{position:absolute;top:14px;left:9px;font-size:11px;font-weight:700;color:#456e73;z-index:2}.fi-coordinate{position:absolute;top:57px;left:22px;font-size:8px;line-height:10px;color:#628589;pointer-events:none}.fi-water{position:absolute;inset:17px 9px;border-radius:50%;color:#7aa6ae;font-size:24px;display:grid;place-items:center}.fi-enabled{cursor:pointer}.fi-enabled:hover .fi-floe{filter:brightness(1.05)}.fi-target .fi-floe{filter:drop-shadow(0 0 2px #568a74)}.fi-dot{position:absolute;top:30px;left:27px;width:10px;height:10px;background:#719c7b;border:2px solid #f5f5e3;border-radius:50%;box-sizing:border-box;z-index:1;pointer-events:none}.fi-cell.selected .fi-floe{filter:drop-shadow(0 0 3px #c36e43) drop-shadow(0 0 2px #c36e43)}.fi-path .fi-dot{background:#be774f}.fi-last .fi-coordinate{font-weight:800;color:#b06041}.fi-cell:focus-visible{outline:3px solid #a86b40;outline-offset:-5px}.fi-controls{padding:14px;background:#f7f4e8;border-radius:12px}.fi-controls p{font-size:13px;line-height:1.55;margin:0 0 10px;min-height:20px}.fi-controls button{font-size:12px;padding:10px 14px;min-height:39px}.fi-event{font-size:12px;line-height:1.65;color:#4c7377;margin:14px 1px}.fi-result{padding:18px;background:#f6e2b9;border-radius:12px;text-align:center;margin-top:14px}.fi-result h3{font-size:19px;margin:0 0 8px}.fi-result p{font-size:12px}.fi-result>div{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.fi-result span{font-size:12px;padding:9px;background:#fff7e2;border-radius:8px}.fi-result b{font-size:20px}.fi-help{font-size:12px;line-height:1.7;color:#50747a}.fi-help summary{cursor:pointer}.fi-help-example{display:flex;align-items:center;gap:15px;margin-top:10px}.fi-help-example strong{font-size:23px;color:#59816d}.fi-lobby img,.fi-catalog img{display:block;width:100%;height:100%;object-fit:contain}.fi-catalog{background:#c2dde0}.fi-catalog>img{position:absolute;inset:0}.fi-lobby{width:100%}
@media(max-width:1000px){.fish-game .table-layout{grid-template-columns:1fr}.fi-table{max-width:740px;margin:auto}.fish-game .table-info{max-width:none}}
@media(max-width:520px){.fi-table{padding:12px 9px;border-radius:16px}.fi-overview{font-size:10px;letter-spacing:0}.fi-players{gap:7px;margin:12px 0}.fi-player{padding:7px 6px;border-left-width:3px}.fi-player-top{gap:4px;font-size:11px;flex-wrap:wrap}.fi-player-top small{width:100%;margin:0;font-size:9px}.fi-reserve{width:18px;height:25px}.fi-basket strong{font-size:20px}.fi-basket span{font-size:9px}.fi-basket img{width:20px;height:15px}.fi-map-tools{font-size:10px}.fi-map-tools button{padding:8px}.fi-controls p{font-size:12px}.fi-controls{padding:12px}.fi-event{font-size:11px}}
.fish-game .play-area{min-width:0;max-width:100%}.fish-game .fi-viewport{width:100%;box-sizing:border-box}

/* A full-table conclusion, with a compact way back after inspecting the board. */
.result-dialog{box-sizing:border-box;width:min(430px,calc(100vw - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:30px 30px 26px;border:1px solid #c2c7b3;border-radius:24px;background:#f8f5ec;color:#303b30;text-align:center;overflow:auto;box-shadow:0 24px 90px #18291f45;--result-accent:#68754c}
.result-dialog::backdrop{background:#1f302e70;backdrop-filter:blur(3px)}
.result-dialog[data-result=loss]{--result-accent:#926951}.result-dialog[data-result=draw],.result-dialog[data-result=split]{--result-accent:#5c7b80}
.result-eyebrow{margin:0 0 14px;font:10px ui-monospace,monospace;letter-spacing:3px;color:#78806b}
.result-symbol{position:relative;margin:0 auto 16px;display:grid;place-items:center;width:86px;height:86px;border-radius:50%;color:var(--result-accent);background:#e7e9d8;box-shadow:0 0 0 8px #eeeee1;font:52px/1 Georgia,serif}
.result-dialog[data-result=loss] .result-symbol{background:#ede1d8;box-shadow:0 0 0 8px #f1e9df}
.result-dialog .result-title{margin:18px 0 12px;font:700 clamp(28px,7vw,40px)/1.3 Georgia,serif;letter-spacing:0;color:var(--result-accent)}
.result-detail{font-size:14px;line-height:1.8;margin:0 auto 24px;max-width:330px;overflow-wrap:anywhere;color:#616959}
.result-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;position:relative;z-index:1}.result-actions .primary{margin:0;padding:13px 18px}.result-actions .text-button{margin:0;padding:10px}.result-actions [hidden]{display:none}
.result-badge{position:fixed;z-index:45;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:calc(100vw - 24px);width:max-content;border:1px solid #9ca781;border-radius:30px;padding:14px 24px;background:#e8edda;color:#35472f;box-shadow:0 6px 24px #283b3026;font-size:14px;font-weight:650}
.result-badge[data-result=loss]{background:#eee2d7;color:#775642;border-color:#ba9b84}.result-badge[data-result=draw],.result-badge[data-result=split]{background:#e2eaea;color:#48666b;border-color:#99b2b3}.result-badge[hidden]{display:none}
.result-confetti{position:absolute;top:105px;left:50%;width:8px;height:12px;border-radius:2px;background:#b5bf7e;pointer-events:none}.result-confetti:nth-of-type(3n){background:#dca16f}.result-confetti:nth-of-type(3n + 1){background:#799898;border-radius:50%}
.result-dialog button:focus-visible,.result-badge:focus-visible{outline:3px solid #8d633f;outline-offset:4px}
/* Preview art occupies the same art panel as every other catalog entry. */
.card-palette .card-art{background:#eae5d8;overflow:hidden}.card-formation .card-art{background:#dee5e2;overflow:hidden}
.card-palette .card-art>.ct-catalog-preview,.card-formation .card-art>.ct-catalog-preview{position:absolute;inset:0;min-height:0;padding:42px 22px 48px;border-radius:0;background:transparent;overflow:visible;gap:10px}
.card-art>.ct-catalog-preview .ct-card{flex:0 1 88px;min-width:0;width:28%;box-sizing:border-box}
.card-palette .art-number,.card-formation .art-number,.card-palette .art-caption,.card-formation .art-caption{z-index:1;pointer-events:none}

.home .road-art,.home .road-art-grid{border-radius:0}

/* Shared preferences live in the header gear on every page using the motion engine. */
.table-settings-button{font-size:25px;line-height:1;min-width:42px;min-height:42px;margin-left:0;padding:7px;border:1px solid var(--line);border-radius:10px}.table-settings-button[aria-expanded=true]{background:var(--panel)}.table-settings-panel{position:fixed;right:max(12px,calc((100vw - 1240px)/2));top:62px;z-index:11000;width:min(290px,calc(100vw - 24px));padding:18px;border:1px solid #c5ccba;border-radius:14px;background:#faf7ee;box-shadow:0 10px 35px #303d2025}.table-settings-panel[hidden]{display:none}.table-settings-panel h2{font-size:16px;margin:0 0 13px}.table-settings-panel .motion-toggle{display:block;width:100%;min-height:42px;text-align:left;margin:0;padding:9px 12px;border:1px solid #cbd1bd;border-radius:8px;background:#e9eddf}.table-settings-panel .motion-toggle[aria-pressed=false]{background:#ede9df}.table-speed-setting{display:grid;gap:8px;font-size:14px;margin:16px 0 0}.table-speed-setting select{width:100%;min-height:42px;font:inherit;color:inherit;padding:8px 10px;border:1px solid #c4ccb8;border-radius:8px;background:#fffaf0}.table-speed-setting small{font-size:12px;color:#6b735f;line-height:1.5}
@media(max-width:700px){header{gap:10px}.table-settings-button{font-size:24px;min-width:40px;min-height:40px}.table-settings-panel{right:12px;top:58px}}

/* Match the other full-bleed catalog illustrations. */
.card-summit .card-art{overflow:hidden;padding-bottom:0}
.card-summit .sm-catalog>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.card-summit .sm-catalog .art-number,.card-summit .sm-catalog .art-caption{z-index:1}
.card-summit .sm-catalog .art-caption{background:none;padding:0;border-radius:0}

/* Unified detail-page preview sizing, independent of the game's live board. */
#lobby{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#lobby>.preview-wrap{width:100%;max-width:460px;margin:0 auto;align-self:start;min-width:0}
#lobby .detail-preview-frame{position:relative;width:100%;aspect-ratio:1;background:var(--panel);border:1px solid #c8cdb7;border-radius:16px;box-shadow:0 8px 0 #cbd0b8,0 16px 28px #3b422214}
#lobby .detail-preview-content{position:absolute;left:50%;top:50%;width:calc(100% - 40px);transform:translate(-50%,-50%) scale(var(--detail-preview-scale,1));transform-origin:center;min-width:0}
#lobby .detail-preview-content>:is(#preview,.live-detail-art){width:100%;max-width:none;min-height:0;height:auto;margin:0;padding:0;border:0!important;box-shadow:none!important;background:transparent!important;aspect-ratio:auto}
#lobby .detail-preview-content>:is(#preview,.live-detail-art)>img:only-child{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
#lobby .preview-caption{min-height:100px}
@media(max-width:700px){#lobby{grid-template-columns:minmax(0,1fr)}#lobby>.preview-wrap{width:95%;max-width:460px}}

/* The decorative Quoridor board uses the same cell coordinates for every piece. */
.road-art-grid{background:transparent url('/art/road-table.svg') center/contain no-repeat;border:0;border-radius:0;box-shadow:none}
.road-art-grid::before,.road-art-grid::after,.road-art-grid>i,.road-art-grid>b{display:none}
.road-preview .road-art-grid{width:100%;max-width:none;transform:none}
