:root{--bg:#08110d;--panel:#111a16;--panel2:#17231d;--ink:#edf5ef;--muted:#97aa9f;--line:rgba(255,255,255,.10);--felt1:#20845a;--felt2:#176a48;--felt3:#0e4932;--felt4:#093424;--wood:#74492d;--wood2:#50301e;--gold:#d7b45e;--gold2:#e7cd78;--gold3:#bd9137;--cardw:106px;--cardh:152px;font-family:Inter,system-ui,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:linear-gradient(#0a1510,#060c09 72%);overflow:hidden}button{font:inherit;color:inherit}.hidden{display:none!important}.eyebrow{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.app-shell{min-height:100vh;display:grid;grid-template-rows:96px minmax(0,1fr)}.topbar{display:grid;grid-template-columns:260px minmax(0,1fr) auto;gap:20px;align-items:center;padding:14px 24px;background:rgba(6,12,9,.96);border-bottom:1px solid var(--line);z-index:10}.logo{font:800 30px Georgia,serif;letter-spacing:.17em}.hud-stats{display:flex;gap:10px}.hud-stat{min-width:112px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03)}.hud-stat-wide{min-width:175px}.hud-stat span{display:block;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.13em}.hud-stat strong{display:block;margin-top:5px;font-size:14px}.top-actions{display:flex;gap:8px}.game-layout{min-height:0;display:grid;grid-template-columns:330px minmax(0,1fr)}.helper-panel{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);background:radial-gradient(circle at 50% 0,rgba(215,180,94,.09),transparent 26%),linear-gradient(#101b16,#0c1511);border-right:1px solid var(--line)}.helper-heading{padding:24px 24px 18px}.helper-heading h2{margin:4px 0 0;font:700 25px Georgia,serif}.helper-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:0 18px 14px;border-bottom:1px solid var(--line)}.helper-tab{padding:9px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer}.helper-tab.active{color:var(--ink);border-color:rgba(215,180,94,.35);background:rgba(215,180,94,.08)}.helper-content{min-height:0;overflow:auto;padding:18px}.helper-card{padding:16px;border:1px solid var(--line);border-radius:15px;background:rgba(0,0,0,.18)}.helper-card.emphasized{border-color:rgba(215,180,94,.34)}.helper-card strong{display:block;margin-top:5px;font:700 21px Georgia,serif}.helper-card p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.status-chip{margin-top:10px;display:flex;justify-content:space-between;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.025);font-size:12px}.status-chip span{color:var(--muted)}.status-chip b{color:var(--gold2)}.status-chip.danger{border-color:rgba(204,89,100,.33)}.helper-subhead{margin:20px 2px 8px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.14em}.ranking-mini,.mini-rule-list{border-top:1px solid var(--line)}.ranking-mini p,.mini-rule-list p,.log-list p{margin:0;padding:10px 2px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.ranking-mini p,.mini-rule-list p{display:flex;justify-content:space-between}.table-wrap{min-width:0;min-height:0;padding:14px;background:#07100c}.wood-frame{width:100%;height:100%;padding:14px 14px 23px;border-radius:22px;background:linear-gradient(#815638,var(--wood) 58%,var(--wood2) 82%,#2d1b12);box-shadow:0 24px 70px rgba(0,0,0,.46)}.felt-table{position:relative;width:100%;height:100%;min-height:570px;overflow:hidden;border-radius:15px;background:radial-gradient(circle at 50% 26%,rgba(255,242,188,.075),transparent 26%),radial-gradient(ellipse at center,var(--felt1),var(--felt2) 38%,var(--felt3) 70%,var(--felt4));box-shadow:inset 0 0 90px rgba(0,0,0,.45)}.felt-inner-line{position:absolute;inset:16px;border:1px solid rgba(255,255,255,.1);border-radius:16px}.felt-watermark{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.035);font:800 clamp(50px,8vw,110px) Georgia,serif;letter-spacing:.18em}.phase-ribbon{position:absolute;top:18px;left:50%;transform:translateX(-50%);z-index:6;max-width:52%;padding:8px 15px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(4,12,8,.55);font-size:11px;text-align:center}.opponent-seat{position:absolute;z-index:5;width:250px;transition:.22s}.seat-left{left:28px;top:92px}.seat-right{right:28px;top:92px}.seat-top{left:50%;top:62px;transform:translateX(-50%)}.opponent-seat.active .player-plate,.human-plate.active{border-color:var(--gold);box-shadow:0 15px 32px rgba(0,0,0,.33),0 0 30px rgba(215,180,94,.15)}.opponent-seat.finished{opacity:.62}.opponent-hand{position:relative;height:49px;margin:0 20px -7px}.mini-back{position:absolute;bottom:0;left:calc(50% - 23px + (var(--i) - 2)*7px);width:47px;height:67px;border:2px solid #e4dbc3;border-radius:5px;background:repeating-linear-gradient(135deg,#19375d 0 7px,#244d80 7px 14px);box-shadow:0 5px 10px rgba(0,0,0,.28);transform:rotate(calc((var(--i) - 2.5)*3deg))}.opponent-hand b{position:absolute;z-index:3;right:8px;bottom:1px;min-width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#101914;border:1px solid rgba(255,255,255,.15);font-size:11px}.player-plate{min-height:72px;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 11px;border:1px solid rgba(241,215,130,.23);border-radius:15px;background:linear-gradient(rgba(19,44,32,.96),rgba(7,17,12,.97));box-shadow:0 15px 30px rgba(0,0,0,.34)}.avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.2);font:800 15px Georgia,serif}.avatar-1{background:radial-gradient(circle at 35% 28%,#8da057,#4f6335 70%)}.avatar-2{background:radial-gradient(circle at 35% 28%,#8095a2,#485d69 70%)}.avatar-3{background:radial-gradient(circle at 35% 28%,#7d6e95,#4d405f 70%)}.human-avatar{background:radial-gradient(circle at 35% 28%,#b78b54,#74502f 72%)}.plate-copy strong{display:block;font:700 17px Georgia,serif}.plate-copy span{display:block;margin-top:3px;color:#9db8a7;font-size:9px;font-weight:800;letter-spacing:.12em}.card-counter{padding:6px 8px;border-radius:8px;background:rgba(0,0,0,.22);color:#e7d9ad;font-size:9px;font-weight:800}.table-center{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);z-index:4;display:grid;grid-template-columns:auto minmax(130px,180px) auto;align-items:center;gap:clamp(20px,4vw,54px)}.pile-block{display:grid;justify-items:center;gap:7px}.pile-label,.pile-count{color:rgba(237,245,239,.66);font-size:9px;font-weight:800;letter-spacing:.13em}.center-state{padding:15px 16px;border:1px solid rgba(215,180,94,.25);border-radius:14px;background:rgba(4,14,9,.38);text-align:center}.center-state strong{display:block;margin:5px 0 4px;font:700 23px Georgia,serif;color:var(--gold2)}.center-state small{color:#c1d0c6;font-size:10px}.discard-slot{width:120px;height:168px;display:grid;place-items:center;border:1px dashed rgba(255,255,255,.15);border-radius:12px}.card-face{position:relative;width:var(--cardw);height:var(--cardh);flex:0 0 var(--cardw);border:1px solid #c9cfcb;border-radius:10px;background:linear-gradient(145deg,#fff,#f2f1ec 67%,#e4e1d9);color:#171b19;box-shadow:0 13px 20px rgba(0,0,0,.27);overflow:hidden}.table-card{--cardw:120px;--cardh:168px}.corner{position:absolute;display:grid;justify-items:center;line-height:.94;font-family:Georgia,serif}.corner strong{font-size:20px}.corner span{font-size:17px}.top-corner{top:8px;left:9px}.bottom-corner{right:9px;bottom:8px;transform:rotate(180deg)}.center-pip{position:absolute;inset:0;display:grid;place-items:center;font:700 57px Georgia,serif}.suit-hearts{color:#bf2435}.suit-diamonds{color:#236ae0}.suit-clubs{color:#1e9d4a}.suit-spades{color:#14191d}.card-back{position:relative;width:120px;height:168px;border:3px solid #eee2c4;border-radius:8px;background:repeating-linear-gradient(135deg,#19375d 0 11px,#244d80 11px 22px);box-shadow:0 15px 24px rgba(0,0,0,.28)}.back-inner{position:absolute;inset:7px;display:grid;place-items:center;border:1px solid rgba(238,226,196,.8)}.back-inner span{padding:7px;background:rgba(25,55,93,.86);color:#f0e4c4;font:800 10px Georgia,serif;letter-spacing:.13em}.human-area{position:absolute;left:18px;right:18px;bottom:14px;z-index:7;height:245px;pointer-events:none}.human-plate{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:260px;pointer-events:auto}.human-hand{position:absolute;left:50%;bottom:78px;width:min(88%,950px);height:166px;transform:translateX(-50%);display:flex;align-items:flex-end;justify-content:center;pointer-events:none}.hand-card{margin-left:-24px;pointer-events:auto;transform-origin:center 125%;transform:translateY(var(--drop,0)) rotate(var(--angle,0));transition:.16s}.hand-card:first-child{margin-left:0}.hand-card.playable{cursor:pointer}.hand-card.playable:hover{transform:translateY(-14px) rotate(var(--hover-angle,0));filter:drop-shadow(0 0 10px rgba(215,180,94,.44));z-index:20}.hand-card.selected{transform:translateY(-20px) rotate(var(--selected-angle,0));box-shadow:0 0 0 3px var(--gold),0 16px 25px rgba(0,0,0,.32);z-index:25}.hand-card.disabled-card{filter:brightness(.53) saturate(.55)}.action-bar{position:absolute;left:50%;bottom:196px;transform:translateX(-50%);display:flex;gap:7px;pointer-events:auto}.btn{min-height:38px;padding:9px 13px;border:1px solid var(--line);border-radius:10px;background:rgba(0,0,0,.2);cursor:pointer;font-size:11px;font-weight:800;transition:.13s}.btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08)}.btn:disabled{opacity:.38;cursor:not-allowed}.btn.primary{color:#1b1a12;border-color:#efda8f;background:linear-gradient(var(--gold2),var(--gold3))}.btn.standard{background:linear-gradient(#2a4035,#21332a)}.btn.ghost{background:rgba(7,15,11,.46)}.makao-btn{border-color:rgba(215,180,94,.4);color:var(--gold2);background:rgba(215,180,94,.07)}.makao-btn.armed{color:#1e1a10;background:linear-gradient(#f1d782,#bd9137)}.overlay{position:fixed;inset:0;z-index:50;display:none;place-items:center;background:rgba(2,7,4,.78);backdrop-filter:blur(10px)}.overlay.open{display:grid}.menu-overlay{background:radial-gradient(circle at 50% 40%,rgba(23,106,72,.28),transparent 38%),rgba(3,9,6,.86)}.overlay-frame{width:calc(100% - 48px);height:calc(100% - 48px);display:grid;place-items:center;border:16px solid #50301e;border-radius:22px}.menu-card,.modal-card{width:min(520px,calc(100vw - 56px));padding:30px;border:1px solid rgba(215,180,94,.4);border-radius:22px;background:radial-gradient(circle at 50% 0,rgba(215,180,94,.10),transparent 28%),linear-gradient(#15231c,#0e1713);box-shadow:0 24px 70px rgba(0,0,0,.46);text-align:center}.brand-medal{width:74px;height:74px;margin:0 auto 17px;display:grid;place-items:center;border:2px solid var(--gold);border-radius:50%;background:radial-gradient(circle at 35% 30%,#20845a,#0e4932 72%);color:var(--gold2);font:700 34px Georgia,serif}.menu-card h1{margin:5px 0 8px;font:800 46px Georgia,serif;letter-spacing:.16em}.menu-lead{color:var(--muted);font-size:13px}.menu-section{margin:18px 0;padding:15px;border:1px solid var(--line);border-radius:14px;background:rgba(0,0,0,.14);text-align:left}.menu-label{display:block;margin-bottom:10px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.14em}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:7px}.segment{padding:10px;border:1px solid var(--line);border-radius:9px;background:#18231e;color:var(--muted);cursor:pointer}.segment.active{color:#1d1a10;border-color:var(--gold2);background:linear-gradient(var(--gold2),var(--gold3))}.menu-action{width:100%;margin-top:8px;min-height:49px;display:grid;grid-template-columns:32px 1fr 32px;align-items:center;border:1px solid var(--line);border-radius:12px;background:linear-gradient(#263d32,#1b2c24);cursor:pointer}.menu-action strong{text-align:left}.primary-menu{color:#1d1b12!important;background:linear-gradient(#e7cd78,#bd9137)!important}.motion-toggle{margin-top:18px;display:flex;justify-content:center;gap:8px;color:var(--muted);font-size:11px}.motion-toggle input{accent-color:var(--gold)}.modal-card{position:relative;text-align:left}.modal-card h2{margin:5px 0 8px;font:700 30px Georgia,serif}.modal-close{position:absolute;top:13px;right:13px;width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:rgba(0,0,0,.22);cursor:pointer}.choice-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:18px}.choice-button{min-height:62px;border:1px solid var(--line);border-radius:12px;background:#18251f;cursor:pointer;font:800 21px Georgia,serif}.suit-choice{display:flex;align-items:center;justify-content:center;gap:8px;font:12px Inter,system-ui}.suit-choice b{font:700 28px Georgia,serif}.rules-card{width:min(840px,calc(100vw - 56px))}.rules-scroll{max-height:68vh;overflow:auto}.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.rule-grid article{padding:13px;border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.14)}.rule-grid strong{font:700 16px Georgia,serif;color:var(--gold2)}.rule-grid p{margin:6px 0 0;color:#bac9c0;font-size:12px;line-height:1.45}.source-note{color:var(--muted);font-size:10px}.standings{display:grid;gap:7px;margin-top:18px}.standing-row{display:grid;grid-template-columns:38px 1fr auto;align-items:center;padding:12px;border:1px solid var(--line);border-radius:11px;background:rgba(0,0,0,.13)}.wide{width:100%;margin-top:18px}.toast{position:fixed;left:50%;bottom:24px;z-index:100;transform:translate(-50%,20px);padding:11px 15px;border:1px solid rgba(215,180,94,.35);border-radius:11px;background:rgba(10,19,14,.96);opacity:0;pointer-events:none;transition:.18s}.toast.show{opacity:1;transform:translate(-50%,0)}.reduce-motion *{animation-duration:.001ms!important;transition-duration:.001ms!important}@media(max-width:1180px){body{overflow:auto}.app-shell{display:block}.topbar{grid-template-columns:1fr auto}.hud-stats{grid-column:1/-1;overflow-x:auto}.game-layout{display:flex;flex-direction:column-reverse}.table-wrap{height:720px}.helper-panel{min-height:360px}}@media(max-width:820px){:root{--cardw:74px;--cardh:106px}.table-wrap{height:650px;padding:6px}.opponent-seat{width:190px}.seat-left{left:10px;top:70px}.seat-right{right:10px;top:70px}.seat-top{top:45px}.card-back,.discard-slot,.table-card{width:78px;height:110px}.table-card{--cardw:78px;--cardh:110px}.human-hand{width:96%}.action-bar{width:96%;flex-wrap:wrap}.overlay-frame{width:calc(100% - 20px);height:calc(100% - 20px);border-width:8px}.rule-grid{grid-template-columns:1fr}}@media(max-width:560px){.table-wrap{height:720px}.opponent-seat{width:145px}.seat-left{left:7px;top:87px}.seat-right{right:7px;top:87px}.seat-top{top:42px}.opponent-seat .card-counter{display:none}.table-center{top:46%;grid-template-columns:auto auto}.center-state{position:absolute;left:50%;top:-56px;width:170px;transform:translateX(-50%)}.human-hand{justify-content:flex-start;padding-left:24px;overflow-x:auto}.choice-options{grid-template-columns:repeat(2,1fr)}}
