:root{color:#18212f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{min-width:320px;margin:0}button,input,textarea{font-family:inherit}button{transition:transform .16s,box-shadow .16s,border-color .16s,background .16s}button:hover{transform:translateY(-1px)}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #1f6fca2e}#root{min-height:100vh}:root{color:#172033;background:#eef2f6;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{background:radial-gradient(circle at 16% 4%,#22c55e1f,#0000 28rem),radial-gradient(circle at 88% 0,#2563eb1c,#0000 30rem),#eef2f6;grid-template-columns:304px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#edf6ff;background:#111827;border-right:1px solid #ffffff14;flex-direction:column;gap:18px;height:100vh;padding:22px;display:flex;position:sticky;top:0;overflow:auto}.brand,.nav-card,.user-button,.saved-head,.topbar h1,.chat-head,.status-card,.file-hint{align-items:center;display:flex}.brand{gap:12px;padding-bottom:8px}.brand-mark{color:#fff;background:linear-gradient(135deg,#2563eb,#10b981);border-radius:10px;place-items:center;width:44px;height:44px;display:grid}.brand strong{font-size:18px;display:block}.brand span,.nav-card small,.user-button small{color:#9fb0c3;margin-top:4px;font-size:12px;line-height:1.4;display:block}.nav-list{gap:10px;display:grid}.nav-card,.user-button,.subscribe-button,.ghost,.primary{border:0;border-radius:10px}.nav-card{text-align:left;color:#dce8f5;background:#ffffff12;border:1px solid #ffffff1a;gap:12px;width:100%;padding:14px}.nav-card svg{color:#76e4c7;flex:none}.nav-card.active{background:#20314a;border-color:#60a5fa;box-shadow:inset 3px 0 #60a5fa}.saved-box,.account-box{gap:10px;display:grid}.saved-box{border-top:1px solid #ffffff1a;margin-top:auto;padding-top:14px}.saved-head{color:#c9d6e7;gap:8px;font-size:13px;font-weight:800}.saved-box select{color:#eef6ff;background:#172235;border:1px solid #ffffff24;border-radius:9px;width:100%;height:38px;padding:0 10px}.user-button{color:#edf6ff;text-align:left;background:#ffffff14;border:1px solid #ffffff1f;justify-content:space-between;gap:10px;width:100%;padding:12px}.user-button span{flex:1}.subscribe-button{color:#063c2d;background:#7dd3c7;justify-content:center;align-items:center;gap:8px;width:100%;height:40px;font-weight:900;display:inline-flex}.subscribe-button.active{color:#052e24;background:#a7f3d0;box-shadow:inset 0 0 0 2px #ffffff6b}.workspace{min-width:0;padding:28px}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.quick-topbar{justify-content:flex-end;margin-bottom:14px}.eyebrow{color:#64748b;letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-size:12px;font-weight:900}h1,h2,h3,h4,p{margin:0}.topbar h1{color:#111827;gap:10px;font-size:30px;line-height:1.1}.topbar h1 svg{color:#2563eb}.topbar-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.notice{color:#047857;background:#dff8ec;border-radius:999px;max-width:440px;padding:9px 12px;font-size:13px;font-weight:800}.quick-page,.planning-main,.review-main,.page-grid{gap:18px;display:grid}.quick-hero{color:#fff;background:linear-gradient(135deg,#0f172ae0,#2563ebc2),url(https://images.unsplash.com/photo-1511578314322-379afb476865?auto=format&fit=crop&w=1600&q=80) 50%/cover;border-radius:14px;align-content:center;gap:12px;min-height:210px;padding:34px;display:grid}.quick-hero .eyebrow,.quick-hero p{color:#ffffffc7}.quick-hero h2{max-width:780px;font-size:34px;line-height:1.18}.quick-chat .chat-stream{min-height:420px}.planning-layout,.review-layout{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:18px;display:grid}.planning-layout{grid-template-columns:minmax(0,1fr)}.switch-panel,.form-twin,.basis-grid,.result-grid,.two-col{gap:14px;display:grid}.owner-switcher{z-index:3;justify-content:center;display:flex;position:relative}.switch-panel{background:#fff;border:1px solid #d6dee9;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:min(100%,360px);padding:6px;overflow:visible;box-shadow:0 8px 20px #0f172a0a}.switch-option{position:relative}.switch-card{color:#4b5b70;text-align:center;background:0 0;border:0;border-radius:8px;width:100%;min-height:46px;padding:0 16px;font-weight:900;position:relative}.switch-card.active{color:#0b4ea2;background:#eef6ff;box-shadow:inset 0 0 0 2px #2563eb}.switch-card:focus-visible{outline-offset:2px;outline:3px solid #2563eb47}.switch-tooltip{color:#334155;opacity:0;pointer-events:none;visibility:hidden;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:228px;padding:10px 12px;font-size:13px;font-weight:650;line-height:1.55;transition:opacity .16s,transform .16s;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)translate(-4px);box-shadow:0 12px 28px #0f172a24}.switch-option:first-child .switch-tooltip{left:auto;right:calc(100% + 12px);transform:translateY(-50%)translate(4px)}.switch-option:hover .switch-tooltip,.switch-option:focus-within .switch-tooltip{opacity:1;visibility:visible;transform:translateY(-50%)}.form-twin,.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.form-twin{align-items:start}.form-twin .panel{height:100%}.form-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-fields .field{margin:0}.panel,.chat-card,.proposal-box{background:#fffffff0;border:1px solid #d9e1ec;border-radius:14px;box-shadow:0 14px 34px #0f172a0f}.panel{padding:20px}.panel-head{margin-bottom:16px}.panel-head h3{color:#142033;font-size:19px}.panel-head p{color:#65748a;margin-top:6px;font-size:14px;line-height:1.55}.field{color:#4b5b70;gap:7px;margin-bottom:12px;font-size:13px;font-weight:850;display:grid}.field.wide{grid-column:1/-1}input,textarea,select{color:#172033;background:#fff;border:1px solid #cbd5e1;border-radius:9px;outline:none;width:100%;padding:10px 11px}textarea{resize:vertical;min-height:92px}input:focus,textarea:focus,select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.action-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.primary,.ghost{justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-weight:900;display:inline-flex}.primary{color:#fff;background:#2563eb}.primary:disabled{opacity:.62;cursor:not-allowed}.ghost{color:#24415f;background:#fff;border:1px solid #cbd5e1}.ghost.danger{color:#b91c1c;border-color:#fecaca}.small{min-height:32px;padding:0 10px;font-size:13px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sticky-assistant{gap:12px;display:grid;position:sticky;top:24px}.planning-ai{gap:12px;display:grid}.planning-chat .chat-stream{min-height:142px;max-height:240px}.chat-card{display:grid;overflow:hidden}.chat-head{color:#102033;border-bottom:1px solid #e1e8f0;gap:8px;padding:14px 16px;font-weight:900}.chat-head svg{color:#10a37f}.chat-stream{background:#f8fafc;flex-direction:column;gap:12px;min-height:320px;max-height:520px;padding:14px;display:flex;overflow:auto}.chat-msg{gap:9px;max-width:94%;display:flex}.chat-msg.user{flex-direction:row-reverse;align-self:flex-end}.chat-msg span{color:#fff;background:#111827;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:grid}.chat-msg.user span{background:#2563eb}.chat-msg p{white-space:pre-wrap;color:#243247;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;font-size:14px;line-height:1.65}.chat-msg.user p{color:#fff;background:#2563eb;border-color:#2563eb}.file-hint{color:#047857;background:#ecfdf5;border-top:1px solid #d1fae5;gap:8px;padding:9px 14px;font-size:13px;font-weight:800}.chat-input{background:#fff;border-top:1px solid #e1e8f0;grid-template-columns:auto minmax(0,1fr) 42px;gap:9px;padding:12px;display:grid}.chat-input.no-upload{grid-template-columns:minmax(0,1fr) 42px}.chat-input .ghost{white-space:nowrap}.chat-input button[type=submit]{color:#fff;background:#111827;border:0;border-radius:10px}.proposal-box{padding:14px}.proposal-box b{margin-bottom:8px;display:block}.proposal-box p{color:#334155;background:#f8fafc;border-radius:10px;padding:10px;font-size:13px;line-height:1.45}.proposal-box small{color:#64748b;margin-top:4px;display:block}.proposal-actions{gap:8px;margin-top:10px;display:flex}.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-block{background:#fff;border:1px solid #dce4ee;border-radius:12px;gap:10px;padding:14px;display:grid}.result-block.wide{grid-column:1/-1}.result-block h4{color:#132033}.result-block p{color:#40516a;align-items:flex-start;gap:7px;font-size:14px;line-height:1.58;display:flex}.result-block p svg{color:#10a37f;flex:none;margin-top:3px}.result-block pre{white-space:pre-wrap;color:#334155;margin:0;font-family:inherit;line-height:1.65}.empty{color:#66758a;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;align-items:center;gap:9px;min-height:82px;padding:16px;line-height:1.55;display:flex}.project-summary{background:#f8fafc;border:1px solid #dce4ee;border-radius:12px;gap:10px;padding:14px;display:grid}.project-summary b{font-size:18px}.project-summary span{color:#075985;background:#e0f2fe;border-radius:999px;width:fit-content;padding:5px 9px;font-size:12px;font-weight:900}.project-summary p{color:#64748b;line-height:1.55}.basis-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.status-card{color:#64748b;background:#f8fafc;border:1px solid #dbe3ee;border-radius:11px;gap:8px;padding:12px}.status-card span{flex:1;font-weight:850}.status-card b{font-size:12px}.status-card.ok{color:#047857;background:#ecfdf5;border-color:#bbf7d0}.subscription-page{gap:18px;display:grid}.subscription-hero{color:#f8fafc;background:linear-gradient(112deg,#0f172afa,#1e4055f5),#0f172a;border-radius:16px;justify-content:space-between;align-items:flex-end;gap:24px;min-height:190px;padding:30px;display:flex;box-shadow:0 18px 44px #0f172a24}.subscription-hero .eyebrow{color:#7dd3c7}.subscription-hero h2{max-width:720px;font-size:30px;line-height:1.2}.subscription-hero p:not(.eyebrow){color:#cbd5e1;max-width:720px;margin-top:12px;line-height:1.65}.subscription-state{color:#dbeafe;background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px;flex:none;align-items:center;gap:8px;padding:10px 14px;font-weight:900;display:inline-flex}.subscription-state.active{color:#d1fae5;background:#05966933;border-color:#6ee7b76b}.subscription-grid{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px;display:grid}.subscription-plan{background:linear-gradient(#f0fdfadb,#fffffffa),#fff;border-color:#99f6e4}.subscription-plan-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.subscription-plan-head h3{margin-top:9px;font-size:23px}.plan-tag{color:#047857;background:#d1fae5;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;display:inline-flex}.plan-price{white-space:nowrap;align-items:baseline;gap:5px;display:flex}.plan-price strong{color:#0f766e;font-size:32px}.plan-price span{color:#64748b;font-size:13px;font-weight:800}.benefit-list{gap:11px;margin:22px 0;display:grid}.benefit-list p{color:#334155;align-items:center;gap:9px;line-height:1.5;display:flex}.benefit-list svg{color:#059669;flex:none}.subscription-cta{width:100%}.subscription-account{min-width:0}.account-status-list,.order-summary{border:1px solid #e2e8f0;border-radius:12px;gap:0;display:grid;overflow:hidden}.account-status-list div,.order-summary div{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;gap:16px;padding:12px 14px;display:flex}.account-status-list div:last-child,.order-summary div:last-child{border-bottom:0}.account-status-list span,.order-summary span{color:#64748b}.account-status-list b,.order-summary b{color:#1e293b;text-align:right;overflow-wrap:anywhere;min-width:0}.subscription-guest{text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;align-content:center;place-items:center;gap:11px;min-height:250px;padding:24px;display:grid}.subscription-guest svg{color:#2563eb}.subscription-guest p{color:#64748b;max-width:360px;line-height:1.6}.subscription-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.subscription-detail-grid article{background:#ffffffd1;border:1px solid #d9e1ec;border-radius:13px;min-width:0;padding:18px}.subscription-detail-grid svg{color:#2563eb}.subscription-detail-grid h3{margin-top:14px;font-size:16px}.subscription-detail-grid p{color:#64748b;margin-top:8px;font-size:14px;line-height:1.62}.subscription-payment{grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:28px;display:grid}.payment-info h3{margin-bottom:16px;font-size:22px}.payment-info .primary{margin-top:16px}.payment-qr{background:#f8fafc;border-radius:13px;justify-items:center;gap:10px;padding:16px;display:grid}.payment-qr img{background:#fff;border:1px solid #dbe3ee;border-radius:10px;width:240px;height:240px}.payment-qr small{color:#64748b;text-align:center;line-height:1.5}.subscription-order-empty{color:#475569;background:#ffffff9e;border:1px dashed #cbd5e1;border-radius:13px;align-items:center;gap:12px;padding:17px 20px;display:flex}.subscription-order-empty svg{color:#0f766e;flex:none}.subscription-order-empty b,.subscription-order-empty span{display:block}.subscription-order-empty span{color:#64748b;margin-top:4px;font-size:13px}.modal-mask{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a75;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.auth-modal{background:#fff;border-radius:16px;gap:14px;width:min(430px,100%);padding:24px;display:grid;position:relative;box-shadow:0 28px 70px #0f172a38}.auth-modal h2{font-size:25px}.auth-modal p{color:#64748b;line-height:1.55}.auth-modal label{color:#42536a;gap:7px;font-size:13px;font-weight:850;display:grid}.auth-modal .remember-row{color:#334155;cursor:pointer;align-items:center;gap:9px;width:fit-content;display:flex}.remember-row input{accent-color:#2563eb;width:16px;height:16px;margin:0}.modal-close{color:#64748b;background:#f1f5f9;border:0;border-radius:999px;width:32px;height:32px;font-size:22px;position:absolute;top:12px;right:14px}.code-row{grid-template-columns:minmax(0,1fr) 118px;gap:9px;display:grid}.code-row button{color:#2563eb;background:#fff;border:1px solid #2563eb;border-radius:9px;font-weight:900}.debug-code{color:#075985;background:#e0f2fe;border-radius:10px;padding:9px 11px;font-size:13px;font-weight:900}.error{color:#b91c1c;background:#fef2f2;border-radius:10px;padding:9px 11px;font-size:13px}@media (width<=1240px){.planning-layout,.review-layout,.subscription-grid{grid-template-columns:1fr}.sticky-assistant{position:static}}@media (width<=980px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.form-twin,.two-col,.result-grid,.subscription-detail-grid,.subscription-payment{grid-template-columns:1fr}.result-block.wide{grid-column:auto}}@media (width<=680px){.workspace,.sidebar{padding:18px}.topbar,.topbar-actions{flex-direction:column;align-items:stretch}.quick-hero{padding:24px}.quick-hero h2{font-size:26px}.subscription-hero,.subscription-plan-head{flex-direction:column;align-items:flex-start}.subscription-hero{padding:24px}.subscription-hero h2{font-size:25px}.payment-qr img{aspect-ratio:1;width:min(240px,100%);height:auto}.chat-input,.basis-grid,.form-fields{grid-template-columns:1fr}.switch-panel{width:100%}.switch-tooltip,.switch-option:first-child .switch-tooltip{width:min(280px,100vw - 56px);top:calc(100% + 10px);left:50%;right:auto;transform:translate(-50%)translateY(-4px)}.switch-option:hover .switch-tooltip,.switch-option:focus-within .switch-tooltip{transform:translate(-50%)}}
