:root{font-family:system-ui,-apple-system,"Segoe UI","Noto Sans SC",sans-serif;color:#f1ede1;background:#0a2024;font-size:16px;color-scheme:dark;--gold:#e5c386;--felt:#173f40;--muted:#a8beb8;--line:#365859}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f5d88e;outline-offset:3px}button{border:1px solid var(--line);background:#1b4244;color:#f7eddb;border-radius:10px;min-height:44px;padding:10px 14px}button.primary{background:var(--gold);border-color:var(--gold);color:#213437;font-weight:700}button.quiet{background:transparent}button.danger{color:#ffb3ab}a{color:var(--gold)}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,"Noto Serif SC","Songti SC",serif}h2{font-size:1.7rem}h3{font-size:1rem}small,.muted{color:var(--muted)}small{font-size:.8125rem}label{font-size:.875rem}input,select{width:100%;color:#f5efdf;background:#102e31;border:1px solid #486161;border-radius:8px;min-height:46px;padding:10px}input[type=checkbox]{width:20px;min-height:20px}input[type=file]{font-size:.875rem}.stack{display:grid;gap:16px}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.eyebrow{font-size:.75rem;letter-spacing:.17em;text-transform:uppercase;color:var(--gold)}.rule{height:1px;background:var(--line);margin:4px 0}.badge{font-size:.8125rem;border:1px solid #63786b;border-radius:6px;padding:3px 7px;color:var(--gold);white-space:nowrap}.pill{border-radius:99px}.help{font-size:.875rem;line-height:1.65;color:#b7cac4}.notice{background:#253e3d;border-left:3px solid var(--gold);padding:12px 14px;font-size:.875rem;line-height:1.6}.positive{color:#f0cd87}.negative{color:#f5b0a5}.center{text-align:center}.wrap{flex-wrap:wrap}.screen{max-width:560px;margin:0 auto;min-height:100dvh;padding:24px 20px calc(24px + env(safe-area-inset-bottom));background:linear-gradient(155deg,#153a3c,#10292d)}.setup{display:flex;flex-direction:column;justify-content:center;gap:24px}.brand{display:flex;align-items:center;gap:20px}.seal{border:1px solid #bb9961;color:var(--gold);width:83px;height:99px;display:grid;place-content:center;font-family:serif;font-size:2.2rem;letter-spacing:8px;padding-left:8px;box-shadow:5px 5px 0 #193335;line-height:1.1}.brand h1{font-size:2.35rem;letter-spacing:.07em}.brand p{margin-top:7px;font-size:.875rem;color:var(--muted)}.names{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.setup details>summary{cursor:pointer;color:var(--muted);font-size:.875rem;padding:6px 0}.setup details .stack{padding-top:12px}.footer-note{font-size:.75rem;line-height:1.7;color:var(--muted)}.handoff{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px;text-align:center}.handoff .recipient{font-family:serif;font-size:2.6rem;color:var(--gold);overflow-wrap:anywhere}.privacy-symbol{width:64px;height:90px;border:2px solid var(--gold);border-radius:9px;background:repeating-linear-gradient(45deg,transparent,transparent 7px,#c3aa6815 7px,#c3aa6815 9px);transform:rotate(-8deg);margin-bottom:10px}.handoff .primary{width:100%;margin-top:16px}.handoff .help{max-width:290px}.game{max-width:640px;margin:0 auto;min-height:100dvh;background:#123335;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 12px env(safe-area-inset-bottom)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 2px 9px}.wordmark{font-family:serif;color:var(--gold);font-size:1.35rem;letter-spacing:.1em}.topbar .round{font-size:.875rem;color:var(--muted)}.iconbutton{padding:5px 11px;font-size:.875rem}.players{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:4px 0 10px}.player{padding:8px;border:1px solid #365654;border-radius:10px;background:#153b3c;text-align:left;min-width:0}.player.active{border-color:var(--gold);background:#294943;box-shadow:inset 0 2px var(--gold)}.player-name{font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-score{font-family:Georgia,serif;font-size:1.4rem;margin:4px 0}.player small{display:block;font-size:.75rem;white-space:nowrap}.statusbar{padding:9px 3px;font-size:.875rem;display:flex;gap:8px;align-items:center;min-height:46px}.statusbar strong{font-weight:500}.table-zone{position:relative;flex:1;min-height:245px;border:1px solid #41615c;border-radius:16px;background:radial-gradient(ellipse at center,#215450,#173f40 75%);padding:12px 10px 18px;transition:border-color .12s,box-shadow .12s}.table-zone.drop-ready{border:2px solid #e6c47e;padding:11px 9px 17px;box-shadow:inset 0 0 0 4px #e6c47e26}.table-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.8125rem;color:#c3d3c5;margin-bottom:12px}.table-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px 6px;align-content:start}.card{display:block;padding:0;min-height:0;background:transparent;border:0;border-radius:5px;aspect-ratio:72/112;position:relative;box-shadow:1px 2px 2px #061b2370;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.card svg{display:block;width:100%;height:100%;border-radius:5px}.card.match{outline:3px solid #f5d995;outline-offset:2px}.card.selected{transform:translateY(-7px);outline:2px solid var(--gold);outline-offset:2px}.card:disabled{opacity:1}.card.drag-origin{opacity:.35;transform:translateY(-5px)}.empty-table{grid-column:1/-1;display:grid;place-items:center;height:160px;color:#a4bfb5;font-size:.875rem}.drop-hint{text-align:center;color:#aec2b8;font-size:.8125rem;margin-top:16px}.last-move{min-height:35px;padding:9px 4px 3px;font-size:.75rem;color:#a7c0b7;line-height:1.5}.hand-zone{background:#102d30;padding:12px 3px 15px;border-radius:16px 16px 0 0;margin-top:6px;position:relative}.hand-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;font-size:.875rem}.hand-cards{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding:0 1px}.hand-card{touch-action:none}.hand-card-label{font-size:.75rem;text-align:center;color:#bed0c4;padding-top:5px}.hand-instruction{min-height:40px;display:flex;justify-content:center;align-items:center;margin-top:9px;font-size:.8125rem;color:#c0d0c5;gap:9px}.hand-instruction button{min-height:38px;padding:6px 14px}.own-capture{font-size:.8125rem;padding:8px 2px;color:#b8cac3;display:flex;justify-content:space-between}.ghost{position:fixed;width:74px;height:115px;z-index:1000;pointer-events:none;filter:drop-shadow(0 14px 10px #0008);transform:rotate(-4deg);will-change:left,top}.ghost svg{width:100%;height:100%}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:1100;background:#f3d393;color:#1f3332;padding:12px 18px;border-radius:10px;max-width:90%;font-size:.875rem}.result{padding-top:36px}.result .huge{font-size:3rem;line-height:1.1;color:var(--gold);font-family:Georgia,serif}.score-list{display:grid;gap:9px}.score-row{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;padding:13px 0;border-bottom:1px solid #3b5853}.score-row .score{font-size:1.6rem;font-family:Georgia,serif}.round-summary{font-size:.875rem;color:#c1d0c9;line-height:1.7}.opening-row{border-bottom:1px solid var(--line);padding-bottom:13px}.mini-cards{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.mini-cards .card{width:42px}.modal{width:min(94vw,530px);max-height:86dvh;overflow:auto;border:1px solid #5b766b;border-radius:17px;color:#f5ecdd;background:#16383b;padding:22px;box-shadow:0 25px 90px #0007}.modal::backdrop{background:#06171cbb;backdrop-filter:blur(4px)}.modal h2{font-size:1.5rem}.modal header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.modal p{line-height:1.7;font-size:.875rem}.target-list{display:flex;gap:14px;justify-content:center;margin:22px 0}.target-option{width:92px;padding:6px;background:#31524d}.target-option svg{display:block;width:100%}.target-option span{display:block;font-size:.8125rem;padding:7px 0 2px}.capture-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:12px 0 20px}.ledger{width:100%;border-collapse:collapse;font-size:.8125rem}.ledger td,.ledger th{padding:9px 4px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.ledger th{color:var(--muted);font-weight:400}.ledger td:last-child{text-align:right;white-space:nowrap}.bot-bar{padding:8px 2px;display:flex;gap:8px;align-items:center;justify-content:space-between;font-size:.8125rem}.rules-text h3{margin:18px 0 6px;color:var(--gold)}.rules-text ul{padding-left:20px;font-size:.875rem;line-height:1.8}.rules-text .ledger td{white-space:normal}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:700px){.game{padding-left:24px;padding-right:24px;box-shadow:0 0 90px #0004}.table-zone{min-height:310px}.table-cards{gap:12px;grid-template-columns:repeat(7,minmax(0,1fr))}.hand-cards{gap:10px}.hand-zone{padding:18px 10px}.screen{border:1px solid #294b48}.setup{padding:48px 38px}.card{max-width:70px}.hand-cards .card{max-width:100%}}
@media(max-width:360px){.game{padding-left:8px;padding-right:8px}.hand-cards{grid-template-columns:repeat(7,44px);gap:5px;overflow-x:auto;padding-top:8px;padding-bottom:5px;scrollbar-width:thin}.hand-card{touch-action:pan-x}.player{padding:6px}.player small{font-size:.75rem;white-space:normal;line-height:1.35}.table-zone{padding-left:8px;padding-right:8px}.table-cards{gap:7px 4px}.screen{padding-left:16px;padding-right:16px}.brand h1{font-size:2rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* A quiet inspection shelf below the felt keeps drawn cards separate from the hand. */
.game{overflow-x:clip}.topbar{flex-wrap:wrap}.statusbar{flex-wrap:wrap}.hand-instruction{flex-wrap:wrap;line-height:1.6;font-size:.875rem}.hand-instruction button{min-height:44px}.last-move{font-size:.875rem;padding:12px 4px;min-height:48px}.drop-hint{font-size:.875rem;line-height:1.6}.language{font-size:.875rem;white-space:nowrap}.table-cards .card.match{outline:3px solid #ffe09b;box-shadow:0 0 0 5px #caaa4925;cursor:pointer}.stock-pile{padding:8px 10px;border:1px solid #a9945b;border-radius:5px;background:repeating-linear-gradient(45deg,#24443d,#24443d 4px,#385648 4px,#385648 6px);color:#fff0ce}.replay-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0 12px;font-size:.875rem;flex-wrap:wrap}.replay-bar button{padding:8px 10px;font-size:.875rem}.replay-bar .row{gap:6px}.draw-tray{display:flex;align-items:center;gap:16px;padding:14px 10px;margin:0 -3px 18px;border:1px solid #c9ac65;border-radius:12px;background:#254b45;min-height:145px}.draw-slot{width:66px;flex:0 0 66px;position:relative;z-index:4}.draw-copy{display:grid;gap:7px;flex:1;min-width:0}.draw-copy p{font-size:.875rem;line-height:1.6}.draw-copy strong{color:#f4d697;font-size:1rem}.motion-busy [data-do="table-card"],.motion-busy [data-do="draw-empty"],.motion-busy [data-do="end-turn"]{pointer-events:none}.motion-busy .draw-copy button{opacity:.6}.own-capture-area{margin-top:12px;border-top:1px solid var(--line);padding-top:15px}.capture-heading{font-size:.875rem;margin-bottom:8px}.capture-rows{display:grid;gap:8px;margin:12px 0 18px;min-width:0}.capture-row{display:grid;grid-template-columns:35px minmax(0,1fr);gap:10px;align-items:center;border-bottom:1px solid #355550;padding-bottom:8px}.capture-rank{color:var(--gold);display:grid;text-align:center;gap:3px}.capture-rank b{font-family:Georgia,serif;font-size:1.3rem}.capture-rank span{font-size:.75rem}.capture-scroll{display:flex;gap:7px;overflow-x:auto;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scrollbar-width:thin;scrollbar-color:#8d9c79 #1c3938;padding:5px 4px 9px;cursor:grab;min-height:85px;align-items:center}.capture-scroll .card{flex:0 0 46px;width:46px;min-width:46px}.capture-scroll:active{cursor:grabbing}.capture-empty{color:var(--muted);font-size:.875rem}.turn-finish{position:sticky;bottom:0;background:#102d30f5;border-top:1px solid #6d7959;padding:12px 0 max(12px,env(safe-area-inset-bottom));text-align:center;z-index:5}.turn-finish .primary{width:100%;min-height:50px}.turn-finish .help{margin-top:7px}.replay-caption{display:flex;justify-content:space-between;gap:12px;margin:15px 0;line-height:1.5}.replay-caption span{color:var(--gold);white-space:nowrap}.replay-board{background:radial-gradient(ellipse,#215450,#173f40);border:1px solid #597261;border-radius:12px;padding:13px;min-height:185px}.replay-board .table-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.replay-target>.card{outline:3px solid var(--gold);outline-offset:2px}.replay-source{display:flex;align-items:center;gap:18px;margin:18px 0;min-height:110px}.replay-moving{width:60px;flex:0 0 60px;position:relative;z-index:3}.replay-source p{margin-top:8px}.replay-result{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding:12px 0;min-height:95px;font-size:.875rem;line-height:1.6}.replay-result .card{width:44px;flex:0 0 44px}.replay-controls{display:flex;gap:8px;position:sticky;bottom:-22px;background:#16383b;padding:12px 0}.replay-controls button{flex:1;font-size:.875rem;padding:10px 7px}.modal h3{margin-top:16px}.modal{scrollbar-width:thin}.draw-slot .card{max-width:none}.replay-board .card{max-width:none}.replay-source>div:last-child{min-width:0}.hand-cards{padding-top:8px}.hand-card{touch-action:none}
@media(max-width:360px){.capture-scroll .card{flex-basis:44px;width:44px;min-width:44px}.draw-tray{gap:10px;padding:12px 8px}.draw-slot{width:54px;flex-basis:54px}.modal{padding:16px}.replay-controls{bottom:-16px}.replay-board{padding:9px}.hand-card{touch-action:none}.replay-bar .row{width:100%}.replay-bar button{flex:1}.capture-heading{flex-wrap:wrap}.own-capture-area .help{line-height:1.5}}

.modal header>button{white-space:nowrap;flex-shrink:0}

.nintendo-face{display:block;width:100%;height:100%;position:absolute;inset:0;background-repeat:no-repeat;border-radius:3px}.hand-cards .card{width:100%}.ghost .nintendo-face{border-radius:4px}.style-preview{display:flex;gap:12px;justify-content:center}.style-preview .card{width:52px}.display-settings{padding:12px;border:1px solid var(--line);border-radius:12px;gap:12px}.display-settings .help{font-size:.8125rem}

.round-ledger{margin:18px 0;border:1px solid var(--line);border-radius:10px;padding:12px}.round-ledger>summary{font-size:1rem;color:var(--gold);cursor:pointer;min-height:32px}.score-detail{padding:15px 0;border-bottom:1px solid var(--line);display:grid;gap:10px}.score-detail h3{display:flex;justify-content:space-between;gap:10px}.count-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:.875rem}.role-breakdown,.role-catalog{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:.875rem}.role-breakdown span,.role-catalog span{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding:6px 0}.formula{padding:12px;background:#26453e;border-left:3px solid var(--gold);font-size:.95rem;line-height:1.75;overflow-wrap:anywhere}.wordmark{white-space:nowrap}.replay-result{flex-wrap:wrap}.round-ledger .ledger{font-size:.875rem}
.seat-setup{padding:16px;border:1px solid var(--line);border-radius:12px;margin:0;min-width:0;display:grid;gap:16px}.seat-setup legend{padding:0 8px;color:var(--gold)}.seat-slot{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:10px}.seat-slot label{display:grid;gap:8px}.rule-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.rule-tabs button{font-size:.875rem;padding:8px 12px}.rule-tabs [aria-pressed=true]{background:var(--gold);color:#213437}.rule-catalogue{display:grid;gap:12px}.rule-catalogue article{padding:10px 0;border-bottom:1px solid var(--line)}.rule-catalogue h3{display:flex;justify-content:space-between;gap:12px}.rule-catalogue p{margin-top:8px}.official-chart{margin:18px 0;border:1px solid var(--line);padding:12px;border-radius:8px}.official-chart summary{cursor:pointer;line-height:1.6;min-height:32px;color:var(--gold)}.chart-scroll{overflow:auto;max-height:65dvh;margin:12px 0;touch-action:pan-x pan-y}.chart-image{display:block;width:100%;padding:0;border:0;min-height:0;background:white;border-radius:0;cursor:zoom-in}.chart-image.zoomed{width:max(250%,700px);cursor:zoom-out}.chart-image img{display:block;width:100%;height:auto}.rule-source{margin-top:20px}.modal .toast{max-width:min(86vw,450px);box-shadow:0 4px 20px #0009;filter:none;backdrop-filter:none}.rule-book{min-width:0}
/* Table redesign: lacquer frame, green felt and compact, face-up collections. */
.game{max-width:720px;padding:env(safe-area-inset-top) 10px env(safe-area-inset-bottom);background:radial-gradient(ellipse at 45% 40%,#34553a,#142d29 80%);gap:5px}
.topbar{padding:7px 2px;flex-wrap:nowrap;gap:5px;border-bottom:1px solid #b3a372}.wordmark{font-size:1.1rem;letter-spacing:.04em}.topbar .round{color:#e9e1ce;white-space:nowrap}.iconbutton{padding:5px 8px}.topbar .badge{padding:3px 5px}
.opponents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:4px}.opponent{min-width:0;border:1px solid #ad9b68;border-radius:10px;background:#102c2bdd;padding:5px}.opponent.active{border-color:#ffe198;box-shadow:inset 0 0 0 1px #ffe198}.opponent-heading{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px;width:100%;padding:3px 4px;border:0;border-radius:0;background:none;text-align:left}.opponent-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem}.seat-role{display:inline-block;font-size:.75rem;color:#f1d89c;background:#434632;border:1px solid #92805b;border-radius:4px;padding:2px 5px}.opponent-heading strong{font-family:Georgia,serif;font-size:1.4rem;font-weight:400}.hand-count{font-size:.75rem;color:#cad6c9}.opponent-heading strong small{font-size:.75rem}.public-hand{padding:4px 2px;border-top:1px solid #697258}.public-hand>span{font-size:.75rem;color:#f1d89c}.public-hand-cards.capture-scroll{min-height:0;padding:3px 0;gap:0}.public-hand-cards .card{flex:0 0 30px;min-width:30px;width:30px;margin-right:-10px}.public-hand-cards .card:last-child{margin-right:0}
.table-captures{display:grid;gap:3px}.table-capture-row{display:grid;grid-template-columns:28px minmax(0,1fr) 18px;gap:4px;align-items:center;min-width:0}.rank-label{color:#edd6a5;font-size:.875rem;font-family:Georgia,serif}.rank-label small{display:none}.row-count{font-size:.75rem;text-align:right}.overlap-scroll.capture-scroll{min-height:0;padding:3px 2px 4px;gap:0;scrollbar-width:none}.overlap-scroll .card{flex:0 0 37px;min-width:37px;width:37px;margin-right:-15px;border-radius:2px}.overlap-scroll .card:last-child{margin-right:0}.overlap-scroll .card:hover,.public-hand-cards .card:hover{z-index:2;outline:2px solid #ffe198}.compact-captures{grid-template-columns:1fr 1fr;gap:2px 5px;border-top:1px solid #587057;padding-top:3px}.compact-captures .table-capture-row{grid-template-columns:17px minmax(0,1fr);gap:2px}.compact-captures .row-count{display:none}.compact-captures .overlap-scroll .card{width:26px;min-width:26px;flex-basis:26px;margin-right:-12px}.compact-captures .overlap-scroll .card:last-child{margin-right:0}.compact-captures .capture-empty{height:40px;display:flex;align-items:center}.compact-captures .rank-label{font-size:.75rem}
.statusbar{min-height:32px;padding:2px;font-size:.8125rem;gap:6px}.statusbar strong{font-size:.8125rem}.table-zone{min-height:150px;flex:none;border-radius:9px;border-color:#9c9461;padding:8px;background:radial-gradient(ellipse,#3c6041,#284b36)}.table-meta{margin-bottom:7px}.stock-pile{padding:4px 8px;box-shadow:2px 2px 0 #061c23,4px 4px 0 #759288}.table-cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;max-height:225px;overflow-y:auto;overscroll-behavior:contain;padding:4px;scrollbar-width:thin}.table-cards .card{width:100%;max-width:62px;justify-self:center}.empty-table{height:90px}.drop-hint{margin-top:6px;font-size:.75rem;line-height:1.4}.table-zone.drop-ready{padding:7px}.last-move{font-size:.8125rem;padding:4px 2px;min-height:24px;line-height:1.4}.hand-zone{margin:0 -3px;padding:8px 7px;background:linear-gradient(125deg,#524b37,#343e30);border:1px solid #9d9161;border-radius:10px}.own-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.own-heading strong{font-family:serif;font-size:1rem}.own-heading>span{color:#f4d798}.own-heading button{margin-left:auto;font-size:.75rem;min-height:30px;padding:3px 5px}.hand-title{margin-bottom:4px}.hand-cards{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:7px 0 0;overflow:visible}.hand-cards .card{max-width:none;width:100%}.hand-card-label{font-size:.75rem;padding-top:3px;min-height:20px}.public-marker{background:#ecd8a1;color:#283a32;border-radius:3px;padding:2px 5px;white-space:nowrap}.hand-instruction{min-height:32px;margin:4px 0;font-size:.8125rem}.hand-instruction button{min-height:40px;padding:6px 12px}.own-capture-area{margin-top:4px;padding-top:6px;border-color:#938b66}.capture-heading{margin-bottom:3px;gap:6px;align-items:baseline}.capture-heading h3{font-size:.875rem}.capture-heading>span{font-size:.75rem;line-height:1.4}.own-capture-area .table-captures{gap:1px}.shelf-hint{font-size:.75rem;color:#cccfbb;margin-top:2px}.own-capture-area .capture-empty{height:54px;display:flex;align-items:center}.turn-finish{position:static;background:transparent;padding:5px 0 0;border:0}.turn-finish .primary{min-height:44px}.replay-bar{padding:3px 0 8px;font-size:.75rem;gap:3px}.replay-bar button{font-size:.75rem;min-height:38px;padding:5px 9px}.replay-bar .row{width:auto}.draw-tray{margin:0;min-height:110px;padding:8px;gap:10px}.draw-slot{width:54px;flex-basis:54px}.draw-copy{gap:4px}.draw-copy p,.draw-copy .help{font-size:.8125rem;line-height:1.4}.draw-copy .eyebrow{font-size:.75rem}.draw-copy strong{font-size:.875rem}.stock-empty{font-size:.75rem;padding:6px 8px}.bot-bar{padding:3px;font-size:.8125rem}.spectator-seats{grid-template-columns:repeat(3,minmax(0,1fr))}.spectator-seats .compact-captures{grid-template-columns:1fr}
.card-inspector{width:230px;max-width:85vw;display:none;max-height:90dvh;overflow:auto;padding:18px;border:1px solid #c4af78;border-radius:12px;background:#122e2d;color:#f3e9d2;box-shadow:0 16px 80px #0009}.card-inspector[open]{display:grid;justify-items:center;gap:12px}.card-inspector::backdrop{background:#0615138c}.card-inspector .card{width:140px;max-width:none}.inspect-close{justify-self:end;min-height:36px;padding:5px 12px}.card-inspector strong{text-align:center;font-size:1rem}.move-layer{position:fixed;inset:0;pointer-events:none;z-index:900}.motion-card{position:fixed;aspect-ratio:72/112;filter:drop-shadow(0 8px 6px #0008);border-radius:3px}.motion-card svg{width:100%;height:100%}.move-caption{position:fixed;left:50%;transform:translateX(-50%);bottom:14px;max-width:min(94vw,600px);width:max-content;background:#f4e4bd;color:#25372b;border:1px solid #b59a59;border-radius:9px;padding:10px 14px;font-size:.875rem;line-height:1.5;box-shadow:0 3px 20px #0006}.motion-busy{cursor:wait}.motion-busy .draw-copy button{opacity:.6}
@media(min-width:700px){.game{padding-left:18px;padding-right:18px}.table-cards{grid-template-columns:repeat(8,minmax(0,1fr))}.hand-cards .card{max-width:72px;margin:auto}.compact-captures .overlap-scroll .card{width:34px;min-width:34px;flex-basis:34px}.own-capture-area .overlap-scroll .card{width:43px;min-width:43px;flex-basis:43px}}
@media(max-width:360px){.game{padding-left:6px;padding-right:6px}.wordmark{font-size:1rem}.topbar .round{font-size:.75rem}.topbar .badge{font-size:.75rem}.iconbutton{padding:4px 6px}.opponents{gap:5px}.hand-cards{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.own-heading{gap:5px}.own-heading button{margin-left:0}.table-cards{gap:5px}.public-marker{padding:2px 3px}.hand-zone{padding:6px}.capture-heading{flex-wrap:wrap}.replay-bar .row{width:auto}}
.rule-example{display:flex;gap:5px;align-items:center;overflow-x:auto;padding:10px 2px 6px;scrollbar-width:thin}.rule-example .card,.example-unspecified{flex:0 0 42px;width:42px;min-width:42px;aspect-ratio:72/112;max-width:none}.example-unspecified{display:grid;place-items:center;background:#64706b;border-radius:3px;color:#d8ded6}.modal .example-note{font-size:.75rem;color:#bccbb9;margin-top:3px}.rule-catalogue article{padding:12px 0 16px}
/* Empty categories retain their labels without reserving a full card height. */
.own-capture-area .capture-empty{height:20px}.compact-captures .capture-empty{height:20px}
/* A single-screen lacquer tray: fixed shelves, inset felt, and a raised wooden hand rail. */
.single-table{--shelf-card:34px;--shelf-step:41px;--op-card:24px;--op-step:29px;height:100dvh;min-height:0;max-height:100dvh;display:grid;grid-template-rows:42px 198px minmax(125px,1fr) 201px 106px;gap:6px;padding:env(safe-area-inset-top) 8px max(4px,env(safe-area-inset-bottom));overflow:hidden;background:radial-gradient(ellipse at 50% 42%,#506c40,#243e2d 70%,#172e26);border-left:3px solid #5b4e30;border-right:3px solid #5b4e30;box-shadow:inset 0 0 35px #081b17,0 0 0 1px #998459,0 15px 70px #0008}
.single-table .topbar{padding:3px 1px;margin:0;border-bottom:1px solid #baa975;min-width:0}.single-table .wordmark{color:#fff6dc;text-shadow:0 2px 2px #000;font-family:serif}.single-table .field-seal{background:linear-gradient(145deg,#9e3d32,#692720);border-color:#ad7451;color:#f9e8c0;box-shadow:inset 0 1px #e1976b,0 2px 3px #0005}.single-table .iconbutton{min-height:34px}.single-table .opponents{margin:0;gap:7px;min-height:0}.single-table .opponent{height:100%;padding:5px 5px 3px;background:linear-gradient(140deg,#203d32,#0d2523);border:1px solid #c8b879;box-shadow:inset 0 0 0 2px #122d29,0 3px 5px #0007;display:grid;grid-template-rows:39px 35px minmax(0,1fr);gap:2px;overflow:hidden;border-radius:11px}.single-table .opponent.active{border-color:#ffe4a2;box-shadow:inset 0 0 0 2px #ac945d,0 0 9px #e3be5444}.single-table .opponent-heading{padding:0 3px;min-height:0;gap:0}.single-table .opponent-heading strong{font-size:1.3rem}.single-table .opponent-heading .seat-role{font-size:12px}.single-table .public-hand{margin:0;border:0;padding:0 3px;display:flex;gap:3px;align-items:center;overflow:hidden}.single-table .public-hand>span{font-size:12px;line-height:1.1;width:25px;flex:none;color:#ebd69a}.single-table .public-hand-cards{height:35px;flex:1;padding:0;overflow-y:hidden}.single-table .public-hand-cards .card{width:21px;min-width:21px;flex-basis:21px;margin-right:-8px;max-width:none}.single-table .public-hand-empty{visibility:hidden}
.single-table .table-captures{--shelf-card:var(--op-card);height:100%;grid-template-columns:1fr;gap:0;margin:0;padding:1px 4px;background:linear-gradient(120deg,#f4eddb,#e8dfc7);border:1px solid #c7b68e;border-radius:5px;box-shadow:inset 0 1px 4px #81694455;overflow:hidden}.single-table .table-capture-row{height:var(--op-step);min-height:var(--op-step);grid-template-columns:19px minmax(0,1fr) 15px;gap:3px;position:relative;border-bottom:1px solid #b0a27d44;align-items:start}.single-table .rank-label{color:#484329;font-size:12px;padding-top:3px;line-height:1}.single-table .row-count{display:block;color:#5c5a43;font-size:12px;padding-top:3px}.single-table .overlap-scroll.capture-scroll{height:calc(var(--shelf-card)*1.556);min-height:calc(var(--shelf-card)*1.556);padding:0;overflow-x:auto;overflow-y:hidden;align-items:start;scrollbar-width:none;position:relative;z-index:1}.single-table .overlap-scroll .card,.single-table .compact-captures .overlap-scroll .card{width:var(--shelf-card);min-width:var(--shelf-card);flex-basis:var(--shelf-card);margin-right:calc(var(--shelf-card)*-.44);box-shadow:1px 2px 2px #1c1b1877;border-radius:1px}.single-table .overlap-scroll .card:last-child{margin-right:0}.single-table .capture-empty{height:calc(var(--shelf-card)*1.556);min-height:calc(var(--shelf-card)*1.556);width:var(--shelf-card);font-size:12px;color:#9a927b;background:linear-gradient(90deg,#8a806818,transparent);border:1px dashed #afa68d66}.single-table .compact-captures .capture-empty{height:calc(var(--shelf-card)*1.556)}
.single-table .field-row{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 64px;grid-template-rows:minmax(0,1fr) 19px;gap:4px 6px}.single-table .table-zone{min-height:0;height:100%;min-width:0;display:grid;grid-template-rows:25px minmax(0,1fr) 19px;padding:5px 6px;border-radius:10px;background:radial-gradient(ellipse,#527148,#324f36);border:1px solid #a8955b;box-shadow:inset 0 3px 10px #122616a0,0 1px 1px #d3bc7b77}.single-table .table-meta{margin:0;font-size:12px;align-self:start}.single-table .stock-pile{padding:2px 5px;font-size:12px}.single-table .table-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:68px;gap:8px 6px;align-content:start;overflow:auto;min-height:0;max-height:none;padding:5px 3px;scrollbar-width:thin}.single-table .table-cards .card{width:44px;height:68px;max-width:none;justify-self:center;align-self:start;box-shadow:2px 3px 1px #132a24,3px 5px 5px #10281b88;border:1px solid #171c16;border-radius:2px}.single-table .table-cards .landing-slot{border:0}.single-table .drop-hint{font-size:12px;margin:0;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.single-table .last-move{grid-column:1/-1;padding:0;font-size:12px;line-height:19px;min-height:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#e2dfc6}.single-table .action-rail{display:flex;flex-direction:column;justify-content:space-between;min-height:0;gap:4px}.single-table .draw-tray{display:flex;flex-direction:column;gap:3px;min-height:0;margin:0;padding:3px;border-radius:5px;background:#f4eddb;color:#23372b;box-shadow:0 2px 5px #0007;border-color:#b9a372}.single-table .draw-slot{width:42px;flex:none}.single-table .draw-copy{display:flex;flex-direction:column;gap:2px;width:100%}.single-table .draw-copy strong{font-size:12px;line-height:1.15;text-align:center;color:#343d2b}.single-table .draw-copy p,.single-table .draw-copy .help,.single-table .draw-copy .eyebrow{display:none}.single-table .draw-copy button{min-height:36px;padding:3px 1px;font-size:12px;border-radius:5px;background:#d9bd79;color:#293824;border-color:#9c8049}.single-table .draw-rest{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px;color:#e5d9b3}.single-table .deck-back{width:38px;aspect-ratio:72/112;border:2px solid #102330;border-radius:3px;background:repeating-linear-gradient(45deg,#294756 0 6px,#355368 6px 7px,#294756 7px 13px);box-shadow:2px 2px #90a09c,4px 4px #172630,6px 6px #788a85,8px 8px 5px #092519}.single-table .rail-actions{display:grid;gap:4px}.single-table .rail-actions button{width:100%;min-height:39px;font-size:14px;padding:5px 2px;line-height:1.2;border-radius:8px;box-shadow:inset 0 1px #fff6,0 3px 1px #15221c,0 4px 5px #0005}.single-table .rail-actions .cancel-card{min-height:28px;font-size:12px;box-shadow:none}.single-table .rail-actions .cancel-card:disabled{visibility:hidden}.single-table .rail-status{font-size:12px;text-align:center;color:#e0dfc6}
.single-table .personal-zone{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:6px}.single-table .own-capture-area{--shelf-card:34px;margin:0;padding:4px 5px;border:1px solid #c4ae78;border-radius:9px;background:linear-gradient(135deg,#faf4e4,#e9dfc6);color:#343e2f;box-shadow:0 3px 6px #0006,inset 0 1px 1px #fff;display:grid;grid-template-rows:25px minmax(0,1fr) 16px;gap:0;min-height:0;overflow:hidden}.single-table .own-heading{gap:4px;margin:0;white-space:nowrap;flex-wrap:nowrap}.single-table .own-heading strong{font-size:14px;overflow:hidden;text-overflow:ellipsis}.single-table .own-heading>span{font-size:14px;color:#57482e}.single-table .own-heading .seat-role{font-size:12px}.single-table .own-heading button{color:#514c35;font-size:12px;min-height:24px;padding:2px 3px;border-color:#9f9068;background:#e4d7b7}.single-table .own-capture-area .table-captures{--shelf-card:34px;padding:0 2px;border:0;border-radius:0;box-shadow:none;background:transparent;overflow:hidden}.single-table .own-capture-area .table-capture-row{height:var(--shelf-step);min-height:var(--shelf-step);grid-template-columns:24px minmax(0,1fr) 18px}.single-table .own-capture-area .rank-label{font-size:14px;padding-top:5px}.single-table .capture-yaku{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;line-height:16px;color:#6c5430;border-top:1px solid #c7b994}.single-table .review-rail{display:flex;flex-direction:column;gap:5px;align-items:stretch;justify-content:center;font-size:12px;text-align:center;color:#d7d9c3}.single-table .review-rail button{font-size:12px;padding:4px 2px;min-height:35px;background:linear-gradient(#405746,#263d31);border-color:#98905f;box-shadow:0 2px 3px #0005}.single-table .hand-zone{min-height:0;min-width:0;margin:0 -5px -4px;padding:5px 7px 4px;border:1px solid #baa073;border-radius:24px 24px 0 0;background:repeating-linear-gradient(4deg,#b19a7166 0 1px,transparent 1px 8px),linear-gradient(100deg,#907950,#c4ad7d 48%,#9c845f);box-shadow:inset 0 3px 6px #42351e88,0 -3px 8px #142b2099;display:grid;grid-template-rows:19px minmax(0,1fr);gap:3px}.single-table .hand-title{color:#342f23;justify-content:center;gap:9px;font-family:serif;font-size:14px;margin:0}.single-table .hand-title small{color:#564934;font-size:12px}.single-table .hand-cards{min-height:0;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:0;align-items:start;overflow:visible}.single-table .hand-cards .card{height:65px;width:42px;max-width:100%;margin:auto;border:1px solid #161d1b;border-radius:2px;box-shadow:2px 3px 1px #493d2d,3px 4px 4px #382e2370}.single-table .hand-card-label{font-size:12px;color:#342f23;padding-top:2px;min-height:14px;line-height:14px}.single-table .public-marker{padding:0 4px;box-shadow:0 1px 2px #625234;background:#f5e6be;color:#473b24}.single-table .card.selected{transform:translateY(-5px)}.single-table .card svg{border-radius:1px}.single-table .nintendo-face{border-radius:1px}.move-caption{bottom:auto;top:48px;padding:5px 10px;font-size:12px;max-width:94vw;line-height:1.3}.spectator-table .personal-zone{grid-template-columns:1fr 64px}.spectator-info{display:grid;place-content:center;gap:10px}.capture-formula{font-size:14px}.score-detail h4{margin:3px 0;font-size:14px}
@media(max-height:740px){.single-table{--shelf-step:31px;--op-card:20px;--op-step:24px;grid-template-rows:36px 163px minmax(110px,1fr) 160px 92px;gap:4px}.single-table .opponent{grid-template-rows:33px 27px minmax(0,1fr);padding:3px}.single-table .public-hand-cards{height:27px}.single-table .public-hand-cards .card{width:17px;min-width:17px;flex-basis:17px;margin-right:-6px}.single-table .own-capture-area .table-captures{--shelf-card:27px}.single-table .own-capture-area{grid-template-rows:22px minmax(0,1fr) 14px}.single-table .capture-yaku{font-size:12px;line-height:14px}.single-table .table-cards{grid-auto-rows:54px;gap:6px}.single-table .table-cards .card{width:35px;height:54px}.single-table .hand-cards .card{width:36px;height:56px}.single-table .hand-zone{padding-top:3px;grid-template-rows:17px minmax(0,1fr)}.single-table .review-rail{gap:3px}.single-table .review-rail button{min-height:30px}.single-table .draw-slot{width:33px}.single-table .draw-copy strong{max-height:27px;overflow:hidden}.single-table .draw-rest .deck-back{width:30px}.single-table .wordmark{font-size:16px}.single-table .topbar .round{font-size:12px}}
@media(max-height:620px){.single-table{--shelf-step:25px;--op-card:17px;--op-step:20px;grid-template-rows:34px 139px minmax(96px,1fr) 137px 82px;gap:3px}.single-table .opponent{grid-template-rows:30px 24px minmax(0,1fr)}.single-table .opponent-heading strong{font-size:16px}.single-table .public-hand-cards{height:24px}.single-table .own-capture-area .table-captures{--shelf-card:23px}.single-table .hand-cards .card{width:31px;height:48px}.single-table .table-cards{grid-auto-rows:47px;gap:4px}.single-table .table-cards .card{width:30px;height:47px}.single-table .draw-slot{width:25px}.single-table .draw-copy strong{display:none}.single-table .review-rail>span{display:none}.single-table .rail-actions button{min-height:34px}.single-table .deck-back{width:24px!important}.single-table .draw-rest>span{display:none}.single-table .table-zone{grid-template-rows:21px minmax(0,1fr) 16px}.single-table .drop-hint{line-height:16px}.single-table .field-row{grid-template-rows:minmax(0,1fr) 16px}}
@media(min-width:700px) and (min-height:741px){.single-table{max-width:740px;--shelf-step:41px;--op-card:24px;--op-step:29px}.single-table .table-cards{grid-template-columns:repeat(8,minmax(0,1fr))}.single-table .hand-cards .card{width:42px;height:65px}}
.single-table{grid-template-rows:42px 214px minmax(125px,1fr) 225px 106px}.single-table .table-captures{grid-template-rows:repeat(3,var(--op-step)) minmax(0,1fr)}.single-table .own-capture-area .table-captures{grid-template-rows:repeat(3,var(--shelf-step)) minmax(0,1fr)}.single-table .table-cards{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(var(--field-rows,2),minmax(0,1fr));grid-auto-rows:auto;align-content:stretch;overflow:hidden;gap:5px}.single-table .table-cards .card{height:100%;max-height:68px;width:auto;max-width:100%;aspect-ratio:72/112;align-self:center;transform-origin:top left}
@media(max-height:740px){.single-table{grid-template-rows:36px 177px minmax(104px,1fr) 183px 92px}.single-table .table-cards .card{max-height:54px}}
@media(max-height:620px){.single-table{grid-template-rows:34px 151px minmax(96px,1fr) 150px 82px}.single-table .table-cards .card{max-height:47px}}
.single-table .opponent-heading{grid-template-rows:17px 22px;line-height:1}.single-table .opponent-heading .seat-role{padding:1px 4px}.single-table .opponent-heading strong{line-height:1}@media(max-height:740px){.single-table .opponent-heading{grid-template-rows:15px 18px}.single-table .opponent-name{font-size:12px}}@media(max-height:620px){.single-table .opponent-heading{grid-template-rows:14px 16px}}
.single-table .table-cards{grid-template-columns:repeat(var(--field-cols,5),minmax(0,1fr))}.single-table.hanaawase{grid-template-rows:42px 179px minmax(125px,1fr) 225px 106px}.single-table.hanaawase .opponent{grid-template-rows:39px 0 minmax(0,1fr)}@media(max-height:740px){.single-table.hanaawase{grid-template-rows:36px 150px minmax(104px,1fr) 183px 92px}.single-table.hanaawase .opponent{grid-template-rows:33px 0 minmax(0,1fr)}}@media(max-height:620px){.single-table.hanaawase{grid-template-rows:34px 127px minmax(96px,1fr) 150px 82px}.single-table.hanaawase .opponent{grid-template-rows:30px 0 minmax(0,1fr)}}
.single-table .table-cards{container-type:size;--field-limit:68px}.single-table .table-cards .card{--field-card-height:min(var(--field-limit),calc((100cqh - 10px - (var(--field-rows,2) - 1)*5px)/var(--field-rows,2)),calc((100cqw - 6px - (var(--field-cols,5) - 1)*5px)/var(--field-cols,5)*112/72));height:var(--field-card-height);width:calc(var(--field-card-height)*72/112);max-height:none;max-width:none}@media(max-height:740px){.single-table .table-cards{--field-limit:54px}}@media(max-height:620px){.single-table .table-cards{--field-limit:47px}}
