@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;700&display=swap";:root{--ink: #0f1220;--panel: #171a2e;--panel-2: #1e2238;--line: #2a2f4a;--paper: #eef0fa;--mist: #8b93b8;--dim: #5a6288;--ember: #e8a86b;--mention: #a4c3ff;--danger: #e57373;--success: #7fc99a;--live: #ff6b6b;--hover: rgba(255, 255, 255, .04);--active: rgba(232, 168, 107, .15);--sidebar-w: 260px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,system-ui,sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--ink);color:var(--paper);font-size:15px;line-height:1.45;overflow:auto}body:has(>#root>.app),body:has(>#root>.app-lock){overflow:hidden}h1,h2,h3{font-weight:500;margin:0}h1{font-size:28px;letter-spacing:-.01em}h2{font-size:20px}h3{font-size:13px;color:var(--mist);text-transform:uppercase;letter-spacing:.06em;font-weight:600}p{margin:0}button,input,textarea,select{font-family:inherit;font-size:15px;color:inherit}a{color:var(--mention)}input,textarea,select{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:9px 12px;outline:none;width:100%}input:focus,textarea:focus,select:focus{border-color:var(--ember)}textarea{resize:none;font-family:inherit}button{background:var(--ember);color:var(--ink);border:none;border-radius:6px;padding:9px 16px;cursor:pointer;font-weight:600}button:disabled{background:var(--line);color:var(--mist);cursor:default;font-weight:400}button.quiet{background:transparent;color:var(--mist);border:1px solid var(--line);font-weight:400}button.quiet:hover:not(:disabled){color:var(--paper);border-color:var(--mist)}button.plain{background:transparent;color:var(--mist);border:none;padding:6px 8px;font-weight:400}button.plain:hover:not(:disabled){color:var(--paper);background:var(--hover);border-radius:4px}button.danger{color:var(--danger)}button.big{padding:12px 20px;font-size:16px}.muted{color:var(--mist)}.dim{color:var(--dim)}.small{font-size:13px}.tiny{font-size:12px}.row{display:flex;gap:8px;align-items:center}.stack{display:flex;flex-direction:column;gap:8px}.spacer{flex:1}.center{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.narrow{width:100%;max-width:420px;display:flex;flex-direction:column;gap:14px}.error{color:var(--danger)}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100%}.sidebar{background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.sidebar-header{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.brand{font-size:17px;font-weight:600}.brand-sub{font-size:12px;color:var(--dim)}.sidebar-nav{flex:1;overflow-y:auto;padding:12px 8px}.sidebar-section{padding:12px 10px 6px;display:flex;justify-content:space-between;align-items:baseline}.sidebar-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:4px;cursor:pointer;color:var(--paper);font-size:14px;border:none;background:none;width:100%;text-align:left}.sidebar-item:hover{background:var(--hover)}.sidebar-item.active{background:var(--active)}.sidebar-item .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-item .sub{font-size:11px;color:var(--dim)}.sidebar-item.live .dot{color:var(--live)}.sidebar-footer{padding:10px 12px;border-top:1px solid var(--line);display:flex;gap:8px;align-items:center}.sidebar-footer .who{flex:1;min-width:0}.sidebar-footer .who .email{font-size:11px;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{width:32px;height:32px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:13px;flex-shrink:0}.avatar.sm{width:26px;height:26px;font-size:11px}.pane{display:flex;flex-direction:column;min-height:0;overflow:hidden}.pane-header{padding:14px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--ink)}.pane-header .title{min-width:0}.pane-header .title .name{font-size:18px;font-weight:600}.pane-header .title .sub{font-size:12px;color:var(--mist);margin-top:2px}.pane-body{flex:1;overflow-y:auto}.home{padding:24px 32px;max-width:900px}.home h1{margin-bottom:4px}.home .greeting{color:var(--mist);margin-bottom:24px}.tourn-list{display:flex;flex-direction:column;gap:10px}.tourn-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px 18px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:border-color .1s}.tourn-card:hover{border-color:var(--mist)}.tourn-card .status-dot{width:10px;height:10px;border-radius:5px;background:var(--dim);flex-shrink:0}.tourn-card .status-dot.live{background:var(--live);box-shadow:0 0 8px var(--live)}.tourn-card .status-dot.draft{background:var(--mist)}.tourn-card .status-dot.finished{background:var(--dim)}.tourn-card .body{flex:1;min-width:0}.tourn-card .head{font-weight:600;font-size:16px}.tourn-card .meta{font-size:13px;color:var(--mist);margin-top:2px}.tourn-card .arrow{color:var(--dim)}.tourn-tabs{display:flex;gap:4px}.tourn-tabs .tab{background:transparent;color:var(--mist);border:1px solid var(--line);border-radius:6px;padding:6px 14px;cursor:pointer;font-weight:400}.tourn-tabs .tab:hover{color:var(--paper);border-color:var(--mist)}.tourn-tabs .tab.active{background:var(--active);color:var(--ember);border-color:var(--ember);font-weight:500}.tourn-body{display:grid;grid-template-columns:1fr 340px;height:100%;min-height:0}.tourn-main{min-height:0;overflow:hidden;display:flex;flex-direction:column}.tourn-side{min-height:0;overflow:hidden;border-left:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column}.tourn-side-header{padding:12px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.tourn-side-header .name{font-weight:600}.tourn-side-header .sub{font-size:12px;color:var(--mist)}.bracket-wrap{padding:24px 28px;overflow:auto;height:100%}.bracket{display:flex;gap:40px;align-items:stretch;padding-bottom:20px}.bracket-round{display:flex;flex-direction:column;min-width:220px}.bracket-round-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mist);padding-bottom:10px}.bracket-round-matches{display:flex;flex-direction:column;justify-content:space-around;flex:1;gap:20px}.match-card{background:var(--panel);border:1px solid var(--line);border-radius:6px;overflow:hidden;transition:border-color .12s,box-shadow .12s;position:relative}.match-card.selected{border-color:var(--ember);box-shadow:0 0 0 1px var(--ember)}.match-card.ready{cursor:pointer}.match-card.ready:hover{border-color:var(--ember)}.match-card.bye{opacity:.5}.match-card .badge{position:absolute;top:-8px;right:8px;background:var(--live);color:#fff;font-size:10px;font-weight:700;letter-spacing:.06em;padding:2px 6px;border-radius:3px;text-transform:uppercase}.slot{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-bottom:1px solid var(--line);font-size:14px}.slot:last-child{border-bottom:none}.slot.faded .slot-name{color:var(--dim);font-style:italic}.slot.winner{background:#e8a86b1f;color:var(--ember);font-weight:600}.slot-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-score{font-variant-numeric:tabular-nums;font-weight:700;font-size:14px;min-width:24px;text-align:right}.standings{width:100%;border-collapse:collapse;font-size:14px}.standings th,.standings td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}.standings th{color:var(--mist);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.standings td:nth-child(n+3){font-variant-numeric:tabular-nums}.rr-matches{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.match-panel{padding:20px 24px}.match-panel h2{margin-bottom:4px}.match-panel .sub{color:var(--mist);font-size:13px;margin-bottom:20px}.mp-scoreboard{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:20px;margin-bottom:20px}.mp-scoreboard .sides{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center}.mp-side{display:flex;flex-direction:column;align-items:center;gap:10px}.mp-side .label{color:var(--mist);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.mp-side .name{font-size:16px;font-weight:600;text-align:center}.mp-side .score{font-size:56px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.mp-side.winner .name,.mp-side.winner .score{color:var(--ember)}.mp-vs{color:var(--dim);font-size:18px}.mp-score-btns{display:flex;gap:6px;margin-top:4px}.mp-score-btns button{padding:6px 14px;font-size:15px;font-weight:700;min-width:40px}.mp-actions{display:flex;gap:6px;flex-wrap:wrap;padding-top:12px;margin-top:12px;border-top:1px solid var(--line);justify-content:center}.mp-declare{display:flex;gap:8px;justify-content:center;margin-top:12px}.mp-declare button{padding:10px 18px}.chat-messages{flex:1;overflow-y:auto;padding:8px 0}.chat-empty{padding:20px;color:var(--mist);font-size:13px;text-align:center}.chat-msg{padding:6px 16px}.chat-msg .who{font-size:12px;color:var(--mist);margin-bottom:2px}.chat-msg .who .name{color:var(--paper);font-weight:600;margin-right:6px}.chat-msg .body{white-space:pre-wrap;word-break:break-word;font-size:14px}.chat-msg.system .body{color:var(--mist);font-style:italic;font-size:13px}.chat-msg.system .who{display:none}.composer{padding:10px 12px 14px;border-top:1px solid var(--line)}.composer-box{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:6px 8px}.composer-box:focus-within{border-color:var(--ember)}.composer-box textarea{background:none;border:none;padding:4px;min-height:20px;max-height:100px}.composer-hint{color:var(--dim);font-size:11px;margin-top:4px;padding:0 4px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.modal{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px;max-width:640px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.modal-close{position:absolute;top:16px;right:16px}.modal h2{margin-bottom:14px}.card{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:14px}.tag{font-size:11px;padding:2px 8px;border:1px solid var(--line);border-radius:3px;color:var(--mist);text-transform:uppercase;letter-spacing:.06em}.tag.live{color:var(--live);border-color:var(--live)}.tag.draft{color:var(--mist)}.tag.finished{color:var(--dim)}.share-card{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:10px 14px}.public-shell{min-height:100%}.public-header{padding:16px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;background:var(--panel)}.public-live-strip{padding:10px 24px;background:var(--panel-2);border-bottom:1px solid var(--line);display:flex;gap:16px;align-items:center;overflow-x:auto}.live-tile{display:inline-flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:6px;padding:6px 12px;background:var(--panel);white-space:nowrap}.live-tile .live-dot{width:8px;height:8px;border-radius:4px;background:var(--live);box-shadow:0 0 6px var(--live)}.live-tile .score{font-variant-numeric:tabular-nums;font-weight:700;color:var(--ember)}.match-time{padding:4px 12px 6px;font-size:11px;color:var(--dim);border-top:1px solid var(--line);background:var(--panel-2)}.team-row{padding:3px 4px;border-radius:6px;border:1px solid transparent}.team-row.dragging{opacity:.4}.team-row.drop-target{border-color:var(--ember);background:var(--active)}.drag-handle{cursor:grab;color:var(--dim);font-size:18px;line-height:1;width:18px;text-align:center;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}.drag-handle:hover{color:var(--paper)}.arrange-hint{margin:16px 28px 0;padding:8px 12px;border:1px dashed var(--ember);border-radius:6px;color:var(--ember);font-size:13px}.slot.arrangeable{cursor:grab}.slot.arrangeable:active{cursor:grabbing}.slot.dragging{opacity:.35}.slot.drop-ok{outline:1px dashed var(--mist);outline-offset:-3px}.slot.drop-ok:hover{background:var(--active);outline-color:var(--ember)}.slot-grip{color:var(--dim);margin-right:8px;font-size:14px}.flag-tag{margin-left:6px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--dim);border:1px solid var(--line);border-radius:3px;padding:1px 5px;vertical-align:middle}.sidebar-tools{display:flex;gap:6px;padding:10px 12px 0}.sidebar-search{font-size:13px;padding:7px 10px}.sidebar-season{font-size:12px;padding:6px 8px;width:auto;max-width:110px}button.small{font-size:12px}.word-cloud{display:flex;flex-wrap:wrap;gap:6px;max-height:200px;overflow-y:auto}.word-chip{font-size:12px;padding:3px 8px;border-radius:12px;background:var(--panel-2);border:1px solid var(--line);cursor:pointer;color:var(--mist)}.word-chip:hover{border-color:var(--danger);color:var(--danger)}.announcements{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.announcements.compact{margin:0;padding:8px 24px 0;gap:6px}.announcement{display:flex;gap:12px;align-items:flex-start;background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--mist);border-radius:6px;padding:10px 12px}.announcement.important{border-left-color:var(--ember);background:#e8a86b14}.announcements.compact .announcement{padding:6px 10px;font-size:13px}.announcement-icon{width:20px;height:20px;border-radius:10px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--line);color:var(--paper)}.announcement.important .announcement-icon{background:var(--ember);color:var(--ink)}.announcement-body{flex:1;min-width:0;white-space:pre-wrap}.chat-msg.organizer{border-left:3px solid var(--ember);background:#e8a86b0f}.chat-msg.organizer .who .name{color:var(--ember)}.role-tag{font-size:10px;text-transform:uppercase;letter-spacing:.06em;margin-right:6px;color:var(--ember);border:1px solid var(--ember);border-radius:3px;padding:0 5px}.chat-msg.status .body{display:inline-block;background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:4px 12px;font-size:13px}.status-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.status-btn{padding:6px 10px;font-size:13px}.notice{display:flex;gap:10px;align-items:flex-start;margin:10px 12px 0;padding:10px 12px;background:#e8a86b1a;border:1px solid var(--ember);border-radius:6px;font-size:14px;white-space:pre-wrap}.notice.editing{display:block;background:var(--panel-2);border-color:var(--line)}.notice-icon{flex-shrink:0}.site-footer{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 20px;margin-top:40px;background:var(--panel);border-top:2px solid var(--ember);color:var(--paper);font-size:15px}.site-footer.compact{align-items:flex-start;padding:24px 20px;border-radius:8px;border:1px solid var(--line);border-top:2px solid var(--ember)}.site-footer .footer-row{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center}.site-footer .footer-row.brand{font-size:16px}.site-footer .footer-row.brand a{color:var(--ember);font-weight:700;font-size:18px;letter-spacing:.01em}.site-footer .footer-row.products a{color:var(--paper);font-weight:600}.site-footer .footer-row.products a:before{content:"▸ ";color:var(--ember)}.site-footer .footer-row.legal a{color:var(--mist);font-size:13px}.site-footer a{text-decoration:none}.site-footer a:hover{text-decoration:underline;color:var(--ember)}.legal-shell{min-height:100%}.legal{max-width:760px;margin:0 auto;padding:40px 24px 20px;line-height:1.6}.legal h1{margin:12px 0 4px}.legal h2{font-size:18px;margin:26px 0 8px;color:var(--paper)}.legal h3{font-size:13px;margin:14px 0 6px}.legal p,.legal li{color:var(--paper);font-size:15px;margin-bottom:10px}.legal ul{padding-left:22px}.legal a{color:var(--mention)}.landing{position:relative;min-height:100%;display:flex;flex-direction:column;background:radial-gradient(1200px 600px at 80% -10%,rgba(232,168,107,.1),transparent 60%),radial-gradient(800px 500px at -10% 110%,rgba(164,195,255,.08),transparent 60%),var(--ink)}.landing-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.landing>*{position:relative;z-index:1}.landing-top{display:flex;justify-content:space-between;align-items:center;padding:20px 40px}.landing-brand{display:flex;align-items:center;gap:10px;font-family:Space Grotesk,system-ui,sans-serif;font-weight:700;font-size:18px;letter-spacing:.01em}.landing-mark{width:32px;height:32px;border-radius:8px;background:var(--ember);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}.landing-tag{font-size:12px;color:var(--mist);text-transform:uppercase;letter-spacing:.08em}.landing-main{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:center;padding:40px 40px 24px;max-width:1180px;width:100%;margin:0 auto}.eyebrow{color:var(--ember);font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-bottom:14px}.landing-copy h1{font-family:Space Grotesk,system-ui,sans-serif;font-weight:700;font-size:clamp(34px,4.2vw,54px);line-height:1.05;letter-spacing:-.02em;margin-bottom:18px}.lede{font-size:17px;color:var(--paper);opacity:.9;line-height:1.55;max-width:560px;margin-bottom:22px}.landing-points{list-style:none;padding:0;margin:0 0 22px;display:flex;flex-direction:column;gap:10px}.landing-points li{position:relative;padding-left:22px;color:var(--mist);font-size:15px;line-height:1.45}.landing-points li:before{content:"";position:absolute;left:0;top:9px;width:10px;height:10px;border-radius:3px;background:var(--ember)}.landing-points li span{color:var(--paper);font-weight:600}.mission{font-size:14px;color:var(--mist);line-height:1.55;max-width:560px;border-left:2px solid var(--line);padding-left:14px}.mission a{color:var(--ember);font-weight:600;text-decoration:none}.mission a:hover{text-decoration:underline}.landing-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:0 20px 60px #00000059;display:flex;flex-direction:column;gap:12px}.landing-card h2{font-family:Space Grotesk,system-ui,sans-serif;font-size:24px}.landing-card input{padding:13px 14px;font-size:16px}.landing-card .sent{text-align:center;padding:12px 0;display:flex;flex-direction:column;gap:8px}.sent-icon{font-size:34px;color:var(--ember)}.linkish{background:none;border:none;color:var(--mention);padding:0;font-size:inherit;text-decoration:underline;cursor:pointer;font-weight:400}.landing-how{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1180px;width:100%;margin:24px auto 0;padding:0 40px 40px}.how-step{display:flex;gap:14px;align-items:flex-start}.how-n{width:30px;height:30px;border-radius:15px;flex-shrink:0;background:var(--panel-2);border:1px solid var(--ember);color:var(--ember);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.how-step strong{display:block;margin-bottom:4px;font-family:Space Grotesk,system-ui,sans-serif}.how-step p{color:var(--mist);font-size:14px;line-height:1.5}.landing .site-footer{margin-top:auto}@media (max-width: 900px){.landing-main{grid-template-columns:1fr;gap:28px;padding:24px 20px}.landing-how{grid-template-columns:1fr;padding:0 20px 32px}.landing-top{padding:16px 20px}.landing-tag{display:none}}.code-box{margin-top:10px;padding:12px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;text-align:left;display:flex;flex-direction:column;gap:6px}.board-layout{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start;max-width:1100px}.board-share{position:sticky;top:20px}.board-qr{display:block;width:100%;max-width:220px;border-radius:8px;margin:0 auto 12px;background:#fff;padding:6px}.board-code{font-size:32px;font-weight:800;letter-spacing:.25em;color:var(--ember);font-variant-numeric:tabular-nums;margin:2px 0 6px}@media (max-width: 900px){.board-layout{grid-template-columns:1fr}.board-share{position:static}}.team-shell{min-height:100%;display:flex;flex-direction:column}.team-header{padding:18px 20px;border-bottom:1px solid var(--line);background:var(--panel);display:flex;justify-content:space-between;align-items:center;gap:12px}.team-title{font-size:22px;font-weight:700}.team-main{flex:1;padding:20px;max-width:720px;width:100%;margin:0 auto}.team-post{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--ember);border-radius:8px;padding:12px 14px}.team-post-body{white-space:pre-wrap;font-size:16px;line-height:1.5;margin-bottom:6px}.badge-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--live);color:#fff;font-size:10px;font-weight:700;margin-left:6px;vertical-align:middle}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px 16px;text-align:left;color:var(--paper);cursor:pointer;font-weight:400}.stat:hover{border-color:var(--mist)}.stat.warn{border-color:var(--ember);background:#e8a86b14}.stat-n{font-size:30px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.stat.warn .stat-n{color:var(--ember)}.stat-l{font-size:12px;color:var(--mist);margin-top:4px}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mist);padding:8px 10px;border-bottom:1px solid var(--line)}.admin-table td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}.admin-table tr:hover td{background:var(--hover)}.admin-table td.row{display:flex;gap:6px;flex-wrap:wrap}.admin-table button{padding:5px 10px;font-size:13px}.active-icon{color:var(--ember)}
