:root{--bg:#f7f4ee;--surface:#fff;--surface2:#efeae0;--ink:#211e19;--ink-soft:#6e675b;--line:#ddd6c8;--accent:#d8344b;--accent-ink:#fff;--ok:#2e7d5b;--nope:#8a8377;--gold:#b98a2f;--shadow:0 10px 30px #211e1924}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#16140f;--surface:#211e17;--surface2:#2b2820;--ink:#f0ebdf;--ink-soft:#a39b8b;--line:#3a362c;--accent:#ff5c6e;--accent-ink:#1c0a0d;--ok:#5bbb8e;--nope:#7d7668;--gold:#d8a94e;--shadow:0 10px 30px #00000080}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}a{color:inherit}button{font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.app{flex-direction:column;max-width:430px;min-height:100dvh;margin:0 auto;display:flex}.app-header{justify-content:space-between;align-items:baseline;padding:18px 20px 10px;display:flex}.logo{letter-spacing:-.5px;font-size:24px;font-weight:800;text-decoration:none}.logo em{color:var(--accent);font-style:normal}.tagline{color:var(--ink-soft);letter-spacing:.4px;text-transform:uppercase;font-size:11px}.app-main{flex:1;padding:4px 16px 96px}.section-title{letter-spacing:-.2px;margin:14px 4px 2px;font-size:19px;font-weight:800}.section-sub{color:var(--ink-soft);margin:4px 4px 0;font-size:13px}.tabbar{background:var(--surface);border-top:1px solid var(--line);z-index:30;width:100%;max-width:430px;padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tabbar a{color:var(--ink-soft);letter-spacing:.3px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:10px 0 12px;font-size:10.5px;font-weight:700;text-decoration:none;display:flex}.tabbar a .ic{font-size:21px;line-height:1}.tabbar a.active{color:var(--accent)}.deck-wrap{height:430px;margin-top:8px;position:relative}.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:20px;flex-direction:column;padding:20px;display:flex;position:absolute;inset:0}.card .kind{letter-spacing:.8px;text-transform:uppercase;border:1px solid var(--line);color:var(--ink-soft);border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:10.5px;font-weight:700}.card .kind.auto{border-color:var(--accent);color:var(--accent)}.card .who{align-items:center;gap:14px;margin:18px 0 6px;display:flex}.avatar{background:var(--surface2);width:64px;height:64px;color:var(--accent);border:2px solid var(--line);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;font-weight:800;display:flex}.who h2{letter-spacing:-.3px;margin:0;font-size:24px;font-weight:800}.who .elo{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:13px}.who .elo b{color:var(--gold);font-size:15px}.slot-box{background:var(--surface2);border-radius:14px;grid-template-columns:1fr auto;gap:2px 10px;margin-top:auto;padding:14px 16px;display:grid}.slot-box .d{font-size:17px;font-weight:700}.slot-box .h{color:var(--accent);text-align:right;font-variant-numeric:tabular-nums;font-size:17px;font-weight:800}.slot-box .c{color:var(--ink-soft);grid-column:1/-1;font-size:12.5px}.card .type-line{text-align:center;margin-top:12px;font-size:14px;font-weight:600}.stamp{letter-spacing:2px;opacity:0;pointer-events:none;border:4px solid;border-radius:8px;padding:6px 14px;font-size:26px;font-weight:900;position:absolute;top:26px;transform:rotate(-12deg)}.stamp.like{color:var(--ok);border-color:var(--ok);left:18px}.stamp.nope{color:var(--nope);border-color:var(--nope);right:18px;transform:rotate(12deg)}.deck-empty{border:2px dashed var(--line);text-align:center;color:var(--ink-soft);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:30px;display:flex;position:absolute;inset:0}.deck-empty b{color:var(--ink);font-size:17px}.deck-actions{justify-content:center;gap:34px;margin-top:18px;display:flex}.deck-actions .action{flex-direction:column;align-items:center;gap:7px;display:flex}.action-label{letter-spacing:.3px;font-size:13px;font-weight:800}.action-label.no{color:var(--accent)}.action-label.yes{color:var(--ok)}.deck-actions button{border:1px solid var(--line);background:var(--surface);width:62px;height:62px;box-shadow:var(--shadow);cursor:pointer;color:var(--ink);border-radius:50%;font-size:26px;transition:transform .1s}.deck-actions button:active{transform:scale(.92)}.deck-actions .btn-yes{color:var(--ok);font-weight:900}.deck-actions .btn-no{color:var(--accent);font-weight:900}.hint{text-align:center;color:var(--ink-soft);margin-top:12px;font-size:12px}.link-btn{color:var(--accent);cursor:pointer;text-underline-offset:3px;text-align:center;background:0 0;border:none;margin:16px auto 0;font-size:14px;font-weight:700;text-decoration:underline;display:block}.overlay{background:color-mix(in srgb, var(--accent) 92%, black);z-index:50;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.overlay .inner{text-align:center;color:#fff;max-width:340px}.overlay h2{letter-spacing:-1px;margin:18px 0 8px;font-size:38px;font-weight:900}.overlay p{opacity:.95;margin:6px 0;font-size:15.5px;line-height:1.5}.overlay .heart{margin-top:10px;font-size:30px}.overlay button{color:#c22b40;cursor:pointer;background:#fff;border:none;border-radius:999px;margin-top:22px;padding:13px 34px;font-size:15px;font-weight:800}.pair{justify-content:center;display:flex}.pair .avatar{width:76px;height:76px;color:var(--accent);background:#fff;border:3px solid #fff;font-size:26px}.pair .avatar+.avatar{margin-left:-14px}.toast{background:var(--ink);color:var(--bg);opacity:0;pointer-events:none;z-index:40;text-align:center;border-radius:999px;max-width:88%;padding:11px 20px;font-size:13.5px;font-weight:600;transition:all .25s;position:fixed;bottom:104px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.rank-table{border-collapse:collapse;width:100%;margin-top:10px}.rank-table th{text-transform:uppercase;letter-spacing:.8px;color:var(--ink-soft);text-align:left;border-bottom:1px solid var(--line);padding:8px 10px;font-size:10.5px;font-weight:700}.rank-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 10px;font-size:14.5px}.rank-table .r{color:var(--ink-soft);font-variant-numeric:tabular-nums;width:30px;font-weight:800}.rank-table .e{color:var(--gold);font-variant-numeric:tabular-nums;text-align:right;font-weight:800}.rank-table .m{color:var(--ink-soft);font-variant-numeric:tabular-nums;text-align:right}.rank-table tr.me td{background:color-mix(in srgb, var(--accent) 9%, transparent)}.forme{gap:4px;display:flex}.dot{background:var(--line);border-radius:50%;width:9px;height:9px}.dot.w{background:var(--ok)}.dot.l{background:var(--nope)}.grid-wrap{margin-top:12px;overflow-x:auto}.dispo-grid{border-collapse:collapse;width:100%;min-width:330px}.dispo-grid th{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.4px;padding:4px 2px;font-size:10.5px;font-weight:700}.dispo-grid td.lbl{color:var(--ink-soft);white-space:nowrap;font-variant-numeric:tabular-nums;padding-right:8px;font-size:11px}.cell{background:var(--surface2);border:2px solid var(--bg);cursor:pointer;border-radius:7px;min-width:38px;height:34px;transition:background .12s}.cell.on{background:var(--accent)}.legend{color:var(--ink-soft);align-items:center;gap:16px;margin-top:12px;padding:0 4px;font-size:12.5px;display:flex}.sw{vertical-align:-2px;border-radius:4px;width:14px;height:14px;margin-right:5px;display:inline-block}.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-top:10px;padding:14px 16px}.match-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;margin-top:10px;padding:14px 16px;display:flex}.match-card .avatar{width:44px;height:44px;font-size:16px}.match-card .info{flex:1;min-width:0}.match-card .info .t{font-size:14.5px;font-weight:700}.match-card .info .s{color:var(--ink-soft);margin-top:2px;font-size:12.5px}.badge{letter-spacing:.6px;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:10.5px;font-weight:800}.badge.conf{background:color-mix(in srgb, var(--ok) 15%, transparent);color:var(--ok)}.badge.att{background:color-mix(in srgb, var(--gold) 15%, transparent);color:var(--gold)}.delta{font-variant-numeric:tabular-nums;font-size:14px;font-weight:800}.delta.up{color:var(--ok)}.delta.dn{color:var(--accent)}.field{flex-direction:column;gap:6px;margin-top:14px;display:flex}.field label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.5px;font-size:12.5px;font-weight:700}.field input,.field select{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:12px 14px;font-size:15px}.btn{background:var(--accent);color:var(--accent-ink);cursor:pointer;text-align:center;border:none;border-radius:999px;margin-top:18px;padding:13px 26px;font-size:15px;font-weight:800;text-decoration:none;display:inline-block}.btn.secondary{background:var(--surface2);color:var(--ink)}.btn.danger{color:var(--accent);border:1px solid var(--accent);background:0 0}.btn:disabled{opacity:.5;cursor:default}.note{color:var(--ink-soft);margin-top:12px;font-size:12.5px;line-height:1.5}.center-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.center-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;width:100%;max-width:380px;padding:28px}@media (prefers-reduced-motion:reduce){.card,.toast,.deck-actions button{transition:none!important}}
