@charset "UTF-8";
:root{color-scheme:dark;--bg:#10251f;--deep:#0b1b17;--panel:#172f27;--panel-2:#1d382e;--line:rgba(201,221,189,.15);--text:#f2f0dc;--muted:#a6b6a7;--faint:#6f897a;--jade:#c6daa6;--jade-dark:#2b4a32;--gold:#dbc692;--red:#e2a393;--serif:Georgia,"Times New Roman",serif;--sans:Inter,"Segoe UI",-apple-system,BlinkMacSystemFont,Arial,sans-serif;--radius:18px}
*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.55;min-height:100vh}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--jade);outline-offset:5px}a{color:inherit;text-decoration:none}button{color:inherit}button svg,svg.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}svg{display:inline-block}p,h1,h2,h3{margin-top:0}p{color:var(--muted)}[hidden]{display:none!important}.ambient{position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 15% 0%,rgba(78,109,60,.13),transparent 55%),radial-gradient(ellipse at 100% 50%,rgba(5,34,28,.5),transparent 55%);background-color:var(--bg)}.site-header{max-width:1376px;padding:27px 44px;min-height:100px;margin:auto;display:flex;align-items:center;gap:56px;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-size:36px;letter-spacing:-1.5px;font-weight:bold;line-height:1}.brand-symbol{display:grid;place-items:center;border:1px solid rgba(198,218,166,.4);width:32px;height:34px;border-radius:6px;color:var(--jade);font-family:serif;font-size:23px;font-weight:400;letter-spacing:0}.wordmark-dot{color:var(--jade)}.header-nav{display:flex;gap:30px}.nav-link{border:0;background:none;color:var(--muted);font-size:13px;padding:8px 0}.nav-link:hover{color:var(--text)}.header-right{display:flex;align-items:center;gap:24px;margin-left:auto}.connection{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);white-space:nowrap}.status-dot{width:6px;height:6px;background:var(--jade);border-radius:50%;display:inline-block;box-shadow:0 0 0 4px rgba(198,218,166,.07)}.connection.is-connecting .status-dot{background:var(--gold);animation:pulse 1.5s infinite}.connection.is-offline .status-dot{background:var(--red)}.profile-button{background:rgba(198,218,166,.06);border:1px solid var(--line);border-radius:24px;padding:8px 15px;color:var(--text);font-size:12px;max-width:175px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-button:hover{background:rgba(198,218,166,.13)}.app{max-width:1288px;margin:0 auto;padding:44px 24px 70px;min-height:calc(100vh - 180px)}.eyebrow{text-transform:uppercase;letter-spacing:2.4px;font-size:10px;font-weight:650;color:var(--jade);display:flex;align-items:center;gap:10px;margin:0 0 20px}.eyebrow::before{content:"";width:20px;height:1px;background:var(--jade);opacity:.65}.hero{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:70px;align-items:center;padding:10px 0 38px}.hero h1{font-family:var(--serif);font-size:clamp(42px,5.4vw,72px);font-weight:400;line-height:1.08;letter-spacing:-2.8px;margin:0 0 22px}.hero h1 em{font-weight:400;color:var(--jade)}.hero-copy{font-size:14px;line-height:1.8;max-width:460px;margin-bottom:0}.create-card{position:relative;overflow:hidden;border:1px solid rgba(198,218,166,.24);border-radius:var(--radius);background:linear-gradient(135deg,#2c4735,#1c3529);padding:28px 28px 25px}.create-card::after{content:"";width:240px;height:240px;border:1px solid rgba(198,218,166,.1);border-radius:50%;position:absolute;right:-130px;top:-110px;box-shadow:0 0 0 30px rgba(198,218,166,.025),0 0 0 60px rgba(198,218,166,.015);pointer-events:none}.create-card .mini-label{color:#b7c8ac}.create-card h2{font-family:var(--serif);font-weight:400;font-size:30px;letter-spacing:-.6px;margin:18px 0 8px}.create-card p{font-size:12px;line-height:1.8;max-width:260px;margin-bottom:24px;color:#b7c8b1}.mini-label{text-transform:uppercase;letter-spacing:1.8px;font-size:9px;color:var(--muted);font-weight:650}.button{border:1px solid var(--line);border-radius:8px;padding:11px 17px;display:inline-flex;justify-content:center;align-items:center;gap:9px;font-size:12px;font-weight:600;line-height:1.4;background:transparent;transition:background .16s,transform .16s,border-color .16s;min-height:42px}.button:hover:not(:disabled){background:rgba(198,218,166,.07);border-color:rgba(198,218,166,.4)}.button:active:not(:disabled){transform:translateY(1px)}.button.primary{background:var(--jade);color:#193124;border-color:var(--jade)}.button.primary:hover:not(:disabled){background:#d9e7be;border-color:#d9e7be}.button.subtle{background:rgba(198,218,166,.045)}.button.danger{border-color:rgba(226,163,147,.3);color:var(--red)}.button.danger:hover:not(:disabled){background:rgba(226,163,147,.08)}.button:disabled{opacity:.4}.button.full{width:100%}.button.small{font-size:11px;padding:7px 12px;min-height:34px}.button.icon-button{padding:9px;min-height:34px}.create-card .button{justify-content:space-between}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.section-heading h2{font-family:var(--serif);font-size:25px;font-weight:400;letter-spacing:-.4px;margin:0}.section-heading p{margin:0;font-size:11px}.section-heading .heading-title{display:flex;align-items:center;gap:10px}.count-pill{display:inline-grid;place-items:center;min-width:23px;height:22px;border-radius:30px;border:1px solid var(--line);font-size:10px;color:var(--muted)}.lobby-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px}.lobby-tables{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:rgba(18,42,32,.45)}.tables-columns{display:grid;grid-template-columns:minmax(0,1fr) 70px 105px 76px;gap:18px;padding:15px 24px;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:1.4px;color:var(--faint);text-transform:uppercase}.table-row{display:grid;grid-template-columns:minmax(0,1fr) 70px 105px 76px;gap:18px;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}.table-row:last-child{border-bottom:none}.table-name{font-size:14px;font-weight:500;margin-bottom:4px;overflow-wrap:anywhere}.table-meta{font-size:10px;color:var(--faint);display:flex;gap:9px;align-items:center;flex-wrap:wrap}.table-seat-count{font-size:12px;color:var(--muted);display:flex;gap:5px;align-items:center}.table-seat-count svg{width:15px;height:15px}.table-status{font-size:10px;display:flex;align-items:center;gap:7px;color:var(--muted)}.table-status.open{color:var(--jade)}.table-status .status-dot{width:5px;height:5px;box-shadow:none}.table-status.closed .status-dot{background:var(--faint)}.empty-tables{padding:42px 25px 38px;text-align:center}.empty-icon{width:57px;height:57px;border:1px solid var(--line);background:rgba(198,218,166,.035);border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;color:var(--jade)}.empty-icon svg{width:27px;height:27px}.empty-tables h3{font-family:var(--serif);font-size:23px;font-weight:400;letter-spacing:-.2px;margin-bottom:7px}.empty-tables p{font-size:12px;max-width:330px;margin:0 auto 22px;line-height:1.8}.lobby-note{font-size:10px;color:var(--faint);padding:13px 4px;margin:0;display:flex;align-items:center;gap:7px}.lobby-note svg{width:13px;height:13px;flex-shrink:0}.guide-card{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:rgba(198,218,166,.025)}.guide-card h3{font-family:var(--serif);font-size:21px;font-weight:400;line-height:1.3;margin:12px 0 23px;letter-spacing:-.3px}.guide-move{display:flex;gap:13px;align-items:center;margin:0 0 17px}.guide-move:last-of-type{margin-bottom:20px}.guide-move-icon{width:31px;height:31px;background:rgba(198,218,166,.045);border:1px solid var(--line);border-radius:8px;color:var(--jade);display:grid;place-items:center;flex-shrink:0}.guide-move-icon svg{width:17px;height:17px}.guide-move-title{font-size:11px;color:var(--text);margin-bottom:1px}.guide-move-copy{font-size:10px;color:var(--faint)}.text-button{padding:0;background:none;border:0;color:var(--jade);font-size:11px;text-align:left;display:inline-flex;gap:6px;align-items:center}.text-button:hover{text-decoration:underline}.text-button svg{width:14px;height:14px}.resume-banner,.invite-banner,.offline-banner{border:1px solid rgba(198,218,166,.25);background:rgba(198,218,166,.065);padding:15px 18px;border-radius:12px;margin:0 0 25px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px}.invite-banner strong,.resume-banner strong{color:var(--text);font-weight:550}.invite-banner p,.resume-banner p{margin:2px 0 0;font-size:11px}.offline-banner{border-color:rgba(226,163,147,.3);background:rgba(226,163,147,.055);color:var(--red)}.room-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}.breadcrumb{display:flex;align-items:center;gap:9px;color:var(--faint);font-size:10px;letter-spacing:.4px;margin-bottom:10px}.breadcrumb button{background:none;padding:0;border:0;font-size:10px;color:var(--muted)}.breadcrumb button:hover{color:var(--jade)}.room-title{font-family:var(--serif);font-size:36px;line-height:1.2;font-weight:400;letter-spacing:-1px;margin:0;overflow-wrap:anywhere}.room-tools{display:flex;gap:8px;align-items:center;flex-shrink:0;padding-top:20px}.match-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:26px;align-items:start}.game-area{min-width:0}.board{position:relative;border:1px solid var(--line);border-radius:20px;padding:28px;background:radial-gradient(ellipse at 50% 20%,rgba(82,116,72,.08),transparent 70%),rgba(12,32,23,.3);overflow:hidden}.board::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.13;background-image:linear-gradient(rgba(153,174,138,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(153,174,138,.18) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse at center,#000,transparent 70%)}.board-overline{display:flex;align-items:center;justify-content:space-between;position:relative;margin-bottom:26px}.board-overline .mini-label{color:var(--faint)}.board-overline .mode-label{font-size:9px;color:var(--faint);display:flex;align-items:center;gap:5px}.board-overline svg{width:12px;height:12px}.players{display:grid;grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr);align-items:center;gap:17px;position:relative}.player-card{border:1px solid rgba(198,218,166,.2);background:rgba(27,52,39,.83);border-radius:15px;padding:21px 20px;min-height:218px}.player-card.opponent{background:rgba(20,42,32,.83);border-color:var(--line)}.player-card.empty-seat{border-style:dashed;background:rgba(20,42,32,.3);text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:218px}.avatar{width:43px;height:43px;border-radius:50%;background:var(--jade);color:#243c28;display:grid;place-items:center;font-family:var(--serif);font-size:24px;position:relative;flex-shrink:0}.avatar.opponent-avatar{background:#2d483b;color:var(--jade);border:1px solid rgba(198,218,166,.17)}.avatar.empty-avatar{border:1px dashed var(--faint);background:transparent;color:var(--faint)}.avatar .presence{position:absolute;right:0;bottom:0;width:9px;height:9px;border:2px solid var(--panel);border-radius:50%;background:var(--jade)}.avatar .presence.offline{background:var(--red)}.player-id{display:flex;align-items:center;gap:10px;min-width:0;margin-bottom:20px}.player-id-text{min-width:0}.player-name{font-size:13px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px}.player-caption{font-size:9px;color:var(--faint);display:flex;gap:6px;align-items:center}.player-caption .you-tag{color:var(--jade);font-size:8px;letter-spacing:1px;text-transform:uppercase}.stat-line{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.stat-value{color:var(--text);letter-spacing:0;font-size:11px}.hearts{display:flex;gap:5px;flex-wrap:wrap;min-height:20px;margin:0 0 17px}.heart{color:#c9ba91;display:inline-flex}.heart svg{width:17px;height:17px;fill:currentColor;stroke:none}.heart.spent{color:rgba(198,218,166,.12)}.chi-pips{display:flex;flex-wrap:wrap;gap:5px;min-height:12px}.chi-pip{width:12px;height:7px;border-radius:2px;border:1px solid rgba(198,218,166,.2);background:rgba(198,218,166,.035)}.chi-pip.filled{background:var(--jade);border-color:var(--jade);box-shadow:0 0 8px rgba(198,218,166,.08)}.concealed-chi{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--faint);min-height:12px;line-height:1}.concealed-chi svg{height:12px;width:12px}.full-chi{color:var(--jade)}.round-marker{text-align:center}.round-ring{width:80px;height:80px;border:1px solid rgba(198,218,166,.18);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;margin:0 auto 12px;background:rgba(16,37,31,.5)}.round-ring::before{content:"";position:absolute;inset:7px;border:1px solid rgba(198,218,166,.07);border-radius:50%}.round-ring span{font-size:8px;letter-spacing:1.5px;color:var(--faint);text-transform:uppercase}.round-ring strong{font-family:var(--serif);font-size:31px;color:var(--jade);font-weight:400;line-height:1.15}.round-marker>span{font-size:8px;letter-spacing:1.4px;color:var(--faint);text-transform:uppercase}.empty-seat h3{font-size:12px;font-weight:500;margin:12px 0 3px}.empty-seat p{font-size:10px;max-width:140px;line-height:1.65;margin:0 0 12px}.empty-seat .button{min-height:30px;font-size:10px}.round-state{display:flex;justify-content:center;align-items:center;gap:18px;font-size:10px;color:var(--faint);position:relative;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.round-state>span{display:flex;align-items:center;gap:5px}.round-state svg{height:12px;width:12px}.round-state .is-locked{color:var(--jade)}.actions-section{margin-top:27px}.action-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px}.action-heading h2{font-family:var(--serif);font-weight:400;font-size:24px;margin:0;letter-spacing:-.3px}.action-heading p{font-size:10px;margin:0}.action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.action-card{text-align:left;border:1px solid var(--line);border-radius:13px;background:rgba(198,218,166,.025);padding:18px 15px 16px;min-height:173px;position:relative;transition:background .15s,border-color .15s,transform .15s;display:flex;flex-direction:column}.action-card:hover:not(:disabled){border-color:rgba(198,218,166,.42);background:rgba(198,218,166,.065);transform:translateY(-2px)}.action-card.selected{border-color:var(--jade);background:rgba(198,218,166,.11);box-shadow:inset 0 0 0 1px rgba(198,218,166,.25)}.action-card:disabled{opacity:.4}.action-card.selected:disabled{opacity:.85}.action-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;color:var(--jade)}.action-top svg{width:26px;height:26px}.action-key{font-size:9px;color:var(--faint);width:18px;height:18px;display:grid;place-items:center;border:1px solid var(--line);border-radius:4px}.action-name{font-size:13px;font-weight:550;margin:0 0 4px;display:flex;align-items:center;justify-content:space-between}.action-name svg{width:14px;height:14px;color:var(--jade)}.action-description{font-size:10px;line-height:1.65;color:var(--muted);margin-bottom:13px}.action-cost{font-size:8px;letter-spacing:1.1px;text-transform:uppercase;color:var(--faint);margin-top:auto}.action-cost.gain{color:var(--jade)}.action-cost.unaffordable{color:var(--red)}.lock-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:17px}.lock-row p{font-size:10px;margin:0;max-width:360px}.lock-row .button{min-width:190px}.waiting-panel,.outcome-panel{padding:24px;border:1px solid var(--line);border-radius:15px;background:rgba(198,218,166,.035);margin-top:22px;display:flex;justify-content:space-between;align-items:center;gap:25px}.waiting-panel h2,.outcome-panel h2{font-family:var(--serif);font-size:26px;font-weight:400;margin:0 0 7px;letter-spacing:-.5px}.waiting-panel p,.outcome-panel p{font-size:11px;margin:0;max-width:440px;line-height:1.8}.waiting-panel .button,.outcome-panel .button{min-width:140px;flex-shrink:0}.outcome-panel.won{border-color:rgba(198,218,166,.45);background:rgba(198,218,166,.08)}.outcome-panel.won h2{color:var(--jade)}.outcome-overline{font-size:8px;letter-spacing:1.8px;color:var(--faint);text-transform:uppercase;margin-bottom:9px}.small-note{font-size:10px;color:var(--faint);line-height:1.75;margin:15px 0 0}.match-sidebar{display:flex;flex-direction:column;gap:17px}.side-card{border:1px solid var(--line);border-radius:15px;padding:21px}.side-card h3{font-family:var(--serif);font-size:20px;font-weight:400;margin:0 0 16px}.info-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;padding:9px 0;border-bottom:1px solid var(--line);color:var(--muted)}.info-row:last-of-type{border-bottom:0}.info-row strong{font-size:11px;color:var(--text);font-weight:500}.side-card .small-note{margin-bottom:13px}.side-card .button{margin-top:10px}.side-card .text-button{margin-top:14px}.compact-rules .guide-move{margin-bottom:14px}.compact-rules .guide-move-icon{width:26px;height:26px;border:none;background:none}.compact-rules .guide-move-copy{font-size:9px}.connection-note{border-color:rgba(226,163,147,.25);background:rgba(226,163,147,.04);margin-top:17px;padding:16px 18px;border-radius:12px}.connection-note h3{font-size:12px;font-weight:550;margin:0 0 6px;color:var(--red)}.connection-note p{font-size:10px;margin:0;line-height:1.75}.connection-note .button{margin-top:13px}.history-section{margin-top:30px}.history-section .section-heading{margin-bottom:12px}.history-section .section-heading h2{font-size:22px}.history-list{border:1px solid var(--line);border-radius:13px;overflow:hidden}.history-row{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(0,1fr) 95px;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:13px 18px;font-size:10px}.history-row:last-child{border-bottom:none}.history-row.latest{background:rgba(198,218,166,.05)}.history-number{font-size:9px;color:var(--faint)}.history-choice{display:flex;align-items:center;gap:8px;color:var(--muted)}.history-choice svg{width:15px;height:15px;color:var(--jade)}.history-result{font-size:9px;text-align:right;color:var(--faint)}.history-result.damage{color:var(--red)}.history-empty{text-align:center;padding:25px;border:1px dashed var(--line);border-radius:13px;font-size:11px;color:var(--faint)}.history-labels{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(0,1fr) 95px;gap:12px;padding:0 18px 9px;font-size:8px;letter-spacing:1px;text-transform:uppercase;color:var(--faint)}.history-labels span:last-child{text-align:right}.history-more{margin-top:12px}.site-footer{max-width:1288px;padding:20px 24px 25px;margin:auto;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--faint);font-size:10px;letter-spacing:.2px}.footer-dot{margin:0 5px;color:var(--jade)}.initial-loading{text-align:center;padding:110px 20px}.initial-loading p{font-size:13px;margin-top:22px}.loading-orbit{height:35px;width:35px;border:1px solid var(--line);border-top-color:var(--jade);border-radius:50%;display:inline-block;animation:spin 1.2s linear infinite}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#e4e8ce;color:#203427;border:1px solid #f0f3e0;box-shadow:0 9px 35px rgba(0,0,0,.25);padding:12px 20px;border-radius:10px;font-size:12px;z-index:100;max-width:min(90vw,550px);text-align:center;animation:toast-in .2s ease-out}.toast.error{background:#e5c4b8;border-color:#f0d5cd;color:#4b2d24}dialog{background:#183228;color:var(--text);border:1px solid rgba(198,218,166,.27);border-radius:20px;box-shadow:0 30px 100px rgba(0,0,0,.45);padding:30px;width:min(480px,calc(100vw - 30px));max-height:calc(100dvh - 50px);overflow:auto}dialog.wide{width:min(760px,calc(100vw - 30px))}dialog::backdrop{background:rgba(5,15,11,.74);backdrop-filter:blur(5px)}.modal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:20px}.modal-top .eyebrow{margin:0;font-size:9px}.close-modal{width:29px;height:29px;background:transparent;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--muted);padding:0;flex-shrink:0}.close-modal svg{height:14px;width:14px}dialog h2{font-family:var(--serif);font-size:33px;letter-spacing:-.8px;font-weight:400;margin:0 0 10px;line-height:1.2}dialog>p,.modal-copy{font-size:12px;line-height:1.85;color:var(--muted);margin:0 0 23px}form label,.form-label{display:block;font-size:10px;color:var(--muted);margin:0 0 7px;letter-spacing:.25px}.field{margin-bottom:20px}input,select{width:100%;padding:12px 14px;background:rgba(5,21,13,.34);border:1px solid rgba(198,218,166,.22);border-radius:8px;color:var(--text);font-size:13px;min-height:44px}input::placeholder{color:#738777}input[type=number]{max-width:120px}.field-help{font-size:10px;line-height:1.7;margin:8px 0 0;color:var(--faint)}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}.form-error{color:var(--red);font-size:11px;line-height:1.7;margin-top:14px;margin-bottom:0}.form-error:empty{display:none}.rules-intro{display:flex;gap:10px;margin:20px 0 25px;flex-wrap:wrap}.rule-chip{padding:6px 10px;background:rgba(198,218,166,.06);border:1px solid var(--line);border-radius:5px;font-size:10px;color:var(--muted)}.rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:24px}.rule-detail{border:1px solid var(--line);padding:17px;border-radius:11px}.rule-detail h3{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:550;margin:0 0 9px;color:var(--jade)}.rule-detail h3 svg{height:20px;width:20px}.rule-detail p{font-size:11px;line-height:1.75;margin:0}.rules-footnote{font-size:10px;line-height:1.8;color:var(--faint);border-top:1px solid var(--line);padding-top:18px;margin:20px 0 0}.rules-heading{font-size:11px;font-weight:550;margin:0 0 9px}.matrix-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}.rules-matrix{width:100%;border-collapse:collapse;min-width:440px;font-size:9px}.rules-matrix th,.rules-matrix td{padding:10px 9px;border-bottom:1px solid var(--line);text-align:center;font-weight:400}.rules-matrix thead th{color:var(--jade);background:rgba(198,218,166,.04)}.rules-matrix tbody th{text-align:left;color:var(--text)}.rules-matrix td{color:var(--faint)}.rules-matrix td.damage-them{color:var(--jade)}.rules-matrix td.damage-you{color:var(--red)}.rules-matrix tr:last-child td,.rules-matrix tr:last-child th{border-bottom:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.noscript{background:#e5c4b8;color:#4b2d24;padding:20px;text-align:center;position:fixed;bottom:0;left:0;right:0}.error-page{text-align:center;padding:100px 20px}.error-page h1{font-family:var(--serif);font-size:36px;font-weight:400;margin-bottom:12px}.error-page p{font-size:13px;max-width:430px;margin:0 auto 24px}.loading-text{animation:pulse 1.5s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,100%{opacity:.5}50%{opacity:1}}@keyframes toast-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@media(min-width:1450px){.app{padding-top:58px}.hero{padding-bottom:55px}.hero h1{font-size:75px}}
@media(max-width:1100px){.site-header{padding:23px 28px;gap:35px}.app{padding-top:32px}.hero{grid-template-columns:minmax(0,1fr) 340px;gap:35px}.hero h1{font-size:58px}.match-layout{grid-template-columns:minmax(0,1fr) 235px;gap:18px}.board{padding:22px}.players{grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);gap:12px}.round-ring{width:66px;height:66px}.player-card{padding:17px 14px}.avatar{width:35px;height:35px;font-size:20px}.player-id{gap:8px}.action-card{padding:16px 12px}.action-description{font-size:9px}.action-heading p{font-size:9px}.lobby-layout{grid-template-columns:minmax(0,1fr) 270px;gap:20px}.table-row,.tables-columns{padding-left:18px;padding-right:18px;gap:12px;grid-template-columns:minmax(0,1fr) 52px 88px 67px}}
@media(max-width:900px){.match-layout{grid-template-columns:1fr}.match-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:5px}.match-sidebar .compact-rules{display:none}.side-card .small-note{max-width:380px}.lobby-layout{grid-template-columns:minmax(0,1fr) 240px}.hero{grid-template-columns:minmax(0,1fr) 300px;gap:28px}.hero h1{font-size:49px;letter-spacing:-1.9px}.hero-copy{font-size:12px}.create-card{padding:24px}.create-card h2{font-size:26px}.header-nav{gap:20px}.site-header{gap:30px}.header-right{gap:15px}.profile-button{max-width:135px}.players{grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr);gap:20px}.player-card{padding:22px}.round-ring{width:80px;height:80px}.action-description{font-size:11px}.table-row,.tables-columns{grid-template-columns:minmax(0,1fr) 45px 65px}.table-row .table-status,.tables-columns .table-status-col{display:none}.guide-card{padding:22px 19px}}
@media(max-width:700px){.site-header{padding:20px;gap:20px;min-height:82px}.wordmark{font-size:31px;gap:8px}.brand-symbol{width:27px;height:29px;font-size:20px}.header-nav{margin-left:auto;gap:14px}.header-nav .nav-link:first-child{display:none}.nav-link{font-size:11px}.header-right{margin-left:0;gap:10px}.connection>span:last-child{display:none}.profile-button{font-size:10px;padding:7px 10px;max-width:110px}.app{padding:27px 20px 45px}.hero{grid-template-columns:1fr;gap:27px;padding:5px 0 30px}.hero h1{font-size:51px;letter-spacing:-2px;margin-bottom:16px}.hero-copy{font-size:12px;max-width:450px}.eyebrow{font-size:9px;margin-bottom:17px;letter-spacing:2px}.create-card{padding:22px 24px;display:grid;grid-template-columns:minmax(0,1fr) 145px;column-gap:25px;align-items:center}.create-card .mini-label{grid-column:1}.create-card h2{font-size:25px;margin:8px 0 7px;grid-column:1}.create-card p{font-size:10px;margin:0;grid-column:1}.create-card .button{grid-column:2;grid-row:1 / 4;font-size:11px;min-height:42px;padding:10px 14px}.lobby-layout{grid-template-columns:1fr}.guide-card{display:none}.section-heading h2{font-size:24px}.section-heading p{font-size:10px}.lobby-note{font-size:9px;align-items:flex-start}.room-header{gap:14px;margin-bottom:23px}.room-title{font-size:29px}.room-tools{padding-top:22px;gap:6px}.room-tools .button{min-height:33px;font-size:10px;padding:8px 10px}.room-tools .button svg{width:14px;height:14px}.room-tools .leave-label{display:none}.room-tools .leave-table{padding:8px}.board{padding:19px 17px}.board-overline{margin-bottom:20px}.board-overline .mini-label{font-size:8px;letter-spacing:1.3px}.board-overline .mode-label{font-size:8px}.players{grid-template-columns:minmax(0,1fr) 57px minmax(0,1fr);gap:9px}.player-card{padding:16px 12px;min-height:205px}.player-card.empty-seat{min-height:205px}.avatar{width:31px;height:31px;font-size:18px}.player-id{gap:7px;margin-bottom:18px}.player-name{font-size:11px}.player-caption{font-size:8px}.player-caption .you-tag{font-size:7px}.player-caption .host-label{display:none}.round-ring{width:54px;height:54px}.round-ring::before{inset:5px}.round-ring span{font-size:6px;letter-spacing:1px}.round-ring strong{font-size:24px}.round-marker>span{font-size:6px;letter-spacing:1px}.hearts{gap:3px;margin-bottom:16px}.heart svg{width:13px;height:13px}.stat-line{font-size:8px;letter-spacing:.6px}.stat-value{font-size:10px}.chi-pips{gap:4px}.chi-pip{width:10px;height:6px}.concealed-chi{font-size:8px;gap:4px}.concealed-chi svg{width:10px;height:10px}.empty-seat h3{font-size:10px}.empty-seat p{font-size:9px}.empty-seat .button{font-size:8px;padding:6px 8px;min-height:28px}.round-state{font-size:9px;gap:12px;margin-top:18px;padding-top:17px}.actions-section{margin-top:23px}.action-heading h2{font-size:23px}.action-heading p{font-size:9px}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.action-card{min-height:148px;padding:16px}.action-top{margin-bottom:15px}.action-top svg{width:23px;height:23px}.action-description{font-size:10px;margin-bottom:9px}.action-name{font-size:13px}.lock-row{gap:13px}.lock-row p{font-size:9px;max-width:220px}.lock-row .button{min-width:160px;font-size:11px}.waiting-panel,.outcome-panel{padding:21px;gap:18px;align-items:flex-start;flex-direction:column}.waiting-panel h2,.outcome-panel h2{font-size:25px}.waiting-panel .button,.outcome-panel .button{width:100%}.match-sidebar{grid-template-columns:1fr 1fr;gap:13px}.side-card{padding:19px 17px}.side-card h3{font-size:19px}.info-row,.info-row strong{font-size:10px}.side-card .small-note{font-size:9px}.side-card .text-button{font-size:10px}.site-footer{margin:0 20px;padding:18px 0;gap:10px;font-size:9px}.site-footer>span:last-child{display:none}.history-row,.history-labels{grid-template-columns:32px minmax(0,1fr) minmax(0,1fr) 72px;gap:7px;padding-left:12px;padding-right:12px}.history-choice{font-size:9px;gap:5px}.history-choice svg{width:13px;height:13px}.history-result{font-size:8px}.history-labels{font-size:7px}.history-number{font-size:8px}.resume-banner,.invite-banner{padding:14px;gap:12px;font-size:11px}.resume-banner p,.invite-banner p{font-size:10px}.resume-banner .button,.invite-banner .button{font-size:10px;white-space:nowrap;padding:9px 12px}dialog{padding:25px}dialog h2{font-size:30px}.rules-grid{gap:10px}.rule-detail{padding:14px}.rule-detail p{font-size:10px}.rule-detail h3{font-size:12px}}
@media(max-width:420px){.site-header{padding:18px 15px;gap:12px}.header-nav{gap:10px}.nav-link{font-size:10px}.profile-button{max-width:87px}.app{padding-left:15px;padding-right:15px}.hero h1{font-size:46px}.create-card{grid-template-columns:1fr;gap:0;padding:22px}.create-card .button{grid-column:1;grid-row:auto;margin-top:19px}.create-card p{max-width:none}.create-card h2{font-size:27px}.table-row,.tables-columns{padding-left:14px;padding-right:14px;grid-template-columns:minmax(0,1fr) 35px 60px;gap:9px}.table-name{font-size:12px}.table-meta{font-size:9px}.table-row .button{padding:7px 10px;font-size:10px}.board{padding:17px 12px}.players{grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);gap:7px}.player-card{padding:14px 10px}.player-id{gap:6px}.avatar{width:27px;height:27px;font-size:16px}.player-name{font-size:10px}.round-ring{width:39px;height:39px}.round-ring::before{display:none}.round-ring span{font-size:5px}.round-ring strong{font-size:20px}.round-marker>span{display:none}.player-caption{font-size:7px}.player-caption .you-tag{font-size:6px}.round-state{gap:8px;font-size:8px}.round-state svg{height:10px;width:10px}.board-overline .mode-label{font-size:7px}.board-overline .mode-label svg{display:none}.room-title{font-size:26px}.room-tools{padding-top:19px}.lock-row{flex-direction:column;align-items:stretch}.lock-row p{max-width:none;text-align:center}.lock-row .button{width:100%}.match-sidebar{grid-template-columns:1fr}.match-sidebar .side-card:last-child{display:none}.side-card .info-row{padding:7px 0}.rules-grid{grid-template-columns:1fr}.empty-seat .button{font-size:8px;padding:6px}.site-footer{margin:0 15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Compact controls and one shared interface language. */
.language-switch{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:8px;background:rgba(6,21,13,.28);white-space:nowrap}
.language-switch button{border:0;border-radius:5px;background:transparent;color:var(--muted);padding:6px 9px;min-height:30px;font-size:10px;line-height:1.4}
.language-switch button[aria-pressed=true]{background:var(--jade);color:#213629}
.language-switch button:hover:not([aria-pressed=true]){background:rgba(198,218,166,.1);color:var(--text)}
#language-control{flex-shrink:0}
.header-right{gap:17px}
.modal-controls{display:flex;gap:12px;align-items:center;flex-shrink:0}
.modal-top{gap:12px}
.modal-top .eyebrow{letter-spacing:1.2px}
.modal-top .eyebrow::before{display:none}
.modal-controls .language-switch button{min-height:27px;padding:5px 7px}
.lobby-section{margin-top:10px}
.actions-section{margin-top:22px}
.action-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:480px;margin-inline:auto}
.action-card{min-height:83px;padding:13px 7px 11px;border-radius:10px;align-items:center;justify-content:center;gap:8px;text-align:center}
.action-card>svg{width:25px;height:25px;color:var(--jade)}
.action-name{font-size:12px;font-weight:550;line-height:1.25;margin:0;display:block}
.action-card.selected{border-color:var(--jade);background:rgba(198,218,166,.13);box-shadow:inset 0 0 0 1px rgba(198,218,166,.35)}
.action-card:hover:not(:disabled){transform:translateY(-1px)}
.action-status{display:flex;align-items:center;justify-content:space-between;gap:10px;max-width:480px;margin:11px auto 0;color:var(--faint);font-size:9px;line-height:1.6}
.defense-status{display:flex;align-items:center;gap:5px}
.defense-status>svg{width:12px;height:12px;flex-shrink:0}
.defense-status.exhausted{color:var(--gold)}
.shortcut-hint{white-space:nowrap;flex-shrink:0}
.lock-row{max-width:480px;margin:13px auto 0;gap:15px}
.lock-row p{font-size:10px;max-width:290px}
.lock-row .button{min-width:145px;min-height:38px;padding:9px 13px;font-size:11px}
.chi-pip.will-spend{background:repeating-linear-gradient(135deg,var(--gold) 0 2px,rgba(198,218,166,.08) 2px 4px);border-color:var(--gold);outline:1px solid var(--gold);outline-offset:3px;box-shadow:0 0 10px rgba(214,185,132,.22)}
.opponent-energy{min-height:36px;display:flex;align-items:center}
.full-chi{display:inline-flex;align-items:center;gap:6px;color:var(--jade);font-size:10px;padding:6px 9px;border:1px solid rgba(198,218,166,.35);border-radius:6px;background:rgba(198,218,166,.07);line-height:1.2}
.full-chi svg{width:13px;height:13px}
#rules-content[lang=zh-Hans]{line-height:1.8}
#rules-content[lang=zh-Hans] h2{font-family:var(--sans);font-size:28px;font-weight:550;letter-spacing:0}
#rules-content[lang=zh-Hans] .rule-detail p{line-height:1.9}
.rules-footnote+.rules-footnote{border-top:none;padding-top:0;margin-top:12px}
html[lang=zh-Hans] .eyebrow,html[lang=zh-Hans] .mini-label{letter-spacing:1.2px}
html[lang=zh-Hans] .hero h1{letter-spacing:0;line-height:1.2}
html[lang=zh-Hans] .hero-copy{line-height:1.95}
html[lang=zh-Hans] .room-title,html[lang=zh-Hans] dialog h2{letter-spacing:0}
@media(max-width:900px){.site-header{gap:25px}.header-right{gap:12px}.profile-button{max-width:120px}}
@media(max-width:700px){.site-header{gap:12px}.header-nav{display:none}.header-right{margin-left:auto;gap:12px}.language-switch button{padding:5px 8px;min-height:28px}.profile-button{max-width:105px}.room-tools{padding-top:20px}.room-tools .invite-label{display:none}.room-tools .button{white-space:nowrap}.action-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.action-card{min-height:76px;padding:12px 5px;gap:7px}.action-card>svg{width:23px;height:23px}.action-name{font-size:11px}.lock-row{flex-direction:row;align-items:center}.lock-row .button{width:auto;min-width:134px}.lock-row p{text-align:left;max-width:220px}.action-status{font-size:8px}.modal-controls{gap:9px}.full-chi{font-size:9px;padding:5px 7px}.full-chi svg{height:12px;width:12px}}
@media(max-width:420px){.site-header{gap:10px;padding:17px 15px}.header-right{gap:9px}.profile-button{max-width:80px;padding:7px 9px}.language-switch button{font-size:9px;padding:5px 7px}.room-header{flex-wrap:wrap;gap:12px}.room-header>div:first-child{min-width:0;flex:1 1 140px}.room-tools{padding-top:17px;gap:5px}.room-tools .button{font-size:9px;padding:7px 8px}.action-card{min-height:70px;padding:10px 4px}.action-card>svg{width:22px;height:22px}.action-name{font-size:10px}.action-status{align-items:flex-start}.shortcut-hint{display:none}.lock-row .button{min-width:126px;font-size:10px}.lock-row p{font-size:9px}.modal-top{align-items:center}.modal-top .eyebrow{font-size:8px;letter-spacing:.7px}.modal-controls{gap:7px}.modal-controls .language-switch button{font-size:9px;padding:5px 6px}.full-chi{font-size:8px;padding:5px 6px}}
@media(max-width:420px){.match-sidebar .side-card:last-child{display:block}}
