:root{--bg:#0b0e0f;--surface:#111516;--surface-raised:#15191a;--surface-soft:#191d1e;--border:#303536;--border-strong:#464c4d;--text:#f1f0ed;--text-muted:#a7aaa8;--text-dim:#777c7b;--accent:#e4a43a;--accent-strong:#f0b448;--accent-ink:#1b1306;--good:#70c45d;--warn:#e4a43a;--danger:#ec624b;--focus:#ffd079;--shadow:0 22px 60px #00000052;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--font-ui:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Arial Narrow", "Roboto Condensed", var(--font-ui);color:var(--text);background:var(--bg);font-family:var(--font-ui);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{background:var(--bg);min-width:320px;min-height:100%}body{background:linear-gradient(#ffffff04 1px, transparent 1px), linear-gradient(90deg, #ffffff03 1px, transparent 1px), var(--bg);background-size:48px 48px;min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}button:disabled{cursor:not-allowed}svg{display:block}::selection{color:var(--accent-ink);background:var(--accent-strong)}#root{min-height:100vh}.app-shell{border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:min(1480px,100% - 32px);min-height:calc(100vh - 32px);box-shadow:var(--shadow);background:#0a0d0ef5;margin:16px auto;overflow:hidden}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;min-height:84px;padding:0 40px;display:flex}.brand{color:var(--text);font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:18px;font-size:17px;font-weight:750;text-decoration:none;display:inline-flex}.brand-mark{clip-path:polygon(20% 0,100% 0,80% 38%,100% 38%,80% 100%,0 100%,20% 62%,0 62%);width:38px;height:38px;color:var(--accent-ink);background:var(--accent);place-items:center;font-size:19px;font-style:italic;font-weight:900;display:grid}.preview-user{color:var(--text-muted);align-items:center;gap:12px;display:flex}.preview-user>span:not(.preview-dot){gap:2px;display:grid}.preview-user strong{color:var(--text);font-size:14px;font-weight:650}.preview-user small{font-size:12px}.logout-button{box-sizing:content-box;border:0;border-left:1px solid var(--border-strong);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;place-items:center;padding:0 0 0 12px;display:grid}.logout-button:hover:not(:disabled),.logout-button:focus-visible{color:var(--text)}.logout-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.logout-button:disabled{cursor:wait;opacity:.5}.logout-button svg{width:19px;height:19px}.preview-dot{border:2px solid var(--bg);background:var(--accent);width:10px;height:10px;box-shadow:0 0 0 1px var(--accent);border-radius:50%}.dashboard{padding:22px 48px 48px}.refresh-row{min-height:34px;color:var(--text-dim);justify-content:flex-end;align-items:center;gap:10px;font-size:13px;display:flex}.stale-warning{color:var(--warn);margin-right:auto}.icon-button{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.icon-button:hover:not(:disabled){color:var(--text);background:var(--surface-soft)}.icon-button svg{width:19px;height:19px}.game-hero{align-items:center;gap:36px;min-height:192px;display:flex}.game-mark{clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%);background:var(--accent);flex:none;place-items:center;width:126px;height:126px;display:grid}.game-mark svg{width:72px;height:72px;color:var(--accent-ink)}.hero-content{min-width:0}.hero-content h1{font-family:var(--font-display);letter-spacing:.035em;text-transform:uppercase;margin:0 0 20px;font-size:clamp(42px,5vw,64px);font-weight:760;line-height:.95}.hero-facts{align-items:stretch;display:flex}.hero-fact{border-left:1px solid var(--border-strong);align-items:center;gap:14px;min-width:196px;padding:0 30px;display:flex}.hero-fact:first-child{border-left:0;padding-left:0}.hero-fact>svg{width:31px;height:31px;color:var(--text-muted);stroke-width:1.45px}.hero-fact>span:last-child{gap:3px;min-width:0;display:grid}.hero-fact strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:19px;font-weight:560;overflow:hidden}.hero-fact small{color:var(--text-dim);font-size:13px}.address-fact{min-width:min(360px,35vw)}.status-ring{width:32px;height:32px;color:var(--warn);border:1px solid;border-radius:50%;flex:none;place-items:center;display:grid}.status-ring:after{content:"";background:currentColor;border-radius:50%;width:9px;height:9px}.status-ring.is-good{color:var(--good)}.status-ring.is-warn{color:var(--warn)}.text-good{color:var(--good)!important}.text-warn{color:var(--warn)!important}.detail-rail{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(180deg, #ffffff06, transparent), var(--surface);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.detail-item{border-left:1px solid var(--border);align-items:center;gap:18px;min-height:126px;padding:28px 26px;display:flex}.detail-item:first-child{border-left:0}.detail-item>svg{width:40px;height:40px;color:var(--accent);stroke-width:1.45px;flex:none}.detail-item>span{gap:4px;min-width:0;display:grid}.detail-item small,.detail-item em{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-style:normal;overflow:hidden}.detail-item strong{text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:570;overflow:hidden}.action-row{justify-content:space-between;align-items:center;gap:24px;min-height:106px;display:flex}.primary-actions{flex-wrap:wrap;gap:14px;display:flex}.button{border-radius:var(--radius-sm);letter-spacing:-.01em;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:11px;min-height:52px;padding:0 24px;font-size:15px;font-weight:650;transition:transform .14s,border-color .14s,background .14s,color .14s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button svg{width:20px;height:20px}.button-primary{color:var(--accent-ink);border-color:var(--accent-strong);background:var(--accent)}.button-primary:hover:not(:disabled){background:var(--accent-strong)}.button-secondary{color:var(--text);border-color:var(--border-strong);background:0 0}.button-secondary:hover:not(:disabled){border-color:var(--text-muted);background:var(--surface-soft)}.button-danger{color:var(--danger);border-color:var(--danger);background:0 0}.button:disabled{color:var(--text-dim);border-color:var(--border);background:var(--surface);opacity:.72}.job-progress{border-radius:var(--radius-md);background:#e4a43a12;border:1px solid #e4a43a59;align-items:center;gap:16px;margin:0 0 24px;padding:18px 22px;display:flex}.job-progress-icon{width:38px;height:38px;color:var(--accent);place-items:center;display:grid}.job-progress-icon svg{width:24px;height:24px}.job-progress>span:last-child{gap:5px;display:grid}.job-progress small{color:var(--accent);font-size:12px}.job-progress strong{font-size:14px;font-weight:560}.activity-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.activity-panel+.activity-panel{margin-top:24px}.empty-history{color:var(--text-dim);margin:0;padding:28px 26px;font-size:13px}.section-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:18px 26px;display:flex}.section-heading h2{margin:0 0 3px;font-size:17px;font-weight:650}.section-heading p{color:var(--text-dim);margin:0;font-size:12px}.phase-label{color:var(--accent);font-size:13px}.activity-list{margin:0;padding:12px 26px 18px;list-style:none}.activity-list li{grid-template-columns:120px 24px 44px minmax(0,1fr);align-items:center;gap:15px;min-height:84px;display:grid;position:relative}.activity-list li:not(:last-child):after{content:"";background:var(--border-strong);width:1px;position:absolute;top:calc(50% + 7px);bottom:calc(7px - 50%);left:131px}.activity-list time{color:var(--text-dim);font-size:12px}.timeline-dot{z-index:1;background:var(--accent);border-radius:50%;justify-self:center;width:12px;height:12px}.timeline-dot.is-good{background:var(--good)}.timeline-dot.is-warn{background:var(--warn)}.activity-icon{width:42px;height:42px;color:var(--accent);place-items:center;display:grid}.activity-icon svg{stroke-width:1.5px;width:28px;height:28px}.activity-copy{gap:4px;display:grid}.activity-copy strong{font-size:14px;font-weight:620}.activity-copy small{color:var(--text-muted);font-size:12px}.confirm-dialog{border:1px solid var(--border-strong);border-radius:var(--radius-md);width:min(610px,100% - 32px);color:var(--text);background:var(--surface-raised);box-shadow:var(--shadow);padding:0;overflow:hidden}.confirm-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#000000b3}.confirm-dialog form{margin:0}.dialog-heading{border-bottom:1px solid var(--border);align-items:center;gap:15px;min-height:76px;padding:0 24px;display:flex}.dialog-heading h2{flex:1;margin:0;font-size:22px}.dialog-icon{color:var(--accent)}.dialog-icon svg{width:26px;height:26px}.player-check{border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--warn);background:var(--surface);align-items:center;gap:12px;margin:24px 24px 18px;padding:18px;display:flex}.player-check.is-good{color:var(--good)}.player-check svg{width:22px;height:22px}.confirm-dialog form>p{color:var(--text-muted);margin:0;padding:0 24px 24px;font-size:15px;line-height:1.65}.update-confirmation{border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);background:var(--surface);cursor:pointer;align-items:flex-start;gap:12px;margin:0 24px 24px;padding:16px 18px;font-size:14px;line-height:1.5;display:flex}.update-confirmation input{width:18px;height:18px;accent-color:var(--accent);margin:2px 0 0}.dialog-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;padding:18px 24px;display:flex}.loading-screen,.error-screen{text-align:center;place-content:center;justify-items:center;gap:16px;min-height:100vh;padding:32px;display:grid}.loading-screen svg,.error-screen>svg{width:34px;height:34px;color:var(--accent)}.loading-screen p,.error-screen p{max-width:520px;color:var(--text-muted);margin:0}.error-screen h1{margin:0;font-size:28px}.auth-shell{grid-template-rows:auto 1fr;display:grid}.private-label{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.private-label svg{width:18px;height:18px;color:var(--accent)}.login-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:min(700px,100vh - 118px);padding:48px 24px;display:flex}.login-icon{width:68px;height:68px;color:var(--accent);background:#e4a43a12;border:1px solid #e4a43a52;border-radius:50%;place-items:center;margin-bottom:24px;display:grid;box-shadow:0 0 40px #e4a43a14}.login-icon svg{width:30px;height:30px}.login-screen .eyebrow{color:var(--accent);font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;margin:0 0 12px;font-size:12px;font-weight:750}.login-screen h1{font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(34px,6vw,60px)}.login-screen>p:not(.eyebrow):not(.auth-message){max-width:610px;color:var(--text-muted);margin:22px 0 0;font-size:16px;line-height:1.7}.auth-message{border-radius:var(--radius-sm);max-width:610px;color:var(--warn);background:#ffc45412;border:1px solid #ffc45447;margin:18px 0 0;padding:10px 14px;font-size:14px}.login-button{margin-top:32px;text-decoration:none}.text-button{color:var(--text-muted);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin-top:16px;padding:4px;font-size:13px;text-decoration:underline}.text-button:hover,.text-button:focus-visible{color:var(--text)}.login-screen>small{max-width:520px;color:var(--text-dim);margin-top:26px;font-size:12px;line-height:1.6}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1120px){.dashboard{padding-inline:30px}.detail-rail{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-item:nth-child(4){border-left:0;border-top:1px solid var(--border)}.detail-item:nth-child(5){border-top:1px solid var(--border)}.hero-facts{flex-wrap:wrap;row-gap:18px}.address-fact{min-width:360px}}@media (width<=760px){.app-shell{border:0;border-radius:0;width:100%;min-height:100vh;margin:0}.app-header{min-height:72px;padding:0 20px}.brand{letter-spacing:.12em;gap:11px;font-size:13px}.brand-mark{width:32px;height:32px;font-size:16px}.preview-user small,.logout-button{display:none}.private-label{font-size:0}.login-screen{min-height:calc(100vh - 72px);padding-inline:20px}.dashboard{padding:16px 20px 28px}.game-hero{align-items:flex-start;gap:20px;min-height:auto;padding:24px 0 30px}.game-mark{width:74px;height:74px}.game-mark svg{width:42px;height:42px}.hero-content h1{margin:4px 0 18px;font-size:40px}.hero-facts{gap:14px;display:grid}.hero-fact,.hero-fact:first-child{border:0;min-width:0;padding:0}.address-fact{min-width:0}.hero-fact strong{font-size:16px}.detail-rail{grid-template-columns:1fr}.detail-item,.detail-item:first-child,.detail-item:nth-child(4),.detail-item:nth-child(5){border-top:1px solid var(--border);border-left:0;min-height:94px;padding:20px}.detail-item:first-child{border-top:0}.action-row,.primary-actions{flex-direction:column;align-items:stretch;width:100%}.action-row{padding:22px 0}.button{width:100%}.section-heading{align-items:flex-start}.phase-label{display:none}.activity-list{padding-inline:18px}.activity-list li{grid-template-columns:18px 38px minmax(0,1fr);gap:12px;min-height:98px}.activity-list time{grid-area:2/3;align-self:end}.timeline-dot{grid-area:1/1/span 2}.activity-icon{grid-area:1/2/span 2}.activity-copy{grid-area:1/3;align-self:end}.activity-list li:not(:last-child):after{top:calc(50% + 7px);bottom:calc(7px - 50%);left:8px}.dialog-actions{flex-direction:column-reverse}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
