Files
AeroMc-Launcher/src/styles.css
T

303 lines
19 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* AeroMC – heller MultiMC-Native-Look */
:root{
--win:#f0f0f0; --area:#e2e2e2; --bar:#e9eaed;
--border:#c4c7cc; --border2:#d6d8dc;
--text:#1c1c1c; --dim:#6b7280;
--sel:#dce8f6; --sel-br:#3a6ea5; --link:#2c5aa0; --accent:#3a6ea5;
--danger:#c0392b; --play:#3a9c3a;
--font:"Segoe UI",Tahoma,system-ui,sans-serif;
--mono:Consolas,"Cascadia Mono",monospace;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;font-family:var(--font);font-size:12px;color:var(--text);background:var(--win)}
body{display:grid;grid-template-rows:auto 1fr auto;height:100vh;overflow:hidden}
.hidden{display:none!important}
.mono{font-family:var(--mono);font-size:12px}
.spacer{flex:1}
.opt,.hint{color:var(--dim)}
[data-ic] svg,.ic svg{width:16px;height:16px}
/* ===================== DUNKLER MODUS (native, dunkelgrau) ===================== */
:root[data-theme="dark"]{
--win:#2d2d30; --area:#242426; --bar:#333337;
--border:#3f3f46; --border2:#3a3a40;
--text:#e4e4e6; --dim:#9a9aa2;
--sel:#0e639c; --sel-br:#1177bb; --link:#4ea6ff; --accent:#1177bb;
--danger:#e06c6c; --play:#5cb85c;
}
:root[data-theme="dark"] body{background:var(--win)}
:root[data-theme="dark"] .search-wrap input,
:root[data-theme="dark"] .field input,
:root[data-theme="dark"] .field select,
:root[data-theme="dark"] .field textarea,
:root[data-theme="dark"] .mods-search input,
:root[data-theme="dark"] .login-usercode{background:#1e1e1e;color:var(--text);border-color:var(--border)}
:root[data-theme="dark"] .modal-card{background:#2d2d30;border-color:#161618}
:root[data-theme="dark"] .modal-head{background:#333337}
:root[data-theme="dark"] .modal-body{background:#2d2d30}
:root[data-theme="dark"] .modal-foot{background:#2a2a2e}
:root[data-theme="dark"] .advanced{background:#242426}
:root[data-theme="dark"] .mods-list,
:root[data-theme="dark"] .account-item,
:root[data-theme="dark"] .screen-thumb{background:#1e1e1e}
:root[data-theme="dark"] .mod-icon,
:root[data-theme="dark"] .account-av,
:root[data-theme="dark"] .icon-preview{background:#3a3a40}
:root[data-theme="dark"] .mod-item+.mod-item{border-color:#333}
:root[data-theme="dark"] .mod-item:hover{background:#2a2f36}
:root[data-theme="dark"] .btn{background:linear-gradient(#3b3b40,#303034);color:var(--text);border-color:var(--border)}
:root[data-theme="dark"] .btn:hover{background:linear-gradient(#44444b,#35353b);border-color:#5a5a63}
:root[data-theme="dark"] .btn:active{background:#2a2a2e}
:root[data-theme="dark"] .btn-primary{background:linear-gradient(#2a7ac0,#1f66a8);border-color:#1a5a95;color:#fff}
:root[data-theme="dark"] .btn-primary:hover{background:linear-gradient(#3286cc,#2470b4)}
:root[data-theme="dark"] .btn-danger{color:#e88;border-color:#6a3a3a}
:root[data-theme="dark"] .btn-danger:hover{background:#3a2626}
:root[data-theme="dark"] .tbtn:hover,
:root[data-theme="dark"] .sbtn:hover,
:root[data-theme="dark"] .card:hover{background:#37373d;border-color:var(--border)}
:root[data-theme="dark"] .card.sel{background:#0e639c;border-color:#1177bb}
:root[data-theme="dark"] .card.sel .card-name{background:#1177bb;color:#fff}
:root[data-theme="dark"] .st-row2{background:#2a2a2e}
:root[data-theme="dark"] .st-row,
:root[data-theme="dark"] .group-header,
:root[data-theme="dark"] .empty h2,
:root[data-theme="dark"] .mods-col h4,
:root[data-theme="dark"] .field>span{color:var(--text)}
:root[data-theme="dark"] #btn-console svg{color:#c8c8cc}
:root[data-theme="dark"] .acct-av svg{color:#c8c8cc}
:root[data-theme="dark"] .mods-filters select{background:#1e1e1e;color:var(--text);border-color:var(--border)}
:root[data-theme="dark"] .modal-close{color:#aaa}
:root[data-theme="dark"] .modal-close:hover{color:#fff}
:root[data-theme="dark"] ::-webkit-scrollbar-thumb{background:#4a4a52;border-color:var(--area)}
/* ---------- Toolbar ---------- */
.toolbar{display:flex;align-items:center;gap:2px;padding:5px 8px;background:var(--win);border-bottom:1px solid var(--border)}
.tbtn{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid transparent;border-radius:3px;background:none;color:var(--text);cursor:pointer;font-family:inherit;font-size:12px}
.tbtn:hover{background:#e2e6ec;border-color:var(--border2)}
.tbtn:active{background:#d7dde5}
.tbtn svg{width:18px;height:18px;color:#4b5563}
/* farbige Toolbar-Icons wie in MultiMC */
#btn-new svg{color:#3a9c3a}
#btn-import svg{color:#3d7ab5}
#btn-modpack svg{color:#8e5bc7}
#btn-open-dir svg{color:#d8a72f}
#btn-console svg{color:#5a6470}
#btn-account svg{color:#3a9c3a}
#btn-settings svg{color:#3d7ab5}
.tbtn.big{font-size:13px;padding:8px 16px;border:1px solid var(--border);background:linear-gradient(#fdfdfd,#e9e9e9)}
.tbsep{width:1px;height:24px;background:var(--border);margin:0 5px}
.tbgrow{flex:1}
.search-wrap input{padding:5px 9px;border:1px solid var(--border);border-radius:3px;background:#fff;color:var(--text);font-size:12px;width:150px}
.search-wrap input:focus{outline:none;border-color:var(--accent)}
/* ---------- Arbeitsbereich ---------- */
.workspace{display:grid;grid-template-columns:1fr 172px;overflow:hidden;background:var(--area)}
.list-area{position:relative;overflow:auto}
/* Skin-Hintergrund (wie MultiMCs Katze) – liegt hinter den Instanzen */
.list-area::after{
content:'';position:absolute;right:24px;bottom:8px;width:52%;height:88%;
background-image:var(--bg-skin,none);background-repeat:no-repeat;
background-position:right bottom;background-size:contain;
opacity:var(--bg-skin-opacity,.55);pointer-events:none;z-index:0;
}
.list{position:relative;z-index:1}
.list{padding:4px 8px}
.side{background:var(--win);border-left:1px solid var(--border);overflow:auto;padding:12px 8px}
.side-empty{text-align:center;color:var(--dim);padding:24px 8px}
.side-ico{width:56px;height:56px;margin:2px auto 6px;display:grid;place-items:center;font-size:40px}
.side-ico img{width:56px;height:56px;object-fit:cover;border-radius:3px}
.side-title{text-align:center;font-weight:600;font-size:14px;word-break:break-word}
.side-grp{text-align:center;color:var(--link);font-size:11px;margin-top:2px;cursor:pointer}
.side-grp:hover{text-decoration:underline}
.hr{height:1px;background:var(--border);margin:8px 2px}
.sbtn{display:block;width:100%;text-align:center;padding:6px;border:1px solid transparent;border-radius:3px;background:none;cursor:pointer;font-family:inherit;font-size:12px;color:var(--text)}
.sbtn:hover{background:#e2e6ec;border-color:var(--border2)}
.sbtn.play{font-weight:600}
.sbtn.del:hover{color:var(--danger)}
/* ---------- Instanzliste / Gruppen / Kacheln ---------- */
.group-section{margin-bottom:4px}
.group-header{display:flex;align-items:center;gap:7px;padding:7px 4px 5px;color:#333;font-weight:600;font-size:12px;cursor:pointer;user-select:none}
.group-header::after{content:'';flex:1;height:1px;background:var(--border);margin-left:6px}
.group-header .chev{font-size:9px;color:#888;width:10px;text-align:center}
.group-header.collapsed .chev{transform:none}
.group-count{color:var(--dim);font-weight:400}
.group-grid{display:grid;grid-template-columns:repeat(auto-fill,86px);gap:2px;padding:2px 4px 8px;justify-content:start}
.group-section.collapsed .group-grid{display:none}
.card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 5px;border:1px solid transparent;border-radius:2px;cursor:pointer;position:relative}
.card:hover{background:#e3ecf7}
.card.sel{background:var(--sel);border-color:var(--sel-br)}
.card-icon{width:44px;height:44px;display:grid;place-items:center;font-size:30px}
.card-icon svg,.side-ico svg{display:block;image-rendering:pixelated}
.card-icon-img{width:44px;height:44px;object-fit:cover;border-radius:3px}
.card-name{font-size:11px;text-align:center;line-height:1.2;max-width:82px;padding:1px 4px;word-break:break-word}
.card.sel .card-name{background:var(--sel-br);color:#fff;border-radius:2px}
.card-badges{display:none}
.card-play{display:none}
.group-header.drop-hover,.group-section.drop-hover{outline:1px dashed var(--accent);outline-offset:1px}
.card.dragging{opacity:.4}
/* ---------- Leerer Zustand ---------- */
.empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--dim);gap:8px}
.empty h2{color:#333;margin:0}
.empty p{max-width:340px;margin:0 0 8px}
/* ---------- Statusleiste (zwei Zeilen) ---------- */
.statusbar{display:flex;flex-direction:column;background:var(--win);border-top:1px solid var(--border)}
.st-row{display:flex;justify-content:space-between;padding:3px 10px;font-size:11px;color:#333}
.st-row2{background:#e4e4e4;border-top:1px solid var(--border2);color:#444}
.auth-warn{
display:inline-flex;align-items:center;gap:6px;
color:#fff;background:var(--danger);
padding:1px 10px;border-radius:3px;font-weight:600;cursor:pointer;
animation:authpulse 2s ease-in-out infinite;
}
.auth-warn::before{content:'⚠';font-size:12px}
.auth-warn:hover{filter:brightness(1.12)}
@keyframes authpulse{0%,100%{opacity:1}50%{opacity:.72}}
/* ---------- Modals ---------- */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:50}
.modal-card{width:560px;max-width:calc(100vw - 40px);max-height:calc(100vh - 60px);background:#f6f6f6;border:1px solid #a9a9a9;border-radius:4px;box-shadow:0 10px 30px rgba(0,0,0,.3);display:flex;flex-direction:column;overflow:hidden}
.modal-sm{width:420px}.modal-lg{width:820px}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#e8e8e8;border-bottom:1px solid var(--border)}
.modal-head h3{margin:0;font-size:14px;font-weight:600}
.modal-close{background:none;border:none;color:#666;font-size:15px;cursor:pointer;line-height:1}
.modal-close:hover{color:#000}
.modal-body{padding:16px;overflow:auto;background:#f6f6f6}
.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--border);background:#efefef}
/* Formular */
.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}
.field>span{font-size:12px;color:#333}
.field input,.field select,.field textarea{padding:6px 8px;border:1px solid var(--border);border-radius:3px;background:#fff;color:var(--text);font-family:inherit;font-size:13px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent)}
.field textarea{resize:vertical}
.field-row{display:flex;gap:12px}.field-row .field{flex:1}
.field-icon{max-width:150px}
.hint{font-size:12px}
.path-row{display:flex;gap:8px}.path-row input{flex:1}
.advanced{border:1px solid var(--border);border-radius:3px;padding:12px 14px 2px;margin-top:4px;background:#fbfbfb}
.advanced legend{color:var(--dim);font-size:12px;padding:0 6px}
.version-row{display:flex;gap:8px}.version-row #f-version-type{max-width:120px}.version-row #f-version{flex:1}
.icon-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;margin-top:6px;max-width:100%}
.icon-choice{display:flex;align-items:center;justify-content:center;padding:3px;border:1px solid transparent;border-radius:3px;background:none;cursor:pointer}
.icon-choice:hover{background:rgba(128,128,128,.18)}
.icon-choice.on{border-color:var(--accent);background:var(--sel)}
.icon-choice svg{display:block}
.icon-custom{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}
.icon-preview{width:34px;height:34px;border-radius:3px;overflow:hidden;background:#e4e4e4;border:1px solid var(--border)}
.icon-preview img{width:100%;height:100%;object-fit:cover}
.appinfo{margin-top:8px;font-size:12px;color:var(--dim);line-height:1.6}
.about-brand{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.about-logo{width:56px;height:56px;border-radius:12px}
.about-name{font-size:18px;font-weight:600}
/* Buttons in Dialogen */
.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:3px;background:linear-gradient(#fdfdfd,#e9e9e9);color:var(--text);cursor:pointer;font-family:inherit;font-size:12px}
.btn:hover{background:linear-gradient(#ffffff,#e2e2e2);border-color:#9aa0a8}
.btn:active{background:#dcdcdc}
.btn:disabled{opacity:.5;cursor:default}
.btn svg{width:15px;height:15px}
.btn-primary{background:linear-gradient(#5a9be0,#3a7bc8);border-color:#2f6bb0;color:#fff}
.btn-primary:hover{background:linear-gradient(#69a8ea,#3f83d2)}
.btn-danger{color:var(--danger);border-color:#cbb0ac}
.btn-danger:hover{background:#f7e9e7;border-color:#c0392b}
.btn-lg{padding:9px 18px;font-size:13px}
.btn-mini{padding:4px 8px;font-size:11px}
/* Badges (dezent) */
.badge{font-size:10px;padding:1px 6px;border-radius:2px;background:#e2e2e2;color:#555;border:1px solid var(--border)}
/* Detail-Kopf (Mods/Login) */
.detail-head{display:flex;align-items:center;gap:12px}
.detail-icon{font-size:28px}
.detail-sub{color:var(--dim);font-size:12px;margin-top:2px}
/* Mods */
.mods-body{min-height:420px}
.mods-warn{background:#fdecea;border:1px solid #e0b4b0;color:#a5342a;border-radius:3px;padding:10px 12px;margin-bottom:12px}
.mods-search{display:flex;gap:8px;margin-bottom:10px}
.mods-filters{display:flex;gap:8px;margin-bottom:12px}
.mods-filters select{flex:1;padding:6px 8px;border:1px solid var(--border);border-radius:3px;background:var(--input,#fff);color:var(--text);font-family:inherit;font-size:12px}
#m-more{display:block;width:100%;margin-top:8px}
.mods-search input{flex:1;padding:7px 10px;border:1px solid var(--border);border-radius:3px;background:#fff;color:var(--text)}
.mods-search input:focus{outline:none;border-color:var(--accent)}
.mods-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mods-col h4{margin:0 0 8px;font-size:12px;color:#333;font-weight:600;display:flex;align-items:center;gap:6px}
.mods-tabs{display:flex;gap:2px;margin-bottom:10px;border-bottom:1px solid var(--border)}
.mtab{padding:7px 14px;border:1px solid transparent;border-bottom:none;border-radius:3px 3px 0 0;background:none;color:var(--dim);cursor:pointer;font-family:inherit;font-size:12px;margin-bottom:-1px}
.mtab:hover{color:var(--text)}
.mtab.on{color:var(--text);background:var(--bar);border-color:var(--border);font-weight:600}
.mods-list{height:340px;overflow-y:auto;overflow-x:hidden;border:1px solid var(--border);border-radius:3px;background:#fff;padding:6px}
.mods-empty{color:var(--dim);text-align:center;padding:24px 8px;font-size:12px}
.mod-item{display:flex;gap:10px;align-items:center;padding:8px;border-radius:3px;max-width:100%;overflow:hidden}
.mod-item.clickable{cursor:pointer}
.mod-item.installing{opacity:.6}
.mod-item+.mod-item{border-top:1px solid #eee}
.mod-item:hover{background:#f0f4f8}
.mod-icon{width:38px;height:38px;border-radius:3px;flex:none;background:#e4e4e4;object-fit:cover;display:flex;align-items:center;justify-content:center;font-size:18px}
.mod-info{flex:1;min-width:0}
.mod-name{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mod-desc{font-size:12px;color:var(--dim);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mod-meta{font-size:11px;color:var(--dim);margin-top:2px}
.mod-action{flex:none}
/* Login / Konten */
.login-code{text-align:center}
.login-link{color:var(--link);font-size:15px;display:inline-block;margin-bottom:12px;cursor:pointer;text-decoration:none}
.login-link:hover{text-decoration:underline}
.login-usercode{font-family:var(--mono);font-size:28px;font-weight:700;letter-spacing:3px;color:#222;background:#fff;border:1px solid var(--border);border-radius:4px;padding:12px;margin:6px 0 12px}
.login-error{color:var(--danger)!important;font-weight:600}
.account-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.account-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:3px;background:#fff;border:1px solid var(--border)}
.account-item.active{border-color:var(--accent)}
.account-av{width:34px;height:34px;border-radius:3px;flex:none;background:#e4e4e4;display:flex;align-items:center;justify-content:center;font-size:18px}
img.account-av{object-fit:cover;image-rendering:pixelated}
.account-main{flex:1;min-width:0}
.account-name{font-weight:600}
.account-tag{font-size:11px;color:var(--link)}
.account-actions{display:flex;gap:6px}
.account-empty{color:var(--dim);text-align:center;padding:10px}
/* Screenshots */
.screens-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;max-height:460px;overflow:auto}
.screen-thumb{border:1px solid var(--border);border-radius:3px;overflow:hidden;background:#fff;cursor:pointer;position:relative}
.screen-thumb img{width:100%;height:100px;object-fit:cover;display:block}
.screen-thumb .screen-name{font-size:11px;color:var(--dim);padding:4px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.screen-thumb .screen-del{position:absolute;top:4px;right:4px;opacity:0;background:var(--danger);color:#fff;border:none;border-radius:3px;width:24px;height:24px;cursor:pointer}
.screen-thumb:hover .screen-del{opacity:1}
.screens-empty{color:var(--dim);text-align:center;padding:30px;grid-column:1/-1}
/* Konsole (dunkel wie ein Log) */
.console-out{height:440px;overflow:auto;margin:0;background:#1e1e1e;border:1px solid var(--border);border-radius:3px;padding:10px;font-family:var(--mono);font-size:12px;color:#d4d4d4;white-space:pre-wrap;word-break:break-word;line-height:1.5}
.log-line{white-space:pre-wrap}
.log-error{color:#f48771}.log-warn{color:#dcdcaa}.log-info{color:#569cd6}
/* Einstellungen (MultiMC-Stil: linke Sektions-Navigation) */
.settings-body{display:flex;padding:0;min-height:360px}
.settings-nav{width:170px;flex:none;background:var(--bar);border-right:1px solid var(--border);padding:8px;display:flex;flex-direction:column;gap:2px}
.snav{text-align:left;padding:8px 11px;border:1px solid transparent;border-radius:3px;background:none;color:var(--text);cursor:pointer;font-family:inherit;font-size:13px}
.snav:hover{background:rgba(128,128,128,.16)}
.snav.on{background:var(--sel);border-color:var(--sel-br);color:var(--text)}
.settings-content{flex:1;padding:16px 18px;overflow:auto}
.spane h4{margin:0 0 14px;font-size:14px;font-weight:600}
.checkbox-field{display:flex;align-items:center;gap:8px;margin-bottom:14px;cursor:pointer;font-size:13px}
.checkbox-field input{width:16px;height:16px}
.field-port{max-width:110px;flex:none}
/* Konto-Button mit 3D-Skin-Kopf */
.acct-btn{gap:8px}
.acct-av{display:inline-flex;align-items:center;justify-content:center}
.acct-av svg{width:18px;height:18px;color:#4b5563}
.acct-head{width:24px;height:26px;object-fit:contain;image-rendering:pixelated;margin-top:-2px;margin-bottom:-2px}
/* Toast */
.toast{position:fixed;bottom:42px;left:50%;transform:translateX(-50%);background:#333;color:#fff;padding:10px 16px;border-radius:4px;box-shadow:0 6px 20px rgba(0,0,0,.4);z-index:100;font-size:13px}
.toast.err{background:#a5342a}
/* Scrollbars (hell) */
::-webkit-scrollbar{width:14px;height:14px}
::-webkit-scrollbar-thumb{background:#c1c1c1;border:3px solid var(--area);border-radius:7px}
::-webkit-scrollbar-thumb:hover{background:#a8a8a8}