@font-face{font-family:Pixel;src:url('/assets/Fonts/FusionPixel-12px-Prop-zh_hans.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;--bg:#142b24;--panel:#20392e;--line:#716543;--gold:#e7b96d;--ink:#eee0c2;--muted:#a6b59d;--mint:#82c6a4}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:repeating-linear-gradient(135deg,transparent 0 12px,#ffffff02 12px 14px),var(--bg);color:var(--ink);font-family:Pixel,monospace;font-size:16px;line-height:1.5}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid var(--mint);outline-offset:4px}[hidden]{display:none!important}header{max-width:1220px;margin:auto;padding:24px 32px;display:flex;gap:20px;align-items:center;border-bottom:1px solid #52604a}.brand{font-size:26px;color:var(--gold);text-decoration:none;white-space:nowrap}.brand span{display:block;font-size:12px;letter-spacing:5px;color:var(--muted)}.connection{margin-left:auto;font-size:12px;display:flex;align-items:center;gap:8px}.connection i{width:6px;height:6px;background:var(--gold)}.connection i.ok{background:var(--mint)}main{max-width:1120px;margin:40px auto;padding:0 24px}#lobby{display:grid;grid-template-columns:1fr 410px;align-items:center;gap:90px;min-height:630px}.eyebrow{color:var(--gold);font-size:12px;letter-spacing:3px;margin:0 0 16px}h1{font-size:58px;line-height:1.25;letter-spacing:3px;margin:20px 0 24px;font-weight:normal}h1 em{font-style:normal;color:var(--gold)}h2{font-size:24px;font-weight:normal;margin:0 0 20px}.intro{color:var(--muted);font-size:18px;line-height:1.9}.chips{display:flex;gap:10px;margin:30px 0}.chips span{border:1px solid #59664e;padding:5px 12px;font-size:12px;color:var(--muted)}.mini-board{display:flex;gap:20px;align-items:center;margin-top:40px;color:var(--gold)}.mini-board img{width:56px;height:56px;image-rendering:pixelated}.mini-board strong{font-size:18px;font-weight:normal}.frame{background:var(--panel);border:2px solid var(--line);box-shadow:inset 0 0 0 4px #1a2d25,5px 5px 0 #0c1d17;padding:24px;position:relative}.frame:before,.frame:after{content:'';position:absolute;width:9px;height:9px;border:2px solid var(--gold);background:var(--bg);top:-5px;left:-5px}.frame:after{top:auto;left:auto;bottom:-5px;right:-5px}.lobby-card{padding:32px}.lobby-card label{display:block;font-size:12px;color:var(--muted);margin:12px 0 8px}input{width:100%;height:48px;border:2px solid #52664f;background:#13251e;border-radius:0;padding:8px 12px;color:var(--ink)}.wood{border:18px solid transparent;border-image:url('/assets/image/meowa-ui/button-normal.png') 24 fill / 18px / 0 repeat;color:#352c1d;background:none;min-height:56px;padding:0 9px;line-height:20px;image-rendering:pixelated;white-space:nowrap;text-shadow:none}.wood.primary{border-image-source:url('/assets/image/meowa-ui/button-selected.png');color:#142c22}.wood:hover:not(:disabled){filter:brightness(1.12)}.lobby-card>.wood,#ready,#again{width:100%;margin-top:20px}.quiet{background:transparent;border:0;padding:8px;color:var(--muted);font-size:12px;text-decoration:underline;text-underline-offset:5px}.quiet:hover{color:var(--gold)}.danger{color:#d9957d}.join-row{display:flex;gap:10px;align-items:center}.join-row input{min-width:0;letter-spacing:4px;text-transform:uppercase}.divider{display:flex;align-items:center;gap:12px;font-size:12px;color:#8a9d87;margin:24px 0 12px}.divider:before,.divider:after{content:'';height:1px;flex:1;background:#4c614b}.muted{color:var(--muted)}.small{font-size:12px;line-height:1.8}.gold{color:var(--gold);font-weight:normal}#table{display:grid;grid-template-columns:minmax(0,640px) minmax(280px,330px);gap:32px;margin-top:24px}.seats{display:flex;align-items:center;gap:8px;margin-bottom:12px}.seat{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:2px solid #657052;background:#20352b;padding:8px}.seat.active{border-color:var(--gold)}.seat img{width:42px;height:42px;flex:none;image-rendering:pixelated}.seat strong{font-size:14px;font-weight:normal;display:block;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat small,.score small{font-size:10px;color:var(--muted);display:block;white-space:nowrap}.score{text-align:center;min-width:88px}.score b{color:var(--gold);font-size:22px;font-weight:normal}.board-wrap{width:100%;max-width:580px;margin:auto;position:relative}canvas{display:block;width:100%;height:auto;image-rendering:pixelated;touch-action:manipulation;cursor:pointer}.board-caption{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);margin-top:6px}.room-info{display:flex;justify-content:space-between;align-items:center;margin:8px 0 22px;font-size:12px}.room-info b{font-size:18px;color:var(--gold);letter-spacing:3px;font-weight:normal}.table-side .frame{padding:22px}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.section-title h2{margin-bottom:6px}#products{display:grid;gap:12px;margin-top:16px}.product{border-top:1px solid #617052;padding-top:14px}.product h3{font-size:18px;font-weight:normal;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0}.product h3 span{font-size:14px;color:var(--gold)}.product p{font-size:12px;color:var(--muted);margin:8px 0}.product button{width:100%;font-size:14px}.modes{display:flex;gap:6px}.modes button{flex:1;padding:0;font-size:14px}#inventory{display:grid;gap:10px}.item{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.item button{width:100%}#last-action{margin:20px 0}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 20px;border:2px solid var(--gold);background:#17291f;color:var(--ink);max-width:90vw;text-align:center;z-index:20;box-shadow:4px 4px #0b1b13;pointer-events:none;opacity:0;transition:opacity .15s}#notice.show{opacity:1}dialog{max-width:550px;width:90%;border:3px solid var(--line);background:#20392e;padding:32px;color:var(--ink)}dialog::backdrop{background:#07120fda}.close{float:right}dialog p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.9}footer{max-width:1160px;margin:30px auto 0;padding:20px 24px;border-top:1px solid #40583f;color:#899e85;font-size:12px;display:flex;justify-content:space-between}
@media(max-width:850px){#lobby{gap:28px;grid-template-columns:1fr 360px}h1{font-size:42px}#table{gap:20px;grid-template-columns:minmax(0,1fr) 280px}.seat{padding:4px;gap:4px}.seat img{width:32px;height:32px}.seat strong{max-width:80px;font-size:12px}.score{min-width:66px}.score b{font-size:18px}.table-side .frame{padding:16px}.seat small{font-size:9px}}
@media(max-width:660px){header{padding:16px;gap:12px}.brand{font-size:22px}.brand span{font-size:10px}.connection{font-size:10px}main{padding:0 14px;margin-top:24px}#lobby{display:flex;flex-direction:column;gap:30px;min-height:0}.welcome{width:100%;padding:10px 12px}.welcome h1{font-size:38px;margin:12px 0}.intro{font-size:16px}.chips{margin:18px 0}.mini-board{display:none}.lobby-card{width:100%;padding:24px}#table{display:flex;flex-direction:column;gap:12px}.seats{gap:6px}.seat{padding:8px;gap:8px}.seat img{width:36px;height:36px}.seat strong{max-width:110px}.score{min-width:70px}.board-wrap{max-width:490px}.table-side{width:100%}.room-info{margin:0 0 12px}.table-side .frame{padding:22px}footer{font-size:10px;margin-top:24px;padding:16px}footer span{display:none}#notice{width:max-content;bottom:14px;font-size:14px}}
@media(min-width:661px){.board-wrap{max-width:max(320px,min(580px,calc((100svh - 265px)*.90909)))}}
.seat>div{min-width:0;flex:1}.seat strong,.seat small{max-width:100%;overflow:hidden;text-overflow:ellipsis}

/* In-match inventory and promotion choices. Shop layout lives in shop.css. */
.item{display:flex;align-items:center;gap:8px}.item-icon{width:40px;height:40px;aspect-ratio:1;object-fit:contain;image-rendering:pixelated;flex:none}.item button{white-space:normal;font-size:13px;flex:1;min-width:0}.promotion-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* Invitation text remains selectable even on HTTP or denied clipboard access. */
a:focus-visible{outline:3px solid var(--mint);outline-offset:4px}.invite-note{padding:10px 12px;border-left:2px solid var(--gold);background:#13291f;font-size:12px;color:var(--gold)}.join-row input{letter-spacing:1px;text-transform:none;font-size:12px}#share-dialog label{font-size:12px;color:var(--muted)}#share-link{font-size:13px;margin-top:8px}#share-copy{width:100%;margin-top:16px}#share-room-code{color:var(--gold);letter-spacing:3px}#share-dialog h2{clear:both;padding-top:12px}
.opponent-loadout{margin-top:20px;border-top:1px solid #617052;padding-top:16px}.opponent-loadout h3{font-size:14px;color:var(--gold);font-weight:normal;margin:0 0 10px}.opponent-loadout p{font-size:11px;color:var(--muted);margin:10px 0}

#last-step-caption{color:#ceead1;min-width:0;overflow-wrap:anywhere}.board-caption{gap:12px}.board-caption #flip{flex:none}

/* Shared navigation: wrap links instead of squeezing the brand on narrow screens. */
.site-links{display:flex;gap:8px;align-items:center;flex-shrink:0}.site-links a{white-space:nowrap}.site-links a:focus-visible{outline:2px solid var(--mint);outline-offset:2px}
@media(max-width:600px){body>header{flex-wrap:wrap;gap:12px}body>header>.site-links{width:100%;justify-content:flex-end;margin-left:0}body>header>.site-links .quiet{padding:6px 8px}}

.inspect-tooltip{position:fixed;z-index:200;width:min(320px,calc(100vw - 32px));max-height:70vh;overflow:auto;padding:14px 16px;background:#122d29;color:#e7efda;border:3px solid #abc691;box-shadow:5px 5px 0 #081714;font-size:13px;line-height:1.7;pointer-events:none;overflow-wrap:anywhere}.inspect-tooltip strong{color:#ffda85;font-size:16px}.inspect-tooltip p{margin:7px 0 0}.inspect-tooltip[hidden]{display:none}.board-caption{flex-wrap:wrap;gap:8px}#inspect-toggle[aria-pressed=true]{background:#e6c77d;color:#18332b}

.bargain-panel{border:2px solid #77618f;background:#201f2b;padding:12px;margin:12px 0;box-shadow:3px 3px 0 #10151b;overflow-wrap:anywhere}.bargain-panel[hidden]{display:none}.bargain-panel strong{color:#d3b5f5}.bargain-panel p{font-size:12px;line-height:1.7;margin:7px 0}.bargain-panel button{max-width:100%;margin:4px 4px 4px 0;font-size:12px;white-space:normal}

/* v0.4 formal battle table: compact table-first layout */
:root{--bg:#142b24;--panel:#20392e;--panel-deep:#13251e;--line:#526650;--gold:#e7b96d;--ink:#eee0c2;--muted:#a6b59d;--mint:#82c6a4}
body{background:repeating-linear-gradient(135deg,transparent 0 12px,#ffffff02 12px 14px),var(--bg)}
header{padding:18px 28px;border-bottom:1px solid var(--line)}
.brand{font-size:24px}.brand span{font-size:10px;letter-spacing:4px}
main{max-width:1160px;margin:28px auto}
#table{grid-template-columns:minmax(0,680px) minmax(260px,320px);gap:28px;margin-top:18px}
#table>.table-tools{grid-column:1/-1;background:transparent;border:0;border-bottom:1px solid var(--line);padding:0 0 10px;gap:10px;align-items:center}
#table>.table-tools .quiet{border:0;min-height:40px;padding:7px 9px;text-decoration:none}.table-tools .quiet:hover,.table-tools [aria-pressed=true]{background:#345644;color:#fff1cf}
#table>.table-tools .room-info{width:150px;flex:0 0 150px;margin:0 10px 0 0;color:var(--muted)}.room-info b{font-size:14px;letter-spacing:2px;color:var(--gold)}
.seats{gap:6px;margin-bottom:14px}.seat{border:0;border-bottom:2px solid #657052;background:#20392e;padding:8px 10px}.seat.active{border-color:var(--gold)}.seat img{width:42px;height:42px}.seat strong{font-size:14px}.seat small{font-size:10px}.score b{font-size:20px}
.board-wrap{max-width:min(610px,calc((100svh - 245px)*.90909))}.board-caption{margin-top:8px;color:var(--muted)}
.table-side{min-width:0}.table-side .frame{background:transparent;border:0;box-shadow:none;padding:0}.table-side .frame:before,.table-side .frame:after{display:none}
#actions.action-surface{border:0;background:transparent;box-shadow:none;padding:0 4px 12px}.action-heading{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:4px 0 14px}.action-heading #turn{font-size:23px;color:var(--ink);margin:0}.turn-light{width:7px;height:7px;background:#5c7260}.is-my-turn .turn-light{background:#a9e0b2;box-shadow:0 0 7px #a9e0b255}.is-my-turn .action-heading #turn{color:#f1d699}
#actions .modes{justify-content:flex-start;gap:22px;padding:15px 0 3px}.piece-mode{border:0!important;background:transparent!important;box-shadow:none!important}.piece-mode img{filter:none!important}.piece-mode[aria-pressed=true]{color:var(--gold)}.piece-mode[aria-pressed=true] span{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}.piece-mode[aria-pressed=true] img{transform:translateY(-2px)}
#actions #hint{font-size:11px;line-height:1.8;min-height:0;margin:8px 0 12px}.inventory-heading{border-top:1px solid var(--line);padding-top:15px;margin-top:12px;color:var(--gold)}
#inventory{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 9px}.item{border:0;padding:0;margin:0;min-height:104px;display:flex;flex-direction:column;align-items:center;gap:0}.inventory-action,.inventory-action:hover,.inventory-action[aria-pressed=true],.inventory-action[aria-disabled=true]{display:flex;justify-content:center;align-items:center;width:100%;height:52px;min-height:52px;border:0!important;background:transparent!important;box-shadow:none!important}.skill-face{width:48px;height:48px}.skill-face .item-icon{width:48px;height:48px}.item.is-unavailable:not(.is-cooling):not(.is-passive) .skill-face{filter:grayscale(.55) brightness(.42);opacity:.7}.item.is-passive .skill-face,.item.is-ready .skill-face{filter:brightness(1.12) saturate(1.08)}.inventory-name{height:auto;min-height:32px;padding:5px 0;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--ink);font-size:12px;text-align:center}.inventory-name:hover{color:var(--gold);text-decoration:underline;text-underline-offset:4px}.inventory-status{font-size:11px;color:var(--muted);text-align:center}.item.is-passive .inventory-status,.item.is-ready .inventory-status{color:#a7cfac}.item.is-selected .skill-face:after{background:#f5d791}
#opponent-loadout{border-top:1px solid var(--line);padding-top:14px}
#waiting,#shop-dock,#result{padding-top:14px;border-top:1px solid var(--line)}
@media(max-width:850px){#table{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.table-side .frame{padding:0}.seat{padding:7px}.seat img{width:36px;height:36px}}
@media(max-width:660px){header{padding:14px 16px}main{padding:0 14px;margin-top:20px}#table{display:flex;flex-direction:column;gap:12px}.table-side{width:100%}#table>.table-tools{order:-2;gap:4px}.table-tools .room-info{flex:0 0 100%;width:auto;margin:0;padding:2px 4px 4px}.table-tools .quiet{flex:1;min-width:0;font-size:11px;padding:6px 3px}.seats{gap:4px}.seat{padding:7px 5px}.seat img{width:34px;height:34px}.seat strong{font-size:12px}.seat small{font-size:9px}.score{min-width:64px}.score b{font-size:17px}.board-wrap{max-width:490px}.table-side{display:flex;flex-direction:column}.table-side>#actions{order:0}.table-side>#opponent-loadout{order:1}.table-side>#last-action{order:2}#inventory{gap:16px 8px}.inventory-heading{font-size:12px}.inventory-heading small{font-size:10px}}
@media(max-width:360px){main{padding:0 10px}.table-tools .quiet{font-size:10px}.inventory-name{font-size:11px}}
