@charset "UTF-8";
:root{--ink:#19231f;--muted:#647069;--paper:#f5f6f2;--surface:#fff;--line:#dfe4dc;--green:#d1f5b6;--green-dark:#254a29;--dark:#14201b;--danger:#a33328;--radius:14px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:15px;line-height:1.55}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #528638;outline-offset:3px}button{color:inherit}a{color:var(--green-dark)}svg{width:19px;height:19px;flex-shrink:0;vertical-align:middle}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{line-height:1.2}h1{font-size:clamp(34px,3.2vw,49px);letter-spacing:-2px;font-weight:580}h2{font-size:26px;letter-spacing:-.8px}h3{font-size:16px}p{color:var(--muted)}small{font-size:12px}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}.skip-link{position:fixed;top:-100px;left:10px;background:white;padding:14px;z-index:200}.skip-link:focus{top:10px}.eyebrow,.mini-label{font-size:10px;letter-spacing:1.7px;font-weight:700;color:var(--muted);display:block}.eyebrow{margin-bottom:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 18px;border:1px solid var(--line);border-radius:8px;background:white;font-weight:600;font-size:13px;text-decoration:none;transition:background .15s,transform .15s}.button:hover{background:#edf1e9}.button.primary{background:var(--dark);color:#fff;border-color:var(--dark)}.button.primary:hover{background:#2b4134}.button.lime{background:var(--green);color:var(--dark);border-color:var(--green)}.button.small{padding:8px 12px;min-height:38px;font-size:12px}.button.ghost{background:transparent}.button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:30px;background:#edf1e9;font-size:11px;white-space:nowrap;font-weight:600}.pill svg{width:13px;height:13px}.pill.local{color:#355931;background:#e9f3e2}.pill.warn{background:#fbefd9;color:#755318}.app-shell{display:grid;grid-template-columns:216px 1fr;min-height:100vh}.sidebar{background:var(--dark);color:#edf4e9;padding:29px 19px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:11px;align-items:center;font-size:23px;letter-spacing:-.8px;font-weight:650;margin:0 12px 45px}.brand-mark{width:30px;height:30px;display:grid;place-items:center;background:var(--green);border-radius:8px;color:var(--dark)}.brand-mark svg{width:21px;height:21px}.sidebar-label{font-size:9px;letter-spacing:1.9px;color:#95a99c;margin:0 14px 15px}.step-nav{display:grid;gap:7px}.step-button{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;background:transparent;border:0;border-radius:8px;color:#b9c8be;text-align:left;font-size:13px}.step-button:hover{background:#26362d;color:white}.step-button.active{background:#314c39;color:#e3f6d8}.step-number{width:23px;height:23px;border:1px solid #54655a;border-radius:6px;display:grid;place-items:center;font-size:10px}.step-button.active .step-number{background:var(--green);border-color:var(--green);color:var(--dark)}.step-button:disabled{opacity:.45}.sidebar-bottom{margin-top:auto;padding:28px 12px 0}.sidebar-bottom p{font-size:11px;color:#a1b5a7;line-height:1.7;margin:12px 0}.provider-dots{display:flex;gap:7px;margin-bottom:18px}.provider-dots span{height:6px;width:6px;border-radius:50%;background:#769180}.sidebar .button{color:#d8e6dc;background:transparent;border-color:#455b4b;width:100%}.app-topbar{min-height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:18px 42px;gap:16px;background:rgba(255,255,255,.6)}.breadcrumb{font-size:12px;color:var(--muted);display:flex;gap:12px;align-items:center}.breadcrumb strong{color:var(--ink);font-weight:500}.topbar-right{display:flex;align-items:center;gap:15px;font-size:11px}.version{color:var(--muted);font-family:Consolas,monospace}.studio-main{padding:45px 42px;max-width:1500px;margin:auto}.intro-row{display:flex;justify-content:space-between;align-items:start;gap:22px;margin-bottom:27px}.intro-row p{max-width:530px;font-size:14px;line-height:1.8;margin-bottom:0}.intro-row h1{margin-bottom:15px}.hero-badge{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--green-dark);margin-top:8px}.hero-badge .state-dot{background:#578545}.import-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:23px}.upload-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:27px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;font-size:13px;font-weight:650}.step-tag{font-size:9px;letter-spacing:1.3px;color:var(--muted);font-weight:500}.dropzone{border:1px dashed #adbba5;border-radius:11px;min-height:270px;background:#f8faf6;display:flex;align-items:center;justify-content:center;text-align:center;padding:35px 20px;position:relative}.dropzone.dragover{background:#e8f6df;border-color:#49733d}.upload-symbol{height:55px;width:55px;border:1px solid #d3ddcc;background:white;border-radius:14px;display:grid;place-items:center;margin:0 auto 18px;box-shadow:0 5px 12px #19231f05}.upload-symbol svg{height:24px;width:24px}.dropzone h2{font-size:19px;letter-spacing:-.5px;margin-bottom:9px}.dropzone p{font-size:12px;margin-bottom:18px}.upload-meta{font-size:10px;color:var(--muted);margin-top:16px}.sample-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:22px}.sample-row p{margin:0;font-size:11px}.sample-row strong{display:block;font-size:12px;margin-bottom:4px}.promise-card{background:#e9efdf;border:1px solid #dce5d0;border-radius:var(--radius);padding:27px;display:flex;flex-direction:column}.promise-card h2{font-size:23px;line-height:1.3;margin-bottom:12px;max-width:260px}.promise-card p{font-size:12px;color:#58684d}.recovery-diagram{position:relative;display:flex;flex-direction:column;align-items:center;gap:17px;padding:20px 0;flex:1}.diagram-node{background:#ffffffbb;display:flex;align-items:center;gap:12px;padding:13px 18px;border:1px solid #d1dbc6;border-radius:9px;font-size:11px;min-width:200px}.diagram-node strong{display:block;font-size:12px}.diagram-node small{font-size:10px;color:var(--muted)}.diagram-connector{height:17px;width:1px;background:#93aa81;margin:-17px 0}.diagram-node.final{background:var(--dark);color:var(--green);border-color:var(--dark)}.diagram-node.final small{color:#c0d5b5}.promise-foot{border-top:1px solid #d1ddc6;padding-top:17px;display:flex;align-items:center;gap:7px;font-size:10px;color:#4b6340}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}.principle{display:flex;align-items:start;gap:11px}.principle>svg{color:#718468;margin-top:2px;width:18px}.principle strong{font-size:11px;display:block;margin-bottom:5px}.principle p{font-size:11px;line-height:1.7;margin:0}.status-banner,.runtime-notice{border:1px solid #d3e2c8;background:#edf6e6;border-radius:8px;padding:12px 16px;font-size:12px;margin:0 0 22px}.status-banner.error,.runtime-notice.error{border-color:#e9c6c0;background:#fff1ed;color:var(--danger)}[hidden]{display:none!important}.review-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:22px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:25px}.panel h2{font-size:19px;margin-bottom:8px}.panel>p{font-size:12px}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.stat{background:#f4f6f0;border-radius:9px;padding:16px}.stat strong{display:block;font-size:27px;letter-spacing:-1px}.stat span{font-size:10px;color:var(--muted)}.evidence-list{display:grid;gap:0;border-top:1px solid var(--line)}.evidence-row{display:flex;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.evidence-row>svg{color:#617551}.evidence-row div{flex:1}.evidence-row strong{display:block;font-size:12px}.evidence-row small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.field{display:grid;gap:7px;font-size:12px;font-weight:600;margin:17px 0}.field input,.field textarea,.field select{width:100%;border:1px solid #ccd6c5;border-radius:7px;padding:10px 12px;background:#fff;color:var(--ink);font-size:13px;font-weight:400;min-width:0}.field textarea{resize:vertical;line-height:1.65}.field small{font-weight:400;color:var(--muted);font-size:10px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.checkbox-row{display:flex;gap:10px;align-items:start;font-size:12px;line-height:1.7;margin:16px 0}.checkbox-row input{margin-top:4px;accent-color:var(--green-dark);width:16px;height:16px;flex-shrink:0}.checkbox-row small{display:block;color:var(--muted);font-size:10px}.review-actions{display:flex;justify-content:space-between;margin-top:25px;gap:20px;align-items:center}.review-actions p{font-size:11px;margin:0;max-width:410px}.warning-list{padding-left:17px;font-size:11px;color:#775c27;line-height:1.9}.warning-box{padding:16px;background:#fbf5e9;border-radius:9px;margin-top:18px}.warning-box h3{font-size:12px;margin:0 0 6px}.warning-box ul{margin:0}.review-footer{font-size:10px;color:var(--muted);padding-top:15px}.code-label{font-family:Consolas,monospace;font-size:10px;color:#637258;background:#f2f5ed;padding:5px 8px;border-radius:4px}.provider-list{display:grid;gap:12px;margin-top:20px}.provider-row{display:flex;align-items:center;gap:12px;padding:15px;background:#f5f7f1;border-radius:8px}.provider-row>div{flex:1}.provider-row strong{font-size:13px}.provider-row p{font-size:11px;margin:3px 0 0}.provider-row code{display:block;font-size:10px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}.workspace{border:1px solid var(--line);background:white;border-radius:var(--radius);overflow:hidden}.workspace-header{padding:27px 29px 24px;display:flex;justify-content:space-between;gap:20px}.workspace-header h2{margin-bottom:7px;font-size:25px}.workspace-header p{font-size:11px;margin:0}.workspace-header .eyebrow{font-size:9px;margin-bottom:9px}.workspace-tools{display:flex;gap:8px;align-items:start;flex-wrap:wrap;justify-content:end}.workspace-tools label{cursor:pointer}.workspace-overview{display:grid;grid-template-columns:1fr 1fr 1fr 2fr;margin:0 29px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:15px}.workspace-overview strong{display:block;font-size:26px;letter-spacing:-1px;margin-top:5px}.mini-label{font-size:9px}.rule-summary{padding-left:22px;border-left:1px solid var(--line)}.rule-summary>span:last-child{font-size:12px;display:block;margin-top:9px;max-width:230px}.workspace-toolbar{display:flex;justify-content:space-between;align-items:center;padding:22px 29px;gap:12px}.view-tabs{display:flex;gap:4px;flex-wrap:wrap}.view-tab{background:transparent;border:0;display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:6px;font-size:11px;color:var(--muted);min-height:38px}.view-tab svg{width:15px;height:15px}.view-tab:hover{background:#f4f6f0}.view-tab.active{background:#edf1e7;color:#2f4b28;font-weight:600}.tab-count{padding:1px 5px;background:#d9e5cf;border-radius:4px;font-size:9px}.search-field{display:flex;gap:8px;align-items:center;border:1px solid var(--line);padding:8px 11px;border-radius:7px}.search-field svg{height:15px;width:15px;color:var(--muted)}.search-field input{border:0;font-size:11px;outline:none;background:transparent;width:170px;min-width:0}.search-field:focus-within{outline:2px solid #6b8f56;outline-offset:2px}.workspace-content{padding:0 29px 27px;min-height:350px}.board-columns{display:grid;grid-template-columns:repeat(var(--column-count,3),minmax(200px,1fr));gap:17px;overflow-x:auto;padding:0 0 12px;max-height:650px;overflow-y:auto}.board-column{background:#f6f7f3;border:1px solid #e6eae2;border-radius:9px;padding:12px;min-width:0}.column-heading{display:flex;align-items:center;justify-content:space-between;padding:3px 3px 13px}.column-heading h3{font-size:11px;font-weight:600;margin:0;display:flex;align-items:center;gap:7px}.column-heading>span{font-size:10px;color:var(--muted)}.state-dot{display:inline-block;height:7px;width:7px;border-radius:50%;background:#689445;flex-shrink:0}.state-0{background:#5788b5}.state-1{background:#c6a35d}.state-2{background:#679748}.state-3{background:#a483b4}.state-4{background:#a18568}.card-stack{display:grid;gap:10px}.project-card{display:block;width:100%;text-align:left;border:1px solid #e0e6db;border-radius:7px;padding:14px;background:white;box-shadow:0 1px 2px #15201604;transition:border-color .15s,box-shadow .15s}.project-card:hover{border-color:#a6ba97;box-shadow:0 3px 8px #1520160b}.card-client{display:block;font-size:9px;color:#68795f;margin-bottom:9px}.project-card strong{display:block;font-size:12px;font-weight:600;line-height:1.5;margin-bottom:8px}.card-summary{font-size:10px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:17px;line-height:1.7}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9px;color:var(--muted)}.card-bottom svg{height:12px;width:12px}.empty-column{font-size:11px;margin:20px 0;text-align:center}.workspace-footer{display:flex;justify-content:space-between;padding:14px 29px;border-top:1px solid var(--line);gap:15px;font-size:9px;color:var(--muted);background:#fcfdfb}.workspace .runtime-notice{margin:0 29px 18px}.document-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.document-card{display:flex;align-items:center;gap:12px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:8px;background:white;text-align:left}.document-card:hover{background:#f5f8f0}.document-card>span{flex:1;min-width:0}.document-card strong{display:block;font-size:12px}.document-card small{display:block;font-size:9px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:6px}.document-card>svg{color:#6e825e}.task-row{display:flex;align-items:center;gap:12px;padding:17px;border:1px solid var(--line);border-radius:8px;margin-bottom:10px}.task-row input,.checklist input{accent-color:#537a3c;width:17px;height:17px}.task-row strong{display:block;font-size:12px}.task-row small{display:block;color:var(--muted)}.activity-row{display:flex;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);font-size:12px}.activity-row time{margin-left:auto;font-size:10px;color:var(--muted)}.empty-state{padding:45px 20px;text-align:center;color:var(--muted);font-size:12px}.empty-state>svg{width:35px;height:35px;margin-bottom:15px}.empty-state h3{color:var(--ink)}.empty-state p{max-width:380px;margin:auto}.page-dialog,.integration-dialog{width:min(680px,calc(100vw - 32px));max-height:88vh;border:1px solid #ced9c5;border-radius:15px;padding:29px;color:var(--ink);background:white;box-shadow:0 22px 90px #12201940;overflow:auto}.page-dialog::backdrop,.integration-dialog::backdrop{background:#15201880;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px}.dialog-top .eyebrow{margin:0}.icon-button{border:0;background:transparent;border-radius:6px;width:38px;height:38px;display:grid;place-items:center}.icon-button:hover{background:#edf2e8}.source-path{display:flex;gap:8px;color:var(--muted);font-size:10px;align-items:start;overflow-wrap:anywhere;margin:12px 0 23px}.source-path svg{height:14px;width:14px}.property-list{background:#f5f7f1;border-radius:9px;padding:7px 16px;margin-bottom:25px}.property-list>div{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;padding:9px 0;font-size:11px}.property-list>div>span{color:var(--muted)}.property-list strong{font-weight:500}.property-list select{padding:7px 9px;border:1px solid #d5dfcd;border-radius:5px;background:white;width:fit-content;max-width:100%;font-size:11px}.page-body p{font-size:12px;color:#53604f;line-height:1.8;white-space:pre-wrap}.page-body h3,.checklist h3,.page-dialog section>h3{font-size:13px;margin:22px 0 12px}.page-body h4{font-size:12px;margin:20px 0 10px}.checklist{border-top:1px solid var(--line);padding-bottom:15px}.checklist label{display:flex;align-items:center;gap:9px;padding:7px 0;font-size:12px}.checklist label:has(input:checked)>span{text-decoration:line-through;color:var(--muted)}.text-link{background:none;border:0;padding:0;color:#3b6e2c;text-decoration:underline;font-size:inherit;text-align:left}.linked-pages{display:flex;gap:8px;flex-wrap:wrap}.attachment{border:1px solid var(--line);border-radius:7px;background:#fbfcf9;padding:12px;width:100%;display:flex;align-items:center;gap:10px;font-size:12px;margin-bottom:8px;text-align:left}.attachment small{color:var(--muted);margin-left:auto;font-size:9px}.edit-notes{border-top:1px solid var(--line);margin-top:22px;padding-top:17px;font-size:12px}.edit-notes summary{cursor:pointer}.dialog-message{color:#4a6c37;font-size:12px;margin-top:16px}.portable{padding:25px;max-width:1600px;margin:auto}.portable .workspace{min-height:calc(100vh - 50px)}.export-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.export-visual{background:var(--dark);border-radius:12px;padding:33px;color:#edf4e7;min-height:300px;display:flex;flex-direction:column;justify-content:space-between}.export-visual h2{font-size:32px;line-height:1.25;max-width:300px;margin:20px 0}.export-visual p{font-size:12px;color:#c0d0bd;max-width:350px}.export-visual .eyebrow{color:#b1c3a7}.export-details{display:grid;gap:17px;margin:25px 0}.export-detail{display:flex;gap:12px;align-items:start;font-size:12px}.export-detail>svg{color:#6a8b53;margin-top:2px}.export-detail strong{display:block;margin-bottom:3px}.export-detail p{font-size:11px;margin:0}.offline-instructions{padding:0;list-style:none;counter-reset:steps}.offline-instructions li{display:flex;gap:12px;font-size:12px;padding:14px 0;border-bottom:1px solid var(--line);counter-increment:steps}.offline-instructions li::before{content:counter(steps);display:grid;place-items:center;border:1px solid var(--line);border-radius:5px;width:23px;height:23px;flex-shrink:0;font-size:10px}.loading{display:flex;align-items:center;gap:9px}.loading::before{content:'';height:12px;width:12px;border:2px solid #b7c5af;border-top-color:#355b29;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1200px){.studio-main{padding:32px 26px}.app-topbar{padding:18px 26px}.app-shell{grid-template-columns:185px 1fr}.sidebar{padding:26px 12px}.brand{font-size:21px;margin-left:10px}.workspace-toolbar{flex-wrap:wrap}.import-layout{grid-template-columns:1.3fr .9fr}.topbar-right .version{display:none}.workspace-tools .pill{display:none}}
@media(max-width:950px){.review-grid,.export-layout{grid-template-columns:1fr}.import-layout{grid-template-columns:1fr}.promise-card{display:none}.principles{gap:14px}.workspace-header{flex-wrap:wrap}.workspace-overview{grid-template-columns:1fr 1fr 1fr}.rule-summary{grid-column:1/-1;padding:12px 0 0;border-left:0;border-top:1px solid var(--line)}.rule-summary>span:last-child{max-width:none}.document-grid{grid-template-columns:1fr}.intro-row .hero-badge{display:none}.app-topbar .topbar-right>.pill{display:none}}
@media(max-width:700px){.app-shell{display:block}.sidebar{position:relative;height:auto;padding:15px 18px;display:block}.brand{margin:0 0 19px;font-size:21px}.brand-mark{width:26px;height:26px}.sidebar-label,.sidebar-bottom{display:none}.step-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.step-button{padding:8px 4px;justify-content:center;gap:6px;font-size:10px}.step-number{width:18px;height:18px;font-size:9px}.app-topbar{padding:13px 19px;min-height:57px}.breadcrumb{font-size:10px;gap:8px}.topbar-right .button{font-size:10px;padding:8px;min-height:34px}.studio-main{padding:27px 18px}.intro-row{margin-bottom:22px}.intro-row p{font-size:12px}h1{font-size:34px;letter-spacing:-1.2px}.upload-card,.panel{padding:20px}.dropzone{min-height:245px;padding:24px 12px}.sample-row{align-items:start;flex-direction:column}.principles{grid-template-columns:1fr;gap:17px}.principle p{max-width:320px}.review-actions{flex-direction:column;align-items:stretch}.workspace-header{padding:21px 18px}.workspace-header h2{font-size:22px}.workspace-overview{margin:0 18px}.workspace-toolbar{padding:18px}.workspace-content{padding:0 18px 20px}.workspace-footer{padding:13px 18px;flex-direction:column;gap:5px}.search-field{width:100%}.search-field input{width:100%}.view-tab{font-size:10px;padding:8px}.board-columns{grid-template-columns:1fr;max-height:none;overflow:visible}.board-column{min-width:0}.card-stack{max-height:430px;overflow:auto}.portable{padding:10px}.portable .workspace{min-height:calc(100vh - 20px)}.workspace-tools{justify-content:start}.workspace .runtime-notice{margin:0 18px 18px}.page-dialog,.integration-dialog{padding:21px}.attachment{flex-wrap:wrap}.attachment small{margin-left:29px}.field-pair{grid-template-columns:1fr;gap:0}.activity-row{align-items:start}.activity-row time{font-size:9px;max-width:90px}.stats-row{gap:8px}.stat{padding:12px}.export-visual{padding:25px}.export-visual h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.board-columns{contain:layout paint}.panel-heading h2{font-size:13px;letter-spacing:0;margin:0}

/* Local draft and multi-database controls inherit the studio design. */
.draft-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border:1px solid var(--line);border-radius:8px;margin-bottom:22px;background:#f1f6eb;font-size:12px}.draft-toolbar.error{background:#fff2e8;border-color:#c58a5f}.draft-toolbar[hidden]{display:none}.saved-draft{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.saved-draft .eyebrow{margin-bottom:8px}.saved-draft strong{font-size:18px}.saved-draft p{font-size:12px;margin:6px 0 0}.database-picker{display:flex;align-items:center;gap:12px;padding:16px 29px 0;font-size:12px}.database-picker select{max-width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink)}@media(max-width:700px){.draft-toolbar,.saved-draft{align-items:stretch;flex-direction:column}.draft-toolbar .button{align-self:start}.database-picker{padding:16px 18px 0;align-items:start;flex-direction:column;gap:6px}}

/* Demo storytelling and readable recovery surfaces. */
.sample-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.sample-row { gap:20px; align-items:center; }
.sample-row>div:first-child { flex:1; }
.demo-guide { border:1px solid #45634d; border-radius:var(--radius); background:var(--dark); color:#edf6e7; padding:24px 28px; margin:0 0 24px; }
.demo-heading { display:flex; gap:24px; justify-content:space-between; align-items:flex-start; }
.demo-guide .eyebrow { color:#c9edae; margin-bottom:8px; }
.demo-guide h2 { font-size:23px; letter-spacing:-.5px; margin-bottom:12px; max-width:650px; }
.demo-guide p { color:#cbd8c5; font-size:13px; margin:8px 0 0; max-width:850px; }
.demo-heading .button { background:transparent; color:#edf6e7; border-color:#60725f; flex-shrink:0; }
.demo-guide #open-demo-project { margin-top:18px; background:var(--green); border-color:var(--green); color:var(--dark); }
.demo-proof-list { list-style:none; padding:0; margin:12px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.demo-proof-list li { display:flex; align-items:flex-start; gap:12px; border-top:1px solid #4a5b48; padding-top:16px; }
.proof-number { display:grid; place-items:center; width:28px; height:28px; flex-shrink:0; border:1px solid #697f61; border-radius:50%; font-size:12px; color:#d5eac9; }
.demo-proof-list [data-complete="true"] .proof-number { color:var(--dark); background:var(--green); border-color:var(--green); }
.demo-proof-list strong { font-size:13px; }
.demo-proof-list p { font-size:12px; line-height:1.6; }
.recovery-story { display:grid; grid-template-columns:1fr 1.1fr; gap:40px; padding:30px; background:#e9efdf; border:1px solid #d9e2cd; border-radius:var(--radius); margin-bottom:16px; }
.recovery-story h2 { font-size:27px; letter-spacing:-.8px; margin-bottom:12px; }
.recovery-story p { margin:0; font-size:14px; max-width:430px; }
.recovery-outcomes { display:grid; gap:18px; }
.recovery-outcomes>div { border-left:2px solid #8eaa7b; padding-left:18px; }
.recovery-outcomes span { display:block; font-size:10px; letter-spacing:1.3px; color:#4e6342; margin-bottom:6px; }
.recovery-outcomes strong { display:block; font-size:16px; margin-bottom:6px; }
.source-inspector { margin-bottom:24px; padding:18px 24px; }
.source-inspector summary { cursor:pointer; font-size:14px; font-weight:650; min-height:30px; }
.source-inspector[open] summary { margin-bottom:12px; }
.source-preview { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:24px; }
.source-preview code { display:block; font-size:11px; overflow-wrap:anywhere; margin-top:10px; color:var(--muted); }
.source-preview pre { white-space:pre-wrap; overflow-wrap:anywhere; background:#f5f7f0; border:1px solid var(--line); border-radius:8px; padding:18px; font-size:12px; line-height:1.7; max-height:300px; overflow:auto; margin:0; }
.source-preview dl>div { display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); font-size:12px; padding:7px 0; }
.source-preview dt { color:var(--muted); }
.source-preview dd { margin:0; text-align:right; overflow-wrap:anywhere; }
.package-receipt { display:flex; gap:20px; padding:28px; border:1px solid #b9d29e; background:#ecf5e2; border-radius:var(--radius); margin-bottom:24px; }
.receipt-mark { display:grid; place-items:center; height:48px; width:48px; flex-shrink:0; border-radius:12px; color:#e9f5df; background:var(--dark); }
.package-receipt h2 { font-size:24px; overflow-wrap:anywhere; margin-bottom:8px; }
.package-receipt p { font-size:13px; margin:8px 0 0; max-width:700px; }
.package-receipt strong { display:block; margin-top:18px; font-size:16px; }
.intro-row>div>p { font-size:15px; line-height:1.8; }
.panel>p,.field,.checkbox-row,.review-footer,.export-detail p,.offline-instructions { font-size:13px; }
.field small,.checkbox-row small,.evidence-row small { font-size:12px; line-height:1.65; }
.stat span { font-size:12px; }
.panel-heading { font-size:14px; }
.project-card strong { font-size:14px; }
.card-client,.card-summary,.card-bottom,.column-heading h3,.workspace-header p,.workspace-footer { font-size:12px; }
.project-card { padding:16px; border-radius:10px; }
.card-summary { line-height:1.7; }
.workspace-header .eyebrow,.mini-label { font-size:10px; }
.dialog-message { font-size:14px; padding:12px 0 0; }
@media(max-width:1150px) {
  .sample-row { align-items:flex-start; flex-direction:column; }
  .sample-actions { justify-content:flex-start; }
  .demo-proof-list { gap:14px; }
}
@media(max-width:700px) {
  .demo-guide,.recovery-story,.package-receipt { padding:20px; }
  .demo-heading { flex-direction:column; gap:6px; }
  .demo-heading .button { order:-1; align-self:flex-end; }
  .demo-guide h2 { font-size:22px; }
  .demo-proof-list { grid-template-columns:1fr; }
  .recovery-story,.source-preview { grid-template-columns:1fr; gap:22px; }
  .recovery-story h2 { font-size:25px; }
  .source-inspector { padding:18px; }
  .source-preview pre { max-height:240px; }
  .package-receipt { flex-direction:column; gap:14px; }
  .sample-actions { width:100%; }
  .sample-actions .button { flex:1; }
  .sample-row>div { min-width:0; }
}
.review-grid { align-items:start; }
.export-visual .pill { color:var(--green-dark); }
.cloud-options summary { cursor:pointer; font-weight:650; font-size:14px; min-height:30px; }
.cloud-options summary .code-label { margin-left:8px; }
.cloud-options[open] summary { margin-bottom:18px; }
.skip-link:not(:focus) { width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.intro-row>.button { flex-shrink:0; white-space:nowrap; }
@media(max-width:700px) {
  .intro-row { flex-direction:column; align-items:flex-start; gap:18px; }
  .intro-row>.button { align-self:flex-start; }
}
/* Real Chrome review: the recovered application and its outcomes take priority. */
.demo-session .draft-toolbar { padding:8px 12px; margin-bottom:18px; }
.demo-active .intro-row { margin-bottom:18px; gap:16px; }
.demo-active .intro-row h1 { font-size:30px; letter-spacing:-1px; margin-bottom:12px; }
.demo-active .intro-row p { font-size:13px; line-height:1.6; max-width:760px; margin-bottom:0; }
.demo-active .intro-row .eyebrow { margin-bottom:8px; }
.demo-active[data-stage="2"] .demo-guide { padding:16px 20px; margin-bottom:18px; position:relative; }
.demo-active[data-stage="2"] .demo-heading { align-items:center; }
.demo-active[data-stage="2"] .demo-heading .eyebrow { margin-bottom:4px; font-size:9px; }
.demo-active[data-stage="2"] .demo-heading h2 { font-size:17px; margin:0; }
.demo-active[data-stage="2"] .demo-proof-list { margin-top:14px; gap:16px; padding-right:180px; }
.demo-active[data-stage="2"] .demo-proof-list li { gap:8px; padding-top:10px; }
.demo-active[data-stage="2"] .demo-proof-list p { display:none; }
.demo-active[data-stage="2"] .demo-proof-list strong { font-size:12px; }
.demo-active[data-stage="2"] #open-demo-project { position:absolute; right:20px; bottom:16px; margin:0; }
.demo-active .recovery-story { padding:22px 26px; gap:26px; }
.demo-active .recovery-story h2 { font-size:23px; }
.demo-active .recovery-story p { font-size:13px; }
.demo-guide #jump-rule { margin-top:14px; background:var(--green); border-color:var(--green); color:var(--dark); }
.dialog-message { color:var(--green-dark); background:#edf5e5; border:1px solid #c5d9b3; border-radius:8px; padding:12px 14px; margin:12px 0 18px; font-size:13px; }
.dialog-message:empty { display:none; }
.dialog-message.error { color:#83251d; background:#fff1eb; border-color:#e9b4a5; }
.handoff-receipt { margin-top:12px; padding-top:12px; border-top:1px solid #c5d9b3; }
.handoff-receipt .eyebrow { font-size:10px; margin-bottom:6px; color:#456738; }
.handoff-receipt p { color:var(--ink); margin:0 0 10px; font-size:14px; }
.page-dialog .checklist { padding:16px; background:#f5f7f0; border:1px solid var(--line); border-radius:9px; margin-bottom:24px; }
.page-dialog .checklist h3 { margin-bottom:12px; }
@media(max-width:700px) {
  .demo-active[data-stage="2"] .demo-heading { align-items:flex-start; }
  .demo-active[data-stage="2"] .demo-proof-list { padding-right:0; grid-template-columns:1fr; gap:8px; }
  .demo-active[data-stage="2"] #open-demo-project { position:static; margin-top:14px; }
  .demo-active .intro-row h1 { font-size:28px; }
}
.demo-active[data-stage="2"] .workspace-header { padding:18px 24px 14px; }
.demo-active[data-stage="2"] .workspace-header h2 { font-size:22px; margin-bottom:4px; }
.demo-active[data-stage="2"] .workspace-overview { padding:12px 0; }
.demo-active[data-stage="2"] .workspace-overview strong { font-size:23px; }
.demo-active[data-stage="2"] .workspace-toolbar { padding-top:14px; padding-bottom:14px; }
.studio-main.demo-workspace { padding-top:24px; }
.demo-workspace .draft-toolbar:not(.error) { display:none; }
.demo-active[data-stage="2"] .intro-row { align-items:center; margin-bottom:16px; }
.demo-active[data-stage="2"] .intro-row .eyebrow,.demo-active[data-stage="2"] .intro-row p { display:none; }
.demo-active[data-stage="2"] .intro-row h1 { font-size:24px; margin:0; }
.hero-actions { display:flex; flex-direction:column; align-items:flex-start; gap:14px; min-width:230px; }
.hero-actions .hero-badge { margin:0; }
.hero-actions small { font-size:11px; max-width:250px; color:var(--muted); }
.handoff-context { padding:20px 24px; margin:0 0 20px; border:1px solid #c7d8b8; border-left:4px solid #6a8c50; border-radius:10px; background:#f0f5e9; }
.handoff-context .eyebrow { margin-bottom:8px; }
.handoff-context strong { display:block; font-size:17px; margin-bottom:8px; }
.handoff-context p { font-size:13px; max-width:900px; margin:0 0 8px; }
.handoff-context small { font-size:11px; color:var(--muted); }
@media(max-width:700px) { .hero-actions { min-width:0; gap:10px; } .handoff-context { padding:18px; } }

/* User reference: cream paper, black outlines, primary color blocks and hard shadows. */
:root {
  --ink:#141414; --muted:#45453f; --paper:#f8f8ef; --surface:#f8f8ef;
  --line:#171717; --green:#ffe500; --green-dark:#171717; --dark:#171717;
  --danger:#a72717; --radius:0px; --yellow:#ffe500; --blue:#3454f5; --orange:#ff741d;
  font-family:Arial,Helvetica,sans-serif;
}
body { background:var(--paper); color:var(--ink); }
h1,h2,h3 { font-weight:800; }
h1 { letter-spacing:-1.8px; }
p { color:var(--muted); }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
input[type="checkbox"] { accent-color:var(--ink); }
.button { border:2px solid var(--ink); border-radius:0; background:var(--paper); color:var(--ink); font-size:13px; font-weight:800; min-height:46px; box-shadow:3px 3px 0 var(--ink); transition:transform .12s,box-shadow .12s; }
.button.primary,.button.lime { background:var(--yellow); color:var(--ink); border-color:var(--ink); }
.button:hover,.button.primary:hover { background:var(--yellow); transform:translate(-1px,-1px); box-shadow:5px 5px 0 var(--ink); }
.button:active { transform:translate(2px,2px); box-shadow:1px 1px 0 var(--ink); }
.button.small { min-height:38px; padding:8px 12px; }
.button.ghost { background:transparent; }
.button:disabled { transform:none; box-shadow:none; }
.app-shell { display:block; min-height:100vh; }
.app-body { min-width:0; }
.site-header { border-bottom:3px solid var(--ink); }
.site-header-inner { max-width:1280px; margin:auto; min-height:84px; padding:18px 50px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.brand { margin:0; color:var(--ink); text-decoration:none; gap:12px; font-size:20px; font-weight:400; letter-spacing:-.4px; }
.brand strong { font-weight:800; }
.brand-mark { width:44px; height:44px; border-radius:10px; background:#141c29; color:var(--paper); }
.brand-mark svg { width:28px; height:28px; }
.site-actions { display:flex; align-items:center; gap:28px; }
.site-actions .button { gap:15px; padding:10px 16px; }
.header-link { border:0; padding:10px 0; color:var(--ink); background:none; font-size:13px; font-weight:700; }
.header-link:hover { text-decoration:underline; text-underline-offset:4px; }
.context-bar { max-width:1180px; margin:0 auto; padding:17px 0 38px; border-bottom:1px solid #c6c6bd; display:flex; justify-content:space-between; align-items:flex-start; gap:22px; font-size:12px; }
.context-bar p { margin:0; color:var(--ink); line-height:1.6; }
.quick-limits { position:relative; flex-shrink:0; max-width:370px; }
.quick-limits summary { cursor:pointer; font-weight:700; min-height:24px; }
.quick-limits>div { position:absolute; top:32px; right:0; z-index:20; width:340px; padding:20px; background:var(--paper); border:2px solid var(--ink); box-shadow:5px 5px 0 var(--ink); }
.quick-limits p { margin:12px 0 0; }
.app-topbar { max-width:1280px; margin:auto; padding:14px 50px; background:transparent; border-bottom:2px solid var(--ink); min-height:68px; }
.app-shell[data-stage="0"] .app-topbar,.app-shell[data-stage="0"] .draft-toolbar { display:none; }
.app-shell:not([data-stage="0"]) .context-bar { display:none; }
.step-nav { display:flex; gap:8px; }
.step-button { width:auto; color:var(--ink); border:1px solid transparent; border-radius:0; padding:7px 10px; gap:8px; background:transparent; min-height:38px; }
.step-button:hover { background:#eeeee3; color:var(--ink); }
.step-button.active { background:var(--yellow); border-color:var(--ink); color:var(--ink); box-shadow:2px 2px 0 var(--ink); }
.step-number,.step-button.active .step-number { background:var(--paper); color:var(--ink); border:1px solid var(--ink); border-radius:0; width:21px; height:21px; }
.breadcrumb strong { font-weight:700; }
.topbar-right { gap:14px; }
.studio-main { max-width:1280px; margin:auto; padding:44px 50px 64px; }
.studio-main.demo-workspace { padding-top:16px; }
.landing-hero { display:grid; grid-template-columns:1.12fr 1fr; align-items:center; gap:64px; padding:0 0 70px; margin:0 0 64px; border-bottom:2px solid var(--ink); }
.reference-tag { display:inline-block; background:var(--yellow); border:2px solid var(--ink); padding:7px 8px; box-shadow:2px 2px 0 var(--ink); font:700 11px/1.3 "Courier New",monospace; letter-spacing:.2px; }
.hero-copy>.reference-tag { margin-bottom:43px; }
.hero-copy h1 { font-size:clamp(44px,4.65vw,66px); line-height:1.05; font-weight:850; letter-spacing:-2.3px; margin:0 0 24px; }
.headline-highlight { display:block; width:fit-content; max-width:100%; padding:5px 8px 8px; margin-top:8px; background:var(--yellow); border:3px solid var(--ink); box-shadow:3px 3px 0 var(--ink); }
.hero-copy>p { font-size:16px; line-height:1.65; max-width:510px; margin-bottom:23px; color:var(--ink); }
.hero-invitation { display:block; font-size:14px; line-height:1.6; margin-bottom:23px; }
.hero-buttons { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:20px; }
.hero-buttons .button { font-size:14px; min-height:50px; gap:22px; padding:12px 16px; }
.hero-copy>p.hero-note { font-size:12px; line-height:1.8; max-width:480px; margin:0 0 12px; }
.hero-copy>small { font-size:12px; display:block; line-height:1.8; }
.hero-art { width:100%; max-width:480px; justify-self:end; position:relative; margin:58px 0 0; min-width:0; }
.art-sticker { position:absolute; right:-3px; top:-40px; z-index:2; padding:13px 16px; background:var(--yellow); border:2px solid var(--ink); box-shadow:4px 4px 0 var(--orange); font:700 12px/1.55 "Courier New",monospace; }
.continuity-graphic { padding:14px; background:var(--blue); border:3px solid var(--ink); box-shadow:5px 5px 0 var(--ink); }
.graphic-title,.graphic-proof { background:var(--paper); border:2px solid var(--ink); display:flex; align-items:center; gap:10px; padding:12px; }
.graphic-title { margin-bottom:10px; min-height:60px; }
.graphic-title>span:last-child { margin-left:auto; font-size:21px; }
.graphic-title strong { display:block; font:700 13px "Courier New",monospace; }
.graphic-title small { display:block; margin-top:4px; font:700 8px "Courier New",monospace; }
.graphic-symbol { width:28px; height:34px; display:grid; place-items:center; background:var(--orange); border:1px solid var(--ink); }
.format-pair { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:10px; }
.format-card { border:2px solid var(--ink); padding:17px 15px; min-width:0; min-height:201px; display:flex; flex-direction:column; align-items:flex-start; color:var(--ink); }
.source-format { background:var(--yellow); }
.app-format { background:var(--orange); }
.format-caption { font:700 10px/1.4 "Courier New",monospace; white-space:nowrap; }
.format-name { font-size:clamp(44px,4.8vw,66px); font-weight:900; line-height:1.1; letter-spacing:-3px; margin:13px 0 3px; }
.format-card>span:last-child { font-size:11px; font-weight:700; line-height:1.5; }
.mini-source { margin-top:22px; height:24px; width:95px; background:var(--ink); display:flex; align-items:center; gap:5px; padding:5px 7px; box-shadow:5px 0 0 var(--paper); }
.mini-source i { width:11px; height:13px; border:1px solid #bcbcb3; }
.mini-application { width:95px; height:24px; border:2px solid var(--ink); margin-top:22px; background:var(--paper); }
.mini-application>i { height:5px; display:block; background:var(--ink); }
.mini-application>div { display:flex; gap:4px; padding:3px; }
.mini-application b { height:9px; width:21px; background:var(--blue); border:1px solid var(--ink); }
.graphic-proof>span { flex-shrink:0; }
.graphic-proof svg { width:25px; height:25px; }
.graphic-proof strong { display:block; font-size:13px; line-height:1.4; }
.graphic-proof small { display:block; font-size:10px; line-height:1.6; margin-top:3px; }
.hero-art figcaption { margin:19px 0 0; font-size:11px; line-height:1.8; text-align:center; }
.section-heading { margin-bottom:27px; }
.section-heading h2 { font-size:30px; margin:24px 0 10px; letter-spacing:-1px; }
.section-heading p { font-size:14px; }
.recovery-tools { scroll-margin-top:24px; }
.upload-card,.panel,.workspace,.promise-card,.source-inspector { border:2px solid var(--ink); border-radius:0; background:var(--paper); box-shadow:4px 4px 0 var(--ink); }
.upload-card,.promise-card { padding:26px; }
.dropzone { background:#fffef5; border:2px dashed var(--ink); border-radius:0; }
.dropzone.dragover { background:var(--yellow); border-style:solid; }
.upload-symbol { background:var(--yellow); border:2px solid var(--ink); border-radius:0; box-shadow:3px 3px 0 var(--ink); }
.promise-card { background:var(--yellow); }
.promise-card p { color:var(--ink); }
.diagram-node { border:1px solid var(--ink); border-radius:0; background:var(--paper); }
.diagram-node.final { background:var(--orange); border-color:var(--ink); }
.diagram-node.final,.diagram-node.final strong,.diagram-node.final small,.diagram-node.final svg { color:var(--ink); }
.promise-foot { border-top-color:var(--ink); color:var(--ink); }
.diagram-connector { border-color:var(--ink); }
.principles { margin-top:35px; }
.principle>svg,.export-detail>svg { color:var(--ink); }
.eyebrow,.mini-label,.step-tag { color:var(--muted); font-family:"Courier New",monospace; }
.code-label { background:var(--yellow); color:var(--ink); border:1px solid var(--ink); }
.evidence-row>svg { color:var(--ink); }
.pill { border:1px solid var(--ink); border-radius:0; background:var(--paper); color:var(--ink); }
.pill.local { background:var(--yellow); color:var(--ink); }
.pill.warn { background:#ffe2cc; color:var(--ink); }
.field input,.field select,.field textarea,.search-field input,.database-picker select { background:#fffef8; border:1px solid var(--ink); border-radius:0; color:var(--ink); }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--ink); }
.stat { border:1px solid var(--ink); border-radius:0; background:var(--yellow); }
.warning-box,.handoff-context { background:#fff5d3; border:1px solid var(--ink); border-radius:0; }
.handoff-context { border-left:7px solid var(--orange); }
.draft-toolbar,.saved-draft { border:1px solid var(--ink); border-radius:0; background:var(--paper); }
.status-banner { border:1px solid var(--ink); border-radius:0; background:var(--yellow); color:var(--ink); }
.status-banner.error { background:#ffe2cc; color:#821c0c; }
.recovery-story { background:var(--yellow); border:2px solid var(--ink); border-radius:0; }
.recovery-outcomes>div { background:var(--paper); border-color:var(--ink); border-radius:0; }
.source-preview pre { background:#efefe3; border:1px solid var(--ink); border-radius:0; color:var(--ink); }
.demo-guide { background:var(--blue); border:2px solid var(--ink); border-radius:0; box-shadow:4px 4px 0 var(--ink); color:white; }
.demo-guide .eyebrow,.demo-guide h2,.demo-guide p { color:white; }
.demo-proof-list li { border-color:#ffffff80; }
.demo-proof-list .proof-number { border-color:white; border-radius:0; color:white; }
.demo-proof-list li[data-complete="true"] .proof-number { background:var(--yellow); color:var(--ink); border-color:var(--ink); }
.demo-guide .button,.demo-guide .button:hover,#jump-rule { background:var(--yellow); border:2px solid var(--ink); color:var(--ink); }
.workspace { overflow:hidden; }
.workspace-header { background:var(--paper); }
.workspace-overview { border-color:var(--ink); }
.rule-summary { border-color:var(--ink); }
.view-tab { border-radius:0; color:var(--ink); }
.view-tab.active { background:var(--yellow); color:var(--ink); border-color:var(--ink); }
.tab-count { background:var(--ink); color:var(--yellow); border-radius:0; }
.search-field { border:1px solid var(--ink); border-radius:0; background:var(--paper); }
.search-field input { border:0; }
.board-column { background:#efefe3; border:1px solid var(--ink); border-radius:0; }
.column-heading { border-bottom:1px solid var(--ink); background:var(--yellow); padding:12px; }
.board-column:nth-child(2) .column-heading { background:#ffd8bd; }
.board-column:nth-child(3) .column-heading { background:#dde2ff; }
.project-card,.document-card { border:1px solid var(--ink); border-radius:0; background:#fffef8; box-shadow:2px 2px 0 var(--ink); }
.project-card:hover,.document-card:hover { border-color:var(--ink); background:#fff8c7; }
.card-summary,.card-client,.card-bottom,.page-body p { color:var(--muted); }
.task-row { border:1px solid var(--ink); border-radius:0; background:#fffef8; }
.workspace-footer { border-color:var(--ink); }
.page-dialog,.integration-dialog { border:2px solid var(--ink); border-radius:0; background:var(--paper); box-shadow:7px 7px 0 var(--ink); }
.page-dialog::backdrop,.integration-dialog::backdrop { backdrop-filter:none; background:#14141470; }
.icon-button { border-radius:0; border:1px solid var(--ink); }
.icon-button:hover { background:var(--yellow); }
.property-list,.page-dialog .checklist { border:1px solid var(--ink); border-radius:0; background:#eeeee3; }
.property-list select { border-radius:0; border-color:var(--ink); }
.dialog-message { background:var(--yellow); color:var(--ink); border:1px solid var(--ink); border-radius:0; }
.dialog-message.error { background:#ffe2cc; border-color:#821c0c; color:#821c0c; }
.handoff-receipt { border-color:var(--ink); }
.handoff-receipt .eyebrow,.text-link { color:var(--ink); }
.attachment { border-radius:0; border-color:var(--ink); background:var(--paper); }
.export-visual { border:2px solid var(--ink); border-radius:0; background:var(--blue); color:white; }
.export-visual p,.export-visual .eyebrow { color:white; }
.package-receipt { border:2px solid var(--ink); border-radius:0; background:var(--yellow); }
.offline-instructions li::before,.receipt-mark { border-radius:0; border-color:var(--ink); }
@media(min-width:1281px) { .context-bar { max-width:1180px; } }
@media(max-width:1280px) { .context-bar { margin-left:50px; margin-right:50px; } }
@media(max-width:1050px) {
  .landing-hero { gap:36px; }
  .hero-copy h1 { font-size:49px; }
  .hero-buttons { gap:12px; }
  .hero-buttons .button { gap:12px; padding:11px 13px; font-size:12px; }
  .format-card { padding:16px 11px; }
  .format-caption { font-size:9px; }
  .format-name { font-size:51px; }
  .format-card>span:last-child { font-size:10px; }
  .app-topbar .breadcrumb { display:none; }
}
@media(max-width:800px) {
  .site-header-inner { padding:18px 26px; }
  .context-bar { margin:0 26px; padding-bottom:24px; }
  .studio-main { padding:36px 26px 48px; }
  .landing-hero { grid-template-columns:1fr; gap:54px; }
  .hero-copy { max-width:610px; }
  .hero-copy h1 { font-size:58px; }
  .headline-highlight { max-width:530px; }
  .hero-art { justify-self:center; margin-top:12px; max-width:480px; }
  .format-name { font-size:66px; }
  .format-caption { font-size:10px; }
  .format-card>span:last-child { font-size:12px; }
  .app-topbar { padding:12px 26px; }
  .hero-buttons .button { font-size:14px; }
}
@media(max-width:520px) {
  .site-header-inner { min-height:76px; padding:16px 20px; gap:16px; }
  .brand { font-size:18px; gap:9px; }
  .brand-mark { width:37px; height:37px; border-radius:8px; }
  .brand-mark svg { width:25px; height:25px; }
  .site-actions { gap:12px; }
  .site-actions .header-link { display:none; }
  .site-actions .button { font-size:12px; min-height:42px; padding:9px 10px; gap:10px; }
  .context-bar { flex-direction:column; margin:0 20px; padding:14px 0 20px; gap:9px; font-size:11px; }
  .quick-limits { width:100%; max-width:none; }
  .quick-limits>div { left:0; right:auto; width:100%; max-width:350px; }
  .studio-main { padding:32px 20px 44px; }
  .hero-copy>.reference-tag { margin-bottom:32px; font-size:9px; }
  .hero-copy h1 { font-size:42px; letter-spacing:-1.8px; }
  .hero-copy>p { font-size:15px; }
  .headline-highlight { padding:6px; }
  .hero-invitation { font-size:13px; }
  .hero-buttons { gap:12px; }
  .hero-buttons .button { width:100%; justify-content:space-between; font-size:14px; }
  .hero-copy>p.hero-note,.hero-copy>small { font-size:11px; }
  .landing-hero { padding-bottom:40px; margin-bottom:40px; gap:58px; }
  .hero-art { margin-top:0; }
  .art-sticker { top:-34px; right:0; font-size:10px; padding:10px 12px; }
  .continuity-graphic { padding:10px; box-shadow:4px 4px 0 var(--ink); }
  .graphic-title { padding:10px 8px; }
  .graphic-title strong { font-size:10px; }
  .graphic-title small { font-size:7px; }
  .format-card { padding:15px 10px; min-height:180px; }
  .format-caption { font-size:8px; white-space:normal; }
  .format-name { font-size:clamp(32px,10.8vw,45px); letter-spacing:-2px; }
  .format-card>span:last-child { font-size:9px; }
  .mini-source,.mini-application { width:78px; }
  .graphic-proof { padding:10px 8px; gap:8px; }
  .graphic-proof strong { font-size:11px; }
  .graphic-proof small { font-size:9px; }
  .hero-art figcaption { font-size:10px; }
  .app-topbar { padding:12px 20px; display:block; }
  .step-nav { display:grid; grid-template-columns:repeat(4,1fr); gap:4px; }
  .step-button { justify-content:center; padding:7px 3px; font-size:10px; gap:5px; }
  .step-number,.step-button.active .step-number { width:18px; height:18px; font-size:9px; }
  .app-topbar .topbar-right { display:none; }
  .intro-row h1 { font-size:33px; }
  .section-heading h2 { font-size:27px; }
  .upload-card,.panel,.promise-card { padding:18px; }
  .demo-active[data-stage="2"] .demo-guide { padding:16px; }
}
@media(max-width:360px) { .step-number,.step-button.active .step-number { display:none; } }

/* Contextual rule preview and recoverable search across workspace views. */
.followup-preview { border:2px solid var(--ink); border-left:7px solid var(--blue); padding:14px; margin:-4px 0 18px; background:var(--paper); overflow-wrap:anywhere; }
.followup-preview .eyebrow { margin-bottom:7px; }
.followup-preview p { color:var(--ink); margin:0 0 7px; font-weight:700; }
.followup-preview small { line-height:1.5; display:block; }
.search-control { position:relative; min-width:220px; max-width:100%; }
.search-control .search-field { width:100%; min-height:44px; padding-right:48px; }
.search-control input { min-width:0; width:100%; }
.search-control input::-webkit-search-cancel-button { -webkit-appearance:none; }
.search-control .icon-button { position:absolute; top:0; right:0; width:44px; height:44px; border:0; box-shadow:none; background:transparent; }
.search-summary { padding:0 0 12px; font-size:13px; color:var(--ink); overflow-wrap:anywhere; margin:0; }
.search-empty { border:2px dashed var(--ink); padding:34px 20px; background:var(--paper); }
.search-empty .button { margin-top:8px; }
@media(max-width:800px) { .search-control { width:100%; min-width:0; } }

.task-row input:checked + span > strong { text-decoration:line-through; text-decoration-thickness:1px; }
.demo-active[data-stage="2"] .workspace-toolbar { padding-top:10px; padding-bottom:10px; }

/* Review the AI contribution and each task before activating a shared rule. */
.meta-decision { border:2px solid var(--ink); background:var(--yellow); padding:24px; margin:0 0 24px; display:flex; flex-wrap:wrap; gap:20px; align-items:center; }
.meta-decision>div:first-child { flex:1; min-width:240px; }
.meta-decision h2 { font-size:26px; margin:8px 0; }
.meta-decision p { max-width:720px; line-height:1.6; margin:8px 0 0; }
.meta-decision .button.primary { background:var(--ink); color:var(--paper); }
.decision-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; width:100%; }
.decision-columns>div { padding:16px; background:var(--paper); border:1px solid var(--ink); overflow-wrap:anywhere; }
.decision-columns strong { display:block; margin:10px 0; }
.decision-columns p { font-size:12px; }
.followup-examples { list-style:none; padding:0; margin:12px 0; }
.followup-examples li { border-top:1px solid var(--line); padding:12px 0; }
.followup-examples strong { font-size:11px; display:block; margin-bottom:5px; }
.followup-examples p { font-size:12px; margin:0; font-weight:400; }
.followup-preview.needs-correction { border-left-color:#a42c0c; background:#fff0df; }
.rule-issue { color:#7d2108; }
.meta-example-button { margin-top:14px; }
@media(max-width:800px) { .decision-columns { grid-template-columns:1fr; } .meta-decision { padding:18px; } .meta-decision>div:first-child { min-width:0; } }

.checklist-warning { border-left:4px solid #a42c0c; padding:12px; background:#fff0df; color:#7d2108; font-size:12px; line-height:1.6; }

/* A reconstructed process has related work and actions, rather than a flat board. */
.hero-buttons { flex-wrap:wrap; }
#linked-process-demo { flex-basis:100%; justify-content:center; }
.process-input { margin:0 0 24px; border-left:7px solid var(--blue); }
.process-input summary,.process-observations summary { font-weight:750; cursor:pointer; }
.process-input p,.process-policy p { line-height:1.65; }
.process-observations { margin-bottom:24px; }
.observation-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:18px; }
.observation-strip figure { margin:0; min-width:0; }
.observation-strip img { width:100%; border:1px solid var(--ink); display:block; }
.observation-strip figcaption { padding-top:8px; font-size:11px; }
.process-review-grid>div { display:grid; gap:20px; align-content:start; min-width:0; }
.process-binding-list>div { border-top:1px solid var(--line); padding:16px 0; }
.process-binding-list>div>strong { font-size:16px; }
.process-binding-list ul { margin:10px 0 0; padding-left:20px; line-height:1.8; }
.process-proposed-actions h2 { font-size:20px; margin:0 0 12px; }
.process-proposed-actions article { padding:18px 0; border-top:1px solid var(--line); }
.process-proposed-actions article strong { display:block; margin-top:7px; }
.process-proposed-actions article p { margin:8px 0; line-height:1.6; }
.process-proposed-actions article small { overflow-wrap:anywhere; }
.process-policy { position:sticky; top:20px; align-self:start; }
.process-policy h2 { font-size:27px; margin-top:22px; }
.process-task-examples { display:grid; gap:12px; padding:18px 0; }
.process-task-examples>div { padding:12px; background:var(--paper); border:1px solid var(--ink); overflow-wrap:anywhere; }
.process-task-examples p { margin:6px 0 0; font-size:12px; }
.process-policy .checkbox-row { margin:20px 0; }
.process-policy>#open-process { width:100%; justify-content:center; }
.process-route { display:flex; flex-wrap:wrap; align-items:center; gap:12px; background:var(--blue); color:white; padding:18px 28px; font-size:12px; }
.process-route svg { width:20px; height:20px; }
.process-route strong { color:var(--ink); background:var(--yellow); padding:7px 12px; }
.deployment-banner { padding:12px 24px; border-bottom:1px solid var(--ink); background:#fff0cc; color:var(--ink); font:12px/1.7 Arial,sans-serif; overflow-wrap:anywhere; text-align:center; }
.process-tabs { padding:18px 28px; border-bottom:1px solid var(--ink); flex-wrap:wrap; }
.process-navigation { display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid var(--ink); padding-right:28px; }
.process-navigation .process-tabs { border:0; min-width:0; }
.process-navigation>[data-new-project] { flex-shrink:0; }
.process-add-item { padding:16px 24px; border-top:1px solid var(--line); display:flex; align-items:center; gap:18px; }
.process-add-item .button { flex-shrink:0; }
.process-add-item p { font-size:12px; line-height:1.6; margin:0; }
.record-form h2 { font-size:28px; margin:16px 0; }
.record-form>p { font-size:13px; line-height:1.65; }
.record-form input,.record-form select { min-height:44px; }
.record-form textarea { resize:vertical; }
.record-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; }
.record-form-actions { padding-top:16px; border-top:1px solid var(--line); }
.record-parent { display:grid; gap:8px; padding:16px; margin:18px 0; border:1px solid var(--ink); background:var(--yellow); overflow-wrap:anywhere; }
.record-parent small { font-size:11px; }
.record-state { padding:12px; background:var(--paper); border-left:3px solid var(--blue); }
.record-error { color:#9c2909; background:#fff0e8; border:1px solid #be674b; padding:12px; overflow-wrap:anywhere; }
.process-detail-heading>.button-row { flex-wrap:wrap; justify-content:flex-end; max-width:100%; }
.process-detail-heading>div { min-width:0; }
.process-detail-heading h2 { overflow-wrap:anywhere; }
.handoff-eligibility { border-left:5px solid #b34512; background:#ffe5cd; padding:16px; font-size:13px; margin:20px 0; }
.handoff-eligibility.ready { background:var(--yellow); border-color:var(--ink); }
.handoff-summary { padding:20px; border:2px solid var(--ink); margin:20px 0; overflow-wrap:anywhere; }
.handoff-summary h3 { font-size:24px; margin:10px 0; }
.handoff-summary p { font-size:12px; line-height:1.6; }
.handoff-summary ul { list-style:none; padding:0; margin-bottom:0; }
.handoff-summary li { border-top:1px solid var(--line); padding:12px 0; display:flex; justify-content:space-between; gap:15px; font-size:13px; }
.handoff-summary li span { text-align:right; }
.handoff-choices { min-width:0; border:1px solid var(--line); padding:16px; }
.handoff-choices legend { font-weight:700; font-size:14px; padding:0 6px; }
.handoff-choices .checkbox-row { font-size:13px; align-items:start; }
.handoff-choices .checkbox-row input { flex-shrink:0; }
.handoff-choices span { overflow-wrap:anywhere; min-width:0; }
.handoff-choices small { display:block; margin-top:5px; font-size:11px; }
.handoff-assets { border-top:1px solid var(--line); padding-top:10px; }
.handoff-assets>p { font-size:13px; }
.handoff-note-review { margin-top:20px; }
.handoff-note-review pre { white-space:pre-wrap; overflow-wrap:anywhere; max-height:260px; overflow:auto; border:1px solid var(--line); padding:12px; font:12px/1.7 monospace; }
.handoff-disclosure { background:var(--paper); border:1px solid var(--ink); padding:14px; font-size:12px; line-height:1.7; }
.page-dialog.handoff-dialog[open] { display:flex; flex-direction:column; padding:0; overflow:hidden; }
.handoff-scroll { min-height:0; overflow:auto; padding:28px; }
.handoff-scroll>p { font-size:13px; line-height:1.7; }
.handoff-bottom { flex-shrink:0; padding:16px 28px; border-top:2px solid var(--ink); background:var(--paper); }
.handoff-bottom .review-footer { margin-bottom:0; }
.handoff-actions { padding:0; flex-wrap:wrap; }
.handoff-actions .button { min-height:44px; }
@media(max-width:700px){.handoff-actions .button{flex-grow:1}.handoff-summary li{flex-direction:column;gap:5px}.handoff-summary li span{text-align:left}.handoff-scroll{padding:20px}.handoff-bottom{padding:14px 20px}}
@media(max-width:700px){.process-navigation{padding-right:18px;gap:8px;flex-wrap:wrap}.process-navigation>[data-new-project]{margin:0 0 16px 18px}.process-add-item{align-items:start;flex-direction:column;padding:18px}.record-field-grid{grid-template-columns:1fr}.process-detail-heading>.button-row{flex-wrap:wrap}.record-form-actions .button{flex-grow:1}}
@media(min-width:1000px){
  .process-workspace { padding-top:24px; }
  .process-workspace .draft-toolbar { padding:10px 16px; margin-bottom:20px; }
  .process-workspace .intro-row { margin-bottom:22px; align-items:center; }
  .process-workspace .intro-row h1 { font-size:30px; margin:8px 0; }
  .process-workspace .intro-row p { font-size:12px; line-height:1.5; margin-bottom:0; }
  .linked-workspace .workspace-header { padding:18px 28px; }
  .linked-workspace .workspace-header h2 { font-size:24px; margin:8px 0; }
  .linked-workspace .workspace-overview { padding-top:14px; padding-bottom:14px; }
  .linked-workspace .process-tabs { padding-top:12px; padding-bottom:12px; }
}
.process-layout { display:grid; grid-template-columns:minmax(200px,260px) minmax(0,1fr); gap:22px; padding-top:24px; }
.process-projects { min-width:0; }
.process-projects .field { font-size:11px; }
.process-project { display:block; width:100%; text-align:left; padding:16px; border:1px solid var(--ink); background:var(--paper); color:var(--ink); margin:0 0 12px; cursor:pointer; }
.process-project.selected { background:var(--yellow); box-shadow:3px 3px 0 var(--ink); }
.process-project small,.process-project strong,.process-project span { display:block; overflow-wrap:anywhere; }
.process-project strong { font-size:16px; margin:9px 0; }
.process-project small,.process-project span { font-size:11px; }
.process-detail { border:2px solid var(--ink); min-width:0; background:#fffef8; }
.process-detail-heading { padding:24px; display:flex; justify-content:space-between; align-items:start; gap:18px; }
.process-detail-heading h2 { font-size:26px; margin:9px 0; }
.process-detail-heading p { margin:0; font-size:12px; }
.process-detail-heading .button { flex-shrink:0; }
.process-readiness { margin:0 24px 20px; padding:16px; border:1px solid var(--ink); }
.process-readiness.blocked { background:#ffe5cd; border-left:6px solid #b34512; }
.process-readiness.ready { background:var(--yellow); border-left:6px solid var(--ink); }
.process-readiness p { margin:7px 0 0; line-height:1.65; font-size:12px; }
.linked-items { padding:0 24px; }
.linked-item { padding:20px 0; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:20px; }
.linked-item h3 { margin:8px 0; font-size:19px; }
.linked-item .button-row { flex-shrink:0; gap:8px; }
.linked-item .button { padding:9px 12px; font-size:11px; min-height:44px; }
.linked-item .text-link { font-size:11px; display:inline-flex; gap:7px; align-items:center; }
.process-handover { margin-top:14px; border-top:2px solid var(--ink); padding:20px 24px; background:var(--paper); display:flex; align-items:center; gap:20px; justify-content:space-between; }
.process-handover p { font-size:11px; line-height:1.65; margin:7px 0 0; }
.process-handover .button { flex-shrink:0; }
.process-properties>div { display:grid; grid-template-columns:130px minmax(0,1fr); gap:18px; padding:10px; border-bottom:1px solid var(--line); }
.process-properties dt { font-size:12px; }
.process-properties dd { margin:0; font-weight:650; overflow-wrap:anywhere; }
.process-source-text { white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; padding:16px; border:1px solid var(--line); }
@media(max-width:1050px){.linked-item{align-items:start;flex-direction:column}.process-detail-heading{flex-direction:column}.process-handover{align-items:stretch;flex-direction:column}.process-handover .button{justify-content:center}}
@media(max-width:800px){.process-layout{grid-template-columns:1fr}.process-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.process-projects .field{grid-column:1/-1;margin-bottom:0}.process-project{margin:0}.process-policy{position:static}.observation-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.process-route{padding:18px}.process-tabs{padding:16px 18px}.process-detail-heading{padding:18px}.process-readiness{margin:0 18px 18px}.linked-items{padding:0 18px}.process-handover{padding:18px}}
@media(max-width:480px){.process-projects{grid-template-columns:1fr}.process-detail-heading h2{font-size:24px}.linked-item .button-row{flex-wrap:wrap}.linked-item .button{flex-grow:1}.process-route{gap:8px;font-size:10px}.process-route svg{width:14px}.process-properties>div{grid-template-columns:1fr;gap:5px}}

.hosted-ai-allowance { border:2px solid var(--ink); background:var(--paper); padding:16px 20px; margin:0 0 24px; box-shadow:3px 3px 0 var(--ink); overflow-wrap:anywhere; }
.hosted-ai-allowance strong { font-size:16px; }
.hosted-ai-allowance p { margin:6px 0; font-size:13px; }
.hosted-ai-allowance small { display:block; font-size:11px; line-height:1.6; }
