@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700;900&display=swap');
:root{--ink:#f4f2e9;--muted:#a4b0a5;--green:#10261f;--green2:#17362b;--mint:#b9d3a3;--red:#bd5146;--gold:#d6bd7b}*{box-sizing:border-box}body{margin:0;background:var(--green);color:var(--ink);font-family:'DM Sans','Noto Sans SC',sans-serif;min-height:100vh}button,input{font:inherit}button{cursor:pointer}.hidden{display:none!important}.auth-shell{min-height:100vh;display:grid;place-content:center;justify-items:center;padding:26px;background:radial-gradient(ellipse at 50% 42%,#254638 0,#10261f 58%)}.brand{display:flex;gap:13px;align-items:center}.brand-mark{width:49px;height:49px;display:grid;place-items:center;background:var(--red);color:white;font:900 28px 'Noto Sans SC';box-shadow:4px 4px 0 #762d27;transform:rotate(-3deg)}.eyebrow{font-size:10px;letter-spacing:2px;color:#9aae99}.brand h1{font:700 28px 'Noto Sans SC';letter-spacing:5px;margin:2px 0}.auth-card{margin-top:34px;width:min(400px,calc(100vw - 36px));padding:27px 30px;background:#f2f0e7;color:#1e342b;box-shadow:12px 12px 0 #0b1b16}.tabs{display:flex;gap:24px;border-bottom:1px solid #d7d7ca;margin-bottom:22px}.tab{padding:0 0 12px;border:0;background:none;color:#879088}.tab.active{color:#1e342b;border-bottom:2px solid var(--red);font-weight:700}.auth-card label{display:block;font-size:12px;font-weight:600;margin:15px 0}.auth-card input,.join input{display:block;width:100%;margin-top:8px;border:1px solid #d6d9cf;background:#fffefa;padding:13px 12px;color:#1e342b;outline:none}.auth-card input:focus,.join input:focus{border-color:#739378}.primary{border:0;background:var(--red);color:#fff;padding:14px 22px;font-weight:700;box-shadow:4px 4px 0 #792d27}.primary span{margin-left:16px}.full{width:100%;margin-top:7px}.muted{color:#818981}.small{font-size:11px;text-align:center;margin:18px 0 0}.auth-foot{margin-top:30px;font-size:11px;letter-spacing:2px;color:#9aae99}.error{color:#a3342d;font-size:12px;margin-top:9px;min-height:16px}.screen{max-width:1100px;margin:auto;padding:0 38px}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff1a}.brand.compact{font:700 17px 'Noto Sans SC';gap:10px}.compact .brand-mark{width:31px;height:31px;font-size:18px;box-shadow:2px 2px 0 #762d27}.profile{display:flex;align-items:center;gap:10px;font-size:12px;color:#dce1d6}.avatar{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#d9cfac;color:#334a37;font-weight:700}.card-count{color:var(--gold);margin-left:12px}.card-count b{color:#fff}.icon-button,.back{border:0;background:none;color:#b6c2b6;font-size:17px}.hero{position:relative;min-height:350px;padding:63px 0 45px;border-bottom:1px solid #ffffff1a;overflow:hidden}.hero-copy{position:relative;z-index:2;max-width:570px}.hero h1{font:700 clamp(32px,5vw,50px) 'Noto Sans SC';margin:14px 0}.hero h1 em{font-style:normal;color:var(--mint)}.hero p{color:#aab8ac;font-size:13px;line-height:1.9;max-width:400px}.hero-actions{display:flex;gap:15px;align-items:center;margin-top:26px}.join{display:flex;border:1px solid #71857755}.join input{width:145px;margin:0;background:#ffffff08;border:0;color:#fff;padding:12px}.join input::placeholder{color:#84958a}.join button{border:0;background:#ffffff0b;color:#d6e2d4;padding:0 14px;font-size:12px}.tiles-art{position:absolute;right:64px;top:47px;width:260px;height:245px}.tile{position:absolute;width:112px;height:150px;border-radius:5px;background:#eeeade;display:grid;place-items:center;font:900 68px 'Noto Sans SC';box-shadow:8px 10px 0 #081a13;color:var(--red)}.tile-back{transform:rotate(15deg);left:111px;top:26px;color:#426c54}.tile-mid{transform:rotate(-10deg);left:35px;top:52px;color:#b39855}.tile-front{transform:rotate(-1deg);left:80px;top:75px}.orbit{position:absolute;width:225px;height:225px;border:1px solid #bdd3a322;border-radius:50%;left:14px;top:10px}.hero-note{position:absolute;bottom:17px;right:0;color:#89988c;font-size:10px;letter-spacing:1px}.section-heading{display:flex;justify-content:space-between;align-items:end;padding:30px 0 18px}.section-heading h2{font:600 19px 'Noto Sans SC';margin:7px 0 0}.section-count{font-size:10px;color:#839489;letter-spacing:1px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.feature{position:relative;min-height:143px;padding:19px;background:#173329;border:1px solid #ffffff12}.feature-num{font-size:10px;color:#879c8d}.feature-icon{position:absolute;right:18px;top:17px;width:33px;height:33px;display:grid;place-items:center;border:1px solid #ffffff20;font-weight:700}.red{color:#df796a}.green{color:#b9d3a3}.gold{color:#d6bd7b}.feature h3{font:600 15px 'Noto Sans SC';margin:17px 0 7px}.feature p{font-size:11px;color:#9eafa2;margin:0;line-height:1.8}footer{text-align:center;padding:24px;color:#65796c;font-size:10px;letter-spacing:1px}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);opacity:0;background:#f1eee2;color:#1e342b;padding:11px 17px;font-size:13px;transition:.2s;pointer-events:none;z-index:9}.toast.show{opacity:1;transform:translate(-50%,0)}.table-title{font-size:13px}.copy{border:1px solid #ffffff30;background:none;color:#d0d8cd;font-size:10px;margin-left:8px;padding:6px 9px}.table-wrap{padding:20px 0}.table-felt{position:relative;margin:auto;max-width:800px;height:min(53vh,420px);min-height:330px;border-radius:46%/38%;border:10px solid #6e5234;background:radial-gradient(ellipse,#286047,#17412f 67%,#123426);box-shadow:inset 0 0 0 2px #a48a56,inset 0 0 36px #061b12,0 12px 20px #081912}.seat{position:absolute;color:#ecede3;font-size:12px;background:#0e251dcc;padding:9px 13px;border:1px solid #ffffff25;border-radius:2px;min-width:85px;text-align:center}.seat-top{top:12px;left:50%;transform:translateX(-50%)}.seat-bottom{bottom:10px;left:50%;transform:translateX(-50%)}.seat-left{left:15px;top:47%}.seat-right{right:15px;top:47%}.center-info{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center}.center-logo{color:#d87868;font:900 46px 'Noto Sans SC';opacity:.75}.turn-label{font-size:11px;color:#d8dfd1;white-space:nowrap}.discards{display:flex;gap:3px;justify-content:center;max-width:220px;flex-wrap:wrap;margin-top:8px}.discard{background:#f2eee1;color:#34513e;padding:4px 5px;font-size:11px;border-radius:2px}.table-controls{text-align:center;min-height:39px}.table-controls button{margin:0 4px;border:1px solid #ffffff45;color:#fff;background:#ffffff10;padding:8px 15px;font-size:12px}.table-controls .action-red{background:#a8433a;border-color:#a8433a}.hand{display:flex;justify-content:center;gap:3px;padding:8px 5px;overflow-x:auto}.hand-tile{flex:0 0 auto;width:clamp(27px,5vw,43px);height:57px;background:#f1eee2;color:#294437;border-radius:3px 3px 0 0;display:grid;place-items:center;font:600 16px 'Noto Sans SC';box-shadow:0 3px 0 #bcb7a8;cursor:pointer}.hand-tile.red-tile{color:#b53d34}.table-help{text-align:center;color:#819489;font-size:10px;padding:10px}@media(max-width:680px){.screen{padding:0 18px}.topbar{height:64px}.profile{gap:7px}.hero{padding-top:42px;min-height:330px}.hero-copy{max-width:none}.hero h1{font-size:34px}.hero p{max-width:320px}.tiles-art{right:-83px;top:89px;opacity:.36;transform:scale(.8)}.hero-actions{align-items:stretch;flex-direction:column;width:min(100%,320px)}.hero-actions>.primary{align-self:flex-start}.join{height:43px}.join input{flex:1;width:auto;min-width:0}.join button{white-space:nowrap}.section-count{display:none}.feature-grid{grid-template-columns:1fr}.feature{min-height:119px}.feature h3{margin-top:12px}.table-felt{height:42vh;min-height:300px;border-width:7px}.seat{font-size:10px;padding:7px 9px;min-width:70px}.seat-left{left:4px}.seat-right{right:4px}.hand{justify-content:flex-start}.room-title{font-size:12px}.back{font-size:12px;padding:0}.table-title{display:none}}
