:root{--brand:#4f46e5;--ink:#111827;--muted:#4b5563;--line:#d1d5db;--surface:#fff;--background:#f9fafb}*{box-sizing:border-box}body{color:var(--ink);background:var(--background);margin:0;font-family:system-ui,Microsoft YaHei,sans-serif}a{color:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.shell{max-width:1120px;margin:0 auto;padding:32px 24px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding-bottom:20px;display:flex}.brand{font-size:20px;font-weight:750;text-decoration:none}.nav{gap:20px;font-size:14px;display:flex}.nav a{color:var(--muted);text-decoration:none}.hero{max-width:760px;padding:80px 0 56px}.eyebrow{color:var(--brand);letter-spacing:.08em;font-size:14px;font-weight:700}h1{margin:16px 0 24px;font-size:clamp(32px,6vw,56px);line-height:1.15}h2{font-size:24px}.lead{color:var(--muted);font-size:18px;line-height:1.8}.grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px}.card p,.note{color:var(--muted);line-height:1.7}.notice{border-left:4px solid var(--brand);background:#eef2ff;margin-top:32px;padding:20px 24px;line-height:1.7}.status{color:var(--muted);margin-top:24px;font-size:14px}.admin{border-top:4px solid #1f2937}@media (max-width:640px){.shell{padding:20px 16px}.nav{gap:12px}.hero{padding:48px 0 36px}.grid{grid-template-columns:1fr}}.auth-hero{padding-bottom:32px}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;max-width:520px;margin-top:28px;padding:24px}.field{margin-bottom:18px}.field label{margin-bottom:8px;font-size:14px;font-weight:650;display:block}.field input[type=tel],.field input[type=text]{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;padding:12px 14px;font-size:16px}.field input:focus-visible{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}.field-help{color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.6}.checkbox{align-items:flex-start;gap:10px;font-size:14px;line-height:1.6;display:flex;font-weight:400!important}.checkbox input{flex:none;width:18px;height:18px;margin-top:3px}button.primary{color:#fff;background:var(--brand);border:1px solid var(--brand);cursor:pointer;border-radius:10px;width:100%;padding:12px 16px;font-size:16px;font-weight:650}button.primary:disabled{opacity:.6;cursor:not-allowed}button.primary.ghost{width:auto;color:var(--brand);background:0 0}button.link{color:var(--brand);cursor:pointer;background:0 0;border:0;margin-top:12px;padding:0;font-size:14px;text-decoration:underline;display:inline-block}button.link:hover{color:#3730a3}.form-notice{color:#1f2937;background:#ecfdf5;border-left:4px solid #059669;border-radius:6px;margin:16px 0 0;padding:12px 14px;font-size:14px;line-height:1.6}.form-error{color:#7f1d1d;background:#fef2f2;border-left:4px solid #dc2626;border-radius:6px;margin:16px 0 0;padding:12px 14px;font-size:14px;line-height:1.6}.preview-code{border:1px dashed var(--brand);background:#eef2ff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;padding:12px 14px;display:flex}.preview-label{color:var(--brand);font-size:13px;font-weight:700}.preview-value{letter-spacing:.18em;color:var(--ink);font-size:20px;font-weight:750}.preview-code button.link{margin-top:0}.actions{margin-top:24px}.primary-link{color:#fff;background:var(--brand);border-radius:10px;padding:12px 22px;font-size:16px;font-weight:650;text-decoration:none;display:inline-block}.sessions{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-top:8px;padding:24px}.session-list{margin:16px 0 0;padding:0;list-style:none}.session-item{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding:16px 0;display:flex}.session-device{flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:650;display:flex}.session-meta{color:var(--muted);margin:6px 0 0;font-size:13px}.session-id{word-break:break-all}.badge{color:#1f2937;background:#e5e7eb;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.logout-area{margin-top:24px}@media (max-width:640px){.topbar{flex-direction:column;align-items:flex-start;gap:12px}.auth-card,.sessions{padding:18px 16px}.nav{flex-wrap:wrap}.session-item{flex-direction:column;gap:8px}button.primary{width:100%}.primary-link{text-align:center;width:100%}}
