/* Hivemind sibling studio: Monitor first, inspect / operate second.
   Exact dark-theme tokens and Arial typography from the owner's live site. */
:root{color-scheme:dark;--bg:#151719;--ink:#f0eee8;--muted:#b0b2a9;--panel:#202427;--line:#383e3f;--accent:#a4b995;--accent-ink:#171c15;--green:#b4d5a4;--red:#ecb5a4;--game-width:350px;font:16px/1.5 Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink)}
button,input,select,textarea{font:inherit}
button,a,input,select,summary{touch-action:manipulation}
button{min-height:44px;padding:10px 16px;background:#292f31;color:var(--ink);border:1px solid #505858;border-radius:8px;cursor:pointer;line-height:1.35}
button:hover{background:#343d3e;border-color:var(--accent)}
button:disabled{opacity:.55;cursor:wait}
.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}
.primary:hover{background:#bfd0b3}
input,select,textarea{width:100%;min-height:48px;background:#181c1e;color:var(--ink);border:1px solid #626b6a;padding:11px 13px;border-radius:8px}
textarea{resize:vertical}
input::placeholder{color:#949d99}
label{display:block;font-size:16px;font-weight:600;margin:0 0 8px}
a{color:#c4d7b9;text-underline-offset:4px}
a:hover{color:#e2ecd9}
:focus-visible{outline:3px solid #c6d8b9;outline-offset:3px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.skip-link{position:fixed;top:-80px;left:16px;z-index:30;background:var(--panel);padding:12px}
.skip-link:focus{top:10px}
h1,h2,h3,p{margin-top:0}
h1{font-size:38px;line-height:1.15;letter-spacing:-1.3px;margin-bottom:0;font-weight:600}
h2{font-size:26px;letter-spacing:-.6px;line-height:1.2}
h3{font-size:20px;line-height:1.3;letter-spacing:-.3px}
.eyebrow{text-transform:uppercase;letter-spacing:1.6px;color:var(--accent);font-size:13px;font-weight:700;margin-bottom:9px}
.help{color:var(--muted);font-size:16px;line-height:1.55}
.app-header{padding:23px 36px;display:flex;gap:24px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:#191c1e}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);font-size:23px;font-weight:700;letter-spacing:-.7px}
.brand-mark{font-size:36px;color:var(--accent);line-height:1}
.brand-sub{display:block;color:var(--muted);font-size:13px;letter-spacing:.5px;font-weight:400}
.private-label{color:var(--muted);font-size:16px}
.account{display:flex;align-items:center;gap:10px}
.account>span{color:var(--muted);margin-right:8px}
main{max-width:2600px;padding:34px 36px 30px;margin:auto}
.board-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}
.sync{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:16px}
.toolbar{display:flex;align-items:flex-end;gap:20px;padding:23px 0;border-top:1px solid var(--line)}
.search-field{width:360px}
.filter-field{width:350px}
.result-count{margin:0 0 12px auto;color:var(--muted);white-space:nowrap}
.legend{display:flex;justify-content:space-between;gap:12px;color:var(--muted);padding:0 0 20px;font-size:16px}
.legend b{font-weight:400}
.legend-note{margin-left:auto}
.matrix-scroll{border:1px solid var(--line);border-radius:12px;overflow:auto;max-height:75dvh;isolation:isolate;background:var(--panel);scrollbar-color:#626f65 #202427;scrollbar-width:auto}
table{border-spacing:0;table-layout:fixed;width:100%;min-width:1738px}
.game-col{width:var(--game-width)}
.site-col{width:198px}
th,td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);vertical-align:top;text-align:left}
th:last-child,td:last-child{border-right:0}
thead th{position:sticky;top:0;z-index:4;background:#292f31;padding:19px 16px;font-size:16px;font-weight:600;overflow-wrap:anywhere}
thead th:first-child{z-index:6}
.site-mode{display:inline-block;margin-left:8px;font-size:14px;font-weight:400;color:var(--muted)}
.game-column{position:sticky;left:0;z-index:2;background:var(--panel)}
.game-row>.game-column{padding:0}
.game-toggle{display:grid;grid-template-columns:1fr 24px;gap:16px;width:100%;padding:20px;border:0;border-radius:0;background:transparent;text-align:left}
.game-toggle:hover{background:#272f31}
.cover{grid-column:1/-1;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center 26%;background:#303739;border-radius:8px;display:block}
.no-cover{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:32px}
.game-copy{min-width:0}
.game-title{display:block;font-size:23px;line-height:1.25;letter-spacing:-.4px;font-weight:600;overflow-wrap:anywhere;margin-bottom:10px}
.release-label{display:block;font-size:17px;color:var(--ink);font-weight:600}
.release-meta{display:block;font-size:16px;color:var(--muted);font-weight:400;margin-top:7px}
.chevron{align-self:start;font-size:24px;color:var(--accent)}
.delivery{padding:0;background:var(--panel)}
.cell-inspect{display:flex;flex-direction:column;align-items:stretch;gap:22px;text-align:left;border:0;border-radius:0;width:100%;min-height:340px;padding:23px 16px;background:transparent;font-size:16px}
.cell-inspect:hover{background:#293133}
.cell-section{display:flex;flex-direction:column;gap:8px;min-height:74px}
.cell-label{color:var(--muted);font-size:16px;font-weight:400}
.status-line{display:flex;gap:8px;align-items:baseline;font-weight:600;line-height:1.4}
.status-line i{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.confirmed{color:var(--green)}
.unconfirmed{color:var(--red)}
.unknown{color:#c2c5bc}
.delivery time,.check-date{font-size:16px;color:var(--muted)}
.observed{color:var(--ink);font-size:16px}
.inspect-hint{margin-top:auto;color:var(--accent);font-size:16px;opacity:0}
.cell-inspect:hover .inspect-hint,.cell-inspect:focus-visible .inspect-hint{opacity:1}
.history-heading th,.history-heading td{padding:20px;background:#2a3131;color:var(--muted);font-weight:400}
.history-heading th{color:var(--ink)}
.add-release{display:block;margin-top:14px}
.history-row>.game-column{padding:25px 20px;background:#1b2022}
.history-row .delivery{background:#1b2022}
.history-row .cell-inspect{min-height:260px}
.history-empty{padding:28px}
.current-tag{font-size:14px;display:inline-block;padding:3px 8px;border-radius:5px;background:#394536;color:#d7e6ce;margin-top:8px}
.source-link{display:inline-flex;align-items:center;min-height:44px;margin-top:12px}
.board-footer{display:flex;justify-content:space-between;gap:24px;color:var(--muted);padding-top:18px;font-size:16px}
.board-error{display:flex;align-items:center;flex-wrap:wrap;gap:16px;border:1px solid #836e5d;border-radius:10px;padding:20px;margin:0 0 20px;background:#302b26;color:#f0d7bf}
.board-error ul{margin:0}
.board-error button{margin-left:auto}
.empty-state{padding:64px 24px;text-align:center;border:1px dashed var(--line);border-radius:12px;margin-top:20px}
.empty-state h2{margin-bottom:12px}
.empty-state p{color:var(--muted);margin-bottom:0}
.boot-state{padding:48px;border:1px solid var(--line);border-radius:12px;color:var(--muted)}
#loading-state{padding:18px 22px;background:var(--panel);border-radius:8px;color:var(--muted)}
.login-screen{width:min(100%,560px);margin:5vh auto;padding:34px;background:var(--panel);border:1px solid var(--line);border-radius:14px}
.login-screen h1{margin-bottom:22px}
.login-screen>p{color:var(--muted)}
.login-screen form{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}
.login-screen input{margin-bottom:16px}
.login-screen form button{width:100%}
.login-screen .help:last-child{margin:22px 0 0}
.error-message{color:#f6baa6!important;padding:14px 16px;border-radius:8px;background:#422f29;font-size:16px}
dialog{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 48px);background:var(--panel);color:var(--ink);border:1px solid #56605c;border-radius:14px;padding:28px;box-shadow:0 30px 100px #0009;overflow:auto}
dialog::backdrop{background:#090c10c9}
.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;position:sticky;top:0;z-index:5;background:var(--panel);padding-block:8px;box-shadow:0 -24px 0 12px var(--panel),0 10px 0 var(--panel)}
.dialog-heading h2{margin:0}
.dialog-heading button{background:transparent;flex:none}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
form>input,form>select,form>textarea,.form-grid input{margin-bottom:20px}
dialog form>.primary{width:100%;margin-top:8px}
dialog .help{margin-bottom:20px}
dialog details{border-top:1px solid var(--line);padding-top:10px;margin:4px 0 20px}
summary{min-height:44px;cursor:pointer;display:list-item;align-content:center;color:var(--accent)}
.inline-form{display:flex;gap:12px}
.inline-form input{min-width:0;flex:1}
.inline-form button{flex:none}
.token-list{list-style:none;padding:0;margin-bottom:0}
.token-list li{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--line);padding:20px 0}
.token-meta{display:block;font-size:16px;color:var(--muted);margin-top:7px}
#issued-panel{border:1px solid #6b825c;border-radius:10px;padding:20px;margin-top:20px;background:#283126}
#issued-panel input{margin-bottom:12px}
#token-message{color:var(--muted);margin-top:20px}
.inspection-section{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}
.inspection-section h3{margin-bottom:16px}
dl{margin:0 0 20px}
dl>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;margin-bottom:14px}
dt{color:var(--muted)}
dd{margin:0;overflow-wrap:anywhere}
noscript{display:block;padding:32px;color:var(--red)}
@media(min-width:2100px){
 :root{--game-width:420px}
 .site-col{width:220px}
 .cell-inspect{min-height:380px}
 .game-toggle{padding:24px}
}
@media(max-width:1000px){
 .app-header{padding:20px 24px}
 main{padding:28px 24px}
 .board-heading{align-items:flex-start}
 .sync{align-items:flex-end;flex-direction:column;gap:10px}
 .toolbar{flex-wrap:wrap}
 .search-field,.filter-field{flex:1;min-width:240px}
 .result-count{width:100%;margin:0}
 .legend{flex-wrap:wrap}
 .legend-note{margin-left:0}
 .board-footer{flex-direction:column;gap:8px}
}
/* Phones: a full-width game sheet, with all seven platforms in fixed order. */
@media(max-width:640px){
 .app-header{padding:16px;flex-wrap:wrap;gap:16px}
 .brand{font-size:21px}
 .private-label{font-size:14px}
 .account{width:100%;gap:8px}
 .account>span{margin-right:auto;font-size:16px}
 .account button{padding:10px 12px}
 main{padding:24px 16px}
 h1{font-size:31px}
 .board-heading{display:block;margin-bottom:22px}
 .sync{margin-top:20px;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
 .sync span{font-size:16px}
 .toolbar{display:grid;grid-template-columns:1fr;gap:18px}
 .search-field,.filter-field{width:100%;min-width:0}
 .legend{display:block}
 .legend>span{display:block;margin-bottom:8px}
 .matrix-scroll{overflow:visible;max-height:none;border:0;border-radius:0;background:transparent}
 table,tbody{display:block;width:100%;min-width:0}
 colgroup,thead{display:none}
 .game-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:22px;background:var(--panel)}
 .game-row>.game-column{position:static;grid-column:1/-1;border-right:0}
 .game-toggle{padding:18px;gap:16px}
 .cover{aspect-ratio:16/9}
 .game-title{font-size:25px}
 .game-row>.delivery{border-right:0;border-bottom:1px solid var(--line)}
 .game-row>.delivery:nth-child(even){border-right:1px solid var(--line)}
 .game-row>.delivery:last-child{grid-column:1/-1}
 .delivery::before{content:attr(data-platform);display:block;padding:16px 16px 0;font-size:16px;font-weight:700;overflow-wrap:anywhere;color:var(--ink)}
 .cell-inspect{padding:16px;min-height:240px;gap:18px}
 .inspect-hint{opacity:1}
 .history-heading:not([hidden]){display:block;margin-top:-23px;padding:0 16px 16px;background:#262d2d}
 .history-heading th,.history-heading td{display:block;position:static;border:0;padding:18px 0 0}
 .history-heading td{display:none}
 .history-row:not([hidden]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:#1b2022;border:1px solid var(--line);margin-bottom:22px;border-radius:0 0 12px 12px;overflow:hidden}
 .history-row>.game-column{position:static;grid-column:1/-1;border-right:0}
 .history-row .cell-inspect{min-height:230px}
 .history-row>.delivery:last-child{grid-column:1/-1}
 .board-footer{font-size:16px}
 .login-screen{margin:12px auto;padding:24px}
 .login-screen h1{font-size:30px}
 dialog{padding:22px;width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:12px}
 .dialog-heading{gap:12px}
 .dialog-heading h2{font-size:23px}
 .dialog-heading button{padding:10px}
 .inline-form,.token-list li{flex-direction:column;align-items:stretch}
 .form-grid{grid-template-columns:1fr;gap:0}
 dl>div{grid-template-columns:1fr;gap:3px;margin-bottom:18px}
 .boot-state{padding:28px}
 .board-error{padding:18px}
 .board-error button{margin-left:0}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
