/* Telegram publishes these insets on resize; env() covers ordinary mobile browsers. */
body{padding-top:calc(max(env(safe-area-inset-top,0px),var(--tg-safe-area-inset-top,0px)) + var(--tg-content-safe-area-inset-top,0px));padding-bottom:calc(max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px)) + var(--tg-content-safe-area-inset-bottom,0px));padding-left:max(env(safe-area-inset-left,0px),var(--tg-safe-area-inset-left,0px));padding-right:max(env(safe-area-inset-right,0px),var(--tg-safe-area-inset-right,0px));min-height:var(--tg-viewport-stable-height,100dvh)}
:root{color-scheme:dark;--bg:#0b1919;--panel:#122625;--line:#29403b;--text:#f2eee1;--muted:#9bb1a8;--gold:#e8bd72;--green:#1d4b40;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,a{font:inherit}button,.button{cursor:pointer;border:1px solid var(--line);border-radius:10px;padding:12px 18px;background:#203731;color:var(--text);text-decoration:none;transition:background .15s,transform .15s}button:hover,.button:hover{background:#315046}button:disabled{opacity:.4;cursor:not-allowed}a{color:var(--gold);text-decoration:none}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(40px,6vw,76px);letter-spacing:-2px;line-height:1.08;margin:20px 0}h2{font-size:24px;letter-spacing:-.6px;margin:12px 0 18px}p{line-height:1.65;color:var(--muted)}.shell{max-width:1200px;margin:auto;padding:0 32px}header{height:100px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:15px}.brand{display:flex;gap:12px;align-items:center;font-size:38px;color:var(--gold)}.brand span{font-size:20px;font-weight:750;letter-spacing:3px;color:var(--text)}.brand small{display:block;font-size:8px;letter-spacing:3px;margin-top:5px;color:var(--muted)}#identity{display:flex;align-items:center;gap:10px;font-size:13px}.avatar{height:38px;width:38px;display:grid;place-items:center;background:#35594a;border:1px solid #638471;border-radius:50%;color:var(--gold)}.subtle{padding:8px;border:0;background:transparent;color:var(--muted);font-size:12px}.hero{padding:65px 0 20px}.eyebrow,.step{color:var(--gold);letter-spacing:2px;font-size:10px;font-weight:700}.hero>p{max-width:500px;font-size:16px}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px}.panel h2{margin-top:18px}.choices{display:flex;gap:10px;flex-wrap:wrap}.choice input{position:absolute;opacity:0;width:1px}.choice span{display:grid;place-items:center;width:52px;height:48px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.choice input:checked+span{background:var(--gold);color:#1e2a21;border-color:var(--gold)}.choice input:focus-visible+span{outline:2px solid white}.primary{background:var(--gold);color:#192820;border-color:var(--gold);font-weight:650}.primary:hover{background:#f3d092}.secondary{background:transparent}.wide{width:100%;margin-top:20px;display:flex;justify-content:space-between}.fine{font-size:12px;margin:16px 0 0}label{display:block;color:var(--muted);font-size:13px}input:not([type=radio]){display:block;border:1px solid var(--line);background:#0c1d1b;border-radius:8px;color:var(--text);padding:13px 14px;width:100%;margin-top:10px}.rules{margin:25px 0;color:var(--muted);font-size:13px}.rules summary{cursor:pointer}.rules p{max-width:850px}footer{display:flex;justify-content:space-between;color:#769187;font-size:11px;padding:30px 0;border-top:1px solid var(--line);margin-top:30px}.room-heading{display:flex;justify-content:space-between;align-items:center;padding:28px 0 14px}.room-heading h2{margin-bottom:5px}.felt{position:relative;min-height:380px;border:1px solid #41614c;border-radius:32px;background:radial-gradient(ellipse at 50% 60%,#245340,#15382e 80%);box-shadow:inset 0 0 0 7px #102f26,inset 0 0 80px #0b261f80;padding:25px}.opponents{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.seat{text-align:center;min-width:90px;font-size:12px}.seat .avatar{margin:auto auto 7px}.seat b,.seat small{display:block}.seat small{color:#a1bbad;font-size:10px;margin-top:5px}.seat.defending .avatar{box-shadow:0 0 0 3px var(--gold)}.vacant{opacity:.5}.vacant .avatar{background:transparent;border-style:dashed}.table-empty{text-align:center;margin:auto;padding:28px 10px}.table-empty h2{font-family:Georgia,serif;font-weight:400;font-size:29px}.table-empty p{font-size:13px}.big-suit{color:#71907860;font-size:50px}.deck-info{position:absolute;left:24px;top:150px;display:flex;align-items:center;gap:10px;font-size:10px;color:#b3cabb}.deck-info .card{width:45px;height:67px;font-size:13px;cursor:default;opacity:1}.deck-info .card b{font-size:23px}.deck-info>span{line-height:1.8}.table-cards{display:flex;justify-content:center;align-items:center;gap:20px;min-height:210px;padding:30px 0 0 120px;flex-wrap:wrap}.card{position:relative;flex-shrink:0;width:70px;height:101px;border-radius:7px;background:#f4f0e4;color:#172b28;border:1px solid #d7d5c8;padding:7px;text-align:left;font-weight:700;box-shadow:0 4px 6px #0003}.card:hover{background:#fff9ee;transform:translateY(-3px)}.card.red{color:#b94a46}.card span{font-size:19px;line-height:1}.card small{display:block;font-size:16px}.card b{position:absolute;right:10px;bottom:10px;font-size:34px}.card.selected{outline:3px solid var(--gold);transform:translateY(-12px)}.card:disabled{opacity:1;cursor:default}.pair{position:relative;width:88px;min-height:125px}.pair .card:nth-child(2){position:absolute;left:16px;top:21px;transform:rotate(8deg)}.pair.target{filter:drop-shadow(0 0 3px #e8bd72)}.hand-zone{padding:22px 0 0}.hand-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:10px}.hand-label span{color:var(--muted);font-size:11px}.hand{display:flex;gap:9px;overflow:auto;padding:23px 3px 15px;min-height:140px}.actions{display:flex;justify-content:center;gap:10px;padding:8px 0 16px;flex-wrap:wrap}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);max-width:90vw;width:max-content;background:#e8bd72;color:#14251d;padding:15px 22px;border-radius:12px;box-shadow:0 8px 40px #0006;font-size:13px;opacity:0;pointer-events:none;transition:.2s;z-index:10}#toast.show{opacity:1;transform:translate(-50%,0)}.empty{padding:80px;text-align:center;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.metric{padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.metric small{display:block;color:var(--muted);font-size:12px}.metric strong{display:block;font-size:34px;font-weight:500;margin-top:10px}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin:20px 0}.chart{width:100%;height:180px}.chart polyline{fill:none;stroke:var(--gold);stroke-width:3}.chart line{stroke:var(--line)}.chart text{fill:var(--muted);font-size:11px}.bar-row{display:grid;grid-template-columns:90px 1fr 35px;gap:10px;font-size:12px;align-items:center;margin:15px 0}.bar-row meter{width:100%;height:14px;accent-color:var(--gold)}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{font-weight:500;color:var(--muted)}td,th{padding:14px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.pill{border:1px solid var(--line);padding:4px 8px;border-radius:20px;font-size:10px}.notice{border-left:3px solid var(--gold);padding:12px 18px;background:var(--panel);font-size:13px;color:var(--muted)}
@media(max-width:700px){.shell{padding:0 16px}header{height:76px}.brand{font-size:30px}.brand span{font-size:15px}.brand small{font-size:7px}#identity{font-size:11px;gap:5px}#identity .avatar{display:none}.hero{padding-top:35px}h1{letter-spacing:-1.5px}.home-grid,.dashboard-grid{grid-template-columns:1fr}.home-grid{margin-top:28px}.panel{padding:22px}.room-heading{gap:10px}.room-heading h2{font-size:21px}.room-heading .choices{gap:2px}.room-heading button{font-size:11px;padding:9px}.felt{padding:18px 10px;border-radius:22px;min-height:350px}.opponents{gap:12px 8px}.seat{min-width:76px;max-width:95px}.seat b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat .avatar{width:32px;height:32px}.deck-info{left:12px;top:auto;bottom:22px;display:block}.deck-info>span{display:block;font-size:9px}.table-cards{padding-left:48px;gap:9px;min-height:225px}.pair{width:61px;min-height:106px}.card{width:57px;height:84px;padding:5px}.card span{font-size:16px}.card b{font-size:27px;right:8px;bottom:7px}.pair .card:nth-child(2){left:9px;top:16px}.hand{gap:6px;min-height:120px}.hand-label{align-items:flex-start;flex-direction:column}.actions button{font-size:12px;padding:12px}.metric-grid{grid-template-columns:1fr 1fr}.metric{padding:17px}.metric strong{font-size:29px}footer{font-size:9px;gap:10px}}
button,.button,select,.subtle{min-height:44px;touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}select{display:block;max-width:100%;width:100%;margin-top:10px;padding:10px;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px;font:inherit}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:16px;align-items:end}.filters[hidden]{display:none}.analytics-section{margin:20px 0}.table-scroll:focus-visible{outline:2px solid var(--gold)}#invite-area{margin:20px 0}#invite-link{font-size:14px}#pending-area:not(:empty){margin-top:16px}#toast{bottom:calc(25px + max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px)) + var(--tg-content-safe-area-inset-bottom,0px))}.room-heading{flex-wrap:wrap}.shell{min-width:0}#identity{flex-wrap:wrap;justify-content:flex-end}.card[aria-pressed=true]{outline:3px solid var(--gold)}@media(max-width:400px){.panel{padding:16px}.choice span{width:45px}.choices{gap:7px}.seat{min-width:70px}.metric-grid{grid-template-columns:1fr 1fr}.brand span{letter-spacing:1px}header{height:auto;min-height:90px;padding:12px 0}.room-heading h2{font-size:20px}}

.friend-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid #ffffff20}.friend-row small{color:var(--muted,#a4b6ae)}#friends-panel h2{margin-top:28px}#friend-request{display:grid;gap:12px}#friends-panel input[type=checkbox]{width:auto;margin-right:8px}

