@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Plus Jakarta Sans Fallback;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_646807{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.__variable_646807{--font-jakarta:"Plus Jakarta Sans","Plus Jakarta Sans Fallback"}@font-face{font-family:Azeret Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/854bbc65c6f2e964-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Azeret Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/fb751edd4b3a9ca4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Azeret Mono Fallback;src:local("Arial");ascent-override:64.26%;descent-override:15.77%;line-gap-override:0.00%;size-adjust:145.81%}.__className_2fb093{font-family:Azeret Mono,Azeret Mono Fallback;font-style:normal}.__variable_2fb093{--font-azeret:"Azeret Mono","Azeret Mono Fallback"}:root{--bg:#0d1117;--bg-elev:#161b22;--bg-elev-2:#1c2330;--border:#2a3140;--text:#e6edf3;--muted:#8b949e;--accent:#f0a500;--green:#3fb950;--yellow:#d29922;--red:#f85149;--blue:#58a6ff;--hp:#e5534b;--mana:#4c8dff;--radius:8px;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;height:100%;background:var(--bg);color:var(--text);font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button:not(.desk-root *):not(.lp *){font:inherit}h1:not(.desk-root *):not(.lp *),h2:not(.desk-root *):not(.lp *){margin:0}h1:not(.desk-root *):not(.lp *){font-size:22px}h2:not(.desk-root *):not(.lp *){font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:10px}.muted{color:var(--muted);margin:0}.error-text{color:var(--red);margin:8px 0}.btn{border:1px solid var(--border);background:var(--bg-elev-2);color:var(--text);padding:7px 14px;border-radius:6px;cursor:pointer;transition:background .15s}.btn:hover:not(:disabled){background:#263041}.btn:disabled{opacity:.45;cursor:default}.btn-sm{padding:4px 10px;font-size:12px}.btn-ghost{background:transparent}.btn-primary{background:var(--accent);border-color:var(--accent);color:#111;font-weight:600}.btn-primary:hover:not(:disabled){background:#ffb81f}.btn-start{color:var(--green)}.btn-stop{color:var(--red)}.btn-icon{width:32px;height:32px;padding:0;display:grid;place-items:center;font-size:12px}a.btn{display:inline-block;text-align:center;text-decoration:none}.brand{font-weight:800;font-size:18px;letter-spacing:-.02em}.brand span{color:var(--accent)}.brand-lg{font-size:30px}.login-page{min-height:100%;display:grid;place-items:center;padding:16px}.login-card{width:100%;max-width:360px;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:28px;display:grid;gap:12px}.login-form{display:grid;gap:12px;margin-top:8px}.login-form label{display:grid;gap:4px;color:var(--muted);font-size:12px}.login-form input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:9px 10px;font:inherit}.login-form input:focus{outline:2px solid var(--accent);outline-offset:-1px}.hint{font-size:12px;text-align:center}.app{height:100%;display:flex;flex-direction:column}.app-page{height:auto;min-height:100%}.app-page .topbar{position:sticky;top:0;z-index:10}.app-page .manage{overflow:visible}.topbar{height:52px;flex-shrink:0;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--border);background:var(--bg-elev)}.topbar,.topbar-right{display:flex;align-items:center}.topbar-right{gap:14px}.layout{flex:1;display:grid;grid-template-columns:340px 1fr;min-height:0}.dot{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:2px 8px;border-radius:999px;background:var(--bg-elev-2);border:1px solid var(--border)}.badge-online{color:var(--green)}.badge-connecting{color:var(--yellow)}.badge-error{color:var(--red)}.badge-offline{color:var(--muted)}.live{display:inline-flex;align-items:center;gap:6px;font-size:12px}.live-open{color:var(--green)}.live-connecting,.live-reconnecting{color:var(--yellow)}.sidebar{border-right:1px solid var(--border);background:var(--bg-elev);display:flex;flex-direction:column;min-height:0}.sidebar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border)}.sidebar-error{padding:0 12px}.toolbar-actions{display:flex;gap:6px}.check{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.account-list{list-style:none;margin:0;padding:6px;overflow-y:auto}.account-list .empty{padding:16px;color:var(--muted)}.account-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:10px;border-radius:var(--radius);cursor:pointer;border:1px solid transparent}.account-row.selected,.account-row:hover{background:var(--bg-elev-2)}.account-row.selected{border-color:var(--border)}.account-main{min-width:0}.account-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-sub{font-size:12px;color:var(--muted)}.account-meta{display:grid;justify-items:end;gap:2px}.ping{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.panel{padding:20px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.empty-panel{color:var(--muted);align-items:center;justify-content:center}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.panel-actions{display:flex;align-items:center;gap:10px}.segmented{display:inline-flex;align-self:flex-start;border:1px solid var(--border);border-radius:6px;overflow:hidden}.segmented button{background:var(--bg-elev);color:var(--muted);border:0;padding:6px 14px;cursor:pointer}.segmented button+button{border-left:1px solid var(--border)}.segmented button.active{background:var(--bg-elev-2);color:var(--accent);font-weight:600}.bars{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bar-label{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:4px;font-variant-numeric:tabular-nums}.bar-track{height:10px;background:var(--bg-elev-2);border-radius:999px;overflow:hidden}.bar-fill{height:100%;transition:width .3s ease}.bar-hp{background:var(--hp)}.bar-mana{background:var(--mana)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.stat{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.stat-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.stat-sub{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.worker-uptime{text-align:right;white-space:nowrap}.worker-charts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.worker-chart{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px 6px;color:var(--blue)}.worker-chart-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.worker-chart-head strong{color:var(--text);font-size:13px;text-transform:none;letter-spacing:0;font-variant-numeric:tabular-nums}.columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-height:0}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:14px;min-width:0}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;color:var(--muted);font-weight:500;padding:4px 6px;border-bottom:1px solid var(--border)}.table td{padding:4px 6px;border-bottom:1px solid #20262f}.num,.table .num{text-align:right;font-variant-numeric:tabular-nums}.log{list-style:none;margin:0;padding:0;max-height:320px;overflow-y:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.log li{padding:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.log time{color:var(--muted)}.log-debug{color:#9aa4af}.log-warn{color:var(--yellow)}.log-error{color:var(--red)}@media (max-width:900px){.layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border);max-height:40vh}.bars,.columns{grid-template-columns:1fr}}.btn-google{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#1f1f1f;border-color:#dadce0;font-weight:600;padding:9px 14px}.btn-google:hover:not(:disabled){background:#f2f2f2}.divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.divider:after,.divider:before{content:"";flex:1;height:1px;background:var(--border)}.badge-challenge{background:color-mix(in srgb,var(--yellow) 18%,transparent);color:var(--yellow);border:1px solid color-mix(in srgb,var(--yellow) 40%,transparent);cursor:pointer;font:inherit;font-size:11px}.challenge-banner{padding:8px 16px;background:color-mix(in srgb,var(--yellow) 12%,var(--bg-elev));border-bottom:1px solid color-mix(in srgb,var(--yellow) 35%,var(--border));color:var(--text)}.callout,.challenge-banner{display:flex;align-items:center;justify-content:space-between;gap:12px}.callout{padding:10px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elev)}.callout-failed,.callout-pending{border-color:color-mix(in srgb,var(--yellow) 45%,var(--border))}.callout-failed{border-color:color-mix(in srgb,var(--red) 45%,var(--border))}.callout-solved{border-color:color-mix(in srgb,var(--green) 45%,var(--border))}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:rgb(0 0 0/.55)}.modal{width:min(560px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px 20px;display:flex;flex-direction:column;gap:12px}.modal-header{display:flex;align-items:center;justify-content:space-between}.modal-header h2{margin:0;font-size:16px}.solver-account{margin:0}.solver-note{margin:0;padding:8px 10px;border-radius:6px;background:var(--bg-elev-2);color:var(--muted);font-size:13px}.solver-embed .turnstile-box{min-height:70px}.solver-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:12px}.solver-steps p{margin:0 0 6px}.bookmarklet{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--accent);color:#111;font-weight:600;text-decoration:none;cursor:grab}.link-button{background:none;border:0;padding:0;color:var(--blue);font:inherit;cursor:pointer;text-decoration:underline}.paste-row{display:flex;gap:8px;align-items:stretch}.paste-row textarea{flex:1;min-width:0;resize:vertical;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 8px;font:12px ui-monospace,monospace}.solver-done{display:flex;align-items:center;justify-content:space-between;gap:12px}.manage{padding:16px;gap:16px;max-width:1100px;width:100%;margin:0 auto;overflow:auto}.manage,.manage-section{display:flex;flex-direction:column}.manage-section{gap:12px}.manage-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.manage-header h2{margin:0 0 4px}.manage-header p{margin:0}.manage-form{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev-2)}.manage-form h3{margin:0;font-size:14px}.manage-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.manage-form label.check{flex-direction:row}.manage-form input:not([type=checkbox]):not([type=radio]),.manage-form select,.manage-form textarea{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:7px 9px;font:inherit;font-size:13px}.manage-form textarea{font-family:ui-monospace,monospace;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.form-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.form-actions .spacer{flex:1}.input-sm{max-width:260px}.character-pick{display:flex;flex-wrap:wrap;gap:8px}.character-pick label{flex-direction:row;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer}.character-pick label.active{border-color:var(--accent)}.signup-alert{display:flex;align-items:flex-start;gap:10px;margin:0;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg)}.signup-alert p{margin:2px 0 0}.signup-alert.progress{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--bg))}.signup-alert.done{display:block;border-color:color-mix(in srgb,var(--green) 50%,var(--border));background:color-mix(in srgb,var(--green) 10%,var(--bg))}.signup-alert.done strong{color:var(--green)}.signup-alert.error{display:block;border-color:color-mix(in srgb,var(--red) 50%,var(--border));background:color-mix(in srgb,var(--red) 8%,var(--bg))}.signup-spinner{flex:none;width:16px;height:16px;margin-top:2px;border:2px solid color-mix(in srgb,var(--accent) 30%,transparent);border-top-color:var(--accent);border-radius:50%;animation:signup-spin .8s linear infinite}@keyframes signup-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.signup-spinner{animation-duration:2.4s}}.party-job{display:flex;align-items:center;gap:6px;margin-top:6px;max-width:320px;font-size:12px;color:var(--muted)}.party-job.done{color:var(--green)}.party-job.error{color:var(--red)}.party-job .signup-spinner{width:12px;height:12px;margin-top:0}.char-group{display:inline-flex;flex-direction:column;gap:2px;min-width:220px;padding:6px 10px 8px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-left:3px solid var(--accent);border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 5%,transparent)}.char-group-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:2px}.char-group-member{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.char-group-member+.char-group-member{padding-top:2px;border-top:1px dashed var(--border)}.char-group-member.main .char-group-name{font-weight:600}.char-group-tag{margin-left:auto;font-size:10px;padding:0 6px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent)}.char-group-tag.party{border-color:var(--border);color:var(--muted)}.row-actions{text-align:right;white-space:nowrap}.row-actions .btn+.btn{margin-left:6px}.row-flash td{animation:row-flash 2.4s ease-out}@keyframes row-flash{0%,40%{background:rgb(240 165 0/.16)}to{background:transparent}}@media (prefers-reduced-motion:reduce){.row-flash td{animation:none;background:rgb(240 165 0/.12)}}.row-disabled td{opacity:.55}.small{font-size:11px}.warn-text{color:var(--yellow)}.ok-text{color:var(--green)}.admin{max-width:1400px}.admin-scroll{overflow-x:auto}.admin-scroll .table td{vertical-align:top}.admin-search{min-width:220px;max-width:100%;padding:6px 10px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;font:inherit}.admin-search:focus{outline:none;border-color:var(--accent)}.admin-click{cursor:pointer}.admin-click:hover td{background:var(--bg-elev-2)}.admin-expanded>td{background:var(--bg);padding:8px 8px 12px 24px}.admin-error{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-log{max-height:420px}.net-stats{display:flex;flex-wrap:wrap}.net-stats>.stat{flex:1 1 190px;min-width:0}.net-account td{background:var(--bg)}.net-account td:first-child{padding-left:24px}.admin-limit{display:flex;align-items:center;gap:6px;flex-wrap:wrap;white-space:nowrap}.admin-limit-input{width:72px;padding:3px 6px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;font:inherit;font-size:12px}.admin-limit-input:focus{outline:none;border-color:var(--accent)}@media (max-width:700px){.admin .manage-header{flex-direction:column}}.admin-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.admin-toolbar .segmented{flex-wrap:wrap}.billing-banner{--tone:var(--blue);display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 16px;border-bottom:1px solid color-mix(in srgb,var(--tone) 35%,var(--border));box-shadow:inset 3px 0 0 var(--tone);background:color-mix(in srgb,var(--tone) 9%,var(--bg-elev));color:var(--text);font-size:13px}.billing-banner-warn{--tone:var(--accent)}.billing-banner-danger{--tone:var(--red)}.billing-banner-icon{flex:none;color:var(--tone)}.billing-banner-text{flex:1 1 280px;min-width:0}.billing-banner-how{white-space:pre-line;color:var(--muted)}.billing-banner-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.copy-email{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;max-width:100%}.copy-email-label{color:var(--muted);font-size:12px}.copy-email-box{display:inline-flex;align-items:stretch;min-width:0;max-width:100%;border:1px solid var(--border);border-radius:6px;background:var(--bg)}.copy-email-box code{min-width:0;padding:3px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:12px ui-monospace,monospace;user-select:all}.copy-email-btn{display:grid;place-items:center;padding:0 8px;border:0;border-left:1px solid var(--border);border-radius:0 6px 6px 0;background:transparent;color:var(--muted);cursor:pointer}.copy-email-btn:hover{background:var(--bg-elev-2);color:var(--text)}.plan-card{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.plan-card-promo{margin:0;padding:8px 10px;border:1px dashed color-mix(in srgb,var(--green) 50%,var(--border));border-radius:6px;background:color-mix(in srgb,var(--green) 8%,transparent)}.plan-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:0;padding:0;list-style:none}.plan-option{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev-2)}.plan-option-name{font-weight:600}.plan-option-price{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.plan-option-price small{font-size:12px;font-weight:400;color:var(--muted)}.plan-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.plan-card-how{white-space:pre-line}