:root{--bg: #0b0a14;--surface: rgba(255, 255, 255, .055);--surface-2: rgba(255, 255, 255, .09);--border: rgba(255, 255, 255, .1);--text: #f4f2ff;--muted: #a39fc0;--pink: #ff4d8d;--violet: #a855f7;--cyan: #22d3ee;--lime: #a3e635;--danger: #ff5c6c;--grad: linear-gradient(120deg, var(--pink), var(--violet) 50%, var(--cyan));--radius: 18px;--display: "Bricolage Grotesque", system-ui, sans-serif;--body: "Inter", system-ui, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:15px/1.5 var(--body);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--display);margin:0;letter-spacing:-.02em}h1{font-size:clamp(2rem,6vw,3.4rem);font-weight:800;line-height:1.05}h2{font-size:1.2rem;font-weight:700}h3{font-size:1.15rem;font-weight:700}code{background:var(--surface-2);padding:2px 6px;border-radius:6px;font-size:.9em}.bg-blobs{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.bg-blobs span{position:absolute;width:46vmax;height:46vmax;border-radius:50%;filter:blur(90px);opacity:.32;animation:float 22s ease-in-out infinite alternate}.bg-blobs span:nth-child(1){background:var(--pink);top:-18vmax;left:-12vmax}.bg-blobs span:nth-child(2){background:var(--violet);top:30vh;right:-20vmax;animation-delay:-7s}.bg-blobs span:nth-child(3){background:var(--cyan);bottom:-25vmax;left:20vw;opacity:.2;animation-delay:-14s}@keyframes float{to{transform:translate(6vmax,4vmax) scale(1.1)}}@media (prefers-reduced-motion: reduce){.bg-blobs span{animation:none}}.topbar{position:sticky;top:0;z-index:10;padding:14px 20px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#0b0a1499;border-bottom:1px solid var(--border)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.topnav{display:flex;align-items:center;gap:6px}.topbar .brand,.topnav .btn,.navlink{white-space:nowrap}@media (max-width: 440px){.topbar{padding:12px 16px}.navlink{display:none}}.navlink{padding:8px 12px;border-radius:10px;color:var(--muted);font-weight:600;font-size:.92rem}.navlink:hover{color:var(--text);background:var(--surface-2)}.navlink.on{color:var(--text)}.page-title{font-size:clamp(1.6rem,5vw,2.2rem);margin-bottom:16px}.empty-state{display:grid;justify-items:center;gap:12px;padding:32px 18px;text-align:center}.empty-state p{margin:0}.brand{display:inline-flex;align-items:center;gap:10px;font:700 1.1rem var(--display)}.container{max-width:980px;margin:0 auto;padding:28px 16px 80px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.stack{display:grid;gap:16px}.grow{flex:1 1 auto;min-width:0}.muted{color:var(--muted)}.small{font-size:.85rem}.empty{text-align:center;padding:30px 0}.label{margin:14px 0 8px;font-weight:600}.back{display:inline-block;color:var(--muted);margin-bottom:18px}.back:hover{color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.card h2{margin-bottom:12px}.notice{max-width:560px;margin:40px auto}.hero{margin:16px 0 28px}.hero p{max-width:560px;margin-top:12px;font-size:1.05rem}.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.input{background:#0000004d;color:var(--text);border:1px solid var(--border);border-radius:12px;padding:12px 14px;font:inherit;width:100%;transition:border-color .15s,box-shadow .15s}.row .input{width:auto}.row .input.grow{flex:1 1 220px}.input:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px #a855f74d}input[type=date]{color-scheme:dark}.btn{border:1px solid transparent;border-radius:12px;padding:11px 18px;font:600 .95rem var(--body);color:var(--text);cursor:pointer;background:var(--surface-2);transition:transform .12s,filter .15s,background .15s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--grad);background-size:140% 100%;box-shadow:0 8px 24px -8px #a855f7b3}.btn.primary:hover:not(:disabled){filter:brightness(1.1)}.btn.ghost{background:transparent;border-color:var(--border)}.btn.ghost:hover:not(:disabled){background:var(--surface-2)}.btn.danger{color:var(--danger)}.btn.sm{padding:6px 12px;font-size:.85rem;border-radius:10px}.btn.block{width:100%;margin-top:16px}.error{color:var(--danger);margin:10px 0 0}.card.error{border-color:#ff5c6c66}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.badge.open{background:#a3e63526;color:var(--lime)}.badge.finished{background:var(--surface-2);color:var(--muted)}.event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.event-card{display:grid;gap:8px;transition:transform .15s,border-color .15s}.event-card:hover{transform:translateY(-3px);border-color:#a855f799}.event-card-top{display:flex;justify-content:space-between;align-items:center}.event-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px}.event-head p{margin:0 0 4px}.event-head h1{margin:8px 0 6px;font-size:clamp(1.8rem,5vw,2.6rem)}.ink{display:inline-block;flex:none;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(0,0,0,.45));-webkit-user-select:none;user-select:none}.deck-inks{display:inline-flex;flex:none}.deck-inks .ink+.ink{margin-left:-4px}.deck-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}@media (min-width: 640px){.deck-picker{grid-template-columns:repeat(6,1fr)}}.pick{display:grid;justify-items:center;gap:6px;padding:12px 6px;background:#00000040;color:var(--muted);border:1.5px solid var(--border);border-radius:14px;cursor:pointer;font:600 .85rem var(--body);transition:all .15s}.pick:hover{color:var(--text);border-color:#ffffff40}.pick.on{color:var(--text);border-color:var(--ink);background:color-mix(in srgb,var(--ink) 18%,transparent);box-shadow:0 0 20px -6px var(--ink)}.pick.on .ink{transform:scale(1.1);filter:drop-shadow(0 0 10px var(--ink))}.pick .ink{transition:transform .15s,filter .15s}.field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.field{display:grid;gap:6px;font-size:.8rem;font-weight:600;color:var(--muted)}.field .input{width:100%;font-weight:400;font-size:.95rem}.field-grid.details{grid-template-columns:1fr 1fr;margin-top:0;margin-bottom:2px}.field.wide{grid-column:1 / -1}.field-note{margin:0;align-self:end;font-size:.85rem;font-weight:600;padding-bottom:12px}.field-note.wide{grid-column:1 / -1;padding-bottom:0}.field-note.muted{color:var(--cyan)}.seg{display:grid;gap:4px;background:#0000004d;padding:4px;border-radius:12px;border:1px solid var(--border)}.seg.two{grid-template-columns:1fr 1fr}.seg button{border:0;background:none;color:var(--muted);padding:9px 6px;border-radius:9px;font:600 .9rem var(--body);cursor:pointer}.seg button:hover{color:var(--text);background:var(--surface-2)}.seg button.on{background:var(--grad);color:#fff}.details-form{margin-bottom:22px}.when{margin:0 0 4px;font-weight:600;color:var(--cyan)}.event-card .when{color:var(--cyan)}.link-btn{background:none;border:0;padding:8px 0 0;color:var(--cyan);font:600 .85rem var(--body);cursor:pointer}.save-row{margin-top:14px}.event-layout{display:grid;gap:16px;align-items:start}@media (min-width: 860px){.event-layout{grid-template-columns:320px 1fr}.event-layout>.stack:first-child{position:sticky;top:80px}}.sub{margin:-8px 0 12px}.calc{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.4}}.assumptions summary{cursor:pointer;font:700 1rem var(--display);list-style:none}.assumptions summary:after{content:"＋";float:right;color:var(--muted)}.assumptions[open] summary:after{content:"－"}.assumptions[open] summary{margin-bottom:12px}.slider{display:grid;gap:6px;margin-bottom:14px;font-size:.88rem}.slider span{display:flex;justify-content:space-between;gap:10px}.slider input{accent-color:var(--violet);width:100%}.friend{display:grid;gap:14px}.friend.dropped{opacity:.55}.friend.editing{gap:12px}.friend-top{display:flex;align-items:center;gap:14px}.friend-top .grow{display:grid}.fname{font:700 1.15rem var(--display)}.ring{--deg: 0deg;width:64px;height:64px;border-radius:50%;flex:none;display:grid;place-items:center;background:conic-gradient(var(--violet),var(--pink) var(--deg),rgba(255,255,255,.08) var(--deg))}.ring.hot{background:conic-gradient(var(--cyan),var(--lime) var(--deg),rgba(255,255,255,.08) var(--deg))}.ring span{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--bg);font:800 .95rem var(--display)}.round-chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:grid;justify-items:center;min-width:44px;padding:6px 4px;border:1.5px solid var(--border);border-radius:12px;background:#00000040;color:var(--muted);cursor:pointer;font-family:var(--body);transition:all .12s}.chip small{font-size:.65rem;font-weight:600;letter-spacing:.04em}.chip b{font:800 1.05rem var(--display);line-height:1.2}.chip:hover:not(:disabled){border-color:#ffffff4d;color:var(--text)}.chip:disabled{cursor:default}.chip.win{background:#a3e63529;border-color:#a3e63599;color:var(--lime)}.chip.loss{background:#ff5c6c24;border-color:#ff5c6c8c;color:var(--danger)}.chip.draw{background:#22d3ee1f;border-color:#22d3ee80;color:var(--cyan)}.paths{margin:0;display:flex;flex-wrap:wrap;gap:6px;color:var(--muted)}.paths span{background:var(--surface-2);padding:4px 10px;border-radius:99px;font-weight:600}.paths .good{color:var(--lime)}.paths .bad{color:var(--danger);opacity:.8}.friend-actions{justify-content:flex-end}.skeleton-list{display:grid;gap:12px}.skeleton-list div{height:84px;border-radius:var(--radius);background:linear-gradient(90deg,var(--surface) 0%,var(--surface-2) 50%,var(--surface) 100%);background-size:200% 100%;animation:shimmer 1.3s infinite}@keyframes shimmer{to{background-position:-200% 0}}@media (max-width: 520px){.container{padding-top:20px}.field-grid{grid-template-columns:1fr 1fr}.field-grid .field:first-child{grid-column:1 / -1}.ring{width:56px;height:56px}.ring span{width:44px;height:44px;font-size:.85rem}}.import .row{margin-top:4px}.or{text-align:center;color:var(--muted);font-size:.85rem;margin:14px 0}.ok{color:var(--lime);margin:10px 0 0}.live-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.live-head h2{margin:0;display:flex;align-items:center;gap:8px}.dot{width:10px;height:10px;border-radius:50%;background:var(--muted);display:inline-block}.dot.on{background:var(--lime);box-shadow:0 0 #a3e63599;animation:ping 1.8s infinite}@keyframes ping{70%{box-shadow:0 0 0 8px #a3e63500}to{box-shadow:0 0 #a3e63500}}.live-state{font-weight:700;margin:0 0 12px}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 12px}.facts div{background:#00000040;border-radius:12px;padding:8px 10px}.facts dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.facts dd{margin:0;font:700 1.05rem var(--display)}.live-panel p{margin:6px 0 0}.link{color:var(--cyan)}.chip.static{cursor:default}.chip.playing{border-style:dashed;color:var(--text)}.next-match{display:grid;gap:8px}.next-match p{margin:0}.link-player,.add-player{display:grid;gap:8px;margin-bottom:10px}.link-player p,.add-player p{margin:0}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}select.input option{background:#16141f}.link-player .grow .input,.add-player .input{width:100%}.round-picker{display:grid;gap:8px;margin:0 0 12px}.round-picker p{margin:0}.pick-rounds{display:flex;flex-wrap:wrap;gap:4px;background:#0000004d;padding:4px;border-radius:12px;border:1px solid var(--border)}.pick-rounds button{flex:1 0 auto;min-width:44px;border:0;background:none;color:var(--muted);padding:7px 10px;border-radius:9px;font:700 .85rem var(--body);cursor:pointer}.pick-rounds button:hover{color:var(--text);background:var(--surface-2)}.pick-rounds button.on{background:var(--grad);color:#fff}.check{display:flex;align-items:center;gap:8px;color:var(--muted);cursor:pointer}.check input{accent-color:var(--violet);width:16px;height:16px}.live-state.past{color:var(--pink)}.id-toggle{display:grid;gap:8px;margin:0 0 12px}.id-toggle p{margin:0}.id-note{margin:0;color:var(--cyan);font-weight:600}.cut-legend{margin:0 0 12px;padding-left:18px;display:grid;gap:2px}.cut-table{list-style:none;margin:0;padding:0;display:grid;gap:8px}.cut-table li{display:grid;grid-template-columns:54px 1fr 1fr;gap:10px;align-items:center}.cut-table.final li{grid-template-columns:54px 1fr}.cut-table .head{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.cut-table .rec{font:700 .92rem var(--display);font-variant-numeric:tabular-nums}.cut-cell{display:grid;grid-template-columns:1fr 36px 30px;gap:6px;align-items:center}.cut-table.final .cut-cell{grid-template-columns:1fr 70px}.cut-cell.none{display:block;color:var(--muted);text-align:center}.cut-cell .bar{height:8px;background:#00000059;border-radius:99px;overflow:hidden}.cut-cell .bar span{display:block;height:100%;border-radius:inherit;background:var(--grad)}.cut-cell .val{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;font-size:.82rem}.cut-cell .n{font-size:.7rem;text-align:right;font-variant-numeric:tabular-nums}.topcut-note{display:block;margin-top:6px}.input.mini{width:64px;padding:4px 8px;display:inline-block;border-radius:8px;font-size:.85rem}.final-round{display:grid;gap:8px;margin-top:4px;padding:12px;border-radius:14px;background:#00000040;border:1px solid var(--border)}.final-round p{margin:0}.verdict{font-weight:700}.verdict.in{color:var(--lime)}.verdict.out{color:var(--danger)}.verdict.depends{color:var(--cyan)}.tiny{font-size:.72rem}.rule-list{margin:0;padding-left:18px;display:grid;gap:6px}.rule-list em{font-style:normal;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.cond{white-space:normal}.good-text{color:var(--lime)}.bad-text{color:var(--danger)}
