@font-face{font-family:KaeloSora;src:url('/site/assets/Sora.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;--bg:#0b121a;--surface:#172630;--line:#2a3c47;--text:#f2f7f8;--muted:#a9bdc4;--accent:#66d8c7;--focus:#95ecdf;--control-deep:#101c26;--control-raised:#1d303b;--control-danger:#ff9e94;--control-warning:#efc178}
html{scrollbar-color:#53717b var(--bg)}
body{background:var(--bg);color:var(--text);accent-color:var(--accent)}
::selection{background:#24645f;color:#fff}
button,input,select,textarea{caret-color:var(--accent)}
button,.button{border-radius:9px;background:var(--accent);color:#071b1d;font-weight:650}
button:hover,.button:hover{background:#88e4d6}
button:disabled{opacity:.55}
.secondary{background:var(--control-raised);border-color:#45606b;color:var(--text)}
.secondary:hover{background:#294451}
a.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border:1px solid #45606b;border-radius:9px;text-decoration:none;color:var(--text);font-weight:600}
.quiet{background:transparent;border-color:transparent;color:var(--text);text-decoration:none}
.quiet:hover{background:var(--control-raised)}
input,select,textarea{background:var(--control-deep);border:1px solid #49616b;color:var(--text);border-radius:9px}
input::placeholder,textarea::placeholder{color:#a0b3bb}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
a{color:var(--accent)}
.brand,h1,h2,.mc-card .value{font-family:KaeloSora,system-ui,sans-serif}
.brand{font-size:22px;letter-spacing:-.035em}
h1{font-size:clamp(29px,3vw,40px);letter-spacing:-.03em}
h2{letter-spacing:-.02em}
.topbar{min-height:74px;background:var(--control-deep);border-bottom:1px solid var(--line);padding:12px 28px;display:flex;align-items:center;gap:28px}
.topbar>div{margin-left:auto}
.control-switcher{display:flex;align-items:center;gap:4px;border:0;margin:0;padding:0}
.control-switcher a{padding:9px 13px;border-radius:8px;color:var(--muted);font-size:14px;text-decoration:none;font-weight:600;white-space:nowrap}
.control-switcher a:hover{background:var(--control-raised);color:var(--text)}
.control-switcher a[aria-current]{background:#1f4549;color:#9cf3e5}
main{max-width:1320px;padding:38px 32px 70px}
.heading{margin-bottom:28px}.heading p{max-width:72ch}
.section-head{margin-top:38px;margin-bottom:18px}
.section-head h2{font-size:21px}
.mc-card,.empty{background:var(--surface);border-color:var(--line);border-radius:13px}
.mc-card{padding:22px}
.mc-card h3{color:var(--muted);font-weight:650}
.mc-grid .mc-card h2{font:650 13px/1.4 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 8px}
.mc-card .value{color:var(--text);font-size:24px}
.mc-card:hover{border-color:#49636b}
.mc-card .value[style]{font-family:KaeloSora,system-ui,sans-serif}
.mc-grid{gap:14px;margin-bottom:26px}
.mc-actions{margin:22px 0 32px}
.mc-install-row{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:20px;gap:14px}
.mc-install-row>div{min-width:0}
.mc-install-row input,.mc-install-row select{background:var(--control-deep);min-height:44px}
.mc-install-row input[type=checkbox],.mc-install-row input[type=radio]{min-width:0;min-height:0;width:18px;height:18px;padding:0;margin:0 8px 0 0;vertical-align:middle}
.mc-install-row label:has(input[type=checkbox]){display:flex;align-items:center;min-height:44px;color:var(--text)}
.mc-install-row label{color:var(--muted);font-size:13px;font-weight:600}
.mc-status{font-variant-numeric:tabular-nums}
.mc-status.running{background:#173c37;color:#9bf0c7}
.mc-status.stopped,.mc-status.not_created,.mc-status.exited{background:#49302d;color:#ffc4ba}
.mc-list li,.mc-task-row{background:var(--surface);border-color:var(--line);border-radius:10px;padding:13px 16px}
.mc-list{gap:8px}
.mc-list .empty{background:transparent;border:1px dashed var(--line);padding:22px;text-align:center}
.mc-badge{background:#24434a;color:#a5e9e1}
#mc-console{background:#070e13;border-color:#38515a;border-radius:12px;min-height:360px;color:#d6e5e8;font-size:13px;line-height:1.6}
.mc-live-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 12px}
.mc-live-summary>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;background:var(--surface);padding:14px 18px;border-radius:10px;color:var(--muted);font-size:13px}
.mc-live-summary strong{color:var(--text);font-size:15px;font-variant-numeric:tabular-nums;text-align:right}
.mc-console-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:16px;align-items:stretch}
.mc-console-frame{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:13px;overflow:hidden}
.mc-console-header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13px;font-weight:650}
.mc-console-live{color:var(--muted);font-size:12px;font-weight:550}.mc-console-live.running{color:#9bf0c7}
#mc-console{height:540px;max-height:none;min-height:0;margin:0;border:0;border-radius:0;background:#080f15;padding:18px 20px;overflow:auto;overflow-wrap:anywhere;font-size:12px;line-height:1.48;scrollbar-color:#5c7580 #080f15}
.mc-command-bar{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--control-deep);border-top:1px solid var(--line)}
.mc-command-prompt{color:var(--accent);font:700 19px/1 ui-monospace,monospace;padding:0 4px}
.mc-command-bar input{flex:1;min-width:0;min-height:38px;background:transparent;border-color:transparent;font:13px ui-monospace,monospace}
.mc-command-bar input:focus{border-color:var(--line)}
.mc-command-bar button{min-height:38px;padding:7px 11px;font-size:12px;white-space:nowrap}
.mc-resource-stack{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:16px;min-width:0}
.mc-resource-card{display:flex;flex-direction:column;background:var(--surface);border-radius:13px;padding:22px;min-width:0}
.mc-resource-card h3{font-size:15px;color:var(--accent);margin:0 0 14px}
.mc-resource-card strong{font:650 clamp(18px,2vw,25px)/1.25 KaeloSora,system-ui,sans-serif;color:var(--text);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.mc-resource-card p{margin:9px 0 auto;color:var(--muted);font-size:12px}
.mc-resource-track{height:5px;background:#304752;border-radius:999px;overflow:hidden;margin-top:22px}
.mc-resource-track span{display:block;width:0;height:100%;background:var(--accent);border-radius:inherit}
.mc-console-expanded .mc-console-layout{grid-template-columns:1fr}.mc-console-expanded #mc-console{height:min(70dvh,860px)}.mc-console-expanded .mc-resource-stack{display:none}
.cfg-row .switch{display:block;position:relative;flex:0 0 48px;width:48px;height:28px;min-height:28px;margin:0;cursor:pointer}
.cfg-row .switch input{position:absolute;width:100%;height:100%;min-height:0;margin:0;opacity:0;cursor:pointer}
.cfg-row .switch .slider{inset:0;background:#304752;border-radius:999px}
.cfg-row .switch .slider:before{width:20px;height:20px;left:4px;top:4px;background:#f2f7f8;box-shadow:0 1px 4px #0005}
.cfg-row .switch input:checked+.slider{background:var(--accent)}
.cfg-row .switch input:checked+.slider:before{transform:translateX(20px)}
.cfg-row .switch input:focus-visible+.slider{outline:3px solid var(--focus);outline-offset:3px}
.cfg-row{gap:18px}.cfg-row label{line-height:1.4}
.cfg-row input,.cfg-row select{max-width:52%}
.cfg-row:hover{background:#1d303b}
.cfg-row:focus-within{background:#1d303b}
.switch input:focus-visible+.slider{outline:3px solid var(--focus);outline-offset:3px}
.switch input:checked+.slider{background:var(--accent)}
.mods-tabs button.active{background:var(--accent)!important;color:#071b1d!important}
.mods-tabs button:hover{background:var(--control-raised);color:var(--text)}
.mods-tabs button.active:hover{background:var(--accent)!important;color:#071b1d!important}
.mod-card{border-radius:12px!important}.mod-card:hover{border-color:var(--accent)!important}
.mods-grid{gap:12px!important}
.mods-pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin:12px 0 34px;flex-wrap:wrap}
.mods-pagination[hidden]{display:none!important}
.mods-pagination #page-status{color:var(--muted);font-size:14px;min-width:220px;text-align:center}
.mods-pagination button{min-width:110px}
.mod-card .title{color:var(--text)}
.mod-card .desc{color:var(--muted)}
.fm-row{padding:12px 14px!important;border-radius:8px}
.fm-row:hover{background:var(--control-raised)!important}
.fm-toolbar{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px}
#editor-inner{background:var(--surface);border-color:#48606a;border-radius:14px}
#editor-textarea{background:#070e13;border-color:#48606a}
.warn-box{background:#382e24!important;border-color:#8e6b41!important;color:#ffe1af!important}
dialog,#version-inner{background:var(--surface);border-color:#48606a;border-radius:14px}
.install-dialog-open{overflow:hidden}
#version-box{padding:18px;backdrop-filter:blur(7px);background:#02090edb!important}
#version-inner{width:min(100%,580px);max-width:580px;max-height:min(86dvh,820px);padding:0;box-shadow:0 26px 72px #0009;overflow-y:auto}
.install-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:25px 28px 20px}
.install-dialog-head h2{font:650 24px/1.25 KaeloSora,system-ui,sans-serif;margin:0;color:var(--text)}
.install-dialog-close{min-width:36px;min-height:36px;width:36px;height:36px;padding:0;font-size:24px;line-height:1;flex-shrink:0}
.install-project{display:flex;align-items:center;gap:16px;margin:0 28px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.install-project img{width:58px;height:58px;object-fit:cover;border-radius:10px;flex-shrink:0}
.install-project img[hidden]{display:none}
.install-project strong{display:block;font-size:16px;line-height:1.35;color:var(--text)}
.install-project p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.5;max-height:3em;overflow:hidden}
.install-meta{display:flex;gap:8px;flex-wrap:wrap;margin:18px 28px 25px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
.install-meta span{padding:6px 9px;background:var(--control-deep);border-radius:6px}
.install-version-label{display:block;margin:0 28px 8px;color:var(--text);font-weight:650;font-size:14px}
#version-select{display:block;width:calc(100% - 56px);max-width:none;margin:0 28px;min-height:46px;background:var(--control-deep)}
.install-hint{margin:10px 28px 20px;color:var(--muted);font-size:13px;line-height:1.5}
.install-replace{display:flex;align-items:flex-start;gap:12px;margin:0 28px 25px;padding:17px;background:var(--control-deep);border:1px solid var(--line);border-radius:10px;cursor:pointer}
.install-replace[hidden]{display:none!important}
.install-replace input{width:19px;height:19px;min-height:19px;min-width:19px;padding:0;margin:1px 0 0;flex-shrink:0}
.install-replace strong,.install-replace small{display:block;line-height:1.45}
.install-replace strong{font-size:13px;color:var(--text)}
.install-replace small{margin-top:5px;color:var(--muted);font-size:12px}
.install-feedback{margin:0 28px 22px;padding:12px 14px;background:var(--control-deep);border-radius:8px;color:var(--muted);font-size:13px;line-height:1.45}
.install-feedback.success{background:#173c37;color:#b4f3df}.install-feedback.error{background:#49302d;color:#ffd4ce}
.install-dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 28px;background:var(--control-deep);border-radius:0 0 14px 14px}
.install-dialog-actions button{min-height:42px}
@media(max-width:560px){#version-box{padding:10px}#version-inner{max-height:calc(100dvh - 20px)}.install-dialog-head{padding:20px 18px 17px}.install-dialog-head h2{font-size:21px}.install-project{margin:0 18px}.install-meta{margin:16px 18px 22px}.install-version-label{margin-left:18px;margin-right:18px}#version-select{width:calc(100% - 36px);margin:0 18px}.install-hint{margin:10px 18px 18px}.install-replace{margin:0 18px 20px}.install-feedback{margin:0 18px 18px}.install-dialog-actions{padding:14px 18px}}
dialog::backdrop{background:#02090ecc}
.empty{padding:48px 24px}
.photo-open{border-radius:12px;border-color:var(--line)}
.photo figcaption{padding-top:12px}
.screen{background:#050b10;border-radius:13px;border-color:#3d5962}
.record-row,.mail-row{padding:18px 14px;border-color:var(--line);border-radius:9px}
.record-row:hover,.mail-row:hover{background:var(--surface)}
#address-box{background:var(--surface);border-style:solid}
#address-text{color:var(--accent)}
.control-layout{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:calc(100dvh - 74px)}
.control-layout main{width:100%;min-width:0;margin:0 auto;max-width:1370px;padding:38px clamp(24px,3vw,52px) 72px}
.control-sidebar{background:var(--control-deep);border-right:1px solid var(--line);padding:26px 12px 36px;min-width:0}
.control-sidebar-head{padding:4px 14px 26px;border-bottom:1px solid var(--line);margin-bottom:20px}
.control-sidebar-title{color:var(--text);font:650 16px/1.35 KaeloSora,system-ui,sans-serif;text-decoration:none}
.control-sidebar-head p{color:var(--muted);font-size:12px;margin-top:6px}
.control-sidebar nav{display:block;border:0;margin:0;padding:0}
.control-sidebar nav[hidden]{display:none}
.control-nav-group{margin:0 0 24px}
.control-nav-group h2{font:700 11px/1.4 system-ui,sans-serif;letter-spacing:.11em;text-transform:uppercase;color:#9bb5bc;margin:0 13px 9px}
.control-nav-group a{display:block;padding:11px 13px;border-radius:9px;color:#bdd0d5;text-decoration:none;font-size:14px;line-height:1.35;font-weight:550}
.control-nav-group a:hover{background:#1c3440;color:var(--text)}
.control-nav-group a[aria-current]{background:#1f4549;color:#a6f5e9;font-weight:700}
.control-nav-group a[hidden],.control-nav-group[hidden]{display:none!important}
.control-menu-toggle{display:none}
.control-mc .topbar>div{overflow:auto;scrollbar-width:none}
.control-mc .topbar>div>a.quiet{display:none}
.control-mc .topbar>div>#users-link,.control-mc .topbar>div>#settings-link,.control-mc .topbar>div>#files-link,.control-mc .topbar>div>#mods-link,.control-mc .topbar>div>#players-link,.control-mc .topbar>div>#backups-link,.control-mc .topbar>div>#splits-link{display:none}
.control-mail .topbar>button,.control-photos .topbar>button{margin-left:auto}
.control-mail #new-address,.control-mc #btn-create-split,.control-mc #btn-save-props,.control-mc #btn-create-backup{background:var(--accent);border-color:transparent;color:#071b1d}
.control-mc footer{margin-left:246px}
@media(max-width:1050px){.topbar{flex-wrap:wrap;gap:8px 18px}.control-switcher{order:3;width:100%}.control-mc .topbar>div{margin-left:auto}.control-layout{grid-template-columns:220px minmax(0,1fr)}.control-mc footer{margin-left:220px}}
@media(max-width:1150px){.mc-console-layout{grid-template-columns:1fr}.mc-resource-stack{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}.mc-resource-card{min-height:160px}}
@media(max-width:760px){.topbar{padding:12px 17px}.brand span{display:none}.control-switcher{order:3;overflow:auto;scrollbar-width:none}.control-switcher a{font-size:13px;padding:8px 10px}.control-menu-toggle{display:inline-flex;margin-left:auto;font-size:13px;min-height:40px;padding:8px 11px}.control-layout{display:block}.control-sidebar{display:none;position:absolute;z-index:30;left:0;right:0;box-shadow:0 18px 30px #0008}.control-menu-open .control-sidebar{display:block}.control-layout main{padding:26px 18px 56px}.control-mc footer{margin-left:0}.control-mc .topbar>div{display:none!important}.mc-install-row{padding:16px}.mc-install-row>div,.mc-install-row input,.mc-install-row select{width:100%;min-width:0}.cfg-row{flex-direction:column;align-items:stretch}.cfg-row input,.cfg-row select{max-width:none}.section-head{align-items:flex-start}.section-head button{flex-shrink:0}.control-photos main,.control-mail main{padding:28px 18px 55px}}
@media(max-width:760px){.mc-grid{grid-template-columns:1fr}.mc-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mc-actions button{width:100%;min-width:0}.control-menu-toggle{white-space:nowrap;flex-shrink:0}.control-mc .topbar .brand{min-width:0}}
@media(max-width:600px){.mc-live-summary{grid-template-columns:1fr}.mc-resource-stack{grid-template-columns:1fr}.mc-resource-card{min-height:142px}.mc-command-bar{flex-wrap:wrap}.mc-command-bar input{flex:1 1 calc(100% - 40px)}.mc-command-bar #btn-send-command{flex:1}.mc-command-bar #btn-copy-logs,.mc-command-bar #btn-console-expand{flex:1}.cfg-row{flex-direction:row;align-items:center}.cfg-row input[type=text],.cfg-row input[type=number],.cfg-row select{min-width:0;max-width:55%;width:55%}.cfg-row .switch{flex:0 0 48px;width:48px}.mc-console-layout #mc-console{height:440px}}
@media(prefers-reduced-motion:no-preference){.control-sidebar a,.control-switcher a,.mc-card,.mod-card{transition:background-color .18s ease,border-color .18s ease,color .18s ease}}
