:root{
  --bg:#121418;--bg-2:#1a1d24;--bg-3:#232833;--ink:#f4f1ea;--muted:#b7b3a8;
  --line:#2e3340;--accent:#e0b13a;--accent-2:#c99720;--ok:#3d9a6a;--danger:#c45c5c;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
.wrap{width:min(1080px,calc(100% - 32px));margin:0 auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}

header.cfg-top{position:sticky;top:0;z-index:30;background:rgba(18,20,24,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.cfg-top .inner{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}
.brand img{height:40px;width:auto}
.brand span{font-weight:700;font-size:15px}
.brand small{display:block;color:var(--muted);font-weight:400;font-size:12px}
.lang a{color:var(--muted);font-size:13px;margin-left:8px}
.lang a.active{color:var(--accent)}

.steps{display:flex;gap:6px;padding:12px 0;overflow-x:auto;border-bottom:1px solid var(--line);background:var(--bg-2)}
.step{flex:0 0 auto;padding:6px 12px;border-radius:4px;font-size:13px;color:var(--muted);border:1px solid transparent}
.step.active{background:var(--accent);color:#1a1404;font-weight:700}
.step.done{color:var(--ok);border-color:#2a4a38}
.step button{all:unset;cursor:pointer}

main{padding:28px 0 64px}
.panel{background:var(--bg-2);border:1px solid var(--line);padding:22px;margin-bottom:16px}
.panel h1{font-size:clamp(22px,3vw,30px);margin-bottom:6px}
.panel h2{font-size:clamp(18px,2.4vw,24px);margin-bottom:8px;color:var(--accent)}
.lead{color:var(--muted);margin-bottom:18px;max-width:70ch}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:700px){.row{grid-template-columns:1fr}}
label{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}
input,select,textarea{width:100%;padding:11px 12px;background:#11141a;border:1px solid var(--line);color:var(--ink);border-radius:4px;font-size:16px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
input[readonly]{background:#0c0e12;color:var(--accent)}
.hint{background:#151820;border-left:3px solid var(--accent);padding:10px 14px;margin:14px 0;font-size:14.5px}
.hint strong{color:var(--accent)}
.warn{border-left-color:var(--danger);color:var(--muted)}
.okmsg{border-left-color:var(--ok)}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.card{background:#11141a;border:2px solid var(--line);border-radius:6px;overflow:hidden;cursor:pointer;text-align:left;color:inherit;padding:0;font:inherit;display:flex;flex-direction:column;min-height:100%}
.card:hover,.card:focus-visible{border-color:var(--accent-2);outline:none}
.card.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.card .pic{aspect-ratio:4/3;background:#fff;overflow:hidden}
.card .pic img{width:100%;height:100%;object-fit:contain}
.card .body{padding:10px 12px 14px}
.card .name{font-size:14px;font-weight:600}
.card .sub{font-size:12px;color:var(--muted);margin-top:2px}
.card .price{display:none;font-size:13px;color:var(--accent);margin-top:6px;font-weight:700}
body.show-prices .card .price{display:block}

.nav-btns{display:flex;justify-content:space-between;gap:12px;margin-top:22px;flex-wrap:wrap}
.btn{display:inline-block;padding:12px 18px;font-weight:700;border:none;cursor:pointer;font-size:15px;border-radius:2px;text-decoration:none!important}
.btn:disabled{opacity:.4;cursor:not-allowed}
.btn-primary{background:var(--accent);color:#1a1404}
.btn-primary:hover:not(:disabled){background:#ebc14a}
.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--accent)}

.suggest{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:4px;margin-top:4px;background:#0c0e12}
.suggest button{display:block;width:100%;text-align:left;padding:10px 12px;background:transparent;border:0;border-bottom:1px solid #1c2030;color:var(--ink);cursor:pointer;font-size:14px}
.suggest button:hover,.suggest button:focus{background:#1c2230;outline:none}
.suggest .meta{color:var(--muted);font-size:12px}

.tabs{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.tabs button{padding:8px 12px;background:var(--bg-3);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:4px;font-size:13px}
.tabs button.active{border-color:var(--accent);color:var(--accent)}

.opt{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}
.opt input{width:auto;margin-top:4px}
.opt label{color:var(--ink);font-size:15px;margin:0}
.opt .note{font-size:13px;color:var(--muted);margin-top:2px}

.summary{border:1px solid var(--accent);background:#151820;padding:18px}
.summary h3{color:var(--accent);margin-bottom:12px}
.summary dl{display:grid;grid-template-columns:140px 1fr;gap:6px 12px;font-size:14.5px}
.summary dt{color:var(--muted)}
.code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:clamp(16px,2.5vw,22px);color:var(--accent);letter-spacing:.04em;margin:14px 0;padding:12px;background:#0a0c10;text-align:center;word-break:break-all}
.preview{aspect-ratio:16/10;background:#fff;border:1px solid var(--line);margin-top:12px;overflow:hidden}
.preview img{width:100%;height:100%;object-fit:contain}
.price-box{display:none;margin-top:12px;padding:12px;border:1px dashed var(--line);color:var(--muted);font-size:14px}
body.show-prices .price-box{display:block}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}}
.form-grid .full{grid-column:1/-1}
.legal{font-size:13px;color:var(--muted);display:flex;gap:8px;align-items:flex-start;margin-top:10px}
.legal input{width:auto;margin-top:3px}
.form-err{margin-top:10px;padding:10px;border:1px solid var(--danger);color:#f0c0c0;font-size:14px}
.form-err.ok{border-color:var(--ok);color:#b8e0c8}
.dim{margin-top:14px;padding:12px;background:#11141a;border:1px solid var(--line)}
.dim h4{color:var(--accent);font-size:14px;margin-bottom:8px}
.dim table{width:100%;font-size:13.5px;border-collapse:collapse}
.dim td{padding:4px 6px;border-bottom:1px solid #222}
.dim td:first-child{color:var(--muted);width:45%}
.sys-group{margin-bottom:16px}
.sys-group h3{font-size:15px;margin-bottom:8px;color:var(--muted);font-weight:600}
footer.cfg-foot{border-top:1px solid var(--line);padding:20px 0 36px;color:var(--muted);font-size:13px}
.manual-box{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}

#classGapChoices button.active{border-color:var(--accent);color:var(--accent);background:#1a1808}


.suggest button.miss-action{color:var(--accent);font-weight:600;border-top:1px solid var(--line);margin-top:4px}
#weightConvert{margin-top:8px}
#modelMissing{margin-top:10px}
