:root{--canvas: #f4f4f1;--surface: #ffffff;--surface-sunken: #eceae5;--ink: #111318;--ink-secondary: #6f747c;--ink-tertiary: #9a9fa7;--ink-on-accent: #ffffff;--hairline: #dcdde0;--rule-strong: #b9bcc2;--rule-ink: #111318;--accent: #2457d6;--accent-hover: #1c46b2;--accent-soft: #eef3ff;--success: #167a55;--success-soft: #ebf7f1;--danger: #b3321f;--danger-soft: #fbefec;--danger-rule: #ebc5bd;--font-sans: "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-display: 32px;--fs-title: 28px;--fs-section: 17px;--fs-body: 15px;--fs-ui: 14px;--fs-meta: 13px;--fs-micro: 12px;--fs-micro-latin: 11px;--lh-tight: 1.25;--lh-ui: 1.5;--lh-body: 1.7;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--tracking-latin-label: .12em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--radius-control: 4px;--radius-panel: 6px;--radius-media: 8px;--shadow-overlay: 0 8px 24px rgba(17, 19, 24, .12), 0 1px 3px rgba(17, 19, 24, .08);--container-max: 1320px;--gutter: 32px;--grid-gap: 24px;--masthead-h: 64px;--control-h: 36px;--control-h-sm: 30px;--ease-out: cubic-bezier(.22, 1, .36, 1);--dur-hover: .14s;--dur-panel: .2s;--dur-page: .24s;--focus-ring: 2px solid var(--accent);--focus-offset: 2px}@media (max-width: 960px){:root{--gutter: 20px;--grid-gap: 16px;--fs-title: 24px}}@media (max-width: 560px){:root{--gutter: 16px;--fs-title: 22px}}:root{font-family:var(--font-sans);font-size:var(--fs-ui);line-height:var(--lh-ui);font-weight:var(--fw-regular);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-synthesis:none;color-scheme:light;accent-color:var(--accent)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px}h1,h2,h3,h4,p,dl,dd,figure{margin:0}h1,h2,h3{font-weight:var(--fw-semibold);line-height:var(--lh-tight);text-wrap:balance}button,input,textarea,select{font:inherit;color:inherit}img{max-width:100%}.tabular,time,table,.counter,.step-index{font-variant-numeric:tabular-nums}::selection{background:var(--accent-soft);color:var(--ink)}::placeholder{color:var(--ink-secondary);opacity:1}*{scrollbar-width:thin;scrollbar-color:var(--hairline) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--hairline);border:3px solid transparent;border-radius:999px;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:var(--rule-strong)}::-webkit-scrollbar-track{background:transparent}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}:focus{outline:none}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}textarea:focus-visible,input:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes page-enter{0%{opacity:0;transform:translateY(4px)}}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--gutter)}.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap)}.grid-12>*{grid-column:1 / -1}.grid-12>.col-3{grid-column:span 3}.grid-12>.col-4{grid-column:span 4}.grid-12>.col-5{grid-column:span 5}.grid-12>.col-6{grid-column:span 6}.grid-12>.col-7{grid-column:span 7}.grid-12>.col-8{grid-column:span 8}.grid-12>.col-9{grid-column:span 9}@media (max-width: 960px){.grid-12>[class*=col-]{grid-column:1 / -1}.grid-12>.col-md-6{grid-column:span 6}}@media (max-width: 560px){.grid-12>.col-md-6{grid-column:1 / -1}}.stack{display:flex;flex-direction:column;gap:var(--stack-gap, var(--space-4))}.rule{height:0;border:0;border-top:1px solid var(--hairline);margin:0}.label-latin{font-size:var(--fs-micro-latin);font-weight:var(--fw-medium);letter-spacing:var(--tracking-latin-label);text-transform:uppercase;color:var(--ink-secondary)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:10;background:var(--surface);border-bottom:1px solid var(--hairline)}.masthead-inner{height:var(--masthead-h);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:var(--space-6)}.brand{display:flex;align-items:center;font-size:17px;font-weight:var(--fw-semibold);letter-spacing:-.01em;color:var(--ink);white-space:nowrap}.brand-link{padding:0;border:0;background:none;cursor:pointer;transition:color var(--dur-hover) var(--ease-out)}.brand-link:hover{color:var(--accent)}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-1)}.app-main{flex:1;width:100%;max-width:var(--container-max);margin:0 auto;padding:var(--space-10) var(--gutter) var(--space-16)}.page{display:flex;flex-direction:column;gap:var(--space-5);animation:page-enter var(--dur-page) var(--ease-out)}.page-intro h1{font-size:var(--fs-title);font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:-.015em}.page-intro p{margin-top:var(--space-2);max-width:64ch;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink-secondary)}.page-intro.is-inline{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4) var(--space-6);flex-wrap:wrap}.muted{color:var(--ink-secondary);font-size:var(--fs-meta)}.hint{color:var(--ink-secondary);font-size:var(--fs-micro)}.empty-state{padding:var(--space-6) var(--space-5);color:var(--ink-secondary);font-size:var(--fs-meta)}.loading-block{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-12) 0;color:var(--ink-secondary)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.step-progress{display:flex;align-items:stretch;gap:var(--space-8);margin:0;padding:0;list-style:none}.step{position:relative;display:flex;align-items:center;gap:var(--space-2);color:var(--ink-tertiary);font-size:var(--fs-meta);white-space:nowrap;transition:color var(--dur-hover) var(--ease-out)}.step:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:transparent;transition:background-color var(--dur-panel) var(--ease-out)}.step-index{font-size:var(--fs-micro);font-weight:var(--fw-medium);letter-spacing:.04em}.step-check{flex:none;color:var(--ink)}.step.is-done{color:var(--ink)}.step.is-done .step-index{color:var(--ink-secondary)}.step.is-active{color:var(--accent);font-weight:var(--fw-medium)}.step.is-active:after{background:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-h);padding:0 var(--space-4);border-radius:var(--radius-control);border:1px solid transparent;font-size:var(--fs-ui);font-weight:var(--fw-medium);line-height:1;cursor:pointer;white-space:nowrap;transition:background-color var(--dur-hover) var(--ease-out),border-color var(--dur-hover) var(--ease-out),color var(--dur-hover) var(--ease-out)}.btn svg{flex:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--ink-on-accent)}.btn-primary:not(:disabled):hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface);border-color:var(--rule-strong);color:var(--ink)}.btn-secondary:not(:disabled):hover{border-color:var(--ink)}.btn-ghost{background:transparent;color:var(--ink-secondary)}.btn-ghost:not(:disabled):hover{background:var(--canvas);color:var(--ink)}.btn-sm{height:var(--control-h-sm);padding:0 var(--space-3);font-size:var(--fs-meta)}.btn-sm{height:36px;padding:0 var(--space-4);font-size:var(--fs-meta);gap:var(--space-2)}.btn-sm svg{transition:transform var(--dur-hover) var(--ease-out)}.btn-sm:not(:disabled):hover svg{transform:translate(2px)}.material-upload-button{height:28px;padding:0 12px;gap:6px;font-size:12px}.material-upload-button svg{width:13px;height:13px}.material-file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.btn-lg{height:48px;padding:0 var(--space-6);font-size:var(--fs-body);gap:var(--space-3)}.btn-lg svg{transition:transform var(--dur-hover) var(--ease-out)}.btn-lg:not(:disabled):hover svg{transform:translate(3px)}.icon-btn{display:inline-grid;place-items:center;width:28px;height:28px;border:none;border-radius:var(--radius-control);background:transparent;color:var(--ink-secondary);cursor:pointer;transition:background-color var(--dur-hover) var(--ease-out),color var(--dur-hover) var(--ease-out)}.icon-btn:hover{background:var(--canvas);color:var(--ink)}.error-notice{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--danger-rule);border-radius:var(--radius-control);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-ui)}.error-notice>svg{flex:none}.error-notice-text{flex:1}.error-notice .btn{color:var(--danger)}.error-notice .btn:not(:disabled):hover{background:#b3321f14;color:var(--danger)}.error-notice.is-compact{padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);font-size:var(--fs-meta)}.info-notice{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid #d5e0fb;border-radius:var(--radius-control);background:var(--accent-soft);color:var(--ink);font-size:var(--fs-ui)}.info-notice>svg{flex:none;color:var(--accent)}.info-notice.is-compact{padding:var(--space-2) var(--space-3);font-size:var(--fs-meta)}.status-badge{display:inline-flex;align-items:center;height:22px;padding:0 var(--space-2);border-radius:var(--radius-control);font-size:var(--fs-micro);font-weight:var(--fw-medium);line-height:1;white-space:nowrap}.status-satisfied{background:var(--success-soft);color:var(--success)}.status-missing{background:transparent;color:var(--ink-secondary);box-shadow:inset 0 0 0 1px var(--hairline)}.status-needs_clarification{background:var(--canvas);color:var(--ink);box-shadow:inset 0 0 0 1px var(--hairline)}.status-failed{background:var(--danger-soft);color:var(--danger)}.tag,.optional,.source-tag{display:inline-block;padding:0 var(--space-1);border-radius:var(--radius-control);font-size:var(--fs-micro-latin);font-weight:var(--fw-medium);line-height:18px;color:var(--ink-secondary);background:transparent;box-shadow:inset 0 0 0 1px var(--hairline);white-space:nowrap}.tag-strong{color:var(--ink);box-shadow:inset 0 0 0 1px var(--rule-strong)}.optional{margin-left:var(--space-2);vertical-align:1px}.source-tag{background:var(--accent-soft);color:var(--accent);box-shadow:none}.panel{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-panel)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:52px;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--hairline)}.panel-header h2{font-size:var(--fs-ui);font-weight:var(--fw-semibold)}.chat-composer textarea,.patch-form textarea{width:100%;resize:vertical;min-height:64px;padding:var(--space-3);border:1px solid var(--rule-strong);border-radius:var(--radius-control);background:var(--surface);font-size:var(--fs-body);line-height:var(--lh-body);caret-color:var(--accent);outline:none;transition:border-color var(--dur-hover) var(--ease-out)}.chat-composer textarea:hover:not(:disabled),.patch-form textarea:hover{border-color:var(--ink-secondary)}.chat-composer textarea:focus,.patch-form textarea:focus{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.chat-composer textarea:disabled{background:var(--canvas);color:var(--ink-secondary);cursor:not-allowed}.home-page{min-height:calc(100vh - var(--masthead-h) - var(--space-10) - var(--space-16));justify-content:space-between;gap:var(--space-16)}.home-cover{flex:1;align-content:center;row-gap:0;padding-top:clamp(var(--space-12),10vh,140px)}.home-title{grid-column:1 / span 8;grid-row:1;display:flex;flex-direction:column;font-size:clamp(40px,5vw,72px);font-weight:var(--fw-semibold);line-height:1.16;letter-spacing:-.03em;text-wrap:initial}.home-line{white-space:nowrap}.home-colophon{grid-column:10 / span 3;grid-row:1;align-self:end;display:flex;flex-direction:column;gap:2px;padding-bottom:.9em;border-left:1px solid var(--hairline);padding-left:var(--space-4);line-height:1.6}.home-tagline{grid-column:1 / span 8;grid-row:2;display:flex;align-items:baseline;flex-wrap:wrap;column-gap:.6em;margin-top:var(--space-8);font-size:clamp(18px,1.7vw,24px);font-weight:var(--fw-regular);line-height:1.4;letter-spacing:.02em;color:var(--ink-secondary)}.home-tagline>span{white-space:nowrap}.home-dot{color:var(--accent);font-weight:var(--fw-semibold)}.home-entry{grid-column:1 / span 6;grid-row:3;margin-top:var(--space-12)}.home-stages{margin:0;padding:0;list-style:none;border-top:1px solid var(--ink)}.home-stages li{display:flex;align-items:baseline;gap:var(--space-3);padding-top:var(--space-4);font-size:var(--fs-ui);color:var(--ink)}.home-stage-index{font-size:var(--fs-micro);font-weight:var(--fw-medium);color:var(--ink-secondary);font-variant-numeric:tabular-nums;letter-spacing:.04em}.home-stage-text{display:flex;flex-direction:column;gap:2px}.home-stage-latin{color:var(--ink-tertiary)}@media (max-width: 1180px){.home-title,.home-tagline{grid-column:1 / span 9}.home-colophon{grid-column:10 / span 3}}@media (max-width: 960px){.home-title,.home-tagline,.home-entry,.home-colophon{grid-column:1 / -1}.home-colophon{grid-row:1;flex-direction:row;flex-wrap:wrap;column-gap:.6em;align-self:start;padding:0 0 var(--space-3);border-left:0;border-bottom:1px solid var(--hairline);margin-bottom:var(--space-8)}.home-title{grid-row:2}.home-tagline{grid-row:3}.home-entry{grid-row:4}.home-stages{row-gap:var(--space-5)}.home-stages>.col-3{grid-column:span 6}}@media (max-width: 560px){.home-page{gap:var(--space-12)}.home-cover{padding-top:var(--space-8)}.home-title{font-size:32px;line-height:1.22}.home-tagline{margin-top:var(--space-5);font-size:17px}.home-entry{margin-top:var(--space-8)}.home-entry .btn-lg{width:100%}}.restore-page{max-width:640px;margin:var(--space-12) auto 0}.scenario-page{gap:var(--space-10)}.scenario-head{align-items:end;row-gap:var(--space-4)}.scenario-tally{justify-self:end;font-size:var(--fs-meta);color:var(--ink-secondary);font-variant-numeric:tabular-nums}.scenario-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--grid-gap);row-gap:var(--space-12)}.scenario-group{min-width:0}.scenario-group-head{display:flex;align-items:baseline;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--ink)}.scenario-group-index{font-size:var(--fs-micro);font-weight:var(--fw-medium);letter-spacing:.04em;color:var(--ink-secondary);font-variant-numeric:tabular-nums}.scenario-group-head h2{font-size:var(--fs-section);font-weight:var(--fw-semibold)}.scenario-list{margin:0;padding:0;list-style:none}.scenario-card{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;min-height:52px;padding:var(--space-3) var(--space-2) var(--space-3) 0;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--hairline);border-radius:0;cursor:pointer;transition:background-color var(--dur-hover) var(--ease-out),padding var(--dur-hover) var(--ease-out)}.scenario-card:not(:disabled):hover,.scenario-card.is-loading{background:var(--surface);padding-left:var(--space-3)}.scenario-card:focus-visible{outline-offset:-2px}.scenario-card:disabled:not(.is-loading){opacity:.45;cursor:not-allowed}.scenario-name{min-width:0;font-size:var(--fs-body);line-height:var(--lh-ui)}.scenario-prefix{color:var(--ink-tertiary);font-size:var(--fs-meta)}.scenario-title{font-weight:var(--fw-medium);color:var(--ink)}.scenario-action{flex:none;display:inline-flex;color:var(--ink-tertiary);transition:color var(--dur-hover) var(--ease-out),transform var(--dur-hover) var(--ease-out)}.scenario-card:not(:disabled):hover .scenario-action,.scenario-card.is-loading .scenario-action{color:var(--accent);transform:translate(2px)}.scenario-card:not(:disabled):hover .scenario-title{color:var(--accent)}@media (max-width: 1180px){.scenario-index{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--space-10)}}@media (max-width: 960px){.scenario-tally{justify-self:start}}@media (max-width: 560px){.scenario-page{gap:var(--space-8)}.scenario-index{grid-template-columns:minmax(0,1fr);row-gap:var(--space-8)}}.ready-banner{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 12px;border:1px solid #abefc6;border-radius:var(--radius);background:var(--success-soft);color:var(--success);font-weight:550}.discovery-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,1fr);gap:16px;height:calc(100vh - var(--header-h) - 140px);min-height:560px}.chat-panel{display:flex;flex-direction:column;height:calc(100vh - 160px);min-height:500px;max-height:700px}.focus-chip{padding:2px 8px;border-radius:999px;background:var(--warning-soft);color:var(--warning);font-size:12px}.chat-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:16px}.chat-bubble-row{display:flex;align-items:flex-start;gap:8px;max-width:88%}.chat-bubble-row.is-user{align-self:flex-end;flex-direction:row-reverse}.chat-role{flex:none;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;font-size:11px;font-weight:650;background:var(--primary-soft);color:var(--primary)}.is-user .chat-role{background:var(--neutral-soft);color:var(--text-secondary)}.chat-bubble{padding:10px 12px;border-radius:var(--radius);background:var(--surface-muted);white-space:pre-wrap;word-break:break-word}.is-user .chat-bubble{background:var(--surface);color:var(--ink);border:1px solid var(--border)}.chat-bubble.is-pending{display:flex;align-items:center;gap:6px;color:var(--text-secondary)}.chat-composer{flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:12px 16px 14px;border-top:1px solid var(--border);background:var(--surface)}.patch-form{display:flex;flex-direction:column;gap:8px;padding:12px 16px 14px;border-top:1px solid var(--border)}.chat-composer textarea,.patch-form textarea{width:100%;resize:vertical;min-height:64px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);outline:none}.chat-composer textarea:focus,.patch-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.discovery-side{display:flex;flex-direction:column;gap:16px;min-height:0}.material-panel{flex:none;max-height:34%;display:flex;flex-direction:column}.material-list{margin:0;padding:6px 8px;list-style:none;overflow-y:auto}.material-list li{display:flex;align-items:center;gap:8px;padding:6px 8px;color:var(--text-secondary)}.material-list li span:first-of-type{flex:1;color:var(--text)}.brief-panel{flex:1;min-height:0;display:flex;flex-direction:column}.counter{color:var(--text-secondary);font-size:13px}.counter strong{color:var(--success);font-size:15px}.progress-track{height:4px;background:var(--surface-muted)}.progress-fill{height:100%;background:var(--success);transition:width .4s ease}.brief-sections{overflow-y:auto;padding:4px 0 8px}.brief-section h3{padding:10px 16px 4px;font-size:12px;font-weight:600;color:var(--text-muted)}.field-list{margin:0;padding:0;list-style:none}.field-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 16px;border-left:2px solid transparent}.field-row.is-focus{background:var(--warning-soft);border-left-color:var(--warning)}.field-main{display:flex;flex-direction:column;min-width:0}.field-name{font-weight:550}.field-value{color:var(--text-secondary);font-size:13px;word-break:break-word}.field-value.is-empty,.is-empty{color:var(--text-muted)}.review-page{max-width:920px;width:100%;margin:0 auto}.review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.finalized-banner{display:flex;align-items:center;gap:6px;color:var(--success);font-weight:600}.patch-form{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.patch-form-header{display:flex;align-items:center;justify-content:space-between;font-weight:550}.patch-result{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--success-soft);color:var(--success)}.brief-document{padding:40px 48px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.brief-document-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:20px;margin-bottom:8px;border-bottom:2px solid var(--text)}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--primary)}.brief-document-header h1{margin-top:4px;font-size:26px;font-weight:700}.brief-meta{display:flex;gap:24px;margin:0}.brief-meta dt{font-size:12px;color:var(--text-muted)}.brief-meta dd{margin:0;font-weight:600}.brief-doc-section{margin-top:24px;break-inside:avoid}.brief-doc-section h2{display:flex;align-items:baseline;gap:10px;margin-bottom:8px;font-size:15px;font-weight:650}.section-index{font-size:12px;color:var(--primary);font-variant-numeric:tabular-nums}.brief-table{width:100%;border-collapse:collapse}.brief-table th,.brief-table td{padding:10px 8px;border-top:1px solid var(--border);text-align:left;vertical-align:top}.brief-table th{width:28%;font-weight:550;color:var(--text-secondary)}.brief-table td{white-space:pre-wrap;word-break:break-word}.brief-status-cell{width:1%;white-space:nowrap!important;text-align:right!important}.brief-status-cell>*+*{margin-left:6px}.brief-table tr.is-patched td,.brief-table tr.is-patched th{background:var(--primary-soft);transition:background .6s}.brief-document-footer{display:flex;justify-content:space-between;gap:12px;margin-top:32px;padding-top:12px;border-top:1px solid var(--border);font-size:11px;color:var(--text-muted)}.sketch-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:16px;align-items:start}.sketch-panel{display:flex;flex-direction:column}.sketch-frame{display:grid;place-items:center;aspect-ratio:4 / 3;margin:16px;border-radius:var(--radius-sm);background:var(--surface-muted);overflow:hidden}.sketch-image{display:block;width:100%;height:100%;object-fit:contain;background:#fff}.sketch-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;text-align:center;color:var(--text-secondary)}.sketch-placeholder.is-generating{color:var(--primary)}.sketch-placeholder strong{color:var(--text);font-size:15px}.sketch-feedback{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:0 16px 16px}.sketch-feedback:empty{display:none}.sketch-feedback .error-notice{align-self:stretch}.sketch-brief{position:sticky;top:calc(var(--header-h) + 16px);display:flex;flex-direction:column;max-height:calc(100vh - var(--header-h) - 48px)}.sketch-brief-body{overflow-y:auto;padding-bottom:8px}.finalized-chip{display:inline-flex;align-items:center;gap:4px;color:var(--success);font-size:12px;font-weight:550}.summary-list{margin:0;padding:0 16px}.summary-list>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;padding:5px 0;font-size:13px}.summary-list dt{color:var(--text-muted)}.summary-list dd{margin:0;word-break:break-word}@media (max-width: 960px){.app-header{grid-template-columns:1fr auto;height:auto;padding:10px 16px;row-gap:8px}.app-header .step-progress{grid-column:1 / -1;grid-row:2;justify-content:center}.app-main{padding:16px}.discovery-layout{grid-template-columns:1fr;height:auto}.chat-panel{height:70vh;min-height:420px}.material-panel{max-height:240px}.sketch-layout{grid-template-columns:1fr}.sketch-brief{position:static;max-height:none}.brief-document{padding:24px 20px}}@media (max-width: 560px){.brand-sub,.step-label{display:none}.step.is-current .step-label{display:inline}.step+.step:before{width:12px}.sketch-frame{margin:12px}.brief-meta{flex-wrap:wrap;gap:12px 20px}.brief-table th{width:36%}.ready-banner{width:100%;flex-wrap:wrap}}@page{size:A4;margin:16mm 14mm}@media print{:root{background:#fff;font-size:12px}.no-print{display:none!important}.app-main{max-width:none;padding:0}.review-page{max-width:none}.page{animation:none}.brief-document{padding:0;border:none}.brief-table tr{break-inside:avoid}.brief-table tr.is-patched td,.brief-table tr.is-patched th{background:none}.status-badge,.source-tag,.optional{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
