:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#172033;background:#eef1f6}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#fff 0,#eef1f6 48%,#e7ebf2 100%)}
.auth-pending .app,.needs-auth .app{visibility:hidden}.auth-pending .auth-screen{visibility:hidden}.authenticated .auth-screen{display:none}
.auth-screen{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top,#fff 0,#eef1f6 55%,#e5e9f1 100%)}
.login-card{width:min(400px,100%);padding:34px;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.9);border-radius:24px;box-shadow:0 24px 70px rgba(31,41,55,.14)}
.login-mark{display:grid;place-items:center;width:46px;height:46px;margin-bottom:22px;border-radius:14px;background:#181b28;color:#fff;font-weight:800;font-size:20px}.login-card h1{font-size:26px;margin:6px 0 8px}.login-card p{margin:0 0 24px;color:#667085}.login-card label{display:block;margin-bottom:8px;font-size:13px;font-weight:700}.login-card input{width:100%;padding:13px 14px;border:1px solid #d8deea;border-radius:12px;font:inherit;outline:none}.login-card button{width:100%;margin-top:14px}.login-error{min-height:20px;margin-top:12px;color:#b42318;font-size:13px;text-align:center}
.app{width:min(920px,100%);margin:auto;padding:22px 16px 48px}
header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}h1{font-size:24px;margin:3px 0}.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#667085}#saveState{font-size:13px;color:#667085}.header-actions{display:flex;align-items:center;gap:12px}.text-button{padding:6px 8px;border:0;background:transparent;color:#667085;font-weight:500}.text-button:hover{box-shadow:none;color:#172033}
main{display:grid;gap:16px}.editor-card,.ai-panel,details{background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.8);box-shadow:0 12px 36px rgba(31,41,55,.08);border-radius:20px}
.editor-card{padding:18px}.title{width:100%;border:0;background:transparent;font-size:20px;font-weight:700;outline:none;margin-bottom:12px}
textarea{width:100%;resize:vertical;border:1px solid #d8deea;border-radius:14px;padding:14px;font:inherit;line-height:1.75;color:#172033;background:#fbfcfe;outline:none}
textarea:focus,input:focus{border-color:#8b93ff;box-shadow:0 0 0 3px rgba(99,102,241,.12)}
#editor{min-height:42vh;border:0;background:transparent;padding:4px 0;font-size:17px}.stats{display:flex;justify-content:space-between;color:#8790a2;font-size:12px;margin-top:10px}
.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}details{padding:14px}summary{cursor:pointer;font-weight:650}details textarea{margin-top:12px;min-height:120px}
.ai-panel{padding:16px}.panel-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px;font-weight:700}.panel-title span:last-child{font-size:12px;font-weight:400;color:#8790a2}.spark{color:#6d5dfc}
#instruction{width:100%;padding:12px 14px;border:1px solid #d8deea;border-radius:12px;font:inherit;outline:none}.actions,.candidate-actions{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}
button{border:1px solid #d8deea;background:#fff;color:#273043;border-radius:12px;padding:10px 14px;font-weight:650;cursor:pointer}button:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(31,41,55,.08)}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:#181b28;color:#fff;border-color:#181b28}
#candidate{min-height:170px}.loading{font-size:13px;color:#6d5dfc;margin:8px 0}.hidden{display:none}
@media(max-width:650px){.app{padding:16px 10px 36px}.meta-grid{grid-template-columns:1fr}header{padding:0 4px}.panel-title{align-items:flex-start;flex-direction:column}#editor{min-height:48vh}.actions button{flex:1 1 42%}.candidate-actions button{flex:1 1 100%}}
