:root { --ink:#172033; --muted:#63708a; --line:#e7eaf1; --paper:#fff; --canvas:#f5f7fb; --blue:#2f72ed; --blue-soft:#eaf2ff; --green:#158466; --warm:#ff845f; --radius:22px; font-family: Inter, ui-sans-serif, "PingFang SC", "Microsoft YaHei", sans-serif; color:var(--ink); background:var(--canvas); }
* { box-sizing:border-box; }
body { margin:0; min-width:320px; background:linear-gradient(135deg,#f6f8fd 0%,#fbfbff 58%,#f1f6ff 100%); }
button,input,textarea { font:inherit; }
button { cursor:pointer; border:0; }
.app-shell { min-height:100vh; }
.login { min-height:100vh; display:grid; place-items:center; padding:24px; }
.login-card { width:min(100%,430px); padding:36px; border:1px solid rgba(255,255,255,.7); border-radius:30px; background:rgba(255,255,255,.86); box-shadow:0 24px 70px rgba(41,64,105,.12); backdrop-filter:blur(15px); }
.brand { display:flex; gap:12px; align-items:center; font-size:22px; font-weight:800; letter-spacing:-.05em; }
.brand-mark { display:grid; place-items:center; width:42px; height:42px; border-radius:14px; color:#fff; background:linear-gradient(145deg,#4e8dff,#2764db); box-shadow:0 8px 18px #93b9ff; }
.eyebrow { margin:26px 0 8px; color:var(--blue); font-size:13px; font-weight:750; letter-spacing:.08em; }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:12px; font-size:28px; letter-spacing:-.055em; }
.subtle { color:var(--muted); font-size:14px; line-height:1.65; }
.field { display:grid; gap:8px; margin-top:17px; color:#34415a; font-size:13px; font-weight:700; }
input,textarea { width:100%; border:1px solid var(--line); border-radius:14px; outline:none; background:#fff; color:var(--ink); transition:.18s border,.18s box-shadow; }
input { height:48px; padding:0 14px; }
textarea { min-height:116px; padding:14px; resize:vertical; line-height:1.55; }
input:focus,textarea:focus { border-color:#7eabff; box-shadow:0 0 0 4px #eaf2ff; }
.primary,.secondary,.quiet,.choice { border-radius:14px; padding:12px 16px; font-weight:750; transition:transform .16s,box-shadow .16s,background .16s; }
.primary:hover,.secondary:hover,.choice:hover { transform:translateY(-1px); }
.primary { color:white; background:linear-gradient(135deg,#3f7df0,#2360da); box-shadow:0 10px 22px rgba(49,111,230,.25); }
.secondary { color:#245cc9; background:var(--blue-soft); }
.quiet { padding:9px 11px; color:var(--muted); background:transparent; }
.full { width:100%; margin-top:24px; }
.login-note { margin:18px 0 0; color:#8791a5; font-size:12px; line-height:1.55; }
.topbar { position:sticky; top:0; z-index:5; display:flex; align-items:center; justify-content:space-between; height:72px; padding:0 max(24px,calc((100vw - 1280px)/2)); border-bottom:1px solid rgba(223,228,239,.9); background:rgba(250,251,255,.83); backdrop-filter:blur(17px); }
.topbar .brand { font-size:18px; }.topbar .brand-mark { width:34px;height:34px;border-radius:11px; }
.user-area { display:flex; gap:11px; align-items:center; font-size:13px; color:var(--muted); }
.avatar { width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#dce9ff;color:#316edb;font-weight:800; }
.workspace { width:min(100% - 32px,1180px); margin:0 auto; padding:36px 0 70px; }
.hero { display:flex; justify-content:space-between; gap:25px; margin-bottom:26px; }.hero h1 { margin:6px 0 8px; font-size:32px; }.hero .subtle { max-width:630px; }
.mode-pill,.step-label,.type-badge { display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px; background:#edf3ff; color:#2d69dd; font-size:12px; font-weight:750; }
.mode-pill { align-self:flex-start; background:#f1f8f6; color:#14785d; }
.progress { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:0 0 24px; }
.progress-item { display:flex; align-items:center; gap:8px; padding:12px; border-radius:16px; color:#98a2b4; background:#fff; border:1px solid var(--line); font-size:13px; font-weight:700; }.progress-item b { display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#eef0f4;font-size:11px; }.progress-item.active { color:#2667dc; border-color:#b9d2ff; background:#f6f9ff; }.progress-item.active b { background:#3476ed;color:#fff; }
.panel { border:1px solid rgba(226,230,239,.95); border-radius:var(--radius); background:rgba(255,255,255,.94); box-shadow:0 12px 35px rgba(36,54,91,.055); }.panel-pad { padding:28px; }
.section-title { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:22px; }.section-title h2 { margin:0 0 6px; font-size:21px; letter-spacing:-.04em; }.section-title p { margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.source-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:16px; }.source-grid .field { margin:0; }.form-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:20px; }.cost-note { color:#63708a; font-size:12px; }.cost-note b { color:#14785d; }
.analysis { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:20px; }.analysis-card { padding:16px; border:1px solid #edf0f5; border-radius:17px; background:#fbfcff; }.analysis-card span { color:#8a94a7; font-size:12px; }.analysis-card strong { display:block; margin-top:5px; font-size:15px; }
.directions { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.choice { min-height:160px; text-align:left; border:1px solid #e3e7f0; background:#fff; }.choice.selected { border-color:#6194f5; box-shadow:0 0 0 3px #eaf2ff; }.choice .number { display:block; color:#7d8798; font-size:12px; }.choice h3 { margin:18px 0 7px; font-size:17px; }.choice p { margin:0; color:var(--muted); font-size:13px; line-height:1.5; }.more-directions { margin-top:14px; color:#597ebd; font-size:13px; }
.output-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:20px; }.pages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }.card { position:relative; aspect-ratio:3/4; overflow:hidden; padding:18px; border-radius:22px; color:#162238; background:linear-gradient(155deg,#eaf4ff,#fff1ea); box-shadow:inset 0 0 0 1px rgba(255,255,255,.75); }.card::after { content:""; position:absolute; width:160px;height:160px; border-radius:50%; right:-56px;top:-48px; background:rgba(255,255,255,.6); }.card.scene { background:linear-gradient(150deg,#edf0ff,#e8fbf5); }.card.knowledge { background:linear-gradient(140deg,#fff8e9,#fff1f1); }.card.steps { background:linear-gradient(145deg,#eaf8ff,#f6f2ff); }.card.checklist { background:linear-gradient(145deg,#eff8ef,#fffde9); }.card.action { background:linear-gradient(145deg,#f5efff,#fff0f4); }.card.has-visual { background-size:cover; background-position:center; }.card.has-visual::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.86)); }.card > * { position:relative; z-index:1; }.card-top { display:flex; justify-content:space-between; color:#62748c; font-size:10px; font-weight:800; letter-spacing:.08em; }.card h3 { margin:23% 0 9px; max-width:95%; font-size:clamp(18px,1.8vw,27px); line-height:1.22; letter-spacing:-.06em; }.card p { margin:0; color:#55647b; font-size:12px; line-height:1.6; }.card .steps-list { display:grid; gap:7px; margin-top:15px; }.card .steps-list span { padding:7px 9px; border-radius:9px; background:rgba(255,255,255,.7); font-size:11px; font-weight:700; }.card-footer { position:absolute; bottom:16px; left:18px; right:18px; display:flex; justify-content:space-between; align-items:center; color:#718097; font-size:10px; }.card-actions { position:absolute; z-index:2; right:11px; bottom:10px; display:flex; gap:5px; }.card-actions button { padding:6px 8px; border-radius:8px; color:#344765; background:rgba(255,255,255,.84); font-size:10px; font-weight:750; box-shadow:0 3px 10px rgba(35,55,90,.1); }
.side-panel { padding:20px; }.side-panel h3 { margin:0 0 13px; font-size:16px; }.copy-box { padding:14px; border-radius:15px; background:#f7f9fd; color:#526078; font-size:12px; line-height:1.7; white-space:pre-line; }.side-panel .primary,.side-panel .secondary { width:100%; margin-top:10px; }.usage-box { padding:13px; margin-bottom:16px; border-radius:15px; background:#f1f7ff; color:#3568c5; font-size:12px; line-height:1.55; }.usage-box b { display:block; margin-bottom:4px; color:#173a7c; font-size:14px; }.tools { display:grid; gap:8px; margin-top:14px; }.risk { margin-top:12px; padding:11px; border-radius:12px; background:#fff8eb; color:#896421; font-size:12px; line-height:1.55; }
.project-list { margin-top:20px; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.project-item { padding:15px; text-align:left; border:1px solid #e9edf4; border-radius:16px; background:#fff; }.project-item strong,.project-item span { display:block; }.project-item span { margin-top:4px; color:#8b95a7; font-size:12px; }.empty { padding:28px; text-align:center; color:#8c96a8; }
.toast { position:fixed; z-index:20; left:50%; bottom:24px; max-width:calc(100vw - 40px); padding:11px 16px; border-radius:999px; color:#fff; background:#26344f; box-shadow:0 10px 28px rgba(22,32,51,.24); font-size:13px; transform:translate(-50%,20px); opacity:0; pointer-events:none; transition:.22s; }.toast.show { opacity:1; transform:translate(-50%,0); }.loading { display:inline-block; width:15px;height:15px; margin-right:7px; border:2px solid #dbe9ff;border-top-color:#3977ed;border-radius:50%; vertical-align:-3px; animation:spin .7s linear infinite; } @keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:860px) { .topbar{padding:0 18px}.workspace{width:min(100% - 28px,1180px);padding-top:24px}.hero,.source-grid,.output-layout{display:block}.mode-pill{margin-top:12px}.progress{overflow:auto;grid-template-columns:repeat(4,160px)}.directions,.pages,.project-list{grid-template-columns:1fr 1fr}.side-panel{margin-top:18px}.source-grid .field+ .field{margin-top:14px} }
@media (max-width:520px) { .login-card{padding:26px}.hero h1{font-size:27px}.panel-pad{padding:20px}.directions,.pages,.project-list{grid-template-columns:1fr}.form-actions{align-items:stretch;flex-direction:column}.primary,.secondary{width:100%}.topbar .user-area span{display:none}.card h3{font-size:27px} }
