:root{--bg:#f1f3ee;--surface:#ffffff;--surface-2:#e9ece5;--ink:#1b211c;--mut:#5d685f;--line:#d9ded4;--brand:#1e5c45;--brand-ink:#ffffff;--alert:#bf4136;--gold:#b8862f;--felt-a:#226349;--felt-b:#16382b;--card-face:#fcfbf6;--card-ink:#23281f}@media (prefers-color-scheme:dark){:root{--bg:#10140f;--surface:#1a211b;--surface-2:#232b24;--ink:#e8ebe4;--mut:#93a096;--line:#2a332b;--brand:#3c8e6c;--brand-ink:#0c130e;--alert:#d4574b;--gold:#d3a44a}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0;height:100%}body.testenv{--bg:#f3eede}@media (prefers-color-scheme:dark){body.testenv{--bg:#17130a}}body{background:var(--bg);color:var(--ink);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overscroll-behavior:none}button{font:inherit;cursor:pointer;border:0}.app{max-width:480px;margin:0 auto;min-height:100dvh}.app,.chrome{display:flex;flex-direction:column}.chrome{padding:14px 16px 32px;gap:12px}.h1{font-size:22px;font-weight:800;letter-spacing:-.01em;margin:4px 0 0}.h1 small{display:block;font-size:12.5px;font-weight:500;color:var(--mut);margin-top:2px}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:13px 14px}.card .ttl{font-weight:700;font-size:15.5px}.card .sub{color:var(--mut);font-size:12px;margin-top:2px}.sect{display:flex;align-items:center;gap:8px}.sect .ttl{font-size:16.5px;flex:1 1;min-width:0}.chip.gold{color:var(--gold);font-weight:700;font-size:12.5px;background:color-mix(in srgb,var(--gold) 13%,transparent);border:1px solid color-mix(in srgb,var(--gold) 40%,transparent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.items{display:flex;flex-direction:column}.items .item{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line);min-height:56px}.items .item:first-child{border-top:0}.items .item .name{flex:1 1;min-width:0;font-weight:600;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row{display:flex;align-items:center;gap:10px}.grow{flex:1 1;min-width:0}.btn{background:var(--brand);color:var(--brand-ink);font-weight:700;font-size:14px;padding:12px 16px;border-radius:12px;text-align:center}.btn.line{color:var(--brand);border:1.5px solid var(--brand)}.btn.dgr,.btn.line{background:transparent}.btn.dgr{color:var(--alert);border:1.5px solid color-mix(in srgb,var(--alert) 45%,transparent)}.btn.gold{background:var(--gold);color:#241d0d}.btn.small{padding:8px 12px;font-size:13px;border-radius:10px}.btn:disabled{background:var(--surface-2);color:var(--mut);border-color:var(--line)}.btn.danger{background:var(--alert);color:#fff}input,select{background:var(--surface);color:var(--ink);border:1.5px solid var(--line);border-radius:10px;padding:11px 12px;font:inherit;width:100%}.field{display:flex;flex-direction:column;gap:4px}.formgrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;align-items:end}.roundrow{display:grid;grid-template-columns:18px 68px 68px 94px minmax(0,1fr) 28px;grid-gap:4px;gap:4px;align-items:center;font-size:12px;margin-top:4px}.roundrow .chip{display:flex;width:100%;justify-content:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.field label{font-size:12px;font-weight:650;color:var(--mut)}.chip{display:inline-block;font-size:11px;font-weight:600;background:var(--surface-2);border-radius:999px;padding:3px 9px}.chip,.muted{color:var(--mut)}.muted{font-size:12.5px}.err{color:var(--alert);font-size:13px;font-weight:600}.presets{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.preset{flex:0 0 130px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);padding:10px;font-size:11.5px;text-align:left}.preset .pn{font-weight:700;font-size:12.5px;color:var(--ink)}.preset .pd{color:var(--mut);font-size:10.5px;margin-top:3px;line-height:1.35}.preset.on{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.table-screen{background:linear-gradient(180deg,var(--felt-a),var(--felt-b) 70%);color:#f0f4ee;height:100dvh;display:flex;flex-direction:column;max-width:480px;margin:0 auto}.t-mid{flex:1 1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.t-mid .center{margin:auto 0}.t-top{display:flex;align-items:center;gap:8px;padding:12px 14px 6px}.round-chip{font:700 11px/1 ui-monospace,monospace;background:rgba(255,255,255,.14);padding:6px 9px;border-radius:999px;letter-spacing:.04em}.contract{font-weight:600;font-size:13px;flex:1 1}.t-btn{background:rgba(255,255,255,.12);color:#f0f4ee;border-radius:8px;padding:6px 10px;font-size:12px}.opps{display:flex;justify-content:space-around;flex-wrap:wrap;row-gap:6px;padding:6px 8px 2px}.opp{flex-direction:column;gap:3px;width:72px;text-align:center}.ava,.opp{display:flex;align-items:center}.ava{width:40px;height:40px;border-radius:50%;background:#35513f;position:relative;justify-content:center;font-weight:700;font-size:14px;color:#dfe9dd}.ava.turn{box-shadow:0 0 0 3px #7dd3a8,0 0 16px rgba(125,211,168,.55)}.cnt{left:-6px;bottom:-3px;min-width:16px;height:16px;border-radius:8px;background:#0e2b1f;border:1.5px solid #35513f;font:700 9px/13px ui-monospace,monospace;text-align:center;padding:0 2px}.cnt,.dot{position:absolute}.dot{right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;border:2px solid #1c4534}.dot.connected{background:#6fce74}.dot.grace{background:#e5b545}.dot.bot,.dot.dropped{background:#9aa7b1}.opp .nm{font-size:10.5px;font-weight:600;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opp .meta{font-size:9.5px;opacity:.75}.melds{flex-wrap:wrap;gap:8px;padding:8px 12px 4px}.meldbox{background:rgba(0,0,0,.22);border:1px solid transparent;border-radius:8px;padding:5px 7px 6px;flex:0 0 auto}.meldbox.target{border-color:#7dd3a8}.meldbox .who{font-size:9px;opacity:.75;margin-bottom:3px;letter-spacing:.05em;text-transform:uppercase}.meldbox .mrow{display:flex;gap:2px}.center{flex:1 1;justify-content:center;gap:30px;min-height:120px}.center,.pile{display:flex;align-items:center}.pile{flex-direction:column;gap:6px;font-size:11px;opacity:.95;background:none;color:inherit;padding:0}.pile:disabled{opacity:.45}.pile.hot .cardback,.pile.hot .cardface{box-shadow:0 0 0 2px #7dd3a8}.cardface{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;background:var(--card-face);color:var(--card-ink);border:1px solid rgba(20,24,16,.3);border-radius:6px;font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.3);position:relative}.cardface.red{color:#bf4136}.cardface.joker{color:#8b6b1f}.cardface.mini{width:34px;height:48px;font-size:13px}.cardface.pilecard{width:52px;height:76px;font-size:19px}.cardback{border-radius:6px;color:#cfe4d6;font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#1e5c45 0 5px,transparent 5px 10px),#17402f;border:1.5px solid rgba(255,255,255,.38);box-shadow:0 1px 3px rgba(0,0,0,.4)}.cardback,.pileempty{width:52px;height:76px}.pileempty{border-radius:6px;background:rgba(0,0,0,.22);border:1px dashed rgba(255,255,255,.3)}.own{padding:4px 10px calc(22px + env(safe-area-inset-bottom));background:rgba(0,0,0,.18)}.progress{display:flex;gap:6px;padding:8px 2px;flex-wrap:wrap;align-items:center}.pchip{font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.13)}.pchip.done{background:#2e7d5b}.pchip.hand{margin-left:auto;background:rgba(0,0,0,.28);font-family:ui-monospace,monospace}.fan{display:flex;flex-wrap:wrap;gap:0;row-gap:10px;padding:6px 0 2px 12px}.handcard{width:54px;height:76px;margin-left:-14px;font-size:18px;border-radius:7px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;background:var(--card-face);color:var(--card-ink);border:1px solid rgba(20,24,16,.35);box-shadow:0 1px 2px rgba(0,0,0,.3);position:relative;font-weight:700;padding:0;transition:transform .12s ease}.handcard.red{color:#bf4136}.handcard.joker{color:#8b6b1f}.handcard.sel{transform:translateY(-12px);outline:2px solid #7dd3a8}.handcard.new{outline:2px dashed var(--gold)}.handcard .newbadge{position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);font-size:7px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--gold);color:#fff;border-radius:3px;padding:.5px 3px;pointer-events:none;white-space:nowrap}.handcard.grouped{opacity:.35}.handcard{touch-action:none}.handcard.dragging{opacity:.55;transform:translateY(-6px) scale(1.05);z-index:5}.pv{position:absolute;top:2px;left:2px;font:700 8px/1 ui-monospace,monospace;background:rgba(27,42,32,.13);color:rgba(27,42,32,.75);border-radius:3px;padding:1.5px 3px}.cardface.joker .pv,.handcard.joker .pv{background:rgba(191,65,54,.16);color:#a23a30}.actions{display:flex;gap:8px;padding-top:10px}.abtn{flex:1 1;text-align:center;font-weight:700;font-size:14px;padding:13px 8px;border-radius:12px;background:#2e7d5b;color:#f2f7f1}.abtn:disabled{background:rgba(255,255,255,.1);color:rgba(255,255,255,.4)}.abtn.line{background:transparent;border:1.5px solid rgba(255,255,255,.35)}.abtn.dgr{background:rgba(212,87,74,.14);border:1.5px solid rgba(212,87,74,.55);color:#ffd9d4}.menucol{display:flex;flex-direction:column;gap:8px;margin-top:6px}.menucol .abtn{flex:none;display:block;text-decoration:none;min-height:48px;line-height:22px}.sheet textarea{background:rgba(0,0,0,.35);color:#eef3ec;border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;margin-top:6px;box-sizing:border-box;resize:vertical}.timerbar{height:4px;border-radius:2px;background:rgba(255,255,255,.15);margin-top:10px;overflow:hidden}.timerbar i{display:block;height:100%;background:#7dd3a8;transition:width 1s linear}.timerbar.hot i{background:var(--alert)}.groups{display:flex;gap:6px;flex-wrap:wrap;padding-top:6px}.group{border:1px dashed rgba(255,255,255,.4);border-radius:8px;padding:4px 7px;font-size:11px;display:flex;gap:4px;align-items:center}.group b{font-size:10px;text-transform:uppercase;letter-spacing:.05em}.group button{background:none;color:#f0cf7c;padding:0 2px;font-size:13px}.veil{position:fixed;inset:0;background:rgba(8,20,14,.78);z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:0 24px}.sankki-btn{width:88px;height:88px;border-radius:50%;background:var(--alert);color:#fff;font:800 15px/1.2 system-ui,sans-serif;box-shadow:0 6px 22px rgba(191,65,54,.55)}.sankki-btn small{display:block;font:700 14px/1 ui-monospace,monospace;margin-top:6px;opacity:.9}.veil .terms{font-size:13px;opacity:.9;max-width:260px;color:#f0f4ee}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:30;max-width:480px;margin:0 auto;background:rgba(10,26,19,.97);color:#eef3ec;border-radius:20px 20px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -12px 40px rgba(0,0,0,.5)}.sheet h3{margin:0 0 4px;font-size:17px}.sheet .es{font-size:12px;opacity:.75;margin-bottom:10px}.matrixwrap{overflow-x:auto}.matrix{border-collapse:collapse;width:100%;color:#eef3ec;font:600 11px/1 ui-monospace,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.matrix th{font-size:9px;font-weight:700;opacity:.75;padding:4px 3px;text-align:right}.matrix td:first-child,.matrix th:first-child{text-align:left;font-family:system-ui}.matrix td{padding:6px 3px;text-align:right;border-top:1px solid rgba(255,255,255,.12)}.matrix .zero{color:#7dd3a8;font-weight:800}.matrix .sum{font-weight:800;border-left:1px solid rgba(255,255,255,.25);padding-left:6px}.banner{top:0;left:0;right:0;z-index:50;text-align:center;background:var(--gold);color:#1b211c;font-weight:700;padding:8px}.banner,.toast{position:fixed;font-size:13px}.toast{bottom:90px;left:50%;transform:translateX(-50%);z-index:45;background:rgba(10,26,19,.95);color:#eef3ec;border-radius:10px;padding:9px 16px;max-width:90%;box-shadow:0 6px 20px rgba(0,0,0,.4)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.t-btn.exit{border:1px solid rgba(212,87,74,.7);background:rgba(212,87,74,.18);color:#ffd9d4;border-radius:8px;font-weight:800}.turnflash{position:fixed;inset:0;z-index:60;pointer-events:none;background:rgba(212,87,74,.45);animation:turnflash .9s ease-out forwards}@keyframes turnflash{to{opacity:0}}.opp .nextbadge{font-size:8px;font-weight:800;color:#0e2b1f;background:var(--gold);border-radius:999px;padding:1px 6px;letter-spacing:.04em}.melds{flex-direction:column}.meldrow,.melds{display:flex;gap:6px}.meldrow{align-items:flex-start}.meldrow .who{flex:none;width:52px;font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;opacity:.8;padding-top:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meldgroups{display:flex;flex-wrap:wrap;gap:4px;flex:1 1;min-width:0}.meldrow .mrow{gap:0;flex-wrap:wrap;row-gap:3px}.meldrow .mrow .cardface.mini{align-items:flex-start;padding-left:3px;position:relative;box-shadow:-2px 0 3px rgba(0,0,0,.35)}.meldrow .mrow .cardface.mini+.cardface.mini{margin-left:-14px}.endpick,.meldrow .mrow .cardface.mini{font-size:11px}.endpick{display:inline-flex;align-items:center;justify-content:center;width:22px;height:48px;flex:none;margin:0 1px;background:color-mix(in srgb,#7dd3a8 22%,transparent);border:1px dashed #7dd3a8;border-radius:5px;color:#7dd3a8;font-weight:800}.endpick.low{-webkit-margin-end:3px;margin-inline-end:3px}.endpick.high{-webkit-margin-start:3px;margin-inline-start:3px}.advsec{font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--mut);margin-top:10px}.fan .handgap{width:54px;height:76px;border-radius:6px;flex:none;border:1.5px dashed rgba(255,255,255,.35);background:rgba(255,255,255,.05)}.fan .handcard.groupend{-webkit-margin-end:14px;margin-inline-end:14px}.chip.callout{background:transparent;color:var(--gold);border:1px solid var(--gold);font-weight:800;animation:shout .7s ease-in-out infinite alternate}@keyframes shout{0%{transform:scale(1);opacity:.85}to{transform:scale(1.08);opacity:1}}.chatbadge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;background:var(--alert);color:#fff;border-radius:999px;font:800 10px/16px system-ui;padding:0 4px}.chatlog{gap:5px;max-height:38dvh;overflow-y:auto;font-size:13px;padding:4px 0}.chatlog,.landing{display:flex;flex-direction:column}.landing{min-height:100dvh;background:linear-gradient(175deg,#0c1810,#173f31 55%,#0e241b);color:#eef3ec;align-items:center;padding:0 20px 48px}.landing .inner{width:100%;max-width:860px;gap:40px}.l-hero,.landing .inner{display:flex;flex-direction:column}.l-hero{text-align:center;padding-top:64px;align-items:center;gap:18px}.l-hero h1{margin:0;font-size:clamp(40px,8vw,64px);letter-spacing:-.02em;font-weight:900}.l-hero h1 .gold{color:var(--gold,#d9a521)}.l-hero .tagline{font-size:clamp(15px,2.6vw,19px);opacity:.85;max-width:480px;line-height:1.5;margin:0}.l-cta{display:inline-block;background:var(--gold,#d9a521);color:#14210f;font-weight:800;font-size:17px;padding:15px 34px;border-radius:999px;text-decoration:none;box-shadow:0 10px 34px rgba(217,165,33,.35);transition:transform .12s ease}.l-cta:hover{transform:translateY(-2px)}.l-free{font-size:12.5px;opacity:.7}.l-store{display:inline-flex;align-items:center;gap:8px;margin-top:4px;padding:11px 22px;border-radius:999px;text-decoration:none;font-size:14px;font-weight:700;color:#eef2ea;background:rgba(255,255,255,.06);border:1px solid rgba(238,242,234,.28);transition:transform .12s ease,border-color .12s ease}.l-store:hover{transform:translateY(-2px);border-color:rgba(238,242,234,.6)}.landing[dir=rtl] .l-store span[aria-hidden]{transform:scaleX(-1)}.l-fan{height:128px;margin-top:6px}.l-fan,.l-fan .c{display:flex;justify-content:center}.l-fan .c{width:78px;height:112px;background:#f6f2e7;border-radius:9px;margin:0 -20px;align-items:center;font-size:34px;font-weight:800;box-shadow:0 8px 22px rgba(0,0,0,.45);border:1px solid rgba(20,24,16,.25)}.l-fan .c:first-child{transform:rotate(-16deg) translateY(14px);color:#bf4136}.l-fan .c:nth-child(2){transform:rotate(-5deg) translateY(2px);color:#23281f}.l-fan .c:nth-child(3){transform:rotate(6deg) translateY(2px);color:#bf4136}.l-fan .c:nth-child(4){transform:rotate(17deg) translateY(16px);color:#23281f}.l-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:14px;gap:14px}.l-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:8px}.l-card h3{margin:0;font-size:16px}.l-card p{margin:0;font-size:13.5px;line-height:1.55;opacity:.82}.l-price{font-size:30px;font-weight:900}.l-price small{font-size:13px;font-weight:600;opacity:.7}.l-card.hilite{border-color:var(--gold,#d9a521);background:rgba(217,165,33,.1);position:relative}.l-card.hilite .badge{position:absolute;top:-11px;right:14px;background:var(--gold,#d9a521);color:#14210f;font-size:10px;font-weight:800;padding:3px 10px;border-radius:999px;letter-spacing:.05em}.l-h2{margin:0;font-size:22px;font-weight:800;text-align:center}.l-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:14px;gap:14px;counter-reset:step}.l-step{text-align:center;padding:10px;font-size:13.5px;line-height:1.5;opacity:.85}.l-step .n{display:block;width:34px;height:34px;line-height:34px;margin:0 auto 8px;border-radius:50%;background:rgba(217,165,33,.18);color:var(--gold,#d9a521);font-weight:800;font-size:15px}.l-foot{text-align:center;font-size:11.5px;opacity:.55;line-height:1.6}.l-faq{display:flex;flex-direction:column;gap:8px;margin-top:18px}.l-faq details{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px 14px}.l-faq details[open]{border-color:rgba(217,165,33,.5)}.l-faq summary{cursor:pointer;font-weight:700;font-size:14px;line-height:1.4}.l-faq p{margin:8px 0 2px;font-size:13.5px;line-height:1.55;opacity:.82}.l-langs{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;font-size:12px;opacity:.8}.l-langs .lbl{opacity:.6}.l-langs a{color:inherit;text-decoration:none}.l-langs a:hover{color:var(--gold,#d9a521);text-decoration:underline}.l-langs .cur{font-weight:800;color:var(--gold,#d9a521)}.l-suggest{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 12px;background:rgba(217,165,33,.12);border:1px solid rgba(217,165,33,.6);border-radius:10px;padding:10px 14px;margin-top:16px;font-size:13px}.l-suggest a{color:var(--gold,#d9a521);font-weight:800;text-decoration:none}.l-suggest a:hover{text-decoration:underline}.l-suggest button{background:none;border:none;color:inherit;opacity:.55;cursor:pointer;font-size:14px;padding:0 2px;line-height:1}.l-suggest button:hover{opacity:1}.landing[dir=rtl] .l-card.hilite .badge{right:auto;left:14px}.phrasegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:6px;gap:6px;margin-top:6px}.phrasegrid .btn{min-height:44px}.legal{max-width:46rem;margin:0 auto;padding:32px 20px 64px;line-height:1.6;font-size:17px}.legal h1{font-size:30px;margin:0 0 4px}.legal h2{font-size:20px;margin:28px 0 6px}.legal p,.legal ul{margin:8px 0}.legal ul{-webkit-padding-start:22px;padding-inline-start:22px}.legal li{margin:5px 0}.legal-updated{opacity:.7;font-size:14px}.legal-intro{font-weight:600}.legal-nav{display:flex;gap:18px;margin-top:36px;flex-wrap:wrap}.legal-nav a{min-height:44px;display:inline-flex;align-items:center}.rules h3{font-size:17px;margin:18px 0 2px}.rules-tablewrap{overflow-x:auto;margin:12px 0}.rules-table{border-collapse:collapse;width:100%;font-size:16px}.rules-table td,.rules-table th{padding:7px 10px;border-bottom:1px solid var(--line);text-align:start}.rules-table th[scope=row]{width:2.5rem;color:var(--mut);font-weight:700}.rules-table td.num{width:4.5rem;text-align:end;white-space:nowrap;color:var(--mut)}.rules-note{font-size:15px;color:var(--mut)}.rules-cta{margin-top:36px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.rules-cta .l-cta{margin-top:8px}.rules .legal-nav a{text-decoration:underline}.consent-link{padding:0}.banner-action,.consent-link{font:inherit;color:inherit;background:none;border:0;text-decoration:underline;cursor:pointer}.banner-action{font-weight:800;padding:0 2px}