app-play-match .match-heading{align-items:center}app-play-match .round-mark{display:grid;grid-template-columns:auto 48px;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--line);background:var(--surface)}app-play-match .round-mark span{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:1px}app-play-match .round-mark strong{color:var(--signal);font-family:Georgia,serif;font-size:25px;text-align:right}app-play-match .setup-strip{display:grid;grid-template-columns:minmax(190px,1fr) minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;gap:16px;padding:20px;border-top:3px solid var(--signal);background:var(--surface);box-shadow:0 8px 26px #1c302311}app-play-match .setup-title h2,app-play-match .archive-head h2{margin:4px 0 0;font-size:22px}app-play-match .field{display:grid;gap:6px;min-width:0}app-play-match .field span{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.8px;text-transform:uppercase}app-play-match .field select{width:100%;height:40px;border:1px solid var(--line);background:#fff;padding:0 9px;color:var(--ink)}app-play-match .start-button{min-height:40px;white-space:nowrap}app-play-match .start-button span,app-play-match .pass-button span{padding-left:10px}app-play-match .empty-options{grid-column:1/-1;margin:0;color:#a34330;font-size:12px}app-play-match .table-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px;align-items:start}app-play-match .match-table{min-width:0;overflow:hidden;border:1px solid #bdc7b9;background:var(--surface);box-shadow:0 8px 26px #1c302311}app-play-match .score-rail{display:grid;grid-template-columns:1fr 52px 1fr;align-items:center;min-height:76px;padding:10px 16px;background:var(--ink);color:#f6f5ec}app-play-match .match-technique-board{display:grid;grid-template-columns:1fr 1fr;background:#f8f8ef;border-bottom:1px solid #cbd3c7}app-play-match .match-technique-board>section{min-width:0;padding:11px 14px}app-play-match .match-technique-board>section+section{border-left:1px solid #d9dfd5}app-play-match .board-caption{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px;color:#68796b;font-size:8px;font-weight:900;letter-spacing:.7px}app-play-match .board-technique{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;align-items:center;padding:7px 9px;border-left:3px solid var(--signal);background:#fffef8}app-play-match .board-technique+.board-technique{margin-top:5px}app-play-match .board-technique small{grid-column:1/-1;color:#718071;font-size:7px;font-weight:900;letter-spacing:.4px;text-transform:uppercase}app-play-match .board-technique strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}app-play-match .board-technique span{color:#4e6a52;font-size:7px;font-weight:900;white-space:nowrap}app-play-match .empty-board{margin:0;padding:10px;color:#839083;font-size:9px}app-play-match .score-side{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0}app-play-match .score-side>div{display:grid;gap:3px;min-width:0}app-play-match .score-side strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}app-play-match .score-side small{color:#a9b9aa;font-size:8px;font-weight:800;letter-spacing:.5px}app-play-match .score-side b{color:#f18a66;font-family:Georgia,serif;font-size:26px}app-play-match .side-marker{display:grid;place-items:center;width:32px;height:32px;border:1px solid #748a78;color:#bed3bf;font-size:8px;font-weight:900}app-play-match .npc-mark{border-color:#b47b63;color:#efab8b}app-play-match .score-divider{display:grid;place-items:center;height:42px;border-left:1px solid #526458;border-right:1px solid #526458;color:#aab8ab;font-size:9px;font-weight:900}app-play-match .felt{padding:0 20px 16px;background-color:#e8ede2;background-image:linear-gradient(145deg,#e2e9df,#f1f1e6 60%,#e9e5d9)}app-play-match .opponent-zone{min-height:108px;padding:13px 0 6px;border-bottom:1px solid #cdd7ca}app-play-match .zone-caption,app-play-match .exchange-meta{display:flex;justify-content:space-between;gap:10px;color:#526757;font-size:8px;font-weight:900;letter-spacing:.8px}app-play-match .card-fan{display:flex;justify-content:center;height:72px;padding-top:9px}app-play-match .card-back{display:block;flex:0 0 45px;width:45px;height:62px;margin-left:-9px;overflow:hidden;border:2px solid #f7f2e5;outline:1px solid #274b3b;background:#244734 url(/card-back.png) center/cover no-repeat;box-shadow:0 2px 6px #1b342d55;transform:rotate(calc((var(--deal-index) - 2) * 3deg));animation:deal-in .35s both;animation-delay:calc(var(--deal-index) * 35ms)}app-play-match .exchange-zone{min-height:170px;padding:13px 0 10px;border-bottom:1px solid #cdd7ca}app-play-match .exchange-meta{color:#788677}app-play-match .played-chain{display:flex;align-items:center;justify-content:center;gap:9px;min-height:105px;overflow-x:auto;padding:12px 0}app-play-match .played-card{position:relative;display:grid;flex:0 0 112px;gap:5px;min-height:77px;padding:13px 8px 8px;border:1px solid #c6d0c5;border-top:3px solid var(--signal);background:#fffef8;box-shadow:0 3px 8px #1c302318;animation:flip-in .3s ease-out both}app-play-match .played-card.opponent-play{border-top-color:#57806a}app-play-match .played-card small{color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase}app-play-match .played-card strong{font-size:10px}app-play-match .played-card code{color:var(--muted);font-size:8px}app-play-match .play-number{position:absolute;top:4px;right:6px;color:#98a398;font-size:8px}app-play-match .chain-link{color:#718577;font-size:18px}app-play-match .table-empty{display:flex;justify-content:center;align-items:center;gap:10px;min-height:105px;color:#879487;font-size:11px}app-play-match .crosshair{color:#a1b0a0;font-size:24px}app-play-match .turn-prompt{margin:0;color:#425d49;font-size:10px;font-weight:800;text-align:center}app-play-match .human-zone{padding-top:13px}app-play-match .hand-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));align-items:stretch;gap:8px;padding:12px 0}app-play-match .hand-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:163px;padding:9px;border:1px solid #cbd3c7;border-top:3px solid #97a397;background:#fcfbf4;color:var(--ink);text-align:left;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}app-play-match .hand-card.legal{border-top-color:var(--signal);cursor:pointer}app-play-match .hand-card.legal:hover,app-play-match .hand-card.legal:focus-visible{transform:translateY(-4px);box-shadow:0 7px 14px #233a2a25;outline:2px solid rgba(237,104,70,.3333333333);outline-offset:1px}app-play-match .hand-card:disabled{opacity:.62}app-play-match .hand-card.legal:disabled{opacity:1}app-play-match .card-index{color:#405e49;font-size:8px;font-weight:900;letter-spacing:.5px;text-transform:uppercase}app-play-match .card-type{margin-top:8px;color:#a2543d;font-size:7px;font-weight:900;letter-spacing:.8px;text-transform:uppercase}app-play-match .hand-card strong{margin-top:4px;font-family:Georgia,serif;font-size:14px;line-height:1.15}app-play-match .card-rules{margin-top:7px;color:#66756a;font-size:9px;line-height:1.35}app-play-match .card-action{margin-top:auto;padding-top:10px;color:#899488;font-size:7px;font-weight:900;letter-spacing:.7px}app-play-match .hand-card.legal .card-action{color:#bb4d33}app-play-match .empty-hand{grid-column:1/-1;margin:0;padding:28px;color:var(--muted);text-align:center}app-play-match .table-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid #cdd7ca}app-play-match .hand-hint{color:#6d7a70;font-size:9px}app-play-match .pass-button{min-height:34px;padding:0 11px;font-size:10px}app-play-match .pass-button:disabled{opacity:.4;cursor:default}app-play-match .history-column{display:grid;gap:10px;min-width:0}app-play-match .history-panel{border:1px solid var(--line);background:var(--surface)}app-play-match .history-panel .panel-head{padding:13px}app-play-match .history-panel .panel-head h2{font-size:17px}app-play-match .history-panel .panel-head span,app-play-match .archive-head>span{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.7px}app-play-match .exchange-list{display:grid;margin:0;padding:0 13px;list-style:none}app-play-match .exchange-list li{padding:12px 0;border-bottom:1px solid #e8ebe4;animation:arrive .25s ease-out both}app-play-match .exchange-result{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:8px}app-play-match .exchange-result>span{color:var(--signal);font-family:Georgia,serif;font-size:16px}app-play-match .exchange-result strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}app-play-match .exchange-result b{color:#476c51;font-family:Georgia,serif;font-size:18px}app-play-match .exchange-result b small{padding-left:2px;font:800 7px Trebuchet MS,sans-serif}app-play-match .exchange-list p{margin:7px 0 4px 33px;color:#526757;font-size:9px;line-height:1.4}app-play-match .exchange-list li>small{display:block;margin-left:33px;color:var(--muted);font-size:8px;line-height:1.4}app-play-match .rule-trace{margin:8px 0 0 33px;color:#506752}app-play-match .rule-trace summary{cursor:pointer;font-size:8px;font-weight:900;letter-spacing:.4px}app-play-match .rule-trace ol{display:grid;gap:7px;margin:8px 0 0;padding:0 0 0 14px}app-play-match .rule-trace li{display:grid;gap:3px;padding:0 0 7px;border:0}app-play-match .rule-trace li strong,app-play-match .rule-trace li small{color:#526757;font-size:8px}app-play-match .rule-trace li span{color:var(--muted);font-size:8px;line-height:1.4}app-play-match .history-empty,app-play-match .archive-empty{padding:20px 14px;color:var(--muted);font-size:10px;line-height:1.5}app-play-match .abandon-button{justify-self:start;color:#8b5345;font-size:10px}app-play-match .final-banner{display:grid;justify-items:center;gap:8px;padding:50px 20px;background:linear-gradient(135deg,#e8eee3,#f4eee2);text-align:center}app-play-match .final-banner strong{font-family:Georgia,serif;font-size:30px;text-transform:uppercase}app-play-match .final-banner>span:not(.eyebrow){color:#526757;font-family:Georgia,serif;font-size:20px}app-play-match .final-banner .action{margin-top:8px}app-play-match .archive-section{margin-top:30px;border-top:1px solid #cbd3c7}app-play-match .archive-head{display:flex;justify-content:space-between;align-items:end;gap:12px;padding:16px 0 10px}app-play-match .archive-list{display:grid;border-top:1px solid var(--line)}app-play-match .archive-match{display:grid;grid-template-columns:95px minmax(0,1fr) 75px minmax(110px,auto);align-items:center;gap:14px;min-height:51px;padding:8px 10px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left}app-play-match .archive-match:hover{background:#e9eee5}app-play-match .archive-date,app-play-match .archive-winner{color:var(--muted);font-size:9px;font-weight:800}app-play-match .archive-match strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}app-play-match .archive-match i{color:#88968a;font-style:normal;font-weight:400}app-play-match .archive-score{font-family:Georgia,serif;font-size:15px;text-align:center}app-play-match .archive-winner{text-align:right}app-play-match .archive-winner b{padding-left:4px;color:var(--signal)}app-play-match .match-over{border-color:#c7d0c3}@keyframes deal-in{0%{opacity:0;transform:translateY(-9px) scale(.92)}to{opacity:1;transform:rotate(calc((var(--deal-index) - 2) * 3deg))}}@keyframes flip-in{0%{opacity:0;transform:rotateY(70deg) scale(.92)}to{opacity:1;transform:rotateY(0) scale(1)}}@media(max-width:980px){app-play-match .table-layout{grid-template-columns:minmax(0,1fr) 245px;gap:12px}app-play-match .setup-strip{grid-template-columns:repeat(2,minmax(0,1fr))}app-play-match .setup-title{grid-column:1/-1}app-play-match .start-button{justify-self:start}}@media(max-width:740px){app-play-match .table-layout{grid-template-columns:1fr}app-play-match .history-column{grid-row:auto}app-play-match .archive-match{grid-template-columns:80px minmax(0,1fr) 65px;gap:8px}app-play-match .archive-winner{grid-column:2/-1;text-align:left}}@media(max-width:520px){app-play-match .match-heading{align-items:start;flex-direction:row}app-play-match .round-mark{grid-template-columns:1fr;justify-items:end;gap:2px;padding:7px}app-play-match .round-mark span{max-width:55px;text-align:right;line-height:1.3}app-play-match .round-mark strong{font-size:20px}app-play-match .setup-strip{grid-template-columns:1fr;padding:15px}app-play-match .setup-title{grid-column:auto}app-play-match .score-rail{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);padding:9px}app-play-match .score-side{grid-template-columns:27px minmax(0,1fr) auto;gap:6px}app-play-match .side-marker{width:25px;height:25px;font-size:7px}app-play-match .score-side strong{font-size:10px}app-play-match .score-side small{font-size:6px;letter-spacing:0}app-play-match .score-side b{font-size:20px}app-play-match .felt{padding:0 11px 12px}app-play-match .opponent-zone{min-height:95px}app-play-match .exchange-zone{min-height:150px}app-play-match .played-chain{justify-content:flex-start}app-play-match .hand-cards{grid-template-columns:repeat(2,minmax(0,1fr))}app-play-match .hand-card{min-height:150px}app-play-match .table-actions{align-items:flex-start}app-play-match .hand-hint{max-width:145px;line-height:1.4}app-play-match .archive-match{grid-template-columns:65px minmax(0,1fr) 55px;padding:8px 3px}app-play-match .archive-date,app-play-match .archive-winner{font-size:8px}app-play-match .archive-score{font-size:13px}app-play-match .match-technique-board{grid-template-columns:1fr}app-play-match .match-technique-board>section{padding-inline:10px}app-play-match .match-technique-board>section+section{border-top:1px solid #d9dfd5;border-left:0}}@media(prefers-reduced-motion:reduce){app-play-match *,app-play-match *:before,app-play-match *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}:root{--ink:#172820;--ink-soft:#30453a;--paper:#f2f1e8;--surface:#fffef8;--line:#d9ded5;--signal:#ed6846;--moss:#55816b;--muted:#6d7a70;--warning:#a76529}*{box-sizing:border-box}html{min-width:320px;background:var(--paper)}body{margin:0;color:var(--ink);font-family:Trebuchet MS,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,Times New Roman,serif;text-transform:uppercase;letter-spacing:0}.eyebrow{color:var(--moss);font-size:10px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading h1{margin:4px 0 0;font-size:36px;line-height:1}.page-heading p{margin:8px 0 0;color:var(--muted)}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}.panel{border:1px solid var(--line);background:var(--surface)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-size:20px}.panel-body{padding:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field.full{grid-column:1/-1}.field label{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;min-height:40px;border:1px solid var(--line);border-radius:2px;background:#fff;color:var(--ink);padding:9px 10px;outline:none}.field textarea{resize:vertical;min-height:76px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--moss);box-shadow:0 0 0 2px #55816b22}.action{min-height:38px;border:0;border-radius:2px;padding:0 14px;background:var(--ink);color:#fff;font-weight:700}.action:hover{background:var(--ink-soft)}.action.primary{background:var(--signal);color:#1e2b23}.action.primary:hover{background:#f17b5b}.action.quiet{border:1px solid var(--line);background:transparent;color:var(--ink)}.action.danger{color:#a53928;border:1px solid #e8c5bd;background:#fff8f5}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{padding:10px 12px;color:var(--muted);background:#f6f7f1;font-size:9px;letter-spacing:1px;text-transform:uppercase}td{padding:12px;border-top:1px solid #e8ebe4;vertical-align:middle}tbody tr:hover{background:#f8f8f1}.text-button{border:0;background:transparent;color:var(--ink);text-align:left;font-weight:700;padding:0}.text-button:hover{color:var(--signal)}.code-label{color:var(--muted);font-family:monospace;font-size:10px}.tag-list{display:flex;flex-wrap:wrap;gap:5px}.tag-chip{padding:4px 7px;border:1px solid #d5ddd4;background:#f1f6f0;color:#365443;font-size:9px;font-weight:800;letter-spacing:.3px}.check-grid{display:flex;flex-wrap:wrap;gap:7px}.check-chip{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--line);background:#fff;color:var(--ink-soft);font-size:11px}.notice{margin:12px 0 0;color:var(--moss);font-weight:700}.notice.error{color:#b23829}.muted{color:var(--muted)}.count-mark{color:var(--signal);font-family:Barlow Condensed,Georgia,serif;font-size:24px;font-weight:800}.empty{padding:28px 14px;color:var(--muted);text-align:center}@media(max-width:900px){.workspace-grid{grid-template-columns:1fr}}@media(max-width:620px){.page-heading{align-items:start;flex-direction:column}.page-heading h1{font-size:32px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.panel-body{padding:14px}}
