:root{--ink:#edf0f2;--muted:#9ca6ad;--line:#ffffff1a;--panel:#101419d9;--accent:var(--ui-tint-79b85b, #79b85b);--accent2:var(--ui-tint-b3d99b, #b3d99b);background:#07090c;color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 85% 0,var(--ui-tint-20351f, #20351f) 0,transparent 34rem),linear-gradient(145deg,#080b0e,#111820 54%,#0a0d10)}button,select,input{font:inherit}button,.button{border:0;border-radius:7px;cursor:pointer}.launcher{width:min(850px,calc(100% - 32px));margin:0 auto;padding:46px 0 34px}.masthead{display:flex;align-items:center;gap:24px;margin:0 4px 32px}.logo{width:126px;max-height:98px;object-fit:contain}.eyebrow{color:var(--accent2);font-size:10px;font-weight:800;letter-spacing:.16em;margin:0 0 5px}.masthead h1,.panel h2{margin:0;font-weight:650;letter-spacing:-.025em}.masthead h1{font-size:clamp(28px,5vw,44px)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:22px;margin:14px 0;box-shadow:0 14px 45px #0004}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:18px}.panel h2{font-size:19px}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mode-card{min-height:112px;padding:16px;border:1px solid var(--line);border-radius:8px;color:var(--muted);cursor:pointer;transition:.16s background,.16s border-color}.mode-card input{position:absolute;opacity:0}.mode-card:has(input:checked){border-color:var(--accent);background:var(--ui-tint-79b85b12, #79b85b12);color:var(--ink);box-shadow:inset 0 0 0 1px var(--ui-tint-79b85b40, #79b85b40)}.mode-title{display:block;color:var(--ink);font-weight:700;margin-bottom:7px}.mode-card span:last-child,.panel>p,.detail,small{font-size:13px;line-height:1.45}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.settings-grid label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:650;letter-spacing:.02em}.settings-grid select{width:100%;appearance:none;color:var(--ink);background:#080b0f;border:1px solid #ffffff24;border-radius:6px;padding:10px}.toggle{display:flex;align-items:center;gap:10px;margin-top:17px;color:var(--muted);cursor:pointer}.toggle input{position:absolute;opacity:0}.toggle-mark{width:32px;height:18px;border-radius:20px;background:#fff2;position:relative;transition:.15s}.toggle-mark:after{content:"";position:absolute;width:12px;height:12px;left:3px;top:3px;border-radius:50%;background:#aab2b8;transition:.15s}.toggle input:checked+.toggle-mark{background:var(--accent)}.toggle input:checked+.toggle-mark:after{left:17px;background:#111}.toggle b,.toggle small{display:block}.toggle b{color:var(--ink);font-size:13px}.detail{color:var(--muted);margin:15px 0 0}.link-button,.quiet{background:transparent;color:var(--accent2);padding:3px 0}.saves>p{color:var(--muted);margin:-4px 0 16px}.save-actions{display:flex;flex-wrap:wrap;gap:9px}.save-actions button,.button{background:#ecf0f2;color:#111;padding:10px 13px;font-size:13px;font-weight:750}.save-actions .quiet{background:transparent;color:var(--accent2)}.button input{position:absolute;width:1px;height:1px;opacity:0}.disabled{opacity:.45;pointer-events:none}#save-status{color:var(--muted);font-size:12px;text-align:right}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:27px 3px 0}.start{background:var(--accent);color:var(--accent-ink, #0b180a);font-weight:850;font-size:15px;padding:14px 18px;box-shadow:0 8px 26px var(--ui-tint-79b85b30, #79b85b30)}.start span{font-size:20px;margin-left:8px}#launch-note{color:var(--muted);font-size:12px;margin:0;text-align:right}@media(max-width:600px){.launcher{width:min(100% - 22px,850px);padding-top:24px}.masthead{gap:14px;margin-bottom:24px}.logo{width:95px}.mode-grid,.settings-grid{grid-template-columns:1fr}.mode-card{min-height:0}.panel{padding:17px}footer{align-items:stretch;flex-direction:column}.start{order:2}#launch-note{text-align:left}}
[hidden]{display:none!important}.options-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:14px}.options-layout .panel{margin:0}.options-layout .section-head{flex-wrap:wrap}.options-layout .save-actions{display:grid;grid-template-columns:1fr}.options-layout .save-actions button,.options-layout .button{text-align:center}.options-layout #save-status{text-align:left;overflow-wrap:anywhere}.mode-card:focus-within,button:focus-visible,select:focus-visible,.button:focus-within{outline:2px solid var(--accent);outline-offset:3px}.launcher{padding-top:25px;padding-bottom:22px}.masthead{margin-bottom:19px}.logo{max-height:76px;width:110px}.mode-card{min-height:96px;padding:13px}.mode-panel{padding-top:18px;padding-bottom:18px}.options-layout .panel{padding:19px}.options-layout .detail{font-size:12px}footer{margin-top:20px}@media(max-width:700px){.options-layout{grid-template-columns:1fr}.launcher{padding-top:20px}.logo{width:90px}}
button:disabled{opacity:.4;cursor:default}.masthead{margin-bottom:12px}.logo{max-height:60px;width:100px}.mode-card{min-height:80px;padding:11px}.mode-panel{padding-top:14px;padding-bottom:14px}.options-layout .panel{padding:16px}.settings-grid{gap:10px}.settings-grid select{padding:8px}.toggle{margin-top:12px}.detail{margin-top:10px}footer{margin-top:15px}.section-head{margin-bottom:14px}
.local-server p{color:var(--muted);font-size:12px;line-height:1.5}.local-server input{width:100px;background:#080b0f;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:9px}.local-server button{background:var(--accent);color:var(--accent-ink, #0b180a);padding:10px 13px;font-weight:750}.local-server form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cache-tools{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.cache-tools button{background:var(--ui-tint-273c24, #273c24);color:var(--ink);border:1px solid var(--accent);padding:10px 13px;font-weight:700}.cache-dialog{width:min(480px,calc(100% - 32px));background:#101419;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:24px}.cache-dialog::backdrop{background:#000b}.cache-dialog h2{margin:0 0 16px}.cache-dialog p{font-size:13px;line-height:1.5}.cache-option{display:flex;gap:10px;align-items:center;font-size:13px}.cache-option input{accent-color:var(--accent)}.cache-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.cache-actions button{padding:10px 16px;background:var(--ui-tint-29312a, #29312a);color:var(--ink);font-weight:700}#cache-confirm{background:var(--accent);color:var(--accent-ink, #0b180a)}#cache-result{min-height:20px;color:var(--accent2)}footer{flex-direction:column;align-items:center;justify-content:center}footer .start{order:0;min-width:190px}#launch-note{text-align:center;order:1}

.options-layout{grid-template-columns:1fr 1fr}.settings-actions{display:grid;gap:12px}.settings-actions button{background:var(--ui-tint-20351f, #20351f);color:var(--ink);border:1px solid var(--ui-tint-79b85b70, #79b85b70);padding:16px;text-align:left;font-weight:750}.settings-actions button span{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:6px}.settings-panel>.link-button{margin-top:16px}.settings-dialog{width:min(650px,calc(100% - 28px));max-height:85vh;overflow:auto;background:#101419;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:24px}.settings-dialog::backdrop{background:#000b}.settings-dialog h2{margin:0;font-size:22px}.settings-dialog>.detail:first-of-type{margin-bottom:18px}.settings-dialog .section-head>button{background:var(--ui-tint-263125, #263125);color:var(--ink);padding:6px 12px;font-size:22px}.settings-dialog-actions{display:flex;justify-content:flex-end;margin-top:22px}.settings-dialog-actions button{padding:11px 24px;background:var(--accent);color:var(--accent-ink, #0b180a);font-weight:750}@media(max-width:700px){.options-layout{grid-template-columns:1fr}}

.settings-dialog .settings-grid{margin-top:16px;align-items:start}.settings-grid input{width:100%;color:var(--ink);background:#080b0f;border:1px solid #ffffff24;border-radius:6px;padding:10px}#mp-error{color:#ffba91;font-size:13px}

.mod-choice{display:grid;gap:10px;margin:16px 0}.mod-choice select{width:100%;padding:10px;background:#080b0f;color:var(--ink);border:1px solid var(--line);border-radius:6px}#mods-error{color:#ffba91;font-size:13px}.settings-dialog a{color:var(--accent2)}

.mod-import-button{display:inline-block;margin-top:16px}.mod-actions{margin-top:16px}.mod-actions button{font-size:12px}#mod-details{white-space:pre-wrap}.settings-dialog p{font-size:13px;line-height:1.5}
.player-flow h2{margin:0}.player-flow #mp-simple{display:grid;gap:10px;margin-top:14px}.player-flow #mp-simple label,#single-mode-choice{display:grid;gap:6px;color:var(--muted);font-size:12px;margin-top:14px}.player-flow select{background:#080b0f;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:9px}.player-flow #mp-simple .cache-option{display:flex}.more-options{margin-top:14px}.more-options>summary{cursor:pointer;color:var(--accent2);font-weight:750;padding:10px 4px}.more-options[open]>summary{margin-bottom:4px}.legacy-mode{display:none}
.help-dialog details{border-top:1px solid var(--line);padding:12px 0}.help-dialog summary{cursor:pointer;color:var(--accent2);font-weight:700;line-height:1.4}.help-dialog ol{padding-left:22px;font-size:13px;line-height:1.6}.help-dialog li{margin:10px 0}.help-dialog textarea{width:100%;resize:vertical;background:#080b0f;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:12px;font:12px/1.6 monospace}.help-dialog #help-copy{background:var(--ui-tint-20351f, #20351f);color:var(--ink);padding:10px 14px;margin-top:8px}.help-dialog #help-copy-status{min-height:1.4em;color:var(--accent2)}.help-dialog #help-sources{margin-top:18px;line-height:1.8}
.player-flow #mp-simple[hidden]{display:none}
.access-code-field{display:grid;gap:7px}.access-code-field>label{color:var(--muted);font-size:12px;font-weight:650}.access-code-row{display:flex;gap:8px;align-items:stretch}.access-code-row input{flex:1;min-width:0;width:100%;margin:0}.access-code-row button{flex:none;min-width:72px;min-height:44px;padding:8px 12px;border:1px solid var(--ui-tint-79b85b88, #79b85b88);border-radius:7px;background:var(--ui-tint-20351f, #20351f);color:var(--ink);font-weight:650}
.settings-actions [hidden]{display:none}
.lan-certificate-controls[hidden]{display:none}.lan-certificate-controls{margin:16px 0;padding:14px;border:1px solid var(--ui-tint-79b85b66, #79b85b66);border-radius:8px}.lan-certificate-controls .button,.certificate-dialog .button{display:inline-block;background:var(--accent, #79b85b);color:var(--accent-ink, #0b180a);text-decoration:none;font-weight:700;padding:11px 14px}.lan-certificate-controls button{padding:11px 14px;margin-left:8px;background:var(--ui-tint-20351f, #20351f);color:var(--ink)}.lan-certificate-controls p{margin-bottom:0}.certificate-dialog{width:min(620px,calc(100% - 32px))}.certificate-dialog ol{padding-left:24px;line-height:1.6}.certificate-dialog li{margin:12px 0}.certificate-dialog code{display:block;overflow-wrap:anywhere;font-size:12px;color:var(--accent2)}
.join-error-dialog{width:min(480px,calc(100% - 32px));border-color:#c96565}.join-error-dialog h2{margin-top:0;color:#ffb3ad}.join-error-dialog p{font-size:16px;line-height:1.6}.join-error-dialog::backdrop{background:#000b}
.settings-dialog-actions.warning-actions{flex-wrap:wrap;gap:10px}.warning-actions .quiet{background:var(--ui-tint-20351f, #20351f);color:var(--ink);border:1px solid var(--ui-tint-79b85b88, #79b85b88)}.warning-actions [hidden]{display:none}
.device-check-results{display:grid;gap:10px}.device-check-row{padding:12px;background:#080b0f;border:1px solid var(--line);border-radius:8px}.device-check-row h3{margin:0;font-size:14px}.device-check-row p{margin:8px 0 0}.device-check-row[data-state=unavailable]{border-color:#c96565}.device-check-row[data-state=warning]{border-color:#b79358}.device-check-row[data-state=ready] h3{color:var(--accent2)}
#browser-warning-dialog{width:min(560px,calc(100% - 32px))}#browser-warning-dialog .warning-actions{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:stretch}#browser-warning-dialog .warning-actions button{min-width:0;min-height:44px;padding:10px 12px;font-size:14px;line-height:1.25}#browser-warning-dialog #browser-warning-info{min-height:44px;padding:8px 10px;font-size:12px}@media(max-width:420px){#browser-warning-dialog{padding:16px}#browser-warning-dialog .warning-actions{gap:6px}#browser-warning-dialog .warning-actions button{padding:10px 8px;font-size:13px}#browser-warning-dialog #browser-warning-info{padding:8px;font-size:12px}}
.player-flow .mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.player-flow #mp-access,#play-single-mode{min-height:44px;padding:10px 12px;color:var(--ink);background:#080b0f;border:1px solid #ffffff24;border-radius:7px;font:inherit}#single-mode-choice{max-width:280px}

.graphics-presets{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.graphics-presets button{min-height:44px;padding:10px 16px;background:var(--ui-tint-20351f, #20351f);color:var(--ink);border:1px solid var(--ui-tint-79b85b88, #79b85b88);font-weight:700}.graphics-advanced{border-top:1px solid var(--line);padding:14px 0;margin-top:16px}.graphics-advanced summary{cursor:pointer;color:var(--accent2);font-weight:750}.graphics-advanced .settings-grid small{font-weight:400;letter-spacing:0}.settings-dialog h3{font-size:16px;margin:22px 0 10px}

.quickstart-selectors{display:flex;flex-wrap:wrap;gap:16px;align-items:start}.quickstart-selectors label{display:grid;gap:6px;color:var(--muted);font-size:12px;margin-top:14px;flex:1;min-width:160px;max-width:280px}#play-map{min-height:44px;font:inherit}.settings-grid select:disabled{color:var(--muted);opacity:.85}.quickstart-selectors [hidden]{display:none}

/* Launcher readability. */
:root{--ink:var(--ui-tint-f2f6f2, #f2f6f2);--muted:var(--ui-tint-c4cec6, #c4cec6);--line:#ffffff26}.panel>p,.settings-dialog p{font-size:15px;line-height:1.55}.detail,small,.mode-card span:last-child,.options-layout .detail{font-size:14px;line-height:1.55}.settings-grid label,.quickstart-selectors label,.access-code-field>label,.player-flow #mp-simple label,#single-mode-choice{font-size:14px}.settings-actions button span{font-size:14px;color:var(--muted)}.settings-actions button{font-size:16px}.settings-grid select,.settings-grid input{font-size:14px;padding:10px}.help-dialog ol{font-size:15px;line-height:1.6}.settings-dialog .cache-option,.cache-dialog p{font-size:14px}.settings-grid label,.settings-grid select{min-width:0}.device-check-row h3{font-size:15px}.local-server p{font-size:14px}.join-error-dialog p{font-size:16px}#browser-warning-dialog #browser-warning-info{font-size:14px}

.mod-actions button{font-size:14px}.graphics-advanced .detail{color:var(--muted)}

.mode-card.mode-unavailable{opacity:.45;cursor:not-allowed;filter:grayscale(1)}

.more-options>summary{min-height:48px;padding:14px 18px;border:1px solid var(--ui-tint-79b85b88, #79b85b88);border-radius:8px;background:var(--ui-tint-20351f, #20351f);box-shadow:0 4px 12px #0003;line-height:1.4;transition:background .15s,border-color .15s}
.more-options>summary:hover{background:var(--ui-tint-2a4528, #2a4528);border-color:var(--accent)}
.more-options>summary:active{background:var(--ui-tint-182d17, #182d17)}
.more-options>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.more-options[open]>summary{background:var(--ui-tint-2a4528, #2a4528);border-color:var(--accent);margin-bottom:14px}
.main-quick-actions{display:flex;justify-content:center;margin:14px 0}
#language-open{min-height:44px;padding:12px 24px;background:var(--accent);color:var(--accent-ink, #0b180a);font-weight:750}
.launcher{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
#start{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:20;width:min(240px,calc(100vw - 32px));box-shadow:0 6px 24px #0008}
/* showModal() puts settings dialogs and their backdrops above this fixed button. */
.map-drop{margin:14px 0;padding:22px;border:2px dashed var(--ui-tint-79b85b88, #79b85b88);border-radius:9px;background:var(--ui-tint-20351f55, #20351f55);line-height:1.6}.map-drop.dragover{border-color:var(--accent);background:var(--ui-tint-20351f, #20351f)}.map-drop .button{margin-left:8px}

/* Keep troubleshooting readable in collapsed and expanded topics. */
.help-dialog #help-sections details{background:#1a222d;border:1px solid #4b6076;border-radius:8px;padding:16px 18px;margin:12px 0;color:#f0f4fa}.help-dialog #help-sections summary{font-size:17px;line-height:1.5;color:#fff}.help-dialog #help-sections ol{font-size:16px;line-height:1.65;padding-left:26px;margin:18px 0 0}.help-dialog #help-sections li{margin:16px 0;padding-left:4px}.help-dialog #help-sections li::marker{color:#91cdff;font-weight:700}.help-dialog #help-sources a{color:#91cdff}

/* Named mod/save profiles and native XML import controls. */
.mod-setting-group .settings-grid{margin-bottom:12px}.mod-setting-group input[type=text],.mod-setting-group input:not([type]),.save-profiles input{width:100%;min-width:0;padding:10px;color:var(--ink);background:#080b0f;border:1px solid var(--line);border-radius:6px}.mod-setting-group .settings-grid select{min-width:0}.mod-setting-group>label{display:block;margin:12px 0}.mod-setting-group>button{padding:10px 13px;margin:4px 6px 4px 0;background:var(--accent);color:var(--accent-ink,#111);border-radius:6px}.save-profiles{margin-bottom:16px}#mod-conflict-report{border:1px solid #d6a554;padding:10px;border-radius:6px}#menyoo-xml-preview{max-height:220px;overflow:auto;font-size:12px}
