:root{--primary: #4f6ef7;--primary-dark: #3d59d8;--primary-light: #eef2ff;--bg: #f5f7fb;--card: #ffffff;--text: #1f2937;--text-sub: #6b7280;--text-light: #9ca3af;--border: #e3e7f0;--danger: #ef4444;--success: #10b981;--radius: 14px;--shadow: 0 2px 12px rgba(31, 41, 55, .06)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}#app{min-height:100vh}.page{max-width:720px;margin:0 auto;padding:0 16px 120px}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.input,.textarea{width:100%;border:1.5px solid var(--border);border-radius:10px;padding:11px 13px;font-size:15px;font-family:inherit;color:var(--text);background:#fcfdff;transition:border-color .15s,box-shadow .15s;outline:none}.input:focus,.textarea:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #4f6ef71f}.textarea{resize:vertical;min-height:80px;line-height:1.7}.input::placeholder,.textarea::placeholder{color:var(--text-light)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:10px;padding:12px 22px;font-size:15px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s;background:#f0f2f8;color:var(--text)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 12px #4f6ef747}.btn-primary:hover{background:var(--primary-dark)}.btn-ghost{background:transparent;color:var(--text-sub);border:1.5px solid var(--border)}.btn:disabled{opacity:.5;cursor:not-allowed}.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%);background:#1f2937eb;color:#fff;padding:10px 18px;border-radius:10px;font-size:14px;z-index:999;animation:toastIn .2s ease;max-width:80vw;text-align:center}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}
