:root{--bg: #0a1730;--bg-2: #0e2148;--card: #12264f;--card-2: #16294f;--line: #23386b;--line-soft: #1b2f5c;--ink: #eef3fb;--muted: #93a4c4;--yellow: #f5d01e;--yellow-dark: #d9b70a;--bolt: #2e6bff;--red: #e30613;--red-soft: #3a1420;--green: #27c08a;--green-soft: #10352c;--radius: 14px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(0, 0, 0, .28), 0 10px 28px rgba(0, 0, 0, .28);font-family:Segoe UI,system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit}.app{max-width:720px;margin:0 auto;padding:0 12px 88px}.top{position:sticky;top:0;z-index:20;margin:0 -12px 12px;padding:calc(12px + env(safe-area-inset-top)) 14px 12px;background:radial-gradient(120% 140% at 100% 0%,rgba(46,107,255,.35),transparent 55%),linear-gradient(135deg,var(--bg-2),#0a1c3d);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.top-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:18px;letter-spacing:-.01em}.brand .accent{color:var(--yellow)}.crest{width:28px;height:28px}.whoami{display:flex;align-items:center;gap:7px;font-size:13px}.whoami button{background:#ffffff14;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-weight:600;font-size:13px}.whoami button:hover{border-color:var(--yellow)}.mode-pill{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:999px;border:1px solid var(--line);background:#ffffff0d;color:var(--muted)}.mode-pill.live{color:var(--yellow);border-color:var(--yellow-dark)}.tabs{display:flex;gap:5px;margin-top:12px}.tabs button{flex:1;border:1px solid transparent;background:#ffffff0f;color:var(--muted);padding:8px 6px;border-radius:9px;font-weight:700;font-size:12.5px;transition:background .15s,color .15s}.tabs button:hover{color:var(--ink)}.tabs button.active{background:var(--yellow);color:#12264f}.tabs button .badge{display:inline-block;margin-left:4px;min-width:16px;padding:0 4px;border-radius:999px;background:var(--red);color:#fff;font-size:11px;line-height:16px}.tabs button.active .badge{background:#12264f;color:var(--yellow)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:13px;margin-bottom:10px}.section-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:16px 4px 8px}.hero{position:relative;overflow:hidden;background:radial-gradient(130% 120% at 0% 0%,rgba(245,208,30,.14),transparent 45%),radial-gradient(120% 130% at 100% 100%,rgba(46,107,255,.28),transparent 50%),linear-gradient(135deg,#0f2247,#0c1e42);background-color:#0f2247;border:1px solid var(--line)}.hero .eyebrow{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--yellow)}.hero.group .eyebrow{color:var(--bolt)}.hero h2{margin:4px 0 2px;font-size:22px;letter-spacing:-.02em}.hero .meta{color:var(--muted);font-size:13.5px}.hero .going{margin-top:10px}.fx{display:flex;align-items:center;gap:11px}.fx-no{width:32px;height:32px;flex:none;border-radius:9px;background:var(--card-2);color:var(--muted);font-weight:800;display:grid;place-items:center;font-size:13px;border:1px solid var(--line)}.fx-main{flex:1;min-width:0}.fx-title{font-weight:700;font-size:15px}.fx-sub{color:var(--muted);font-size:12.5px;margin-top:1px}.fx-right{text-align:right;flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:3px}.chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.chip{display:inline-flex;align-items:center;gap:5px;background:var(--card-2);border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:4px 9px;font-size:12.5px;font-weight:600}.chip.out{text-decoration:line-through;opacity:.5}.chip.taker{background:var(--green-soft);border-color:#1c5a48;color:var(--green);text-decoration:none;opacity:1}.chip.free{background:#f5d01e1f;border-color:var(--yellow-dark);color:var(--yellow)}.avatar{width:19px;height:19px;border-radius:999px;background:var(--bolt);color:#fff;font-size:9.5px;font-weight:800;display:grid;place-items:center}.cat{font-weight:800;font-size:11px;padding:2px 7px;border-radius:7px}.cat.A{background:var(--red-soft);color:#ff6b76}.cat.B{background:#2e6bff29;color:#7aa2ff}.cat.C{background:#93a4c424;color:var(--muted)}.cat.CL{background:#f5d01e24;color:var(--yellow)}.price{font-weight:800;font-size:15px}.btn{border:1px solid var(--line);background:var(--card-2);color:var(--ink);border-radius:var(--radius-sm);padding:9px 12px;font-weight:700;font-size:14px}.btn:hover{border-color:#35508f}.btn.primary{background:var(--yellow);color:#12264f;border-color:var(--yellow)}.btn.primary:hover{background:var(--yellow-dark);border-color:var(--yellow-dark)}.btn.ghost{background:transparent}.btn.wa{background:#25d366;border-color:#25d366;color:#06331b}.btn.wa:hover{background:#1fb757}.btn.danger{color:#ff8a93;border-color:#5a2530}.btn.sm{padding:6px 10px;font-size:12.5px;border-radius:8px}.btn-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.freed{border-color:var(--yellow-dark);box-shadow:0 0 0 1px #f5d01e40,var(--shadow)}.freed .fx-title:after{content:" · spare";color:var(--yellow);font-weight:800}.chase{margin-top:9px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--card-2);border:1px dashed var(--line);font-size:12.5px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.chase strong{color:var(--ink);font-weight:700}.chase a{color:var(--yellow);text-decoration:none;font-weight:700}.chase a:hover{text-decoration:underline}.avail{margin-top:9px;padding:9px 11px;border-radius:var(--radius-sm);background:#2e6bff24;border:1px solid var(--bolt);color:#d5e2ff;font-size:13px;font-weight:600;display:flex;gap:8px;align-items:center}.avail strong{color:#fff;font-weight:800}.avail-ico{font-size:16px;line-height:1}.seg{display:inline-flex;gap:3px;background:var(--card-2);border:1px solid var(--line);border-radius:999px;padding:3px}.seg button{border:0;background:transparent;color:var(--muted);font-weight:700;font-size:12.5px;padding:6px 14px;border-radius:999px}.seg button.active{background:var(--yellow);color:#12264f}.view-bar{display:flex;align-items:center;justify-content:space-between;margin:16px 4px 10px;gap:10px}.view-bar .section-title{margin:0}.agenda-month{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--yellow);margin:14px 4px 7px}.agenda-row{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 11px;margin-bottom:7px;color:var(--ink)}.agenda-row:hover{border-color:#35508f}.agenda-row.freed{border-color:var(--yellow-dark)}.agenda-date{width:42px;flex:none;text-align:center}.agenda-date .d{font-size:18px;font-weight:800;line-height:1}.agenda-date .m{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase}.agenda-mine{width:7px;height:7px;border-radius:999px;background:var(--yellow);flex:none}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cal-head button{background:var(--card-2);border:1px solid var(--line);color:var(--ink);border-radius:8px;width:34px;height:34px;font-size:16px;font-weight:800}.cal-head .cal-title{font-weight:800;font-size:15px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-dow{text-align:center;font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;padding-bottom:2px}.cal-cell{aspect-ratio:1 / 1;border-radius:8px;border:1px solid var(--line-soft);background:var(--card);padding:3px;display:flex;flex-direction:column;gap:2px;overflow:hidden}.cal-cell.empty{background:transparent;border-color:transparent}.cal-cell .num{font-size:10.5px;color:var(--muted);font-weight:700}.cal-cell.today .num{color:var(--yellow)}.cal-pill{border:0;border-radius:5px;padding:2px 4px;font-size:9.5px;font-weight:800;color:#fff;line-height:1.15;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-pill.A{background:#7a1420;color:#ff9ba2}.cal-pill.B{background:#1a3576;color:#a8c1ff}.cal-pill.C{background:#2a3a5c;color:#c2cfe6}.cal-pill.CL{background:#6a5410;color:var(--yellow)}.cal-pill.freed{outline:2px solid var(--yellow);outline-offset:-2px}.cal-pill .mine-dot{color:var(--yellow)}.cal-tbc{margin-top:12px}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#040a18a8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:end center;z-index:50}.sheet{background:var(--bg-2);width:100%;max-width:720px;border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px #00000073}.sheet h3{margin:0 0 3px}.sheet .sub{color:var(--muted);font-size:13.5px;margin-bottom:14px}.field{display:block;margin-bottom:11px}.field span{display:block;font-size:12.5px;font-weight:700;color:var(--muted);margin-bottom:5px}.field input,.field select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:15px;background:var(--card-2);color:var(--ink)}.field input:focus,.field select:focus{outline:none;border-color:var(--yellow)}.field select option{background:var(--bg-2);color:var(--ink)}.gate{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(120% 90% at 100% 0%,rgba(46,107,255,.35),transparent 55%),radial-gradient(100% 80% at 0% 100%,rgba(245,208,30,.12),transparent 55%),linear-gradient(160deg,var(--bg-2),#08122a)}.gate .card{max-width:360px;width:100%;text-align:center;background:var(--card)}.gate h1{margin:8px 0 2px}.gate h1 .accent{color:var(--yellow)}.gate p{color:var(--muted);margin:0 0 16px}.name-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:12px}.name-grid button{padding:12px;border-radius:11px;border:1px solid var(--line);background:var(--card-2);color:var(--ink);font-weight:700}.name-grid button:hover{border-color:#35508f}.name-grid button.sel{background:var(--yellow);color:#12264f;border-color:var(--yellow)}.muted{color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:26px 10px}.hint{font-size:12px;color:var(--muted);margin-top:6px}
