:root{--paper:#f6f4ef;--panel:#fff;--ink:#263940;--muted:#718086;--line:#dce1dd;--accent:#c86436;--accent-soft:#f2ded3;--sage:#dfe9e3;--success:#3d7a5b;--danger:#b34c3a;--shadow:0 18px 50px rgba(35,55,61,.08)}
*{box-sizing:border-box}
html{background:var(--paper);color:var(--ink);font-family:'Noto Sans SC','Microsoft YaHei',system-ui,sans-serif}
body{margin:0;min-height:100vh;background:linear-gradient(135deg,rgba(223,233,227,.42),transparent 32rem),var(--paper)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.topbar{height:74px;padding:0 clamp(22px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.93);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:40px;height:40px;border-radius:12px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:800;letter-spacing:.05em}.brand strong,.brand small{display:block}.brand strong{font-size:15px}.brand small{font-size:10px;color:var(--muted);margin-top:1px;letter-spacing:.08em}
.top-actions{display:flex;gap:13px;align-items:center}.top-actions form{margin:0}.user-chip{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.user-chip i{font-style:normal;width:30px;height:30px;border-radius:50%;background:var(--sage);display:grid;place-items:center}
.language-switch{display:flex!important;gap:2px!important;padding:3px;border:1px solid var(--line);border-radius:9px;background:#f3f4f1}.language-switch button{border:0;border-radius:6px;background:transparent;color:var(--muted);padding:5px 8px;font-size:10px;font-weight:800;cursor:pointer}.language-switch button.active{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(35,55,61,.12)}
.ghost-button,.secondary-button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:9px 14px;cursor:pointer;font-weight:600}.ghost-button:hover,.secondary-button:hover{border-color:#aeb9b5}
.site-footer{max-width:1260px;margin:48px auto 0;padding:24px 28px 36px;color:var(--muted);font-size:11px;border-top:1px solid var(--line)}
.flash-stack{position:fixed;top:88px;right:24px;z-index:50;display:grid;gap:8px}.flash{padding:12px 16px;border-radius:10px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);font-size:13px}.flash.error{border-left:4px solid var(--danger)}.flash.success{border-left:4px solid var(--success)}
.auth-shell{min-height:calc(100vh - 74px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:9vw;align-items:center;max-width:1280px;margin:auto;padding:70px clamp(28px,7vw,90px)}
.auth-panel h1{font-size:clamp(40px,5.5vw,78px);line-height:1.08;letter-spacing:-.055em;margin:18px 0 25px;max-width:780px}.auth-panel h1 em{font-style:normal;color:var(--accent)}.auth-panel>p{font-size:17px;color:var(--muted);line-height:1.8;max-width:600px}.eyebrow{font-size:11px;font-weight:800;color:var(--accent);letter-spacing:.14em}.auth-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.auth-points span{border:1px solid #cbd4d0;border-radius:999px;padding:9px 14px;font-size:12px;background:rgba(255,255,255,.55)}
.login-card,.form-card,.content-card{background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px}.login-card{padding:42px}.login-card h2{font-size:30px;margin:8px 0}.login-card>p,.form-card>p{color:var(--muted);font-size:13px}.login-card>small{display:block;color:var(--muted);margin-top:18px;text-align:center}.card-kicker{font-size:11px;font-weight:800;color:var(--accent)}
.stack-form{display:grid;gap:18px;margin-top:28px}.stack-form label,.design-form label{display:grid;gap:8px;font-size:13px;font-weight:600}.stack-form input,.design-form input,.design-form select,.design-form textarea{width:100%;border:1px solid #cbd3d0;background:#fff;color:var(--ink);border-radius:10px;padding:12px 13px;outline:none;transition:.2s}.stack-form input:focus,.design-form input:focus,.design-form select:focus,.design-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(200,100,54,.12)}
.primary-button{border:0;background:var(--accent);color:#fff;border-radius:11px;padding:13px 18px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:space-between;box-shadow:0 10px 22px rgba(200,100,54,.18)}.primary-button:hover{background:#b95a32}.primary-button.inline{display:inline-flex;gap:14px;white-space:nowrap}
.center-shell{min-height:calc(100vh - 140px);display:grid;place-items:center;padding:60px 24px}.form-card.narrow{max-width:520px;padding:42px}.form-card.narrow h1{font-size:32px;margin-bottom:8px}
.app-shell{max-width:1320px;margin:0 auto;padding:54px 36px}.hero-row,.project-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px}.hero-row h1,.project-hero h1{font-size:clamp(30px,4vw,48px);letter-spacing:-.04em;margin:8px 0}.hero-row p,.project-hero p{color:var(--muted);margin:0}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:22px}.stat-grid article{padding:22px 25px;background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:16px}.stat-grid span{display:block;font-size:12px;color:var(--muted)}.stat-grid strong{font-size:34px;line-height:1.2}
.content-card{padding:28px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-heading h2{margin:0 0 4px}.section-heading p{font-size:12px;color:var(--muted);margin:0}.project-table{border:1px solid var(--line);border-radius:12px;overflow:hidden}.table-head,.table-row{display:grid;grid-template-columns:1.35fr 1.4fr .7fr .7fr .75fr .5fr;align-items:center;gap:15px;padding:14px 18px}.table-head{font-size:10px;color:var(--muted);font-weight:800;background:#f5f3ee}.table-row{border-top:1px solid var(--line);font-size:12px;background:white}.table-row:hover{background:#faf8f3}.table-row>span{color:#536469;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-row>b{text-align:right;color:var(--accent)}.status{display:inline-block;width:8px;height:8px;border-radius:50%;background:#b5b9b7;margin-right:7px}.status.ready{background:var(--success)}.status.adjust,.status.error{background:var(--danger)}
.empty-state{text-align:center;padding:70px 20px}.empty-state>div{font-size:44px;color:var(--accent);font-weight:800}.empty-state h3{margin:5px}.empty-state p{color:var(--muted)}.empty-state a{color:var(--accent);font-weight:700}
.form-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:30px;align-items:start}.step-rail{position:sticky;top:105px}.step-rail>a,.back-link{font-size:12px;color:var(--muted)}.step-rail h2{font-size:22px;margin:24px 0}.step-rail ol{list-style:none;padding:0;margin:0;counter-reset:step}.step-rail li{counter-increment:step;padding:13px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}.step-rail li:before{content:'0' counter(step);font-size:10px;margin-right:12px}.step-rail li.active{color:var(--ink);font-weight:800}.rail-note{margin-top:26px;background:var(--ink);color:white;border-radius:14px;padding:18px;display:grid;gap:7px}.rail-note strong{margin-bottom:5px}.rail-note span{font-size:11px;color:#d7e0de}
.design-form{display:grid;gap:20px}.design-form>.form-card{padding:30px;display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:20px}.section-number{font-size:36px;font-weight:800;color:var(--accent);line-height:1}.section-title{margin-bottom:22px}.section-title h2{margin:0;font-size:24px}.section-title p{margin:5px 0 0;color:var(--muted);font-size:12px}.design-form>.form-card>*:not(.section-number):not(.section-title){grid-column:2}.field-grid{display:grid;gap:18px}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.design-form label>b{font-size:9px;color:var(--accent);margin-left:4px}.design-form label>small{font-size:10px;color:var(--muted);font-weight:400}.input-suffix{position:relative}.input-suffix span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:11px}.input-suffix input{padding-right:48px}.fixed-specs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:19px}.fixed-specs span{border-radius:10px;background:#f2f4f1;padding:12px;color:var(--muted);font-size:10px}.fixed-specs b{display:block;color:var(--ink);font-size:18px}
.ai-card{border-color:#b9cbc3!important;background:linear-gradient(125deg,#f0f5f1,#fff 68%)!important}.ai-card .section-number{font-size:27px;letter-spacing:-.05em}.ai-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:-4px}.ai-actions span{font-size:11px;color:var(--muted)}.ai-actions span[data-state="loading"]{color:#6b5a21}.ai-actions span[data-state="success"]{color:#2f765b;font-weight:700}.ai-actions span[data-state="error"]{color:#a43f31;font-weight:700}.ai-actions button:disabled{opacity:.55;cursor:wait}.ai-detected{margin-top:14px;padding:13px 15px;border:1px solid #c8d4cf;border-radius:11px;background:#fff}.ai-detected strong{font-size:12px}.ai-detected p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.55}
.ai-match-setting{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px!important;margin:-5px 0 17px;padding:11px 13px;border:1px solid #cbd8d2;border-radius:10px;background:rgba(255,255,255,.72)}.ai-match-setting>input{width:auto!important;margin-top:3px}.ai-match-setting span,.ai-match-setting b,.ai-match-setting small{display:block}.ai-match-setting small{margin-top:3px;color:var(--muted);font-weight:400;line-height:1.5}
.equipment-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.equipment-toolbar input{max-width:420px}.equipment-toolbar span{font-size:11px;color:var(--muted)}.equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-height:420px;overflow:auto;padding:2px}.equipment-option{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) 62px;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px 10px 10px 13px!important}.equipment-select{position:relative;display:block!important;padding:3px 2px 3px 29px;cursor:pointer}.equipment-select>input{position:absolute;opacity:0}.equipment-option strong,.equipment-option small{display:block}.equipment-option strong{font-size:12px}.equipment-option small{font-size:9px;color:var(--muted);margin-top:5px}.equipment-option .checkmark{position:absolute;left:0;top:5px;width:17px;height:17px;border:1px solid #b8c3bf;border-radius:5px;color:transparent;display:grid;place-items:center;font-size:11px}.equipment-option:has(input[name=equipment]:checked){border-color:var(--accent);background:#fff9f5}.equipment-select>input:checked~.checkmark{background:var(--accent);border-color:var(--accent);color:#fff}.equipment-quantity{display:grid!important;gap:3px!important;color:var(--muted);font-size:9px!important;text-align:center}.equipment-quantity input{padding:7px 5px!important;text-align:center}.equipment-quantity input:disabled{opacity:.4;background:#f1f1ee}
.custom-head{display:flex;align-items:center;justify-content:space-between;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.custom-head h3{margin:0;font-size:15px}.custom-head p{margin:4px 0;color:var(--muted);font-size:10px}.custom-list{display:grid;gap:9px;margin-top:13px}.custom-item{display:grid;grid-template-columns:minmax(170px,1.5fr) 70px repeat(3,minmax(85px,.65fr)) 90px auto;gap:8px;align-items:center;background:#f6f5f1;border-radius:10px;padding:10px}.custom-name{position:relative}.custom-name input{padding-right:74px!important}.unmatched-badge{position:absolute;right:7px;top:50%;transform:translateY(-50%);font-size:8px;color:var(--danger);background:#f5e5df;border-radius:999px;padding:3px 5px}.custom-item>button{border:0;background:transparent;color:var(--danger);cursor:pointer}.custom-item input,.custom-item select{padding:9px}.catalog-suggestion{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(260px,1fr) auto auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid #b9cfc4;border-radius:9px;background:#eef5f0}.catalog-suggestion[hidden]{display:none}.catalog-suggestion span{font-size:10px;font-weight:800;color:var(--success)}.catalog-suggestion select{padding:8px!important}.catalog-suggestion button{border:0;border-radius:8px;background:var(--success);color:#fff;padding:9px 12px;cursor:pointer;font-weight:700}.catalog-suggestion small{color:var(--muted);font-size:9px}.custom-item .dimension-confirm{grid-column:1/-1;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px}.custom-item .dimension-confirm input{width:auto;padding:0}
.choice-row{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px}.choice-row label{display:flex!important;align-items:center;gap:7px;padding:10px 13px;border:1px solid var(--line);background:#fff;border-radius:10px}.choice-row input{width:auto}.design-form textarea{resize:vertical;margin-bottom:18px}.submit-bar{position:sticky;bottom:16px;z-index:10;border:1px solid #bac6c2;background:rgba(38,57,64,.97);box-shadow:var(--shadow);border-radius:16px;padding:18px 20px;color:white;display:flex;align-items:center;justify-content:space-between;gap:24px}.submit-bar strong,.submit-bar span{display:block}.submit-bar span{font-size:11px;color:#cbd5d2;margin-top:3px}
.back-link{display:inline-block;margin-bottom:22px}.project-hero{align-items:center}.blocked-chip{border-radius:999px;background:#eadbd4;color:var(--danger);padding:11px 16px;font-weight:700;font-size:12px}.alert-card{border-left:5px solid var(--danger);background:#fff;border-radius:12px;padding:18px 22px;margin-bottom:20px;box-shadow:var(--shadow)}.alert-card strong{font-size:14px}.alert-card p{margin:6px 0;color:var(--muted);font-size:12px}.preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.preview-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.preview-card>div{display:flex;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--line);font-size:11px}.preview-card>div span{color:var(--accent);font-weight:800}.preview-card img{display:block;width:100%;aspect-ratio:1191/842;object-fit:contain;background:#f8f7f3}
.download-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.preview-language-title{margin:34px 0 14px;font-size:20px}.preview-language-title:first-of-type{margin-top:0}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-panel h1{font-size:48px}.form-layout{grid-template-columns:1fr}.step-rail{position:static}.step-rail ol,.rail-note{display:none}.equipment-grid{grid-template-columns:repeat(2,1fr)}.project-table{overflow:auto}.table-head,.table-row{min-width:850px}.preview-grid{grid-template-columns:1fr}}
@media(max-width:620px){.topbar{padding:0 16px}.brand small{display:none}.user-chip{display:none}.top-actions{gap:6px}.app-shell{padding:36px 16px}.hero-row,.project-hero{align-items:flex-start;flex-direction:column}.stat-grid{grid-template-columns:1fr}.auth-shell{padding:40px 18px}.auth-panel h1{font-size:38px}.login-card{padding:28px}.field-grid.two,.fixed-specs,.equipment-grid{grid-template-columns:1fr}.design-form>.form-card{padding:22px;display:block}.section-number{margin-bottom:14px}.custom-item{grid-template-columns:1fr 1fr}.submit-bar{align-items:stretch;flex-direction:column}.download-actions{justify-content:flex-start}}
