:root { color-scheme: light; --ink:#15251f; --muted:#61716a; --line:#d9e4dd; --surface:#fff; --canvas:#f4f8f5; --accent:#087a5b; --accent-dark:#056247; --danger:#b42318; }
* { box-sizing:border-box; }
body { min-width:320px; margin:0; color:var(--ink); background:radial-gradient(circle at 83% 8%,#d9f2e5 0,transparent 24rem),var(--canvas); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif; }
button,textarea,input { font:inherit; } button { cursor:pointer; } button:disabled { cursor:wait; opacity:.68; }
.page-shell { width:min(100% - 32px,760px); margin:0 auto; padding:clamp(52px,10vw,96px) 0 72px; }.intro { max-width:630px; margin-bottom:28px; }.eyebrow { margin:0 0 12px; color:var(--accent); font-size:14px; font-weight:750; letter-spacing:.04em; }h1 { margin:0; font-size:clamp(34px,6vw,56px); letter-spacing:-.05em; line-height:1.06; }.lede { max-width:560px; margin:18px 0 0; color:var(--muted); font-size:17px; line-height:1.65; }
.login-card,.notice { border:1px solid var(--line); border-radius:22px; background:var(--surface); box-shadow:0 18px 50px rgba(20,49,37,.08); }.login-card { padding:clamp(20px,4vw,32px); }.field-label { display:block; margin-bottom:10px; font-size:14px; font-weight:750; }textarea { width:100%; min-height:230px; padding:15px; border:1px solid var(--line); border-radius:14px; resize:vertical; color:var(--ink); background:#fbfdfb; font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; outline:none; }textarea:focus { border-color:var(--accent); box-shadow:0 0 0 4px rgba(8,122,91,.12); }.tools { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }.secondary-button,.file-button { min-height:40px; padding:0 14px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:#fff; font-size:14px; font-weight:650; line-height:38px; }.secondary-button:hover,.file-button:hover { background:#f1f7f3; }.file-button { cursor:pointer; }#fileInput { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }.subtle { min-height:20px; margin:11px 0 18px; color:var(--muted); font-size:13px; }.primary-button { width:100%; min-height:48px; border:0; border-radius:12px; background:var(--accent); color:#fff; font-size:15px; font-weight:750; box-shadow:0 12px 22px rgba(8,122,91,.2); }.primary-button:hover:not(:disabled) { background:var(--accent-dark); }.status { min-height:24px; margin:16px 0 0; color:var(--muted); font-size:14px; line-height:1.55; }.status[data-state="success"] { color:var(--accent); }.status[data-state="error"] { color:var(--danger); }.status[data-state="loading"] { color:#8a5b00; }.notice { margin-top:18px; padding:22px 26px; color:var(--muted); font-size:14px; line-height:1.65; }.notice h2 { margin:0; color:var(--ink); font-size:15px; }.notice ol { margin:12px 0; padding-left:1.3rem; }.notice p { margin:12px 0 0; }code { padding:1px 4px; border-radius:4px; background:#eef4f0; color:#285342; }
@media (max-width:520px) { .page-shell { width:min(100% - 24px,760px); padding-top:42px; }.login-card { padding:18px; }.tools { display:grid; grid-template-columns:1fr 1fr; }.secondary-button,.file-button { text-align:center; font-size:13px; } }
