/* 蓝图 B+C — presentation layer over the existing project and file records. */
:root{--accent:#2854dc;--on-accent:#fff;--bg:#eff2f8;--surface:#fff;--ink:#243047;--muted:#526277;--sidebar:#2854dc;--sidebar-bottom:#2246b1;--line:#cdd7e8;--tint:#f0f3fd;--memo:#f5f7fd;--pin:#f5efd9;--on-pin:#575032;--highlight:#f1ead2;--error:#b04437;--bp-warning:#edb84c;--bp-warning-ink:#2a230f;--bp-nav:154px;--paper:var(--surface);--body:var(--ink);--green:var(--accent);--light:var(--tint)}
html,body{background:var(--bg);color:var(--ink);font-family:'Segoe UI','Microsoft YaHei',sans-serif;font-size:14px;line-height:1.55;font-variant-numeric:tabular-nums}
*{scrollbar-color:var(--line) transparent;scrollbar-width:thin}::selection{background:var(--accent);color:var(--on-accent)}input,textarea{caret-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
button,input,select,textarea{font-family:inherit}button{color:inherit}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.025em;line-height:1.35}h1{font-size:26px;font-weight:650}h2{font-size:20px}h3{font-size:17px}p{color:inherit}small,.tiny,.small{font-size:12px}.muted,.quiet-note,.field-label,.pw-local{color:var(--muted)}
body.blueprint .sidebar{width:var(--bp-nav);padding:28px 14px 14px;background:var(--sidebar);color:#fff;border:0;box-shadow:none;display:flex;z-index:30}
.blueprint .brand{display:block;margin:0 8px 34px;color:#fff;font-size:29px;letter-spacing:-.03em;line-height:1.1}.blueprint .brand img{display:none}.blueprint .brand small{color:#fff;font-size:9px;letter-spacing:.08em;margin-top:9px;opacity:.9}.blueprint .nav-pin,.blueprint .workspace-label,.blueprint .sidebar .profile,.blueprint .sidebar .demo-note,.blueprint .sidebar-bottom>.nav-item{display:none}
.blueprint .sidebar>nav{display:grid;gap:5px}.blueprint .sidebar .nav-item{min-height:43px;padding:10px 11px;font-size:14px;color:#fff;border-radius:6px;gap:10px}.blueprint .sidebar .nav-item:hover{background:color-mix(in srgb,var(--sidebar) 85%,white)}.blueprint .sidebar .nav-item.active{color:var(--sidebar-bottom);background:var(--highlight);font-weight:600}.blueprint .sidebar .nav-item svg{width:18px;height:18px;flex:none}.blueprint .sidebar-bottom{margin-top:auto;width:100%}.blueprint .workspace,.blueprint.nav-compact:not(.nav-pinned) .workspace{margin-left:var(--bp-nav)}
.blueprint .topbar{height:48px;padding:0 30px;background:var(--surface);border-bottom:1px solid var(--line)}.breadcrumb{font-size:12px}.topbar-right,.top-save-state{color:var(--muted);font-size:12px}.blueprint main{max-width:1760px;padding:24px 30px 42px;margin:auto}.blueprint[data-view=home] main{max-width:none;padding:0}.blueprint[data-view=home] .topbar{display:none}.blueprint .footer{padding:16px 30px 24px;color:var(--muted);font-size:12px}
.blueprint .page-heading{margin-bottom:25px}.page-heading p,.section-heading p,.project-heading p,.step-title p{font-size:14px}.blueprint .section-heading{margin:0 0 16px;gap:12px}.section-heading h2{font-size:20px}.section-heading h2 small{font-size:12px;font-weight:400;margin-left:6px;color:var(--muted)}
.blueprint :is(.btn,.rp-btn,.ds-btn,.ai-btn){min-height:38px;font-size:14px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--surface);box-shadow:none}.blueprint :is(.btn,.rp-btn,.ds-btn,.ai-btn):hover{background:var(--tint);border-color:var(--accent)}.blueprint :is(.btn,.rp-btn,.ds-btn,.ai-btn).primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.blueprint :is(.btn,.rp-btn,.ds-btn,.ai-btn).primary:hover{filter:brightness(.96)}.blueprint .text-btn{font-size:13px;color:var(--muted);line-height:1.5}.blueprint .icon-btn{color:var(--muted);min-width:34px;min-height:34px}.blueprint .icon-btn:hover,.blueprint .text-btn:hover{background:var(--tint);color:var(--accent)}
.blueprint .tag,.blueprint .count,.blueprint .pill.active{background:var(--tint);color:var(--accent);border-radius:4px;font-size:12px}.blueprint :is(.search,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),textarea,select){background:var(--surface);color:var(--ink);border-color:var(--line);border-radius:6px;font-size:14px}.blueprint .search{min-height:38px;width:auto;max-width:100%}.blueprint input[type=checkbox],.blueprint input[type=radio]{accent-color:var(--accent);min-width:17px;width:17px;height:17px;flex:none}.blueprint .field-label{font-size:13px;line-height:1.6}.blueprint .field-label input,.blueprint .field-label select{min-height:40px}.blueprint .field-label textarea{line-height:1.7}
.blueprint :is(.panel,.pw-section,.pw-form,.pw-files,.fw-record,.fw-plan,.fw-fee,.wf-hub-card,.ds-space,.ds-drawing,.fw-project-row,.ai-task-row){background:var(--surface);border-color:var(--line);color:var(--ink);border-radius:8px;box-shadow:none}.blueprint :is(.soft-note,.info-strip,.quiet-box,.rp-source,.rp-summary,.ai-note,.pw-note){background:var(--tint);border-color:var(--line);color:var(--ink)}.blueprint .quiet-note{font-size:12px;line-height:1.7}.blueprint :is(.empty,.pw-empty,.ai-empty){font-size:14px;color:var(--muted)}.blueprint :is(.project-tabs,.pw-tabs,.creative-page-tabs){border-color:var(--line)}.blueprint :is(.project-tabs,.pw-tabs,.creative-page-tabs) button{font-size:14px;color:var(--muted);min-height:44px}.blueprint :is(.project-tabs,.pw-tabs,.creative-page-tabs) button.active{color:var(--accent);border-color:var(--accent)}
.blueprint dialog{background:var(--surface);color:var(--ink);border:0;border-radius:12px;box-shadow:0 20px 90px #101b3833;padding:26px;max-width:calc(100vw - 32px)}.blueprint dialog::backdrop{background:#101b3877;backdrop-filter:none}.blueprint dialog h2{font-size:23px}.blueprint .dialog-head{font-size:12px;color:var(--muted);margin-bottom:20px}.blueprint #toast{background:var(--ink);color:var(--surface);font-size:14px;max-width:calc(100vw - 32px)}.blueprint #toast.error,.bp-settings-error,.ag-error,#bp-ag-error{color:var(--error)}
/* B workspace */
.bp-home-screen{padding:22px 26px 12px;display:grid;grid-template-columns:minmax(260px,.95fr) minmax(0,2.5fr);grid-template-rows:42px 312px minmax(340px,1fr) 18px;gap:16px 18px;height:calc(100dvh);min-height:760px;max-height:940px}
.bp-home-heading{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:15px}.bp-home-heading h1{font-size:24px;margin:0}.bp-home-heading time{font-size:12px;color:var(--muted)}.bp-home-heading .btn{width:36px;padding:6px;min-height:36px}
.bp-panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:17px 18px;min-width:0;display:flex;flex-direction:column;box-shadow:none}.bp-panel .section-heading{margin-bottom:8px;align-items:center}.bp-panel h2{font-size:18px;margin:0}.bp-panel-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);flex:none}.bp-panel-foot .text-btn{font-size:12px;display:flex;align-items:center;gap:6px}.bp-empty{color:var(--muted);line-height:1.8;padding:20px 0}.bp-empty p{margin:0 0 8px}.bp-empty small{font-size:12px}
.bp-home-screen .ag-calendar{grid-column:1;grid-row:2;width:auto;border:1px solid var(--line);margin:0;padding:17px 18px}.bp-home-screen .ag-calendar-heading{margin:0 0 10px;gap:4px}.bp-home-screen .ag-calendar-heading h2{font-size:21px}.bp-home-screen .ag-calendar-heading .text-btn{padding:3px;min-width:25px}.bp-home-screen .sc-week{height:22px;min-height:22px;font-size:12px;color:var(--muted)}.bp-home-screen .sc-days{grid-template-rows:repeat(6,minmax(0,1fr));gap:2px;flex:1;min-height:0}.bp-home-screen .ag-day{padding:0;border:0;background:none;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:0;height:auto;position:relative;gap:0}.bp-day-number{display:flex;align-items:center;justify-content:center;min-width:30px;height:28px;padding:0 4px;border-radius:5px;font-size:14px;color:var(--ink);line-height:1}.bp-day-number b{font-size:12px;margin-top:-7px}.ag-day.other .bp-day-number{color:var(--muted);opacity:.6}.ag-day.today .bp-day-number{outline:1.5px solid var(--accent);outline-offset:1px;color:var(--accent);background:var(--tint)}.ag-day.important .bp-day-number{background:var(--bp-warning);color:var(--bp-warning-ink);font-weight:700}.bp-home-screen .ag-day.selected{background:var(--tint)}.bp-day-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;display:inline-block;flex:none}.ag-day>.bp-day-dot{position:absolute;bottom:0;left:calc(50% - 3px)}.ag-day.all-done .bp-day-dot{background:var(--muted)}.bp-home-screen .ag-legend{border:0;margin:8px 0 0;padding:10px 0 0;gap:18px;display:flex;flex-wrap:wrap;font-size:12px;border-top:1px solid var(--line)}.ag-legend>span{display:flex;align-items:center;gap:6px}.bp-important-key{display:inline-grid;place-items:center;background:var(--bp-warning);color:var(--bp-warning-ink);width:15px;height:15px;border-radius:3px;font-style:normal;font-weight:750}
.bp-agenda{grid-column:1;grid-row:3;min-height:0}.bp-selected-date{font-size:12px;margin:0 0 12px;color:var(--muted)}.bp-agenda-items{overflow:auto;flex:1;min-height:0}.bp-agenda .ag-event{padding:7px 0;border:0}.ag-event>button{display:grid!important;grid-template-columns:43px minmax(0,1fr);gap:10px;width:100%;text-align:left;color:var(--ink)!important;padding:8px 3px!important;border-radius:4px}.ag-event time{font-size:13px;color:var(--muted)}.ag-event b{font-size:14px;font-weight:600;line-height:1.45;display:block;overflow-wrap:anywhere}.ag-event small,.ag-event em{font-size:12px;display:block;color:var(--muted);margin:4px 0 0;font-style:normal}.ag-event.important{background:var(--tint);border-radius:4px}.ag-event.done b{text-decoration:line-through;font-weight:400}.ag-event.done{opacity:.75}
.bp-memos{grid-column:2;grid-row:2;background:color-mix(in srgb,var(--memo) 55%,var(--surface));min-height:0}.bp-memos .section-heading h2{font-size:18px}#bp-quick-memo{height:34px;border:1px solid var(--line);display:flex;margin:0 0 8px}#bp-quick-memo input{flex:1;width:0;min-width:0;background:none;border:0;padding:4px 10px;border-radius:0;font-size:13px}#bp-quick-memo button{min-height:30px}.bp-memo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:50px;gap:4px 15px;margin-bottom:8px;min-height:0}.bp-memo{display:flex;align-items:flex-start;gap:8px;padding:5px 4px;border-bottom:1px solid var(--line);min-width:0;position:relative}.bp-memo input{margin-top:4px}.bp-memo>.text-btn{display:block;min-width:0;flex:1;text-align:left;padding:0;color:var(--ink)}.bp-memo b{display:block;font-size:14px;line-height:21px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bp-memo small{display:block;font-size:12px;line-height:18px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bp-memo.pinned{background:var(--pin);color:var(--on-pin);border:0;border-radius:4px;padding:5px 8px}.bp-memo.pinned small,.bp-memo.pinned .text-btn{color:var(--on-pin)}.bp-pin{flex:none}.bp-memo.done b,.bp-memo.bp-completed b{text-decoration:line-through}.bp-memo.done{opacity:.7}.bp-memo-grid>.bp-empty{grid-column:1/-1;font-size:14px;padding:25px 0}.bp-memos .bp-panel-foot{padding-top:6px}
.bp-recent{grid-column:2;grid-row:3;display:flex;flex-direction:column;gap:10px;min-height:0}.bp-recent>.section-heading{margin:0;min-height:28px}.bp-recent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;flex:1;min-height:0}.bp-project{display:flex;flex-direction:column;text-align:left;overflow:hidden;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:0;transition:border-color .18s,transform .18s}.bp-project:hover{border-color:var(--accent);transform:translateY(-2px)}.bp-project-image{flex:1;min-height:100px;position:relative;overflow:hidden;width:100%;display:grid;place-items:center;background:var(--tint)}.bp-project-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.25,1)}.bp-project:hover img{transform:scale(1.025)}.bp-project-info{padding:12px 13px 9px;flex:none;min-width:0;width:100%}.bp-project-title{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap}.bp-project-title h3{font-size:16px;margin:0;line-height:23px;font-weight:600;overflow-wrap:anywhere}.bp-project-title>span{font-size:11px;background:var(--tint);color:var(--accent);padding:2px 6px;border-radius:4px}.bp-project-basics{font-size:12px;line-height:18px;color:var(--muted);margin:5px 0 9px}.bp-milestone{display:flex;gap:10px;align-items:center;min-height:61px;padding:9px 0;border-top:1px solid var(--line)}.bp-when{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);white-space:nowrap}.bp-node{display:flex;flex-direction:column;gap:3px;border-left:1px solid var(--line);padding-left:10px;min-width:0}.bp-node time{font-size:11px;color:var(--muted)}.bp-node strong{font-size:13px;line-height:20px;font-weight:550;overflow-wrap:anywhere}.bp-milestone.today{background:color-mix(in srgb,var(--bp-warning) 14%,var(--surface));padding:8px;border-top-color:transparent;border-radius:5px}.bp-no-node{font-size:13px;color:var(--muted)}.bp-project-foot{display:flex;justify-content:space-between;align-items:center;padding-top:7px;margin-top:6px;border-top:1px solid var(--line);color:var(--muted)}.bp-project-foot small{font-size:11px}.bp-next-section{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--muted);padding:0}.bp-home-projects{padding:26px 30px 42px;min-height:80vh;scroll-margin-top:12px}.bp-home-bottom{padding:32px 0;text-align:center}
/* Existing project pages retain their data/action handlers. */
.blueprint .project-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:none}.blueprint .project-cover{border-radius:0;aspect-ratio:1.7}.blueprint .project-card-body{padding:16px}.blueprint .project-title{font-size:18px}.blueprint .project-card-body p,.blueprint .project-card-foot{font-size:13px}.blueprint .fw-project-toolbar{background:var(--surface);padding:16px;border:1px solid var(--line);border-radius:8px}.blueprint .fw-project-row{border:1px solid var(--line);margin-bottom:10px;padding:16px}.blueprint .fw-project-cover{background:var(--surface);padding:24px;border:1px solid var(--line);border-radius:8px;gap:26px}.blueprint .fw-cover-photo{border-radius:6px;overflow:hidden}.blueprint .wf-hub-card{border:1px solid var(--line);padding:24px}.blueprint .wf-hub-title h2{font-size:22px}.blueprint .wf-hub-title p,.blueprint .wf-hub-detail p{font-size:14px}.blueprint .fw-cover-status span{background:var(--tint);color:var(--ink)}.blueprint .ds-space-title,.blueprint .ds-drawing-title{font-size:17px}.blueprint .ds-meta{font-size:13px}
/* Drawers, appearance and assistant */
.blueprint dialog.bp-drawer{margin:0 0 0 auto;width:480px;height:100dvh;max-height:100dvh;max-width:100%;border-radius:12px 0 0 12px;padding:24px;overflow:auto}.bp-drawer .dialog-head{position:sticky;top:-24px;background:var(--surface);padding:16px 0;z-index:3}.bp-drawer-tools{display:flex;gap:10px;align-items:center;margin:20px 0}.bp-drawer-tools .search{flex:1;min-width:0}.bp-task-filters,.bp-setting-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.bp-task-filters .text-btn,.bp-setting-tabs .btn{padding:7px 10px;font-size:13px}.bp-task-filters [aria-pressed=true],.bp-setting-tabs [aria-pressed=true]{background:var(--tint);color:var(--accent);border-color:var(--accent)}.bp-drawer-list .bp-memo{padding:14px 0;min-height:75px}.bp-drawer-list .bp-memo b,.bp-drawer-list .bp-memo small{white-space:normal;overflow-wrap:anywhere}.bp-drawer-list .bp-memo .actions{gap:2px}.bp-date-input{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:6px;padding:0 10px;min-height:42px;margin-top:6px}.bp-date-input input{width:80px!important;margin:0!important;border:0!important;padding:4px!important;flex:1;min-width:0}.bp-other-month{margin:-4px 0 18px;font-size:13px}.bp-checks{display:flex;gap:18px;flex-wrap:wrap;margin:20px 0}.bp-checks label{display:flex;gap:7px;align-items:center}.bp-settings section{padding:20px 0;border-bottom:1px solid var(--line)}.bp-settings h3{font-size:16px;margin:0 0 14px}.bp-settings h3 small{font-size:12px;font-weight:400;color:var(--muted);display:block;margin-top:6px}.bp-settings details{margin:18px 0}.bp-settings summary{cursor:pointer;padding:8px 0;font-size:14px}.bp-mode-choices{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.bp-mode-choices label{display:flex;align-items:center;gap:6px;font-size:13px}.bp-color-row{display:flex;align-items:center;gap:12px}.bp-color-row input[type=color]{width:54px;height:44px;flex:none;padding:2px;border:1px solid var(--line);background:var(--surface);border-radius:6px}.bp-color-row .field-label{flex:1;min-width:0}.bp-setting-caption{font-size:13px;color:var(--muted)}.bp-templates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:15px}.bp-template{border:1px solid var(--line);padding:9px;display:flex;gap:9px;align-items:center;border-radius:5px;font-size:13px}.bp-template i{width:24px;height:24px;border-radius:4px;display:block}.bp-template:hover{background:var(--tint);border-color:var(--accent)}.bp-template-manage{display:grid;gap:6px;margin-top:14px}.bp-template-manage>span{display:flex;justify-content:space-between;align-items:center;font-size:13px}.bp-switch{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;font-size:14px}.bp-role-choices{display:flex;gap:14px}.bp-role-choices label{flex:1;border:1px solid var(--line);padding:12px;border-radius:8px;text-align:center}.bp-role-choices label:has(:checked){border-color:var(--accent);background:var(--tint)}.bp-role-choices img{display:block;width:100%;height:125px;object-fit:contain}.bp-role-choices span{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:10px}
.bp-buddy{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;padding:12px 6px;border:1px solid #ffffff26;border-radius:8px;background:transparent;color:#fff;text-align:center;margin-bottom:10px}.bp-buddy img{width:90px;height:105px;object-fit:contain}.bp-buddy b{display:flex;align-items:center;gap:5px;font-size:13px}.bp-buddy small{color:#fff;font-size:11px;opacity:.85}.bp-profile{padding:13px 0 0;border-top:1px solid #ffffff26;display:flex;width:100%;align-items:center;gap:8px;font-size:13px;text-align:left;color:#fff}.bp-profile .avatar{width:27px;height:30px;border-radius:3px;background:#ffffff20;color:#fff}.bp-profile>svg{margin-left:auto}.bp-buddy-dialog{display:flex;gap:22px;align-items:center}.bp-buddy-dialog>img{width:105px;height:150px;object-fit:contain}.bp-buddy-dialog small{color:var(--muted)}.bp-buddy-item{border-top:1px solid var(--line);padding:12px 0}.bp-buddy-item b,.bp-buddy-item span{display:block}.bp-buddy-item span{font-size:12px;color:var(--muted);margin-top:5px}.bp-workspace-identity{display:flex;gap:18px;align-items:center;background:var(--surface);padding:25px;border:1px solid var(--line);border-radius:8px;margin-bottom:24px}.bp-workspace-identity .avatar{width:56px;height:56px;background:var(--tint);color:var(--accent)}.bp-workspace-identity h2{margin:0;font-size:20px}.bp-workspace-identity p{margin:5px 0 0;color:var(--muted)}.bp-workspace-identity>button{margin-left:auto}.bp-workspace-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.bp-workspace-links>button{display:flex;justify-content:space-between;gap:18px;align-items:center;text-align:left;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.bp-workspace-links h3{margin:0 0 10px}.bp-workspace-links p{margin:0;color:var(--muted);font-size:13px}.bp-tool-list article{display:flex;gap:20px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}.bp-tool-list article>div{flex:1;min-width:0}.bp-tool-list h2{font-size:18px;margin:0 0 8px}.bp-tool-list p{font-size:14px;color:var(--muted);margin:0}.bp-mobile-section{display:none}
/* C image gallery */
.blueprint .case-grid.large{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(190px,24vw,320px);gap:9px}.blueprint .case-grid.large .case-card{grid-column:span 4;position:relative;min-width:0;overflow:hidden;border-radius:5px}.blueprint .case-grid.large .case-card:nth-child(1){grid-column:span 8;grid-row:span 2}.blueprint .case-grid.large .case-card:nth-child(4){grid-row:span 2}.blueprint .case-grid.large .case-card .case-picture{position:absolute;inset:0;width:100%;height:100%;border-radius:0}.blueprint .case-grid.large .case-card img{width:100%;height:100%;object-fit:cover}.blueprint .case-grid.large .case-meta{position:absolute;left:0;right:0;bottom:0;padding:45px 18px 16px;background:linear-gradient(transparent,#101823c9);color:#fff;pointer-events:none;opacity:0;transform:translateY(6px);transition:opacity .2s,transform .25s}.blueprint .case-grid.large .case-meta h3{color:#fff;font-size:17px}.blueprint .case-grid.large .case-meta p{color:#fff;font-size:12px}.blueprint .case-grid.large .case-card:hover .case-meta,.blueprint .case-grid.large .case-card:focus-within .case-meta{opacity:1;transform:none}.blueprint .case-grid.large .case-hover{display:none}.blueprint .case-grid.large .sample-badge{left:10px;top:10px;font-size:11px;background:#fffffff0;color:#334155}.blueprint .case-grid.large .favorite{right:10px;top:10px}.blueprint .case-detail img{border-radius:6px}.blueprint .case-detail p{font-size:14px}.blueprint .case-detail .field-label{margin-top:22px}
/* Night surfaces are paired; slide artwork and uploaded images keep original colors. */
html[data-tone=night] .blueprint .sidebar .nav-item.active{background:var(--highlight);color:#fff}
html[data-tone=night] .blueprint :is(.pw-stat,.pw-file,.pw-doc-row,.pw-retained,.pw-log,.pw-timeline,.sc-calendar,.sc-day-detail,.sc-node,.fw-total-source,.fw-cover-adjust,.rp-properties,.rp-pages,.rp-source,.rp-start-options>button,.rp-picker-sources .active,.creative-toolbar,.creative-record,.creative-base,.creative-assets,.library-item,.uc-assets,.uc-refs,.uc-heading,.uc-toolbar,.uc-composer,.uc-structure,.uc-reference,.uc-region-card,.uc-result,.uc-context,.ai-config-card,.ai-task,.ds-archive-row,.ds-version-item){background:var(--surface);color:var(--ink);border-color:var(--line)}
html[data-tone=night] .blueprint :is(.uc-stage,.uc-viewport,.uc-main,.rp-canvas-wrap,.creative-viewport,.creative-base-empty,.wf-thumb,.pw-material-image){background:var(--bg);color:var(--ink);border-color:var(--line)}
html[data-tone=night] .blueprint :is(.uc-prompt-preview,.uc-prompt-summary,.uc-ref-tools,.uc-ref-viewport,.fw-fee,.pw-file-preview,.rp-ai-bar,.rp-toolbar){background:var(--tint);color:var(--ink);border-color:var(--line)}
html[data-tone=night] .blueprint :is(.uc-prompt-preview textarea,.uc-prompt-preview p,.uc-prompt-preview small,.pw-info dt,.pw-log small,.sc-node small,.sc-day-detail small,.fw-record p,.fw-record small,.ai-task small,.ai-task p,.rp-source small,.rp-properties label,.rp-properties summary,.uc-ref-info,.uc-region-card small){color:var(--muted)}
.blueprint .uc-heading{border-color:var(--line)}.blueprint .uc-heading h1{font-size:18px}.blueprint .uc-prompt-preview,.blueprint .uc-prompt-group,.blueprint .uc-reference,.blueprint .uc-region-card{font-size:13px}.blueprint .uc-structure-label{font-size:13px}.blueprint .uc-shortcuts .text-btn{font-size:13px}.blueprint .uc-prompt-summary{font-size:13px}.blueprint .uc-prompt-panel label{font-size:13px}.blueprint .uc-prompt-panel button{font-size:12px}.blueprint .uc-assets-title,.blueprint .uc-refs-title{font-size:15px}.blueprint .uc-assets,.blueprint .uc-refs{border-color:var(--line)}.blueprint .uc-btn.primary{background:var(--accent);color:var(--on-accent)}
/* Phone uses six persistent destinations and readable vertical task layouts. */
@media(min-width:1100px) and (max-height:800px){.bp-home-screen{min-height:640px;height:100dvh;grid-template-rows:36px 252px minmax(270px,1fr) 16px;gap:12px 16px;padding:16px 24px 10px}.bp-home-heading h1{font-size:22px}.bp-panel{padding:13px 16px}.bp-home-screen .ag-calendar{padding:13px 16px}.bp-memo-grid{grid-auto-rows:47px}.bp-memo-grid .bp-memo:nth-child(n+5){display:none}.bp-project-info{padding:9px 11px}.bp-project-title h3{font-size:14px;line-height:21px}.bp-project-basics{margin:3px 0 6px}.bp-milestone{min-height:50px;padding:6px 0}.bp-project-foot{padding-top:5px;margin-top:4px}.bp-home-screen .ag-legend{padding-top:7px;margin-top:5px}.bp-day-number{height:25px}}
@media(min-width:1100px) and (min-height:1050px){.bp-home-screen{height:940px;grid-template-rows:42px 320px minmax(0,1fr) 18px}}
@media(max-width:1099px){:root{--bp-nav:140px}.blueprint main{padding:24px}.bp-home-screen{height:auto;max-height:none;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto 320px auto auto auto;padding:24px}.bp-home-screen .ag-calendar{grid-column:1;grid-row:2}.bp-agenda{grid-column:2;grid-row:2}.bp-memos{grid-column:1/-1;grid-row:3}.bp-recent{grid-column:1/-1;grid-row:4}.bp-next-section{grid-row:5}.bp-project-image{aspect-ratio:1.4;flex:none}.bp-project{min-height:0}.bp-home-projects{min-height:0;padding:26px 24px}.bp-home-screen .bp-panel-foot{margin-top:12px}.blueprint .case-grid.large{grid-auto-rows:230px}.blueprint .case-grid.large .case-card{grid-column:span 6}.blueprint .case-grid.large .case-card:nth-child(1){grid-column:span 6;grid-row:span 2}}
@media(max-width:740px){:root{--bp-nav:0px}.blueprint .sidebar{position:fixed;inset:auto 0 0;width:100%;height:66px;padding:0 6px calc(env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--surface);display:block;transform:none!important;z-index:35}.blueprint .sidebar>.brand,.blueprint .sidebar-bottom,.blueprint .mobile-nav-close,.blueprint .mobile-nav-scrim,.blueprint .mobile-menu{display:none!important}.blueprint .sidebar>nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;height:100%}.blueprint .sidebar .nav-item{display:flex;flex-direction:column;justify-content:center;gap:3px;min-height:58px;font-size:10px;padding:6px 0;white-space:nowrap;color:var(--muted);border-radius:0}.blueprint .sidebar .nav-item.active{background:var(--tint);color:var(--accent)}.blueprint .sidebar .nav-item svg{width:20px;height:20px}.blueprint .workspace,.blueprint.uc-active .workspace{margin-left:0!important;padding-bottom:66px}.blueprint .topbar{height:48px;padding:0 14px}.blueprint .topbar-right{gap:6px}.blueprint .top-save-state{display:none}.blueprint main{padding:20px 14px 32px}.blueprint .footer{padding:16px 14px 20px}.blueprint h1,.blueprint .project-heading h1{font-size:23px}.blueprint .page-heading,.blueprint .project-heading{gap:15px;flex-wrap:wrap}.blueprint .page-heading p{font-size:13px}.blueprint :is(.btn,.rp-btn,.ds-btn,.ai-btn){min-height:42px;font-size:13px}.blueprint .field-label input,.blueprint .field-label select{min-height:44px}.blueprint .field-label{font-size:14px}.blueprint .actions{flex-wrap:wrap}.bp-mobile-section{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-size:12px;color:var(--muted)}.bp-mobile-section select{flex:1;min-width:0;min-height:44px;padding:8px 10px}.blueprint .bp-wide-section{display:none!important}.blueprint .fw-project-toolbar{gap:12px;padding:14px}.blueprint .fw-project-row{display:grid;grid-template-columns:65px minmax(0,1fr);gap:12px}.blueprint .fw-project-row img{width:65px;max-height:80px}.blueprint .fw-project-status,.blueprint .fw-project-updated{grid-column:2}.blueprint .project-grid{grid-template-columns:1fr;gap:20px}.blueprint .fw-project-cover{padding:18px;display:flex;flex-direction:column-reverse}.blueprint .fw-cover-photo{width:100%;height:190px}.blueprint .wf-hub-card{padding:18px}.blueprint .wf-hub-title h2{font-size:20px}.blueprint .wf-hub-detail p{font-size:13px}.bp-workspace-identity{display:grid;grid-template-columns:48px minmax(0,1fr);padding:18px;gap:12px}.bp-workspace-identity .avatar{width:48px;height:48px}.bp-workspace-identity>button{grid-column:2;margin:0;justify-self:start}.bp-workspace-identity p{font-size:13px;overflow-wrap:anywhere}.bp-workspace-links{grid-template-columns:1fr}.bp-tool-list article{gap:14px;flex-wrap:wrap}.bp-tool-list article>div{flex-basis:calc(100% - 42px)}.bp-tool-list article>.btn{margin-left:38px}.blueprint dialog.bp-drawer{width:100%;border-radius:0;padding:20px;max-height:100dvh}.bp-drawer .dialog-head{top:-20px}.bp-drawer-list .bp-memo{min-height:80px}.bp-drawer-list .bp-memo b{font-size:15px}.bp-color-row{flex-wrap:wrap}.bp-color-row .btn{margin-left:auto}.blueprint dialog{padding:20px;max-width:calc(100vw - 20px)}.blueprint .rp-picker-footer{bottom:0;padding-bottom:12px;background:var(--surface)}.blueprint .rp-picker{min-width:0}.blueprint .rp-actions{flex-wrap:wrap}.blueprint .ai-task-row,.blueprint .ai-task{display:flex;flex-wrap:wrap;gap:12px}.blueprint .ai-task-meta,.blueprint .ai-task small{white-space:normal;font-size:13px}.blueprint #toast{bottom:80px}.blueprint .uc-toolbar{flex-wrap:wrap}.blueprint .uc-stage{min-height:310px}.blueprint .uc-ref-editor{max-width:100%}.blueprint .uc-prompt-preview textarea{font-size:13px}.blueprint .sc-calendar{max-width:100%}.blueprint .fw-sheet{max-width:100%}}
@media(max-width:620px){.bp-home-screen{display:flex;flex-direction:column;padding:20px 14px;gap:16px}.bp-home-heading{align-items:flex-start}.bp-home-heading h1{font-size:22px;max-width:8em}.bp-home-heading time{display:none}.bp-home-screen .ag-calendar{height:335px;flex:none}.bp-agenda{min-height:200px;max-height:400px}.bp-panel{padding:16px}.bp-memos{min-height:0}.bp-memo-grid{grid-template-columns:1fr;grid-auto-rows:auto}.bp-memo-grid .bp-memo{min-height:54px;padding:7px 4px}.bp-memo-grid .bp-memo b{font-size:15px;line-height:23px}.bp-memo-grid .bp-memo small{font-size:13px;line-height:20px}.bp-recent{margin-top:4px}.bp-recent-grid{grid-template-columns:1fr;gap:18px}.bp-project-image{aspect-ratio:1.65}.bp-project-info{padding:16px}.bp-project-title h3{font-size:17px}.bp-project-title>span{font-size:12px}.bp-project-basics,.bp-node time,.bp-when{font-size:13px}.bp-milestone{padding:12px 0}.bp-project-foot small{font-size:12px}.bp-next-section{padding:8px}.bp-home-projects{padding:20px 14px}.bp-home-projects>.section-heading{flex-wrap:wrap}.blueprint .case-grid.large{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:180px;gap:6px}.blueprint .case-grid.large .case-card{grid-column:auto;grid-row:auto}.blueprint .case-grid.large .case-card:nth-child(1){grid-column:1/-1;grid-row:span 2}.blueprint .case-grid.large .case-card:nth-child(4){grid-row:span 2}.blueprint .case-grid.large .case-meta{opacity:1;transform:none;padding:35px 10px 10px}.blueprint .case-grid.large .case-meta h3{font-size:13px}.blueprint .case-grid.large .case-meta p{font-size:11px}.blueprint .case-grid.large .sample-badge{font-size:10px}.blueprint .case-detail{display:block}.blueprint .case-detail>img{max-height:50vh;width:100%;object-fit:contain}.blueprint .case-detail>div{padding:20px 0 0}.blueprint .case-grid.large .favorite{width:28px;height:28px}.blueprint .rp-start-options{grid-template-columns:1fr}.blueprint .rp-card>div{min-width:0}}
@media(hover:none){.blueprint .case-grid.large .case-meta{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.blueprint *{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}.bp-project:hover,.bp-project:hover img{transform:none}}
.motion-off .bp-project:hover,.motion-off .bp-project:hover img{transform:none}.motion-off *{scroll-behavior:auto!important;transition:none!important}
.bp-image-error{display:none}.image-failed>.bp-image-error{display:grid;place-items:center;min-height:180px;padding:25px;color:var(--muted);background:var(--surface);font-size:14px}.image-failed>img{display:none}.bp-case-media{min-width:0}.blueprint .bp-case-media>img{width:100%;height:420px;object-fit:contain;background:var(--bg)}.bp-case-thumbs{display:flex;gap:9px;margin:12px 0}.bp-case-thumbs button{border:2px solid transparent;padding:3px;border-radius:5px}.bp-case-thumbs button[aria-pressed=true]{border-color:var(--accent)}.bp-case-thumbs img{width:90px;height:65px;object-fit:cover}.blueprint .bp-case-detail>div:last-child{padding:0 0 0 25px}.bp-case-media>[data-case-retry]{margin-top:12px}.blueprint .case-picture:focus-visible{outline-offset:-4px}
@media(max-width:620px){.blueprint .bp-case-media>img{height:260px;max-height:45vh}.blueprint .bp-case-detail>div:last-child{padding:20px 0 0}}
.fw-mobile-quote{display:none}.fw-mobile-error{color:var(--error)}
.blueprint .ds-button{font-size:14px;min-height:38px;background:var(--surface);border-color:var(--line);color:var(--ink)}.blueprint .ds-button.ds-primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.blueprint .ds-button.ds-primary:hover{filter:brightness(.96)}.blueprint .ds-tag,.blueprint .ds-filters .active{background:var(--tint);color:var(--accent)}.blueprint .scheme-surface :is(p,small,.ds-note,.ds-card-meta){color:var(--muted);font-size:13px}.blueprint .scheme-surface :is(h2,h3,h4){color:var(--ink)}.blueprint .scheme-surface :is(.ds-search,.ds-card,.ds-archive-row,.ds-drawing,.ds-version-item,.ds-empty,.ds-readonly){background:var(--surface);border-color:var(--line);color:var(--ink)}
.blueprint .sc-day{color:var(--ink);font-size:14px}.blueprint .sc-day.rest{background:var(--tint)}.blueprint .sc-day.today{border-color:var(--accent)}.blueprint .sc-day.selected{outline-color:var(--accent)}.blueprint .sc-week,.blueprint .sc-legend,.blueprint .sc-date-detail>small,.blueprint .sc-workspace .wf-node-body>p,.blueprint .sc-workspace .wf-node summary small,.blueprint .sc-overview small{color:var(--muted);font-size:12px}.blueprint .sc-date-detail{font-size:14px}.blueprint .sc-notice{background:var(--pin);color:var(--on-pin)}.blueprint .sc-day .sc-brief-dot{color:var(--ink)}
html[data-tone=night] .blueprint :is(.scheme-surface,.ds-card,.ds-drawing,.ds-version-item,.ds-search,.ds-empty,.ds-readonly,.fw-project-toolbar,.wf-doc-head,.wf-node,.wf-node-body,.pw-workspace,.creative-library-tabs,.creative-library-toolbar,.ai-waiting,.ai-text,.ai-canvas-task,.uc-results,.uc-prompt-group,.uc-region-float,.uc-ref-dialog){background:var(--surface);border-color:var(--line);color:var(--ink)}
html[data-tone=night] .blueprint :is(.wf-doc-row small,.wf-doc-row>span,.wf-node p,.wf-node small,.ai-task-row p,.ai-task-row small,.ai-scope,.ai-detail-heading p,.ai-result>p,.ai-handoff p,.uc-composer>small,.uc-results>summary>small,.uc-results>summary>span,.uc-asset-list small,.uc-tool-group>span,.creative-library-grid p,.creative-gallery-caption p,.creative-gallery-caption small){color:var(--muted)}
html[data-tone=night] .blueprint .ds-card img{background:var(--bg)}html[data-tone=night] .blueprint .ds-empty-card{background:var(--tint);color:var(--muted)}
.blueprint .ag-legend i.bp-important-key{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:3px;font-size:12px;line-height:1;background:var(--bp-warning);color:var(--bp-warning-ink)}
.blueprint .ag-legend{color:var(--muted)}.blueprint .ag-day.today{border:0;box-shadow:none}.blueprint .ag-day.selected{outline:0}
@media(max-width:620px){.bp-home-heading h1{max-width:none;font-size:21px}.bp-home-heading>.actions{flex:none;gap:6px}}
@media(max-width:740px){body.blueprint .sidebar{width:100%;padding:0 6px env(safe-area-inset-bottom,0px);height:calc(66px + env(safe-area-inset-bottom,0px));display:block;background:var(--surface);border-top:1px solid var(--line)}html[data-tone=night] .blueprint .sidebar .nav-item.active{background:var(--tint);color:var(--accent)}}
body.blueprint.uc-active .workspace{padding-bottom:0!important}body.blueprint.uc-active .uc-heading{flex:none}
html[data-tone=night] .blueprint :is(main,dialog) :is(p,small,.muted,.quiet-note,.tiny,.rp-caption,.pw-local){color:var(--muted)}
html[data-tone=night] .blueprint :is(.wf-hub-card p,.fw-project-cover p,.fw-project-row small,.fw-project-status,.fw-project-updated,.project-card-foot,.wf-file-group>summary>span,.wf-result-card p,.wf-result-card small,.ds-heading p,.ds-card p,.breadcrumb .workspace-root){color:var(--muted)}
html[data-tone=night] .blueprint .case-grid.large .case-meta p{color:#fff}html[data-tone=night] .blueprint .sample-badge{color:#334155}html[data-tone=night] .blueprint .bp-memo.pinned small{color:var(--on-pin)}
html[data-tone=night] .blueprint :is(.fw-cover-status,.fw-hub-money,.fw-stats span,.fw-total-source small,.wf-doc-head,.pw-info dt,.wf-company-row label,.rp-status,.ai-task-filter,.sc-brief-dot){color:var(--muted)}html[data-tone=night] .blueprint :is(.fw-hub-money strong,.fw-stats strong,.fw-project-row b,.sc-date-node,.ds-empty h3,.ai-empty h3){color:var(--ink)}html[data-tone=night] .blueprint :is(.fw-project-row:hover,.wf-hub-card:hover,.ds-card:hover,.fw-project-toolbar .active){background:var(--tint)}
@media(max-width:740px){.blueprint .uc-tool:before{display:none}.blueprint .uc-tool:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}}
@media(max-width:740px){.blueprint .fw-editor{min-width:0;position:relative}.blueprint #fw-sheet{position:absolute;width:900px!important;height:500px!important;left:-12000px;top:0;visibility:hidden;pointer-events:none}.fw-mobile-quote{display:block}.fw-mobile-head{display:flex;justify-content:space-between;align-items:center;margin:24px 0 12px}.fw-mobile-head h3{margin:0}.fw-mobile-head span{font-size:12px;color:var(--muted)}.fw-mobile-row{padding:18px;margin:0 0 12px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.fw-mobile-row header{display:flex;justify-content:space-between;gap:12px}.fw-mobile-row header b{font-size:16px;overflow-wrap:anywhere}.fw-mobile-row header small{font-size:12px;color:var(--muted);flex:none}.fw-mobile-row dl{margin:15px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.fw-mobile-row dl>div{min-width:0}.fw-mobile-row dt{font-size:12px;color:var(--muted)}.fw-mobile-row dd{font-size:14px;margin:3px 0 0;overflow-wrap:anywhere}.fw-mobile-row dd small{display:block;font-size:11px;color:var(--muted)}.blueprint .fw-cell-entry{display:grid;grid-template-columns:1fr;gap:10px}.blueprint .fw-total-source{display:grid;gap:8px}.blueprint .fw-total-source small{overflow-wrap:anywhere}.blueprint .fw-tools{flex-wrap:wrap}.blueprint .fw-tools .btn{flex:1 1 42%}.blueprint .fw-columns,.blueprint .fw-stats{grid-template-columns:1fr 1fr}.blueprint .fw-stats strong{font-size:22px}.blueprint .fw-plan{display:flex;flex-direction:column;align-items:stretch}.blueprint .fw-record .row{flex-wrap:wrap;gap:8px}}

@media(min-width:1100px) and (min-height:640px){.bp-home-projects{min-height:calc(100dvh - 12px)}}
/* Approved C mosaic and protected advanced quote editing. */
@media(min-width:901px){.blueprint .case-grid.large{grid-template-columns:repeat(12,minmax(0,1fr))}.blueprint .case-grid.large .case-card{grid-column:span 4;grid-row:auto}.blueprint .case-grid.large .case-card:nth-child(1){grid-column:1/6;grid-row:1/3}.blueprint .case-grid.large .case-card:nth-child(2){grid-column:6/10;grid-row:1}.blueprint .case-grid.large .case-card:nth-child(3){grid-column:6/10;grid-row:2}.blueprint .case-grid.large .case-card:nth-child(4){grid-column:10/13;grid-row:1/3}.blueprint .case-grid.large .case-card:nth-child(5){grid-column:1/8;grid-row:3}.blueprint .case-grid.large .case-card:nth-child(6){grid-column:8/13;grid-row:3}}
@media(max-width:620px){.blueprint .case-grid.large .case-card:nth-child(6){grid-column:1/-1}}
.blueprint .dialog-head{justify-content:flex-end}.fw-advanced{margin:16px 0}.fw-advanced summary{cursor:pointer;color:var(--muted);font-size:14px;padding:10px 0}.fw-mobile-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;border-top:1px solid var(--line);font-size:15px}.fw-mobile-total strong{font-variant-numeric:tabular-nums;font-size:20px}
