@font-face{font-family:LocalDisplay;src:local('Bahnschrift')}@font-face{font-family:LocalText;src:local('Segoe UI')}*{box-sizing:border-box}body{margin:0;background:#f5f3ee;color:#202a25;font-family:LocalText,'Trebuchet MS',sans-serif;font-size:15px}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #26764c;outline-offset:3px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.shell{max-width:1440px;margin:auto;padding:0 64px}.topbar{height:110px;border-bottom:1px solid #d7dcd1;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:13px;align-items:center;font-weight:800;letter-spacing:1.3px;font-size:15px}.brand small{display:block;font-size:9px;letter-spacing:2.8px;margin-top:3px;font-weight:500}.brand-mark{width:39px;height:42px;border-radius:11px;background:#243c30;color:#e4efb2;font-family:LocalDisplay,sans-serif;font-size:36px;letter-spacing:-8px;line-height:39px;padding-left:7px;position:relative}.brand-mark>span{font-size:20px;position:absolute;right:7px;top:-5px}.topbar-right{display:flex;gap:9px;align-items:center;font-size:13px}.text-button{background:none;border:0;color:#526157;padding:9px}.topbar-right .text-button{border-left:1px solid #d7dcd1;margin-left:18px;padding-left:24px}.server-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#3f855e;flex-shrink:0}.muted{color:#69756c}.hero{display:flex;justify-content:space-between;align-items:center;padding:53px 0 35px;gap:24px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#687a69}.hero h1{font-family:LocalDisplay,'Trebuchet MS',sans-serif;font-size:clamp(35px,4vw,56px);line-height:1.1;margin:15px 0 12px;font-weight:600;letter-spacing:-1.8px}.heading-dot{color:#388659}.lede{color:#677269;font-size:15px;line-height:1.6;margin:0}.primary,.secondary{padding:12px 19px;border-radius:8px;font-weight:600;display:inline-flex;gap:12px;justify-content:center;align-items:center;white-space:nowrap;min-height:44px;transition:background .15s,transform .15s}.primary{background:#263f31;color:#f3f6e9;border:1px solid #263f31}.primary:hover{background:#345a43;transform:translateY(-1px)}.secondary{border:1px solid #cdd4c8;background:transparent;color:#354b3d}.secondary:hover{background:#e9ede3}.plus{font-size:22px;line-height:16px;font-weight:400}.overview{border:1px solid #d4dbcc;background:#e9eddc;border-radius:12px;display:grid;grid-template-columns:1fr 1fr 1fr 1.6fr;margin-bottom:44px;padding:25px 0}.overview>div{padding:0 28px;border-right:1px solid #d0d9c5}.overview>div:last-child{border:0}.stat-label{font-size:9px;font-weight:700;letter-spacing:1.7px;color:#5d6e59}.overview strong{display:block;font-family:LocalDisplay,sans-serif;font-weight:500;font-size:32px;margin-top:10px}.overview .connection{display:flex;align-items:center;gap:13px}.connection strong{font:600 14px LocalText,sans-serif;margin:0}.connection span:last-child{display:block;margin-top:5px;font-size:12px;color:#687562}.section-title{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:19px}.section-title h2{font-size:21px;font-weight:600;margin:0 0 5px;letter-spacing:-.4px}.section-title p{font-size:12px;color:#6e7a70;margin:0}.count{display:inline-flex;border:1px solid #d4dbcc;border-radius:20px;font-size:11px;align-items:center;justify-content:center;min-width:24px;height:23px;vertical-align:middle;margin-left:6px;color:#687562}.games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.game-card{background:#fffefa;border:1px solid #dce0d5;border-radius:12px;padding:24px;position:relative;animation:appear .35s both}.game-card:nth-child(2){animation-delay:.06s}.game-card:nth-child(3){animation-delay:.12s}.game-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.game-icon{width:44px;height:44px;background:#e5ebdc;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#35543d;font-family:LocalDisplay,sans-serif}.badge{border-radius:20px;padding:5px 9px;font-size:10px;font-weight:600;background:#e6f0e3;color:#386c43}.badge.paused{background:#efede6;color:#726b56}.badge.error{background:#f9e7dc;color:#8d4b25}.game-card h3{font-size:20px;font-weight:600;margin:0 0 5px;letter-spacing:-.3px}.game-id{font:10px Consolas,monospace;color:#7c877b;overflow-wrap:anywhere}.game-times{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px;padding-top:18px;border-top:1px solid #e9ece3}.game-times small{display:block;font-size:10px;color:#7a8679;margin-bottom:7px}.game-times strong{font-size:13px;font-weight:600}.game-reason{font-size:12px;line-height:1.6;padding:10px 12px;border-radius:7px;background:#f4efe5;color:#79623c;margin:16px 0 0;overflow-wrap:anywhere}.game-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:21px;gap:8px}.interval-button{font-size:11px;color:#677364;border:0;background:none;padding:4px 0;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}.pause-game{border:1px solid #d9dfd1;background:transparent;border-radius:7px;width:34px;height:34px;color:#4d6350;font-size:14px}.refresh-game{padding:9px 12px;min-height:35px;font-size:11px;border-radius:7px}.game-controls{display:flex;gap:6px}.sandbox-link{margin-top:14px;display:inline-block;color:#4e7352;font-size:11px}.activity{margin-top:43px}.activity .eyebrow{margin-bottom:9px}.events{border-top:1px solid #d7dcd1}.event{display:grid;grid-template-columns:65px 120px minmax(0,1fr);gap:18px;padding:14px 0;border-bottom:1px solid #e1e4da;align-items:start;font-size:12px}.event time{font-family:Consolas,monospace;color:#75806f}.event .event-name{font-weight:600}.event .event-message{color:#5f6e60;overflow-wrap:anywhere}.event.error .event-message{color:#934d2d}.live-label{font-size:10px;color:#7a8675;display:flex;gap:7px;align-items:center}.live-label i{width:5px;height:5px;background:#5d8d58;border-radius:50%}footer{display:flex;justify-content:space-between;padding:28px 0 26px;color:#6e7a6c;font-size:10px;letter-spacing:.3px}.empty{text-align:center;padding:48px;background:#fffefa;border:1px dashed #c6d1bc;border-radius:12px}.empty>span{font-size:32px;color:#658460}.empty p{color:#788371}.notice{padding:15px 18px;background:#eee4c7;color:#665226;border-radius:8px;font-size:13px;margin-bottom:18px}dialog{border:1px solid #d6ddce;border-radius:16px;width:min(550px,calc(100vw - 30px));padding:30px;background:#fffefa;color:#26372b;box-shadow:0 35px 100px #172c2740}dialog::backdrop{background:#23302a66;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:start}.dialog-head h2{font-size:26px;margin:10px 0 12px;letter-spacing:-.8px}.icon-button{border:0;background:none;font-size:28px;line-height:28px;color:#7c8877;padding:0 3px}dialog p{font-size:13px;line-height:1.6}.catalog-search{display:flex;gap:8px;margin-top:20px}.catalog-search input{flex:1;min-width:0}input{border:1px solid #ced6c5;border-radius:7px;padding:11px 12px;background:#fffefa;color:#26372b;width:100%}.catalog{max-height:270px;overflow:auto;margin:14px 0}.catalog-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e2e6db;border-radius:8px;margin:7px 0;cursor:pointer}.catalog-item:has(input:checked){background:#edf3e4;border-color:#618457}.catalog-item input{width:auto;accent-color:#3a7046}.catalog-item strong{display:block;font-size:13px}.catalog-item small{font-size:10px;color:#7b8675}.catalog-item.disabled{opacity:.5;cursor:default}.interval{border:0;padding:0;display:flex;gap:12px;align-items:end;margin:23px 0}.interval legend{font-size:12px;color:#687562;margin-bottom:12px}.interval label{font-size:10px;color:#788371;flex:1}.interval input{margin-top:6px}.interval>span{padding-bottom:12px;color:#7b8675}.dialog-actions{display:flex;gap:10px;justify-content:end;padding-top:9px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:14px 22px;border-radius:9px;background:#263f31;color:#f2f5e9;box-shadow:0 7px 35px #1c2e252e;max-width:calc(100vw - 30px);z-index:10;font-size:13px}.toast.failure{background:#813e28}.login{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(ellipse at 75% 20%,#e0e7cd,transparent 65%),#f5f3ee}.login-card{width:min(440px,100%);padding:38px;border:1px solid #d8dece;border-radius:16px;background:#fffefa}.login-card h1{font-family:LocalDisplay,sans-serif;font-size:39px;line-height:1.14;letter-spacing:-1px;margin:40px 0 17px;font-weight:500}.login-card p{font-size:13px;line-height:1.65;color:#75816e}.login-card label{display:block;font-size:12px;margin-top:18px;color:#576951}.login-card input{margin-top:7px}.login-card .primary{width:100%;justify-content:space-between;margin-top:7px}.login-card .error{color:#9a4227;min-height:18px;margin:8px 0}.login-foot{font-size:10px;color:#85907c;margin-top:26px;text-align:center}@keyframes appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(max-width:1050px){.shell{padding:0 32px}.games{grid-template-columns:repeat(2,minmax(0,1fr))}.overview>div{padding:0 20px}.overview{grid-template-columns:1fr 1fr 1fr}.overview .connection{grid-column:1/-1;border-top:1px solid #d0d9c5;padding-top:20px;margin-top:20px}.overview>div:nth-child(3){border-right:0}}@media(max-width:650px){.shell{padding:0 18px}.topbar{height:82px}.topbar-right{font-size:11px}.brand{font-size:12px;gap:10px}.brand small{font-size:8px;letter-spacing:2px}.brand-mark{width:34px;height:37px;font-size:31px;line-height:35px}.hero{align-items:start;flex-direction:column;padding-top:35px}.hero h1{font-size:39px}.hero .primary{width:100%}.games{grid-template-columns:1fr}.overview{padding:20px 0;margin-bottom:30px}.overview>div{padding:0 17px}.overview strong{font-size:28px}.stat-label{font-size:8px;letter-spacing:.9px}.section-title{align-items:start}.section-title .secondary{font-size:11px;padding:9px 12px;min-height:37px}.section-title p{font-size:10px;max-width:180px;line-height:1.6}.game-card{padding:22px}.activity .section-title{gap:10px}.live-label{font-size:8px}.event{grid-template-columns:53px 1fr;gap:5px 10px}.event-message{grid-column:2}.event time{font-size:10px;padding-top:2px}footer{gap:18px;font-size:9px;line-height:1.7}dialog{padding:23px}.dialog-actions .primary{font-size:12px;padding:12px}.login-card{padding:28px}.topbar-right .text-button{margin-left:3px;padding-left:10px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

@media(max-width:650px){.overview .connection strong{font-size:14px}}
.server-dot.error{background:#a4512c}
