:root{--navy:#0a0e1a;--panel:#141a2c;--panel2:#212a42;--line:#2b3550;--ink:#eef1f7;--mut:#9aa3b8;--mut2:#6b7488;--amber:#ff9e46;--amber-d:#e8862c;--rose:#e0657a;--teal:#4fd1c5;--good:#4ade80;--bad:#f87171;--glow:0 0 24px rgba(255,158,70,.35)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:var(--ink);background:radial-gradient(ellipse 90% 60% at 50% 0,#1a2236 0,#0a0e1a 70%);min-height:100vh}a{color:inherit;text-decoration:none}.wrap{max-width:1120px;margin:0 auto;padding:20px 18px 90px}.topbar{justify-content:space-between;padding:8px 2px 16px}.brand,.topbar{display:flex;align-items:center}.brand{gap:11px}.mark{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--amber),#96542f);display:grid;place-items:center;font-size:20px}.brand h1{margin:0;font-size:20px;font-weight:800;letter-spacing:-.5px}.brand h1 .app{color:var(--amber)}.brand p{margin:1px 0 0;color:var(--mut);font-size:11px;font-style:italic}.btn{border:none;border-radius:10px;padding:10px 16px;font-weight:700;cursor:pointer;font-family:inherit;font-size:14px;transition:.15s}.btn:active{transform:translateY(1px)}.btn.amber{background:linear-gradient(180deg,var(--amber),var(--amber-d));color:#1a1206;box-shadow:var(--glow)}.btn.amber:hover{filter:brightness(1.06)}.btn.ghost{background:#0e1320;border:1.5px solid var(--line);color:var(--mut)}.btn.ghost:hover{color:var(--ink);border-color:var(--mut2)}.btn.sm{padding:7px 11px;font-size:12.5px}input[type=date],input[type=number],input[type=text],select{background:#0e1320;border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;outline:none;color:var(--ink);font-family:inherit;font-size:14px}input:focus,select:focus{border-color:var(--amber)}input::placeholder{color:var(--mut2)}.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}.hero .eyebrow{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);margin-bottom:20px}.hero h1{font-size:clamp(44px,9vw,84px);line-height:1;margin:0 0 20px;font-weight:800;letter-spacing:-2px}.hero h1 em{font-style:italic;background:linear-gradient(90deg,#fff,var(--amber));-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{font-size:clamp(16px,2.4vw,20px);color:#c7cdda;max-width:540px;margin:0 0 32px;line-height:1.55}.hero .btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.authwrap{min-height:100vh;display:grid;place-items:center;padding:24px}.tabs{display:flex;gap:6px;background:rgba(20,26,44,.6);padding:5px;border-radius:14px;border:1px solid var(--line);margin-bottom:20px;flex-wrap:wrap}.tab{flex:1 1;min-width:90px;text-align:center;padding:10px 12px;border-radius:10px;cursor:pointer;font-weight:700;font-size:13.5px;color:var(--mut);-webkit-user-select:none;-moz-user-select:none;user-select:none}.tab.on,.tab:hover{color:var(--ink)}.tab.on{background:linear-gradient(180deg,#212a42,#1a2236)}.tab.on .k{color:var(--amber)}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media(max-width:820px){.grid2{grid-template-columns:1fr}}.card{background:linear-gradient(180deg,rgba(33,42,66,.55),rgba(20,26,44,.55));border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:16px}.card h2{margin:0 0 3px;font-size:15px}.card .sub{color:var(--mut);font-size:12px;margin:0 0 14px}.row{display:flex;gap:8px;flex-wrap:wrap}.grow{flex:1 1;min-width:120px}.people{flex-wrap:wrap;margin-top:14px}.chip,.people{display:flex;gap:8px}.chip{align-items:center;padding:6px 9px 6px 7px;border-radius:999px;background:#0e1320;border:1.5px solid var(--line);cursor:pointer;font-weight:600;font-size:13px}.chip.active{border-color:var(--amber);box-shadow:0 0 0 1px var(--amber)}.ava{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#0a0e1a;font-size:11px;flex:none}.ava,.chip .x{font-weight:800}.chip .x{color:var(--mut2);padding:0 3px}.chip .x:hover{color:var(--bad)}.empty{color:var(--mut2);font-size:13px;padding:18px 4px;text-align:center}.who{font-weight:800;font-size:14.5px;margin:2px 0 12px}.who em{color:var(--amber);font-style:normal}.frow{display:grid;grid-template-columns:96px 1fr;align-items:center;grid-column-gap:10px;column-gap:10px;padding:8px 0;border-bottom:1px solid rgba(43,53,80,.5)}.frow:last-child{border:none}.fname{font-weight:600;font-size:13.5px;gap:4px 6px}.fname,.scale{display:flex;align-items:center;flex-wrap:wrap;min-width:0}.scale{gap:4px;justify-content:flex-start}.dot{width:32px;height:30px;border-radius:8px;border:1.5px solid var(--line);background:#0e1320;cursor:pointer;font-size:15px;display:grid;place-items:center}.dot.sel{border-color:var(--amber);box-shadow:0 0 0 1.5px var(--amber)}.tension{color:var(--rose)}.tension,.warm{font-size:10.5px;font-weight:700}.warm{color:var(--good)}.mapwrap{position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#0c1120}#graph{display:block;width:100%;height:440px;cursor:-webkit-grab;cursor:grab}.legend{position:absolute;left:12px;bottom:12px;font-size:11px;color:var(--mut);background:rgba(10,14,26,.7);padding:8px 10px;border-radius:9px;border:1px solid var(--line);line-height:1.7}.legend b{display:inline-block;width:18px;height:3px;border-radius:2px;vertical-align:middle;margin-right:5px}.planrow{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:10.5px;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.05em}.selwrap{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.seltag{font-size:12px;padding:5px 9px;border-radius:999px;background:#0e1320;border:1.5px solid var(--line);cursor:pointer;font-weight:600;color:var(--mut)}.seltag.inc{border-color:var(--good);color:var(--good)}.seltag.exc{border-color:var(--rose);color:var(--rose);text-decoration:line-through}.scorebar{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.stat{flex:1 1;min-width:100px;background:#0e1320;border:1px solid var(--line);border-radius:12px;padding:11px;text-align:center}.stat .n{font-size:22px;font-weight:800}.stat .n.amber{color:var(--amber)}.stat .l{font-size:10px;color:var(--mut);text-transform:uppercase;letter-spacing:.05em;font-weight:700;margin-top:2px}.lists{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media(max-width:700px){.lists{grid-template-columns:1fr}.planrow{flex-direction:column;align-items:stretch}}.listbox{border-radius:12px;padding:13px;border:1px solid var(--line)}.listbox.in{background:rgba(74,222,128,.06);border-color:rgba(74,222,128,.3)}.listbox.out{background:rgba(224,101,122,.06);border-color:rgba(224,101,122,.3)}.listbox h3{margin:0 0 9px;font-size:13px}.guest{display:flex;align-items:center;gap:9px;padding:6px 0;font-size:13.5px;font-weight:600}.reason{font-weight:500;color:var(--rose);font-size:11.5px}.evitem{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#0e1320;border:1px solid var(--line);border-radius:11px;padding:11px 13px;margin-bottom:8px}.evitem .nm{font-weight:700;font-size:14px}.evitem .meta{font-size:11.5px;color:var(--mut)}.ins{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media(max-width:700px){.ins{grid-template-columns:1fr}}.insbox{background:#0e1320;border:1px solid var(--line);border-radius:12px;padding:14px}.insbox .k{font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.05em;font-weight:700;margin-bottom:8px}.insrow{display:flex;align-items:center;justify-content:space-between;padding:5px 0;font-size:13px}.hint{font-size:11.5px;color:var(--mut);margin-top:12px;line-height:1.6}.pro{display:inline-block;font-size:9.5px;font-weight:800;padding:2px 7px;border-radius:999px;background:rgba(255,158,70,.16);color:var(--amber);margin-left:6px;vertical-align:middle}.lock{opacity:.55}.scale .sn{font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#8a93a8;opacity:.75;margin:0 4px 0 8px;align-self:center}.dot.note{opacity:.5}.dot.note.sel{opacity:1}@media (max-width:560px){.frow{grid-template-columns:1fr;row-gap:6px}.scale .sn{margin-left:0}.dot{width:30px;height:28px;font-size:14px}}