:root { color-scheme: dark; font-family: "Microsoft YaHei UI", "Segoe UI", Arial, sans-serif; color: #e5eefb; background: #0b1220; --panel: rgba(15, 23, 42, 0.9); --panel-soft: rgba(30, 41, 59, 0.72); --line: rgba(148, 163, 184, 0.28); --muted: #94a3b8; --ink: #f8fafc; --primary: #22c55e; --blue: #38bdf8; --warn: #fbbf24; --bad: #fb7185; } * { box-sizing: border-box; } body { margin: 0; min-width: 320px; background: #0b1220; } button, input, select { font: inherit; } button { cursor: pointer; } button:disabled { cursor: not-allowed; opacity: 0.55; } .setup-shell { min-height: 100dvh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 10% 10%, rgba(56, 189, 248, 0.15), transparent 32%), radial-gradient(circle at 82% 18%, rgba(34, 197, 94, 0.16), transparent 34%), linear-gradient(145deg, #0b1220, #111827 52%, #0f172a); } .setup-card { width: min(1120px, 100%); min-height: 680px; display: grid; grid-template-columns: 360px minmax(0, 1fr); border: 1px solid var(--line); border-radius: 8px; background: rgba(2, 6, 23, 0.74); box-shadow: 0 30px 90px rgba(0, 0, 0, 0.36); overflow: hidden; } .setup-aside { padding: 28px; background: linear-gradient(180deg, rgba(15, 23, 42, 0.95), rgba(15, 23, 42, 0.68)); border-right: 1px solid var(--line); } .setup-aside h1 { margin: 0 0 16px; font-size: 38px; line-height: 1.08; letter-spacing: 0; } .setup-aside p { color: var(--muted); line-height: 1.75; } .eyebrow { margin: 0 0 8px; color: var(--primary); font-size: 12px; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; } .step-list { list-style: none; margin: 28px 0 0; padding: 0; display: grid; gap: 12px; } .step-list li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: rgba(15, 23, 42, 0.54); } .step-list li > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 8px; background: #1e293b; color: var(--muted); } .step-list li.active { border-color: rgba(34, 197, 94, 0.75); background: rgba(34, 197, 94, 0.08); } .step-list li.done > span, .step-list li.active > span { color: #052e16; background: var(--primary); } .step-list strong { display: block; } .step-list small { color: var(--muted); } .setup-main { padding: 28px; display: flex; flex-direction: column; gap: 18px; } .section-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; } .section-head h2 { margin: 0; font-size: 26px; } .badge { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--line); border-radius: 999px; padding: 5px 9px; color: var(--muted); font-weight: 800; } .spin { animation: spin 1s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } .wide { grid-column: 1 / -1; } label { display: grid; gap: 7px; color: #cbd5e1; font-weight: 800; font-size: 13px; } input, select { width: 100%; min-height: 42px; border-radius: 6px; border: 1px solid #334155; background: #020617; color: var(--ink); padding: 9px 11px; outline: none; } input:focus, select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.15); } input[readonly] { color: var(--muted); } .hint { margin: 0; color: var(--muted); line-height: 1.65; } .choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } .choice-grid button { min-height: 190px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); color: var(--ink); padding: 18px; text-align: left; display: grid; align-content: start; gap: 10px; } .choice-grid button.selected { border-color: var(--primary); background: rgba(34, 197, 94, 0.09); } .choice-grid span { color: var(--muted); line-height: 1.6; } .summary-box { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel-soft); padding: 16px; } .summary-box span { color: var(--muted); } .summary-box strong { overflow-wrap: anywhere; } .test-panel, .confirm-panel, .complete-panel { display: grid; gap: 16px; } .complete-panel { min-height: 420px; place-items: center; align-content: center; text-align: center; } .complete-panel svg { color: var(--primary); } .complete-panel p { max-width: 620px; color: var(--muted); line-height: 1.8; } code { color: #bfdbfe; } .btn { min-height: 42px; border: 1px solid var(--line); border-radius: 6px; padding: 10px 14px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-weight: 900; background: transparent; color: var(--ink); } .btn.primary { background: var(--primary); color: #052e16; border-color: var(--primary); } .btn.ghost { color: #cbd5e1; background: #1e293b; } .setup-actions { margin-top: auto; display: flex; justify-content: space-between; gap: 10px; } .alert, .result { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: start; border-radius: 8px; padding: 12px; line-height: 1.6; } .alert.bad { color: #fecdd3; background: rgba(244, 63, 94, 0.12); border: 1px solid rgba(244, 63, 94, 0.36); } .alert.warn { color: #fde68a; background: rgba(245, 158, 11, 0.12); border: 1px solid rgba(245, 158, 11, 0.36); } .result.good { color: #bbf7d0; background: rgba(34, 197, 94, 0.12); border: 1px solid rgba(34, 197, 94, 0.36); } .result p { margin: 4px 0; color: var(--muted); } @media (max-width: 900px) { .setup-card { grid-template-columns: 1fr; } .setup-aside { border-right: 0; border-bottom: 1px solid var(--line); } .form-grid, .choice-grid { grid-template-columns: 1fr; } .summary-box { grid-template-columns: 1fr; } }