:root { --bg:#fff8f2; --panel:#fff; --ink:#2b211d; --muted:#7e6d64; --line:#f0dfd3; --brand:#f1641e; --brand-dark:#d84f10; }
* { box-sizing: border-box; }
body { margin:0; min-width:320px; min-height:100vh; color:var(--ink); background:var(--bg); font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; -webkit-font-smoothing:antialiased; }
button,input { font:inherit; }
.login-shell { min-height:100vh; display:grid; grid-template-columns:minmax(420px,1.08fr) minmax(420px,.92fr); }
.intro-panel { padding:clamp(42px,7vw,96px); display:flex; flex-direction:column; justify-content:center; background:linear-gradient(145deg,#fff1e7,#fffaf6 68%); border-right:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:12px; }
.brand-mark { width:44px; height:44px; display:grid; place-items:center; border-radius:14px; color:#fff; background:var(--brand); font:800 22px/1 Georgia,serif; }
.brand strong { font:700 24px/1 Georgia,serif; }
.eyebrow { margin:58px 0 14px; color:var(--brand); font-size:11px; font-weight:800; letter-spacing:.16em; }
h1 { max-width:650px; margin:0; font:700 clamp(36px,4.6vw,66px)/1.08 Georgia,"Songti SC",serif; letter-spacing:-.035em; }
.intro-copy { max-width:570px; margin:24px 0 0; color:var(--muted); font-size:16px; line-height:1.8; }
.feature-list { margin-top:30px; display:grid; gap:12px; color:#61493e; font-size:14px; }
.feature-list span { display:flex; align-items:center; gap:10px; }
.feature-list span::before { width:15px; height:15px; flex:0 0 15px; border:1.5px solid var(--brand); border-radius:50%; content:""; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4.3 8 2.2 2.2 5.2-5.2' fill='none' stroke='%23f1641e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px 12px no-repeat; }
.plugin-card { max-width:570px; margin-top:42px; padding:18px 20px; display:flex; justify-content:space-between; align-items:center; gap:24px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.72); }
.plugin-card strong,.plugin-card span { display:block; }
.plugin-card strong { font-size:14px; }
.plugin-card span { margin-top:5px; color:var(--muted); font-size:12px; }
.plugin-card a { flex:0 0 auto; color:var(--brand); font-size:13px; font-weight:750; text-decoration:none; }
.plugin-card a:hover { text-decoration:underline; }
.auth-panel { padding:32px; display:grid; place-items:center; background:#fff; }
.auth-card { width:min(100%,440px); }
.tabs { padding:5px; display:grid; grid-template-columns:1fr 1fr; gap:5px; border:1px solid var(--line); border-radius:13px; background:#fffaf6; }
.tab { padding:11px; border:0; border-radius:9px; color:var(--muted); background:transparent; cursor:pointer; font-weight:700; }
.tab.active { color:var(--brand); background:#fff; box-shadow:0 4px 15px rgba(108,49,20,.08); }
.auth-form { margin-top:36px; display:grid; gap:18px; }
.form-heading { margin-bottom:5px; }
.form-heading h2 { margin:0; font:700 30px/1.2 Georgia,"Songti SC",serif; }
.form-heading p { margin:9px 0 0; color:var(--muted); font-size:13px; }
label { display:grid; gap:8px; color:#665148; font-size:12px; font-weight:700; }
input { width:100%; padding:14px 15px; border:1px solid #e7d5ca; border-radius:11px; outline:0; color:var(--ink); background:#fff; transition:.18s; }
input:focus { border-color:#f19060; box-shadow:0 0 0 3px rgba(241,100,30,.1); }
.submit-button { margin-top:5px; padding:14px; border:0; border-radius:11px; color:#fff; background:var(--brand); cursor:pointer; font-weight:750; box-shadow:0 8px 20px rgba(241,100,30,.2); }
.submit-button:hover { background:var(--brand-dark); }
.submit-button:disabled { cursor:wait; opacity:.65; }
.form-message { margin-top:18px; padding:12px 14px; border:1px solid #e5c0c0; border-radius:10px; color:#883737; background:#fbebeb; font-size:13px; }
.form-message.success { border-color:#b7ddca; color:#247151; background:#e8f5ee; }
.form-link-row { margin-top:-7px; display:flex; justify-content:flex-end; }
.form-link-row a { color:var(--brand); font-size:12px; font-weight:700; text-decoration:none; }
.form-link-row a:hover { text-decoration:underline; }
.verification-panel { margin-top:36px; text-align:center; }
.verification-panel .mail-icon { width:58px; height:58px; margin:0 auto 20px; display:grid; place-items:center; border-radius:18px; color:var(--brand); background:#fff0e7; }
.verification-panel .mail-icon svg { width:26px; height:26px; display:block; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.verification-panel h2 { margin:0; font:700 30px/1.2 Georgia,"Songti SC",serif; }
.verification-panel p { margin:14px 0 24px; color:var(--muted); font-size:13px; line-height:1.75; }
.verification-panel strong { color:var(--ink); }
.secondary-button { width:100%; padding:13px; border:1px solid var(--line); border-radius:10px; color:var(--brand); background:#fff; cursor:pointer; font-weight:700; }
.text-link-button { margin-top:14px; padding:6px; border:0; color:var(--muted); background:transparent; cursor:pointer; font-size:12px; }
.auth-back { display:inline-flex; align-items:center; gap:8px; margin-bottom:30px; color:var(--brand); font-size:13px; font-weight:700; text-decoration:none; }
.auth-back::before { width:7px; height:7px; border-left:1.5px solid currentColor; border-bottom:1.5px solid currentColor; content:""; transform:rotate(45deg); }
.security-note { margin:22px 0 0; color:#9c877c; font-size:11px; line-height:1.6; text-align:center; }
.hidden { display:none !important; }
@media (max-width:900px) { .login-shell { grid-template-columns:1fr; } .intro-panel { padding:38px 28px; } .eyebrow { margin-top:34px; } h1 { font-size:38px; } .feature-list { display:none; } .plugin-card { margin-top:28px; } .auth-panel { padding:46px 24px 60px; } }
@media (max-width:520px) { .plugin-card { align-items:flex-start; flex-direction:column; gap:12px; } }

.login-shell.single { grid-template-columns:1fr; }
.login-shell.single .auth-panel { min-height:100dvh; }

@media (max-width:600px) {
  .login-shell { min-height:100dvh; }
  .intro-panel { padding:22px 18px 18px; justify-content:flex-start; }
  .brand-mark { width:38px; height:38px; border-radius:11px; font-size:19px; }
  .brand strong { font-size:21px; }
  .eyebrow { margin:22px 0 9px; }
  h1 { font-size:30px; line-height:1.12; }
  .intro-copy { margin-top:12px; font-size:13px; line-height:1.65; }
  .plugin-card { margin-top:18px; padding:13px 14px; align-items:center; flex-direction:row; gap:12px; }
  .plugin-card span { font-size:11px; }
  .plugin-card a { white-space:nowrap; }
  .auth-panel { padding:27px 18px calc(42px + env(safe-area-inset-bottom)); place-items:start center; }
  .auth-card { width:100%; }
  .auth-form { margin-top:25px; gap:15px; }
  .form-heading h2,.verification-panel h2 { font-size:26px; }
  input { min-height:46px; padding:12px 13px; }
  .submit-button,.secondary-button { min-height:46px; }
  .verification-panel { margin-top:24px; }
  .auth-back { margin-bottom:22px; }
}

@media (max-width:380px) {
  .plugin-card { align-items:flex-start; flex-direction:column; }
  .tabs { gap:3px; }
  .tab { padding-inline:7px; }
}
