/* Atelier Console UI: evidence-first, one-stage-one-action, warm editorial decision workspace. */
:root{--ink:#15352c;--ink-2:#24483e;--paper:#f6f4ed;--canvas:#efede4;--line:#d8ddd5;--line-strong:#bccbc0;--muted:#6f7e77;--muted-strong:#52675e;--verde:#377b67;--verde-2:#24614f;--mint:#e8f1e9;--mint-strong:#d8eadf;--warn:#a16a24;--warn-bg:#f8edda;--danger:#a34536;--danger-bg:#f7e5df;--success:#317556;--ease-out:cubic-bezier(.23,1,.32,1);--ease-standard:cubic-bezier(.4,0,.2,1);font-family:"PingFang SC","Hiragino Sans GB","Noto Sans SC","Microsoft YaHei",sans-serif;color-scheme:light}
*{box-sizing:border-box}html,body{margin:0;min-width:320px;min-height:100%;background:var(--canvas);color:var(--ink)}body{min-height:100dvh;font-size:14px;letter-spacing:-.01em}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}.hidden,[hidden]{display:none!important}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;top:-64px;left:16px;z-index:100;padding:10px 14px;background:var(--ink);color:#fff;text-decoration:none;border-radius:10px}.skip-link:focus{top:12px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #1d755f;outline-offset:3px}
.atelier-shell{min-height:100vh;display:grid;grid-template-columns:276px minmax(0,1fr) 248px;background:var(--paper)}
.production-spine{position:sticky;top:0;height:100vh;padding:28px 19px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;background:#f9f8f3}.spine-brand{display:flex;align-items:flex-start;gap:10px;padding:0 8px}.brand-mark{position:relative;width:38px;height:38px;overflow:hidden;border-radius:12px;background:var(--ink);flex:none}.brand-mark i{position:absolute;display:block;width:7px;border-radius:1px;background:#e5f0e9}.brand-mark i:first-child{left:11px;top:10px;height:18px}.brand-mark i:nth-child(2){left:20px;top:15px;height:13px}.brand-mark b{position:absolute;right:7px;top:7px;width:5px;height:5px;background:#8dc5a1;border-radius:1px}.brand-overline,.eyebrow{display:block;margin:0;color:#668077;font-family:"DM Sans",sans-serif;font-size:10px;font-weight:700;letter-spacing:.13em;line-height:1.25;text-transform:uppercase}.spine-brand h1{margin:5px 0 0;font-family:"DM Sans","Noto Sans SC",sans-serif;font-size:16px;font-weight:700;line-height:.98;letter-spacing:-.04em}.project-identity{margin:39px 8px 22px;padding:17px 15px;background:#edf0ea;border:1px solid #dde4dc;border-radius:16px;transition:transform .22s var(--ease-out),box-shadow .22s var(--ease-out),border-color .2s var(--ease-standard)}.project-identity:hover{border-color:#b8cdbd;box-shadow:0 12px 24px rgba(42,75,62,.06);transform:translateY(-2px)}.identity-title{display:flex;align-items:center;justify-content:space-between;color:#6e8177;font-size:12px}.project-name{min-height:40px;margin:9px 0 12px;color:#204037;font-family:"DM Sans","Noto Sans SC",sans-serif;font-size:17px;font-weight:600;letter-spacing:-.03em;line-height:1.15}.project-meta{color:#708078;font-family:"DM Sans",sans-serif;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-nav{padding:0 5px}.stage-label{margin:0 0 14px 10px}.steps{margin:0;padding:0;list-style:none}.steps li{position:relative}.steps li:not(:last-child):before{content:"";position:absolute;left:18px;top:39px;height:29px;border-left:1px solid #c9d2ca}.steps li{padding:8px 7px;border-radius:12px;color:#647870;display:grid;grid-template-columns:24px 1fr;column-gap:11px;align-items:center;transition:background .18s var(--ease-standard),color .18s var(--ease-standard),transform .18s var(--ease-out)}.steps li:hover{background:#edf1eb;transform:translateX(3px);color:#24473d}.steps li>span{z-index:1;grid-row:1/3;width:24px;height:24px;display:grid;place-items:center;border:1px solid #c8d2c9;border-radius:50%;background:#f9f8f3;color:#778a80;font-family:"DM Sans",sans-serif;font-size:8px;font-weight:700;transition:all .2s var(--ease-out)}.steps li strong{font-size:12px;font-weight:600}.steps li small{margin-top:2px;color:#8a9890;font-size:10px}.steps li.complete>span{background:#d9eadf;border-color:#a7c5af;color:var(--verde);font-size:0}.steps li.complete>span:after{content:"✓";font-size:13px}.steps li.active{background:#e3efe7;color:#1b4d3e;transform:none}.steps li.active>span{color:#fff;background:var(--verde);border-color:var(--verde);box-shadow:0 0 0 4px #cde2d3;font-size:8px}.steps li.active small{color:var(--verde)}.evidence-card{margin:29px 6px 0;padding:15px;background:var(--ink);color:#fff;border-radius:16px;box-shadow:0 16px 30px rgba(26,63,51,.12);transition:transform .22s var(--ease-out),box-shadow .22s var(--ease-out)}.evidence-card:hover{transform:translateY(-2px);box-shadow:0 20px 34px rgba(26,63,51,.18)}.evidence-heading{display:flex;align-items:center;justify-content:space-between}.evidence-heading .eyebrow{color:#b9cdbf;font-size:9px}.evidence-heading strong{font:700 20px/1 "DM Sans"}.evidence-meter{height:5px;overflow:hidden;margin:14px 0 11px;border-radius:99px;background:#3e5f55}.evidence-meter span{display:block;width:0;height:100%;border-radius:inherit;background:#91c6a6;transition:width .42s var(--ease-out)}.evidence-card p{min-height:47px;margin:0;color:#d5e4da;font-size:10px;line-height:1.55}.evidence-card button{margin:13px -5px -5px;padding:5px;border:0;background:transparent;color:#fff;font-size:10px;font-weight:600;display:flex;align-items:center;gap:5px}.evidence-card button span{transition:transform .18s var(--ease-out)}.evidence-card button:hover span{transform:translateX(3px)}.spine-footer{margin-top:auto;padding:20px 8px 0;color:#74847c;font-size:10px;display:flex;align-items:center;gap:7px}.status-pulse{width:7px;height:7px;background:#5da377;border-radius:50%;box-shadow:0 0 0 4px #e1eee5}
.atelier-main{position:relative;min-width:0;min-height:100vh;padding:0 42px 100px;background:var(--paper)}.work-header{height:73px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.breadcrumb{display:flex;align-items:center;gap:8px;color:#85948c;font-size:11px}.breadcrumb i{font-style:normal;color:#a4afa7}.breadcrumb b{color:#466258;font-weight:600}.header-actions{display:flex;align-items:center;gap:12px}.mode-badge,.status-chip{display:inline-flex;align-items:center;gap:6px;min-height:29px;padding:6px 9px;border:1px solid #d4ddd5;border-radius:8px;background:#fbfbf7;color:#557167;font-family:"DM Sans",sans-serif;font-size:10px;font-weight:600}.mode-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:#4f9a6e}.mode-badge.mock:before{background:#c68c31}.ghost-link{color:#63776e;font-size:11px;text-decoration:none}.ghost-link:hover{color:var(--verde)}.notice{position:absolute;top:85px;right:42px;left:42px;z-index:20;padding:11px 13px;border:1px solid #b9d0be;border-radius:10px;background:#eaf5ec;color:#327254;font-size:11px;box-shadow:0 10px 20px rgba(32,75,56,.08)}.notice.error{border-color:#e0b6ac;background:var(--danger-bg);color:var(--danger)}.notice.success{border-color:#b9d0be;background:#eaf5ec;color:#327254}
.stage-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding:43px 0 29px}.hero-status{display:flex;align-items:center;gap:12px}.live-badge{padding:4px 7px;border:1px solid #b7d1bf;border-radius:99px;background:#edf7ef;color:#3c795d;font-size:10px;display:flex;align-items:center;gap:4px}.live-badge:before{content:"✓";font-size:10px}.stage-heading h2{max-width:650px;margin:13px 0 9px;font-family:"DM Sans","Noto Sans SC",sans-serif;font-size:clamp(29px,3.1vw,42px);font-weight:500;letter-spacing:-.055em;line-height:1.08}.stage-heading h2 strong{color:var(--verde);font-weight:700}.stage-heading p{max-width:620px;margin:0;color:#718077;font-size:13px;line-height:1.7}.decision-snapshot{display:flex;gap:22px;padding:15px 0 5px}.decision-snapshot div{display:grid;gap:5px;min-width:58px}.decision-snapshot div+div{padding-left:22px;border-left:1px solid #d7dcd5}.decision-snapshot span{color:#84938b;font-size:10px;white-space:nowrap}.decision-snapshot strong{color:#1d4136;font:600 23px/1 "DM Sans";letter-spacing:-.05em}.decision-snapshot small{color:#74857c;font-size:11px;font-weight:500;letter-spacing:0}
.input-stage{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr);min-height:380px;border:1px solid #d8ddd6;border-radius:18px;overflow:hidden;background:#fbfaf6}.evidence-panel{padding:24px;border-right:1px solid #dde2db;display:flex;flex-direction:column}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.panel-heading h3{margin:6px 0 0;color:#203d34;font-family:"DM Sans","Noto Sans SC",sans-serif;font-size:21px;font-weight:600;letter-spacing:-.04em}.panel-copy{max-width:620px;margin:10px 0 18px;color:#728179;font-size:11px;line-height:1.6}.upload-evidence{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(135px,1fr);flex:1;min-height:225px;border:1px solid #d6ddd5;border-radius:13px;overflow:hidden}.upload-slot{position:relative;display:grid;min-width:0;min-height:0;overflow:hidden;background:#eef0eb;cursor:pointer;transition:background .2s var(--ease-standard)}.upload-slot:hover{background:#e1ebe3}.upload-slot input{position:absolute;inset:0;z-index:4;width:100%;opacity:0;cursor:pointer}.upload-primary{border-right:1px solid #d6ddd5}.supporting-views{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,minmax(0,1fr));min-height:0}.supporting-views .upload-slot{border-right:1px solid #d6ddd5;border-bottom:1px solid #d6ddd5}.supporting-views .upload-slot:nth-child(2n){border-right:0}.supporting-views .upload-slot:nth-last-child(-n+2){border-bottom:0}.upload-preview{width:100%;height:100%;object-fit:contain;background:#f6f4ed}.slot-label{position:absolute;top:9px;left:9px;z-index:3;padding:4px 6px;border:1px solid rgba(30,67,53,.16);border-radius:5px;background:rgba(250,251,247,.86);color:#43685a;font-size:9px;font-weight:700}.slot-action{position:absolute;right:10px;bottom:9px;left:10px;z-index:2;color:#698078;font-size:10px}.upload-slot:focus-within{outline:2px solid var(--verde);outline-offset:-2px}.upload-slot.has-file .slot-action{display:none}.essential-fields{display:grid;grid-template-columns:1fr 1.35fr;gap:10px;margin-top:14px}label{display:grid;gap:6px;color:#536d62;font-size:10px;font-weight:600}input,textarea,select{width:100%;min-height:40px;padding:9px 11px;border:1px solid #d2dbd3;border-radius:9px;outline:0;background:#fff;color:var(--ink);transition:border-color .18s var(--ease-standard),box-shadow .18s var(--ease-out),background .18s var(--ease-standard)}textarea{resize:vertical;line-height:1.45}input::placeholder,textarea::placeholder{color:#98a49d}input:hover,textarea:hover,select:hover{border-color:#abc1b0}input:focus,textarea:focus,select:focus{border-color:#4f9373;box-shadow:0 0 0 3px rgba(79,147,115,.13)}
.vision-stage{padding:28px 25px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(155deg,#f0f4ed,#e7efe8)}.vision-core{position:relative;width:min(20vw,210px);aspect-ratio:1}.vision-core img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;border-radius:50%;filter:saturate(.68)}.core-halo{position:absolute;inset:7%;border-radius:50%;border:1px solid rgba(55,123,103,.22);box-shadow:0 0 0 14px rgba(55,123,103,.04),0 14px 30px rgba(38,91,70,.08)}.core-label{position:absolute;inset:0;z-index:2;display:grid;place-items:center;pointer-events:none}.core-label span{padding:6px 8px;background:rgba(246,244,237,.88);color:#28503f;font:700 9px "DM Sans";letter-spacing:.09em}.vision-core.scanning img{animation:core-scan 2.8s steps(20,end) infinite}.vision-core.generating img{animation:core-generate 1.8s steps(8,end) infinite}.vision-core.reviewing img{animation:core-review 1.4s steps(4,end) infinite}.vision-core.error{filter:grayscale(1) sepia(.2) hue-rotate(300deg)}.core-status{max-width:340px;margin-top:13px}.core-status>span{color:var(--verde);font:700 9px "DM Sans";letter-spacing:.15em}.core-status h3{margin:8px 0 7px;color:#203d34;font-family:"DM Sans","Noto Sans SC",sans-serif;font-size:24px;font-weight:600;letter-spacing:-.04em}.core-status p{margin:0;color:#6d7e75;font-size:11px;line-height:1.55}.primary-button{min-height:40px;padding:10px 15px;border:0;border-radius:10px;background:var(--ink);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .18s var(--ease-standard),transform .16s var(--ease-out),box-shadow .18s var(--ease-out)}.primary-button:hover{background:#235441;box-shadow:0 9px 17px rgba(21,53,44,.19);transform:translateY(-2px)}.primary-button:active{transform:scale(.97)}.primary-button span{transition:transform .18s var(--ease-out)}.primary-button:hover span{transform:translateX(3px)}.vision-stage>.primary-button{margin-top:20px;min-width:200px}.text-button{min-height:30px;padding:5px 7px;border:0;background:transparent;color:#5b756a;font-size:10px}.text-button:hover{color:var(--verde)}.vision-stage>.text-button{margin-top:7px}
.output-stage{margin-top:20px;padding:24px;border:1px solid #d8ddd6;border-radius:18px;background:#fbfaf6}.output-scroll{min-height:0}.stage-panel{min-height:100%}.empty-state{display:grid;grid-template-columns:32px 1fr;gap:0 12px;margin-top:12px;border-top:1px solid #e0e5de}.empty-state .empty-index,.empty-state p{padding:16px 0;border-bottom:1px solid #e0e5de}.empty-state .empty-index{color:#819087;font:700 10px "DM Sans"}.empty-state p{margin:0;color:#60746a;font-size:12px}.analysis-brief{padding:15px 0 18px;border-top:1px solid #e0e5de;border-bottom:1px solid #e0e5de}.analysis-brief strong{display:block;margin-bottom:7px;color:#24473a;font-size:16px;font-weight:600}.analysis-brief p{max-width:700px;margin:0;color:#6e7f76;font-size:12px;line-height:1.65}.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tag{padding:5px 7px;border:1px solid #d8dfd8;border-radius:7px;background:#f0f2ed;color:#61736a;font-size:10px}.truth-card{display:grid;gap:8px;margin:0 0 18px;padding:16px;border:1px solid #cbdace;border-radius:14px;background:#eaf2eb}.truth-card.confirmed{border-color:#9dc3a7}.truth-card.pending{border-color:#e3c58d;background:#fbf1df}.truth-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.truth-card strong{color:#294b3e;font-size:12px}.truth-card p{margin:0;color:#526e61;font-size:11px;line-height:1.55}.truth-meta{color:#5d786b;font-size:10px}.truth-card button{justify-self:start;min-height:32px}.concept-stage-lead{display:flex;align-items:end;justify-content:space-between;margin:8px 0 13px}.concept-stage-lead h3{margin:5px 0 0;color:#203d34;font-family:"DM Sans","Noto Sans SC",sans-serif;font-size:18px;font-weight:600;letter-spacing:-.035em}.concept-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.concept-grid>.analysis-brief{grid-column:1/-1}.concept-card{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:start;min-height:155px;padding:16px;border:1px solid #d6ddd6;border-radius:15px;background:linear-gradient(145deg,#fffefa,#f4f5ef);overflow:hidden;transition:transform .24s var(--ease-out),box-shadow .24s var(--ease-out),border-color .2s var(--ease-standard)}.concept-card:before{content:"";position:absolute;right:-20px;bottom:-24px;width:116px;height:116px;border-radius:50%;background:radial-gradient(circle,#d8eadf 0,rgba(216,234,223,.08) 66%,transparent 67%);transition:transform .45s var(--ease-out)}.concept-card:hover{border-color:#a8c4ae;box-shadow:0 18px 28px rgba(38,70,59,.09);transform:translateY(-3px)}.concept-card:hover:before{transform:scale(1.14) translate(-5px,-5px)}.concept-card.selected{border:2px solid var(--verde);box-shadow:0 12px 28px rgba(44,113,84,.13)}.concept-id{position:relative;z-index:1;display:grid;place-items:center;width:30px;height:30px;border:1px solid #b9cbc0;border-radius:50%;color:#4f7766;font:700 10px "DM Sans"}.concept-card.selected .concept-id{background:var(--verde);border-color:var(--verde);color:#fff}.concept-title{position:relative;z-index:1}.concept-title h3{margin:0 0 7px;color:#1b4033;font-family:"DM Sans","Noto Sans SC",sans-serif;font-size:16px;font-weight:600;letter-spacing:-.04em;line-height:1.2}.concept-title p{margin:0;color:#6f8077;font-size:11px;line-height:1.55}.concept-meta-line{margin-top:8px;color:#547468;font-size:10px}.concept-action{position:relative;z-index:1;display:grid;justify-items:end;gap:8px}.agent-verdict{color:#6e8178;font:700 9px "DM Sans";letter-spacing:.04em;white-space:nowrap}.agent-verdict.APPROVE{color:var(--success)}.agent-verdict.REVISE{color:var(--warn)}.agent-verdict.REJECT{color:var(--danger)}.compact-action,.secondary-button{min-height:34px;padding:7px 10px;border:1px solid #c7d3ca;border-radius:9px;background:#fff;color:#2c6852;font-size:10px;font-weight:700;transition:all .18s var(--ease-out)}.compact-action:hover,.secondary-button:hover{border-color:#7bac8c;background:#eaf4ec;box-shadow:0 5px 10px rgba(41,92,69,.08);transform:translateY(-1px)}.compact-action:disabled{cursor:not-allowed;opacity:.55}
.stage-actions{margin-bottom:16px}.scene-anchor-notice{margin:0 0 12px;padding:11px 13px;border:1px solid #cbd9ce;border-radius:10px;background:#edf5ef;color:#547166;font-size:11px;line-height:1.55}.generation-intro{margin:20px 0 14px}.generation-intro h3{margin:5px 0 0;color:#203d34;font-family:"DM Sans","Noto Sans SC",sans-serif;font-size:18px;font-weight:600;letter-spacing:-.035em}.generation-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.generation-controls .primary-button,.generation-controls .generation-prompt{grid-column:1/-1}.generation-job{margin:0 0 12px;padding:13px;border:1px solid #cbd9ce;border-radius:11px;background:#eef6ef}.generation-job>div:first-child{display:flex;justify-content:space-between;gap:12px;color:#48685b;font-size:10px}.generation-job p{margin:9px 0;color:var(--danger);font-size:10px}.job-progress{height:5px;margin-top:10px;overflow:hidden;border-radius:99px;background:#d4e0d5}.job-progress span{display:block;height:100%;border-radius:inherit;background:var(--verde);transition:width .35s var(--ease-out)}.generation-plan{display:flex;align-items:center;gap:7px;margin-top:13px;color:#637970;font-size:10px}.generation-plan span,.generation-plan strong{padding:5px 7px;border:1px solid #d6ded7;border-radius:7px;background:#f1f3ef;font-weight:600}.generation-plan strong{color:var(--verde)}.helper-text{margin:13px 0 0;color:#72827a;font-size:10px;line-height:1.55}
.review-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.review-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.review-stats{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.stat-pill,.human-chip{padding:5px 7px;border:1px solid #d5ded6;border-radius:7px;background:#f0f3ee;color:#61766c;font-size:9px}.review-note{margin:0 0 14px;padding:10px 12px;border-left:3px solid #c3913c;background:#fbf2e2;color:#7b653c;font-size:11px}.candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.candidate-card{overflow:hidden;padding-bottom:15px;border:1px solid #d6ddd6;border-radius:16px;background:#fffefa;transition:transform .22s var(--ease-out),box-shadow .22s var(--ease-out)}.candidate-card:hover{transform:translateY(-2px);box-shadow:0 16px 26px rgba(38,70,59,.1)}.candidate-image-wrap{position:relative;display:block;overflow:hidden;background:#eef0eb}.candidate-image-wrap img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .45s var(--ease-out)}.candidate-card:hover .candidate-image-wrap img{transform:scale(1.025)}.qa-badge{position:absolute;top:10px;left:10px;padding:6px 8px;border-radius:7px;background:rgba(22,55,44,.82);color:#fff;font:700 9px "DM Sans"}.candidate-body{padding:13px 14px 0}.candidate-title{display:flex;justify-content:space-between;gap:10px}.candidate-title h3{margin:0;color:#24463a;font-size:12px;line-height:1.4}.candidate-model{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px;color:#3a765c;font-size:9px}.lighting-chip{padding:3px 5px;border:1px solid #d4ded6;border-radius:5px;color:#63776e;font-size:8px}.lighting-chip.on{color:#347e5c;border-color:#a8cdb2}.lighting-chip.fallback{color:#a16a24;border-color:#e1c183}.scene-fingerprint{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;color:#687b72;font-size:8px}.scene-fingerprint span,.scene-fingerprint b{padding:4px 6px;border:1px solid #dce2dc;border-radius:5px;background:#f0f3ee;font-weight:500}.scene-fingerprint span{color:#397559}.score-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px;margin:13px 0}.score-row{display:grid;grid-template-columns:1fr auto;gap:5px;color:#718077;font-size:9px}.score-row b{color:#385d4d}.score-bar{grid-column:1/-1;height:3px;overflow:hidden;border-radius:99px;background:#e0e6df}.score-bar span{display:block;height:100%;border-radius:inherit;background:#70a989}.qa-list,.fix-box,.prompt-details{color:#65776e;font-size:10px;line-height:1.5}.qa-list{padding-left:17px}.realism-box{margin:8px 0;padding:9px 10px;border-left:3px solid #9dbfa7;background:#eef4ee}.realism-box strong{color:#426957;font-size:10px}.realism-box .qa-list{margin:5px 0 0}.diversity-box{border-left-color:#4a9a76}.candidate-tools{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}.candidate-tools .candidate-listing{grid-column:1/-1}.candidate-expand,.candidate-delivery,.candidate-listing{min-height:34px;padding:6px;border:1px solid #a8c9b2;border-radius:8px;background:#edf6ef;color:#2f7255;font-size:9px;font-weight:700}.candidate-delivery,.candidate-listing{border-color:#cad5cc;background:#fff;color:#315f4d}.candidate-expand:hover,.candidate-delivery:hover,.candidate-listing:hover{background:#e2f1e6}.repair-panel{margin-top:10px;padding:10px;border:1px solid #d8ded8;border-radius:9px;color:#60746a;font-size:10px}.repair-panel summary{cursor:pointer;color:#2f604d;font-weight:700}.repair-options{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.repair-options label{display:flex;align-items:center;gap:6px;font-size:9px}.repair-options input{width:14px;min-height:14px;margin:0}.repair-panel textarea{margin:0 0 8px;font-size:10px}.repair-panel .candidate-repair{width:100%;min-height:32px;font-size:10px}.feedback-reasons{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-top:10px}.feedback-reasons>span{margin-right:3px;color:#738179;font-size:9px}.feedback-chip{min-height:25px;padding:4px 6px;border:1px solid #d8ded8;border-radius:6px;background:#fff;color:#6c7c74;font-size:9px}.feedback-chip.selected{border-color:#d7ad5e;background:#fbf0dd;color:#936a2c}.decision-note{margin-top:10px}.decision-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:7px}.decision-button{min-height:32px;border:1px solid #d4ddd5;border-radius:8px;background:#fff;color:#5a7066;font-size:9px;font-weight:700}.decision-button:hover{border-color:#8eb89d;background:#e7f2ea;color:#2c6b51}.delivery-pack{margin-top:10px;padding:10px;border:1px solid #9dc3a7;border-radius:9px;background:#edf7ef}.delivery-pack>div:first-child{display:flex;justify-content:space-between;color:#486a5b;font-size:10px}.delivery-assets{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.delivery-assets a,.download-pack{color:#287056;font-size:10px;font-weight:700}
.command-shelf{position:fixed;right:248px;bottom:0;left:276px;z-index:12;min-height:76px;padding:0 42px;border-top:1px solid #d6ddd6;background:rgba(249,249,244,.94);backdrop-filter:blur(16px);display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center}.project-command,.shelf-actions{display:flex;align-items:center;gap:9px}.project-command label{grid-template-columns:auto 180px;align-items:center;color:#6e8177}.project-command select{min-height:36px}.project-summary{color:#75847c;font-size:10px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shelf-actions{justify-self:end}.shelf-actions .primary-button{min-width:190px}.toast{position:fixed;right:22px;bottom:92px;z-index:50;max-width:420px;padding:12px 14px;border:1px solid #b5cdbb;border-radius:10px;background:var(--ink);color:#fff;font-size:11px;box-shadow:0 14px 28px rgba(21,53,44,.22)}.toast.error{border-color:#c88478;background:#7b342b}.loading{position:relative;overflow:hidden}.loading:after{content:"";position:absolute;right:0;bottom:0;left:0;height:3px;background:#8cc6a0;transform-origin:left;animation:loading 1.1s steps(8,end) infinite}
.evidence-ribbon{position:sticky;top:0;height:100vh;padding:28px 19px;background:#faf9f5;border-left:1px solid var(--line)}.ribbon-header{display:flex;align-items:center;justify-content:space-between}.ribbon-header h3{margin:5px 0 0;color:#244438;font-family:"DM Sans","Noto Sans SC",sans-serif;font-size:14px;font-weight:600;letter-spacing:-.025em}.ribbon-icon{width:30px;height:30px;display:grid;place-items:center;border:1px solid #d4ded5;border-radius:9px;color:#4b7564}.evidence-stack{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:19px 0 22px}.evidence-placeholder{height:76px;display:grid;place-items:center;border:1px dashed #cdd8ce;border-radius:10px;background:#eef0eb;color:#76877e;font-size:10px}.evidence-thumb{padding:0;border:0;background:transparent;text-align:left}.evidence-thumb>span{position:relative;height:76px;display:block;overflow:hidden;border:1px solid #d5ddd5;border-radius:10px;transition:transform .2s var(--ease-out),border-color .2s var(--ease-standard),box-shadow .2s var(--ease-out)}.evidence-thumb:hover>span{border-color:#91b59c;box-shadow:0 8px 13px rgba(40,85,66,.11);transform:translateY(-2px)}.evidence-thumb img{width:100%;height:100%;object-fit:cover}.evidence-thumb small{display:block;margin:5px 0 0;color:#708178;font-size:10px}.ribbon-divider{height:1px;background:#dce1da}.ribbon-section{padding:22px 1px 0}.fact-list p{margin:11px 0;color:#718077;font-size:10px;line-height:1.55}.fact-row{padding:10px 0;border-bottom:1px solid #e2e5df;display:flex;justify-content:space-between;gap:5px;color:#64776d;font-size:10px}.fact-row b{font-size:9px;color:#3f775d}.fact-row.CONFLICT b{color:#a34536}.fact-row.UNKNOWN b{color:#a16a24}.ribbon-callout{display:flex;gap:8px;margin-top:22px;padding:11px;border:1px solid #ead5b4;border-radius:10px;background:#f9f0df;color:#9a6b2a}.ribbon-callout>span{font-size:15px;line-height:1}.ribbon-callout p{margin:0;color:#7f653c;font-size:10px;line-height:1.55}.ribbon-callout strong{color:#765a30}
.settings-dialog{width:min(760px,calc(100vw - 32px));max-height:min(720px,calc(100dvh - 32px));padding:0;border:1px solid #bccac0;border-radius:16px;background:#fbfaf6;color:var(--ink);box-shadow:0 24px 60px rgba(26,63,51,.22)}.settings-dialog::backdrop{background:rgba(20,42,34,.45);backdrop-filter:blur(3px)}.dialog-shell{padding:25px}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.dialog-heading h2{margin:5px 0 0;font-family:"DM Sans","Noto Sans SC",sans-serif;font-size:27px;font-weight:600;letter-spacing:-.04em}.dialog-copy{margin:-5px 0 18px;color:#6e7e75;font-size:11px;line-height:1.55}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;max-height:52dvh;overflow:auto}.span-two{grid-column:1/-1}.dialog-actions{display:flex;justify-content:flex-end;padding-top:18px}
@keyframes core-scan{to{transform:rotate(360deg)}}@keyframes core-generate{0%,100%{transform:scale(.98);opacity:.72}50%{transform:scale(1.02);opacity:1}}@keyframes core-review{0%,100%{opacity:.62}50%{opacity:1}}@keyframes loading{0%{transform:scaleX(0)}55%{transform:scaleX(1)}100%{transform:scaleX(0);transform-origin:right}}@keyframes content-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spine-reveal{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}@keyframes status-breathe{0%,100%{box-shadow:0 0 0 4px #e1eee5}50%{box-shadow:0 0 0 7px rgba(225,238,229,.42)}}
@media (prefers-reduced-motion:no-preference){.production-spine>*{animation:spine-reveal .35s var(--ease-out) both}.production-spine>:nth-child(2){animation-delay:.05s}.production-spine>:nth-child(3){animation-delay:.1s}.production-spine>:nth-child(4){animation-delay:.15s}.stage-heading{animation:content-reveal .3s var(--ease-out) both}.input-stage,.output-stage{animation:content-reveal .34s var(--ease-out) .05s both}.concept-card{animation:content-reveal .36s var(--ease-out) both}.concept-card:nth-child(2){animation-delay:.08s}.concept-card:nth-child(3){animation-delay:.12s}.concept-card:nth-child(4){animation-delay:.16s}.status-pulse{animation:status-breathe 2.2s ease-in-out infinite}}
@media(max-width:1240px){.atelier-shell{grid-template-columns:236px minmax(0,1fr)}.evidence-ribbon{display:none}.production-spine{padding-inline:14px}.atelier-main{padding-inline:30px}.command-shelf{left:236px;right:0;padding-inline:30px}.candidate-grid{grid-template-columns:1fr}}
@media(max-width:930px){body{padding-top:52px}.atelier-shell{display:block}.production-spine{display:none}.atelier-main{padding:0 20px 92px}.work-header{height:58px}.header-actions .ghost-link{display:none}.stage-heading{padding-top:30px}.input-stage{grid-template-columns:1fr}.evidence-panel{border-right:0;border-bottom:1px solid #dde2db}.vision-stage{min-height:315px}.command-shelf{right:0;left:0;min-height:68px;padding:10px 20px;grid-template-columns:1fr auto}.project-command,.project-summary{display:none}.shelf-actions{grid-column:1/-1;justify-self:stretch}.shelf-actions .primary-button{width:100%}.notice{top:65px;right:20px;left:20px}.candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.atelier-main{padding-inline:15px}.stage-heading{display:block}.stage-heading h2{font-size:31px}.decision-snapshot{margin-top:21px;gap:17px}.decision-snapshot div+div{padding-left:17px}.decision-snapshot strong{font-size:20px}.input-stage,.output-stage{border-radius:14px}.evidence-panel,.output-stage{padding:16px}.panel-heading h3{font-size:18px}.upload-evidence{grid-template-columns:1fr;grid-template-rows:minmax(200px,1fr) 190px;min-height:390px}.upload-primary{border-right:0;border-bottom:1px solid #d6ddd5}.essential-fields,.settings-grid,.generation-controls,.candidate-grid,.concept-grid{grid-template-columns:1fr}.concept-grid>.analysis-brief{grid-column:auto}.span-two,.generation-controls .primary-button,.generation-controls .generation-prompt{grid-column:auto}.concept-card{min-height:132px}.review-toolbar{align-items:stretch;flex-direction:column}.review-actions{justify-content:flex-start}.candidate-tools{grid-template-columns:1fr}.truth-card{margin-bottom:14px}.truth-card>div:first-child{align-items:flex-start;flex-direction:column}.generation-plan{flex-wrap:wrap}.settings-dialog{width:calc(100vw - 20px)}.dialog-shell{padding:18px}.command-shelf{padding-inline:15px}.vision-core{width:min(57vw,210px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Stage workspace overrides: stable shell, one current task, contextual actions. */
.atelier-main{padding-bottom:42px}.steps li{padding:0}.steps li:before{left:18px}.steps li button{width:100%;padding:8px 7px;border:0;border-radius:12px;background:transparent;color:#647870;display:grid;grid-template-columns:24px 1fr;column-gap:11px;align-items:center;text-align:left;transition:background .18s var(--ease-standard),transform .18s var(--ease-out)}.steps li button:hover{background:#edf1eb;transform:translateX(3px)}.steps li button>span{z-index:1;grid-row:1/3;width:24px;height:24px;display:grid;place-items:center;border:1px solid #c8d2c9;border-radius:50%;background:#f9f8f3;color:#778a80;font:700 8px "DM Sans"}.steps li button strong{font-size:12px;font-weight:600}.steps li button small{margin-top:2px;color:#8a9890;font-size:10px}.steps li button.active{background:#e3efe7;color:#1b4d3e}.steps li button.active>span{color:#fff;background:var(--verde);border-color:var(--verde);box-shadow:0 0 0 4px #cde2d3}.steps li button.active small{color:var(--verde)}
.workspace-stage{min-width:0;animation:content-reveal .26s var(--ease-out) both}.evidence-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.36fr);overflow:hidden;border:1px solid #d8ddd6;border-radius:18px;background:#fbfaf6}.stage-card{min-width:0;padding:26px;border:1px solid #d8ddd6;border-radius:18px;background:#fbfaf6}.evidence-stage .stage-card{border:0;border-radius:0;border-right:1px solid #d8ddd6}.stage-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.stage-card-head h3,.review-toolbar h3{margin:6px 0 0;color:#203d34;font-family:"DM Sans","Noto Sans SC",sans-serif;font-size:21px;font-weight:600;letter-spacing:-.04em}.evidence-form{display:grid;gap:14px}.evidence-stage .panel-copy{max-width:650px}.stage-aside{padding:28px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(155deg,#f0f4ed,#e7efe8)}.stage-aside .vision-core{width:min(20vw,180px)}.stage-aside>.secondary-button{margin-top:18px}.stage-aside>.text-button{margin-top:5px}.truth-stage-card{max-width:860px}.truth-inline{margin:0 0 16px;padding:11px 13px;border:1px solid #cbdace;border-radius:10px;background:#edf5ef;color:#537264;font-size:11px}.stage-card .truth-card{margin:0 0 16px}.stage-card .analysis-brief{margin-top:14px}.generation-controls{margin-top:18px}.review-toolbar h3{font-size:22px}.review-note{border-radius:10px}.context-drawer{position:sticky;top:0;height:100vh;padding:28px 19px;background:#faf9f5;border-left:1px solid var(--line);overflow-y:auto}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:18px;border-bottom:1px solid #dce1da}.drawer-head h3{margin:5px 0 0;color:#244438;font-family:"DM Sans","Noto Sans SC",sans-serif;font-size:14px;font-weight:600;letter-spacing:-.025em}.drawer-state{padding:4px 6px;border:1px solid #d8ded8;border-radius:6px;color:#708178;font:700 8px "DM Sans"}.drawer-section{padding:20px 1px 0}.command-area{display:grid;grid-template-columns:1fr minmax(0,1fr) auto;gap:16px;align-items:center;margin-top:22px;padding:18px 0 0;border-top:1px solid #d8ddd6}.command-area .project-command{display:flex;align-items:center;gap:8px}.command-area .project-command label{grid-template-columns:auto 155px;align-items:center;color:#6e8177}.command-area .project-command select{min-height:36px}.command-area .project-summary{color:#75847c;font-size:10px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-area>.primary-button{min-width:210px}.context-drawer .evidence-stack{margin-bottom:0}.context-drawer .ribbon-callout{margin-bottom:10px}
@media(max-width:1240px){.context-drawer{display:none}.atelier-shell{grid-template-columns:236px minmax(0,1fr)}.evidence-stage{grid-template-columns:minmax(0,1fr) 300px}.command-area{grid-template-columns:1fr auto}.command-area .project-summary{display:none}}
@media(max-width:930px){.atelier-shell{display:block}.production-spine{display:none}.atelier-main{padding:0 20px 32px}.stage-heading{padding:28px 0 22px}.evidence-stage{grid-template-columns:1fr}.evidence-stage .stage-card{border-right:0;border-bottom:1px solid #d8ddd6}.stage-aside{min-height:280px}.command-area{position:sticky;bottom:0;z-index:8;margin:20px -20px 0;padding:12px 20px;background:rgba(249,249,244,.96);backdrop-filter:blur(14px)}.command-area .project-command{display:none}.command-area>.primary-button{width:100%}}
@media(max-width:620px){.atelier-main{padding:0 15px 24px}.stage-heading{display:block}.decision-snapshot{margin-top:18px}.stage-card{padding:17px;border-radius:14px}.evidence-stage{border-radius:14px}.stage-card-head{align-items:flex-start}.stage-card-head h3{font-size:18px}.upload-evidence{grid-template-columns:1fr;grid-template-rows:minmax(200px,1fr) 190px;min-height:390px}.upload-primary{border-right:0;border-bottom:1px solid #d6ddd5}.generation-controls,.candidate-grid,.concept-grid{grid-template-columns:1fr}.span-two,.generation-controls .primary-button,.generation-controls .generation-prompt{grid-column:auto}.command-area{margin-inline:-15px;padding-inline:15px}.command-area>.primary-button{min-width:0}.stage-aside .vision-core{width:min(55vw,180px)}}
/* The review stage already exposes candidate-level decisions; never overlay them with a global action. */
html[data-stage="concept"] .command-area>.primary-button,html[data-stage="review"] .command-area>.primary-button{display:none}
@media(max-width:930px){.command-area{position:static;margin:20px 0 0;padding:16px 0;background:transparent;backdrop-filter:none}.command-area .project-command{display:none}}
@media(max-width:620px){.command-area{margin:20px 0 0;padding:16px 0}.command-area>.primary-button{width:100%}}
/* Desktop layout correction: each stage button must own the full spine width. */
.steps li{display:block!important;padding:0!important;color:inherit!important}
.steps li button{min-width:0!important;grid-column:1/-1!important}
.steps li button strong,.steps li button small{min-width:0;white-space:normal;word-break:normal;writing-mode:horizontal-tb!important;text-orientation:mixed}
@media(min-width:931px){.atelier-shell{grid-template-columns:276px minmax(680px,1fr) 248px;overflow-x:auto}.production-spine{min-width:276px}.atelier-main{min-width:680px}.context-drawer{min-width:248px}.evidence-stage{min-height:520px}.command-area{margin-top:16px;padding-top:14px}.command-area .project-summary{min-width:0}}
@media(min-width:931px){.steps li button{grid-template-columns:28px minmax(0,1fr)!important;column-gap:10px!important}.steps li button strong,.steps li button small{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;word-break:keep-all!important}.steps li button>span{width:24px!important;height:24px!important}}
@media(min-width:931px){.production-spine{background:#f3f4ee!important}.stage-nav{display:block!important;visibility:visible!important;margin-top:8px!important}.steps{display:block!important}.steps li button{position:relative!important;z-index:2!important;background:transparent!important}.steps li button:hover{background:#e7eee7!important}.steps li button strong{color:#24483e!important;font-size:12px!important;font-weight:700!important}.steps li button small{color:#63776e!important;font-size:10px!important;font-weight:500!important}.steps li button.active{background:#dfeee3!important}.spine-brand h1{color:#15352c!important}.brand-overline{color:#668077!important}}
.concept-action .adjust-concept{min-height:28px;padding:0;justify-self:end}.concept-card.selected .adjust-concept{color:var(--verde)}
.concept-card.custom{border-style:dashed;background:linear-gradient(145deg,#fffdf6,#f7f1e4)}
.source-chip{display:inline-flex;margin-top:8px;padding:3px 6px;border:1px solid #d4ded6;border-radius:5px;background:#f3f6f2;color:#547468;font:700 8px "DM Sans";letter-spacing:.04em}
.source-chip.custom{border-color:#d7ad5e;background:#fbf0dd;color:#936a2c}
.truth-status{margin:0 0 14px;color:#5d786b;font-size:11px;line-height:1.55}
.truth-form{max-height:none}
.truth-form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}
.model-config-dialog{width:min(960px,calc(100vw - 32px));max-height:min(820px,calc(100dvh - 24px))}
.provider-shell{display:flex;flex-direction:column;min-height:0}
.provider-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:0;min-height:420px;border:1px solid #d6ddd6;border-radius:14px;overflow:hidden;background:#fff}
.provider-nav{display:flex;flex-direction:column;gap:6px;padding:16px 12px;background:#f4f6f1;border-right:1px solid #dce3dc}
.provider-nav>.eyebrow{margin:10px 8px 4px}
.provider-nav>.eyebrow:first-child{margin-top:0}
.provider-item{width:100%;padding:10px 10px;border:0;border-radius:10px;background:transparent;color:#35584b;text-align:left;display:grid;gap:2px}
.provider-item b{font-size:12px;font-weight:700}
.provider-item small{color:#6f8278;font-size:10px}
.provider-item:hover{background:#e7eee6}
.provider-item.active{background:#d9eadc;color:#1b4d3e}
.provider-item.is-hidden{opacity:.55}
.provider-empty{margin:8px;color:#718178;font-size:11px}
.show-hidden{margin-top:auto;padding:8px 8px 0;color:#5d7268;font-size:10px;display:flex;align-items:center;gap:6px}
.show-hidden input{width:14px;min-height:14px}
.provider-detail{padding:22px 22px 18px;overflow:auto}
.provider-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.provider-detail-head h3{margin:6px 0 0;color:#203d34;font-size:22px;letter-spacing:-.04em}
.provider-note{margin:0 0 16px;color:#6e7e75;font-size:11px;line-height:1.55}
.provider-fields{max-height:none}
.provider-advanced{margin-top:14px;color:#5d7268;font-size:11px}
.provider-advanced summary{cursor:pointer;font-weight:700;color:#2f604d}
.provider-advanced .settings-grid{margin-top:12px}
.enable-switch,.default-check{display:flex;align-items:center;gap:8px;color:#35584b;font-size:11px;font-weight:700}
.enable-switch input,.default-check input{width:16px;min-height:16px}
@media(max-width:760px){.provider-layout{grid-template-columns:1fr;min-height:0}.provider-nav{border-right:0;border-bottom:1px solid #dce3dc;max-height:220px;overflow:auto}.truth-form-actions{flex-direction:column;align-items:stretch}}
.compare-strip{display:flex;gap:8px;align-items:flex-end;padding:10px 10px 0}.compare-strip figure{margin:0;flex:1;min-width:0}.compare-strip .compare-result{flex:1.6}.compare-strip img{width:100%;height:92px;object-fit:contain;background:#eef0eb;border:1px solid #d5ddd5;border-radius:10px}.compare-strip .compare-result img{height:auto}.compare-strip figcaption{margin-top:5px;color:#708178;font-size:9px;text-align:center}.compare-strip .candidate-image-wrap{display:block;border-radius:12px}#modelHint{margin:8px 0 0}
.mobile-stages{display:none;gap:6px;flex-wrap:wrap;padding:8px 0 4px}
.mobile-stages button{min-height:28px;padding:4px 8px;border:1px solid #d4ddd5;border-radius:8px;background:#fff;color:#5a7066;font-size:10px;font-weight:700}
.mobile-stages button.active{background:#dfeee3;border-color:#9dc3a7;color:#1b4d3e}
.concept-head-actions{display:flex;align-items:center;gap:8px}
.version-line{margin-top:6px;color:#547468;font-size:10px}
@media(max-width:930px){.mobile-stages{display:flex}.work-header{height:auto;min-height:58px;align-items:flex-start;flex-wrap:wrap;padding:8px 0}.header-actions{margin-left:auto}}
.listing-dialog{width:min(1080px,calc(100vw - 24px))}
.listing-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.9fr);gap:18px}
.listing-template-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 14px}
.listing-template{padding:10px;border:1px solid #d6ddd6;border-radius:10px;background:#fff;text-align:left}
.listing-template b{display:block;color:#203d34;font-size:12px}
.listing-template small{display:block;margin-top:4px;color:#6e7e75;font-size:10px;line-height:1.4}
.listing-template.active{border-color:var(--verde);background:#edf6ef}
.listing-template:disabled{opacity:.55;cursor:not-allowed}
.listing-copy-grid small{font-weight:500;color:#7a8a82}
.listing-preview{position:relative;overflow:hidden;min-height:210px;border:1px solid #d5ddd5;border-radius:12px;background:#111}
.listing-preview img{display:block;width:100%;height:210px;object-fit:cover}
.listing-preview-panel{position:absolute;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.listing-preview.spec_panel .listing-preview-panel{left:4%;top:8%;bottom:8%;width:38%;padding:12px;border-radius:14px;background:rgba(18,24,28,.72)}
.listing-preview.hero_split .listing-preview-panel{left:0;top:0;bottom:0;width:40%;padding:18px 16px;background:rgba(247,244,237,.94);color:#203d34;text-shadow:none}
.listing-preview.feature_copy .listing-preview-panel{left:5%;top:22%;width:42%}
.listing-preview-panel strong{display:block;font-size:15px;letter-spacing:-.03em}
.listing-preview-panel p,.listing-preview-specs{margin:8px 0 0;font-size:10px;line-height:1.45}
.listing-preview-specs div{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.listing-preview.hero_split .listing-preview-specs div{border-bottom-color:rgba(32,61,52,.12);color:#52675e}
.listing-preview-icons{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.listing-preview-icons span{min-width:42px;padding:6px 8px;border-radius:99px;background:#c4a88a;color:#fff;font-size:9px;font-weight:700;text-align:center}
.listing-assets{margin-top:10px;padding:10px;border:1px solid #cbd9ce;border-radius:9px;background:#f4f8f4}
.listing-assets a{margin-right:8px;color:#287056;font-size:10px;font-weight:700}
@media(max-width:760px){.listing-layout,.listing-template-grid{grid-template-columns:1fr}}

/* Project switcher: identity lives in the spine; the list is a popover. */
.project-identity{position:relative;padding:0}
.project-identity.is-open{z-index:45;transform:none;border-color:#9dc3a7;box-shadow:0 10px 22px rgba(42,75,62,.1)}
.identity-trigger{display:block;width:100%;padding:17px 36px 15px 15px;border:0;border-radius:16px;background:transparent;color:inherit;text-align:left}
.identity-trigger:hover{background:transparent}
.identity-title{padding-right:4px;gap:8px}
.identity-title #saveStatus{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6e8177;font-size:10px;font-weight:600}
.identity-main{display:grid;grid-template-columns:40px minmax(0,1fr) 10px;gap:10px;align-items:center;margin-top:8px}
.identity-main.no-cover{grid-template-columns:minmax(0,1fr) 10px}
.identity-copy{min-width:0}
.identity-copy .project-name{min-height:0;margin:0 0 5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.identity-copy .project-meta{margin:0}
.identity-caret{width:7px;height:7px;border-right:1.5px solid #6e8177;border-bottom:1.5px solid #6e8177;transform:rotate(45deg);margin-top:-3px;justify-self:end;transition:transform .18s var(--ease-out)}
.project-identity.is-open .identity-caret,.mobile-project-chip.is-open .identity-caret{transform:rotate(-135deg);margin-top:3px}
.identity-more{position:absolute;top:8px;right:8px;z-index:2;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:transparent;color:#5d746a;font-size:16px;line-height:1;letter-spacing:.08em}
.identity-more:hover{background:#e3ece4;color:var(--verde)}
.identity-more:disabled{display:none}
.project-cover{width:40px;height:40px;border-radius:10px;background:#d9e2d8 center/cover no-repeat;color:#4d6a5d;display:grid;place-items:center;font:700 13px/1 "DM Sans","Noto Sans SC",sans-serif;overflow:hidden;flex:none}
.project-cover.has-image{color:transparent;border:1px solid #d0d9d0}
.project-cover.is-empty{display:none}
.mobile-project-wrap{display:none}
.mobile-project-wrap.is-open{position:relative;z-index:45}
.mobile-project-chip{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:6px 10px;border:1px solid #d4ddd5;border-radius:12px;background:#f7f8f3;color:#204037;font-size:13px;font-weight:600;text-align:left}
.mobile-project-chip .project-cover{width:28px;height:28px;border-radius:8px;font-size:11px}
.mobile-project-chip>span:nth-child(2){min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mobile-project-chip .identity-caret{margin-left:auto}
.mobile-project-chip.is-open{z-index:45;position:relative;border-color:#9dc3a7}
.project-overlay{position:fixed;inset:0;z-index:40}
.project-overlay-dismiss{position:absolute;inset:0;border:0;background:transparent;cursor:default}
.project-switcher,.project-menu{position:fixed;z-index:41;overflow:hidden;border:1px solid #c5d2c7;border-radius:16px;background:#fbfaf6;box-shadow:0 22px 48px rgba(26,63,51,.18)}
.project-switcher{display:flex;flex-direction:column;width:328px;max-height:min(72vh,560px)}
.switcher-head{display:flex;gap:8px;align-items:center;padding:12px 12px 10px;border-bottom:1px solid #e0e6df}
.switcher-search{flex:1;min-width:0}
.switcher-search input{min-height:36px;padding:8px 10px}
.switcher-head .secondary-button{flex:none;min-height:36px;padding:7px 12px}
.project-list{flex:1;min-height:120px;overflow:auto;padding:8px}
.project-list-empty{margin:18px 8px;color:#6e7e75;font-size:12px;line-height:1.55;text-align:center}
.project-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;margin:0 0 4px;padding:8px;border:0;border-radius:12px;background:transparent;color:inherit;text-align:left}
.project-row:hover{background:#edf1eb}
.project-row.is-current{background:#e3efe7}
.project-row-copy{min-width:0}
.project-row-copy strong{display:block;color:#1f3f34;font-size:13px;font-weight:650;letter-spacing:-.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-row-copy small{display:block;margin-top:3px;color:#6a7b73;font-size:10px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-row-time{display:grid;justify-items:end;gap:4px;color:#7a8a82;font-size:9px;white-space:nowrap}
.project-row-time b{padding:2px 6px;border-radius:99px;background:#d7eadc;color:#2f6a52;font-size:8px}
.switcher-foot{display:flex;align-items:center;justify-content:space-between;padding:8px 12px 10px;border-top:1px solid #e0e6df}
.switcher-archived{display:flex;align-items:center;gap:8px;color:#5d746a;font-size:11px;font-weight:600}
.switcher-archived input{width:15px;min-height:15px;margin:0}
.project-menu{display:grid;width:168px;padding:6px}
.project-menu button{width:100%;min-height:36px;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:#2c4f43;font-size:12px;font-weight:650;text-align:left}
.project-menu button:hover{background:#edf1eb}
.project-menu button.danger{color:var(--danger)}
.project-menu button.danger:hover{background:var(--danger-bg)}
.command-area{display:flex;justify-content:flex-end;align-items:center;gap:12px}
.command-area>.primary-button{min-width:210px}
@media(max-width:930px){
  body{padding-top:0}
  .mobile-project-wrap{display:flex;align-items:center;gap:8px;flex:1 0 100%;order:-1;margin:0 0 8px}
  .mobile-project-chip{flex:1;min-width:0}
  .mobile-project-wrap>.identity-more{position:static;width:44px;height:44px;border:1px solid #d4ddd5;background:#f7f8f3}
  .project-overlay-dismiss{background:rgba(20,42,34,.28)}
  .project-switcher{left:12px!important;right:12px!important;width:auto!important;max-height:min(78dvh,640px)}
}
@media(max-width:620px){.command-area>.primary-button{width:100%}}
