/* Brain — an intentionally quiet, locally served interface. */
:root{--paper:#f6f5ef;--surface:#fffefa;--ink:#263a33;--muted:#728078;--line:#e2e6dc;--forest:#183d34;--green:#477963;--lime:#dce8a6;--warm:#f3eee2;--danger:#a14a34;--shadow:0 3px 18px #253a2810;--radius:15px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.65}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:var(--forest);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}button{cursor:pointer}img{max-width:100%}svg{vertical-align:middle;flex-shrink:0}.icon{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,h4,p{margin-top:0}h1,h2{line-height:1.15;letter-spacing:-.04em}h1{font-size:clamp(29px,3vw,44px);font-weight:560;margin-bottom:14px}h2{font-size:23px;font-weight:550;margin-bottom:18px}h3{font-size:16px;line-height:1.45;font-weight:650;margin-bottom:12px}h4{font-size:13px;margin-top:22px}p{margin-bottom:16px}small{font-size:12px}strong{font-weight:620}::selection{background:#dce8a6;color:#183d34}:focus-visible{outline:3px solid #a2b652;outline-offset:4px;border-radius:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:white;padding:12px}.skip-link:focus{top:10px}
.sidebar{width:236px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:25px 19px 16px;background:var(--forest);color:#e9eee7;z-index:30;overflow-y:auto}.brand{display:flex;align-items:center;gap:11px;color:inherit;font-size:35px;letter-spacing:-2px;line-height:1;font-weight:700;margin:2px 10px 27px}.brand:hover{text-decoration:none}.brand img{border-radius:11px}.brand-dot{color:var(--lime)}.workspace-label{font-size:9px;letter-spacing:1.8px;font-weight:650;opacity:.43;padding-left:16px;margin-bottom:9px}.nav-link{position:relative;display:flex;align-items:center;gap:12px;border-radius:9px;padding:8px 14px;color:#afc1b6;margin:2px 0;font-size:13px;font-weight:480;min-height:39px}.nav-link:hover{background:#ffffff08;color:white;text-decoration:none}.nav-link.active{background:#2a5145;color:#f2f3d4}.nav-link.active:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;background:var(--lime);border-radius:3px}.nav-count{margin-left:auto;min-width:22px;font-size:10px;background:#ffffff14;color:#e1e9b6;padding:1px 6px;border-radius:5px;text-align:center}.sidebar-group{margin:1px 0}.sidebar-group>summary{list-style:none;cursor:pointer}.sidebar-group>summary::-webkit-details-marker{display:none}.sidebar-chevron{width:7px;height:7px;margin-left:auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .15s}.sidebar-group[open] .sidebar-chevron{transform:rotate(225deg)}.sidebar-subnav{display:grid;grid-template-columns:1fr 1fr;gap:2px 7px;margin:2px 10px 6px 42px}.sidebar-subnav a{padding:5px 0;color:#9fb3a7;font-size:11px;line-height:1.35}.sidebar-subnav a:hover,.sidebar-subnav a.active{color:#f2f3d4}.sidebar-subnav a.active{font-weight:650}.sidebar-manage{border-top:1px solid #ffffff10;margin-top:7px;padding-top:7px}.sidebar-footer{padding-top:14px;margin-top:auto}.profile{display:flex;align-items:center;gap:9px;font-size:12px;line-height:1.5;color:#e0e8df;border-top:1px solid #ffffff12;padding-top:14px}.profile small{display:block;font-size:9px;color:#8ca594}.profile>.icon{margin-left:auto;width:16px}.avatar{height:32px;width:32px;border-radius:10px;display:grid;place-items:center;background:#d4debf;color:var(--forest);font-weight:700}.app-shell{margin-left:236px;min-width:0}.topbar{height:79px;padding:0 44px;display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--line);background:#fbfaf5}.breadcrumb{font-size:11px;color:#55635b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.breadcrumb span{opacity:.35;padding:0 12px}.global-search{margin-left:auto;display:flex;align-items:center;gap:10px;color:#9da69c;min-width:160px}.global-search input{padding:8px 0;background:transparent;border:none;min-width:0;width:180px;font-size:11px;outline-offset:0}.global-search .icon{width:16px}.global-search kbd{font-family:inherit;font-size:11px;border:1px solid var(--line);width:20px;text-align:center;border-radius:4px;background:#fffdfa}.main{max-width:1540px;margin:auto;padding:40px 44px 64px}.guest{margin-left:0}.guest .main{max-width:1200px}.mobile-menu,.mobile-nav{display:none}
.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:41px;border:1px solid #dce1d5;border-radius:8px;background:#fffefb;color:var(--forest);padding:9px 15px;font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap;transition:background .15s,transform .15s}.button:hover{text-decoration:none;background:#eef1e6;border-color:#c6d0bf}.button:active{transform:translateY(1px)}.button.primary{background:var(--forest);border-color:var(--forest);color:#f6f5e9}.button.primary:hover{background:#295343}.button.light{background:#e8edc0;border:none;color:var(--forest)}.button.danger{background:var(--danger);color:white;border-color:var(--danger)}.button.compact{min-height:35px;padding:6px 13px;font-size:11px}.button.small{min-height:34px;padding:6px 11px;font-size:11px}.button.full{width:100%;margin-top:9px}.icon-button{border:0;background:transparent;min-height:40px;min-width:40px;color:var(--ink)}.text-link{font-weight:600;font-size:12px}.text-button{border:0;background:none;color:var(--forest);font-size:12px;padding:8px 0;text-decoration:underline;text-underline-offset:3px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.muted{color:var(--muted)}.small{font-size:11px}.warning-text{color:var(--danger)!important}.break-word{overflow-wrap:anywhere}.heading-dot{color:#7c9256}.eyebrow{font-size:10px;letter-spacing:1.7px;text-transform:uppercase;font-weight:650;color:#849177;display:block;margin-bottom:13px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:29px}.page-heading p{color:var(--muted);font-size:13px;margin-bottom:0;max-width:680px}.dashboard-heading{margin-bottom:32px}.back-link{font-size:12px;color:var(--muted);display:inline-block;margin-bottom:25px}.panel{background:var(--surface);padding:27px;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:22px;box-shadow:0 2px 6px #263a3303;min-width:0}.panel.tint{background:#ecefdf;border-color:#e2e6d2}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.section-heading h2,.section-heading h3{margin:0}.section-heading .eyebrow{margin-bottom:9px}.section-note{font-size:11px;color:var(--muted);margin-top:0;margin-bottom:18px}.empty{text-align:center;padding:46px 25px;color:var(--muted);grid-column:1/-1}.empty h2,.empty h3{color:var(--ink);margin-bottom:10px}.empty p{max-width:540px;margin:0 auto 18px}.empty.compact{padding:25px 18px}.narrow{max-width:650px;margin-left:auto;margin-right:auto}.welcome{padding:35px;background:#ebefdf}.welcome h2{font-size:28px}.welcome p{max-width:610px;color:var(--muted)}
.context-bar{display:flex;align-items:center;gap:9px;background:#edeee5;border:1px solid #e1e4d6;border-radius:10px;padding:11px 14px;margin-bottom:24px;flex-wrap:wrap}.context-intro{display:flex;align-items:center;gap:8px;padding-right:9px;font-size:11px;white-space:nowrap}.context-intro .icon{width:17px;color:#819375}.context-bar select{background:#fffdf7;font-size:11px;padding:7px 26px 7px 10px;width:auto;min-height:34px;border:1px solid #e0e3d7;border-radius:6px;flex:1}.context-bar .button{font-size:10px;min-height:34px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:18px 21px;display:flex;flex-direction:column}.stat>span{font-size:11px;color:#718072;margin-bottom:5px}.stat strong{font-size:33px;letter-spacing:-1.7px;line-height:1.4;font-weight:520}.stat small{font-size:10px;color:#98a18e;margin-top:1px}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);gap:22px;margin-bottom:26px}.dashboard-columns>.panel{margin-bottom:0}.focus-panel{padding:27px 25px 20px}.task-row{display:flex;gap:13px;align-items:center;padding:19px 0;border-bottom:1px solid #e9ebe2}.task-row:last-child{border-bottom:none}.task-check-form{margin:0}.task-check{background:transparent;color:#66815b;border:1.5px solid #c6d0ba;min-width:21px;height:21px;border-radius:6px;padding:0;font-size:13px;display:grid;place-items:center;position:relative}.task-check:after{content:"";position:absolute;inset:-10px}.task-check:hover{background:var(--lime)}.task-content{min-width:0;flex:1}.task-content>a,.task-content>strong{display:block;font-size:12px;font-weight:600;line-height:1.5}.task-meta{display:flex;gap:10px;font-size:10px;color:#8d9888;margin-top:6px;flex-wrap:wrap}.task-meta span+span:before{content:"·";padding-right:10px;color:#a7b09b}.priority-dot{height:7px;width:7px;border-radius:50%;margin-left:7px;background:#c5cdbd;flex-shrink:0}.priority-1{background:#c1a26e}.priority-2{background:#85a079}.priority-3{background:#bec8b6}.is-done .task-content>a{text-decoration:line-through;color:var(--muted)}.capture-card{background:#274f41;color:#e7eedc;position:relative;overflow:hidden;border-radius:var(--radius);padding:30px;min-height:295px;display:flex;flex-direction:column;align-items:flex-start}.capture-card:after{content:"";position:absolute;width:240px;height:240px;border:1px solid #adc69618;border-radius:50%;right:-125px;top:35px;box-shadow:0 0 0 24px #adc69608,0 0 0 48px #adc69604}.capture-card .eyebrow{color:#adc296;font-size:9px;margin-bottom:17px}.capture-card h2{font-family:Georgia,"Times New Roman",serif;font-size:32px;font-weight:400;letter-spacing:-.8px;margin-bottom:13px}.capture-card p{color:#b1c3aa;font-size:11px;max-width:230px;margin-bottom:18px}.capture-card small{color:#96ad8e;font-size:9px;margin-top:15px}.capture-card .button{position:relative;z-index:1;font-size:11px}.capture-card .button span{padding-left:20px}.capture-graphic{position:absolute;right:23px;top:25px;border:1px solid #a3bc8640;width:37px;height:37px;border-radius:12px;display:grid;place-items:center;color:#c3d99e;font-size:20px}
.project-section{margin:33px 0}.project-section>.section-heading{margin-bottom:21px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.project-card{display:flex;flex-direction:column;border:1px solid #e0e4d8;background:var(--surface);border-radius:12px;padding:21px;transition:transform .15s,box-shadow .15s;min-height:232px;min-width:0}.project-card:hover{text-decoration:none;transform:translateY(-3px);box-shadow:var(--shadow);border-color:#c7d2be}.project-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:21px}.project-glyph{width:34px;height:34px;border-radius:10px;background:#eaf0de;color:#6d8c58;display:grid;place-items:center}.kind-software .project-glyph{color:#657b88;background:#e8eeed}.kind-maker .project-glyph{color:#a0805b;background:#f3ece0}.kind-art .project-glyph{color:#96728a;background:#eee8ed}.kind-research .project-glyph{color:#78789a;background:#eaeaf2}.project-card h3{font-size:14px;margin-bottom:8px;overflow-wrap:anywhere}.project-card p{font-size:11px;color:#84907f;line-height:1.75;margin-bottom:22px}.project-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:#9ba391;padding-top:13px;border-top:1px solid #eceee4;margin-top:auto}.project-card-bottom span:first-child{display:flex;gap:6px;align-items:center}.project-card-bottom .icon{width:13px;height:13px}.badge{display:inline-block;padding:3px 8px;font-size:9px;font-weight:550;border:1px solid #e1e6d7;color:#76856a;background:#f2f5e9;border-radius:5px;line-height:1.6;white-space:normal}.status-active{color:#567a4e;background:#ecf2e6;border-color:#dfe7d4}.status-ready,.status-waiting,.type-idea{color:#9c8557;background:#f5f0e3;border-color:#ece2c7}.status-monitoring,.type-observation{color:#688090;background:#eaf0f1;border-color:#dce5e8}.status-dormant{color:#8b8494;background:#f1eef4;border-color:#e6e0ec}.status-completed{color:#71816c;background:#e9efe4}.entry-line{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #eceee4;font-size:12px}.entry-line:last-child{border-bottom:0}.entry-line>div{flex:1;min-width:0}.entry-line>span:last-child{color:#9ba58e;margin-left:auto}.entry-line strong{font-size:12px;display:block;overflow-wrap:anywhere}.entry-line small{display:block;color:#94a08b;font-size:10px;margin-top:3px}.entry-icon{color:#8da176;background:#f1f4e9;padding:7px;border-radius:8px}.entry-icon .icon{width:15px;height:15px}.lower-columns{grid-template-columns:1.3fr 1fr}.lower-columns .panel{padding:24px}.lower-columns h2{font-size:19px}
.filters{display:flex;align-items:center;gap:10px;margin:20px 0 25px}.filters.wrap{flex-wrap:wrap}.filters>input{flex:1;min-width:160px}.filters>select{width:auto;min-width:140px;max-width:220px}.filters input[type=number]{min-width:120px;max-width:150px}.filters .inline-checkbox{margin:0;font-size:11px}.tabs{display:flex;gap:25px;overflow-x:auto;border-bottom:1px solid var(--line);margin:22px 0 30px}.tabs a{padding:11px 1px;color:var(--muted);font-size:13px;white-space:nowrap;border-bottom:2px solid transparent}.tabs a.selected{color:var(--forest);border-bottom-color:var(--forest);font-weight:600}.detail-columns{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(270px,1fr);gap:24px}.detail-columns>div,.detail-columns>aside{min-width:0}.fact-list{display:grid;grid-template-columns:1fr 1.1fr;gap:12px 10px;font-size:12px}.fact-list dt{color:var(--muted)}.fact-list dd{margin:0;word-break:break-word}.stream-list{list-style:none;padding:0;counter-reset:stream}.stream-list li{counter-increment:stream;display:flex;gap:12px;align-items:center;padding:9px 0;font-size:12px}.stream-list li:before{content:counter(stream,decimal-leading-zero);color:#9caa8b;font-size:10px}.prose{font-size:14px;line-height:1.8;overflow-wrap:anywhere}.prose h1{font-size:30px}.prose h2{font-size:23px;margin-top:25px}.prose h3{margin-top:24px}.prose h2:first-child,.prose h3:first-child{margin-top:0}.prose a{text-decoration:underline}.prose pre{background:#eef0e6;overflow:auto;white-space:pre;padding:18px;border-radius:9px;max-width:100%;font-size:12px}.prose code{font-family:ui-monospace,monospace;font-size:12px;background:#eef0e6;padding:2px 5px;border-radius:4px}.prose pre code{padding:0}.prose blockquote{border-left:3px solid #bacb9d;padding-left:17px;margin-left:0;color:var(--muted)}.prose table{display:block;overflow-x:auto}.document{min-height:250px}.kanban{display:grid;grid-template-columns:repeat(5,minmax(200px,1fr));gap:14px;overflow-x:auto;padding-bottom:20px}.kanban-column{background:#eeefe6;border:1px solid #e2e5d8;padding:13px;border-radius:11px;min-height:200px}.kanban-column>h3{font-size:12px;display:flex;justify-content:space-between;padding:5px}.kanban-column>h3 span{color:#9baa8b}.kanban-card{background:var(--surface);border:1px solid var(--line);padding:14px;border-radius:9px;margin-bottom:10px;font-size:12px;overflow-wrap:anywhere}.kanban-card>small{font-size:10px;color:var(--muted);display:block;margin-top:9px}.kanban-card .inline-status{display:flex;gap:5px;margin-top:13px}.inline-status select{min-width:0;font-size:10px;padding:5px;min-height:30px}.inline-status .button{min-height:30px;font-size:10px;padding:5px}.knowledge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.note-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px;display:flex;flex-direction:column;min-height:220px;transition:border-color .2s,box-shadow .2s;min-width:0}.note-card:hover{border-color:#bdc9ae;text-decoration:none;box-shadow:var(--shadow)}.note-card h3{margin:16px 0 10px;overflow-wrap:anywhere}.note-card p{font-size:12px;color:var(--muted);white-space:pre-line;overflow-wrap:anywhere}.note-card>small{color:var(--muted);font-size:10px;margin-top:auto}.note-footer{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#9aa38d;margin-top:auto}.note-card .tags{margin-top:9px}.tags{font-size:11px;color:#879775}.inbox-dot{width:7px;height:7px;border-radius:50%;background:#b9a269;margin-left:auto}.task-list-panel{padding:9px 26px}.task-list-panel .task-row{padding:18px 0}.table-wrap{overflow-x:auto;padding:0}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{background:#f0f2e8;font-size:10px;letter-spacing:.4px;color:#829073;font-weight:600;white-space:nowrap}td,th{padding:17px 20px;border-bottom:1px solid #e8ebdf;vertical-align:middle}td{min-width:100px}td:first-child{min-width:220px}td small{display:block;color:#8c9784;font-size:10px}tr:last-child td{border-bottom:0}.cost-summary{display:flex;align-items:center;gap:15px;padding:17px 22px;background:#ebefdf;border:1px solid #dfe5d3;border-radius:10px;margin-bottom:20px}.cost-summary strong{font-size:24px}.cost-summary span{font-size:11px;color:#79896c}.pagination{display:flex;gap:20px;justify-content:center;align-items:center;margin-top:28px;font-size:12px;color:var(--muted)}
input:not([type=checkbox]):not([type=hidden]),textarea,select{display:block;width:100%;border:1px solid #dce2d3;border-radius:7px;padding:10px 12px;background:#fffefb;color:var(--ink);min-height:42px;font-size:13px}input::placeholder,textarea::placeholder{color:#a2aa98}textarea{resize:vertical;min-height:100px;line-height:1.65}select[multiple]{min-height:112px}select[multiple] option{padding:5px;border-radius:3px}input[type=checkbox]{accent-color:var(--forest);width:18px;height:18px;flex-shrink:0}input[type=file]{font-size:12px!important;padding:8px!important;max-width:100%}input[type=file]::file-selector-button{font:inherit;border:0;padding:5px 10px;border-radius:4px;background:#e9efdd;color:var(--forest);margin-right:12px;cursor:pointer}label{font-size:12px;font-weight:550;display:block;margin-bottom:7px}label.inline-checkbox{display:flex;gap:7px;align-items:center}.field{margin-bottom:18px;min-width:0}.field .help,.help{font-size:11px;color:#8c9981;line-height:1.7;margin:6px 0 0}.required{color:#9aaa87}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 22px}.field-title,.field-name,.field-body,.field-summary,.field-purpose,.field-current_state,.field-notes,.field-description,.field-hypothesis,.field-protocol,.field-conclusion,.field-specification{grid-column:1/-1}.checkbox-field{padding-top:8px}.checkbox-field label{display:flex;align-items:center;gap:9px}.editor-form{max-width:1000px}.editor-form .panel{padding:30px}.editor-form h2{font-size:20px}.form-details summary{font-size:14px;font-weight:600;cursor:pointer}.form-details[open] summary{margin-bottom:25px}.form-actions{display:flex;justify-content:flex-end;gap:12px;position:sticky;bottom:0;padding:16px;background:#f6f5eff0;backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:5}.danger-zone{max-width:1000px;text-align:right;padding:20px;font-size:11px}.danger-zone a{color:var(--danger)}.field-error,.errorlist{color:var(--danger);font-size:12px;list-style:none;padding-left:0;margin:8px 0}.message{padding:14px 18px;border-radius:8px;border:1px solid #d3dfc4;background:#edf3e3;margin-bottom:15px;font-size:13px}.message.error{border-color:#e6c8ba;background:#faf0e8;color:#8f4936}.messages{margin-bottom:20px}.capture-heading{text-align:center;max-width:630px;margin:0 auto 28px}.capture-heading h1{font-size:35px}.capture-heading p{color:var(--muted);font-size:13px}.capture-form{max-width:690px;margin:0 auto;padding:32px}.capture-types{display:none;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:24px}.js .capture-types{display:grid}.js .capture-kind-select{display:none}.type-choice{background:#f6f6ee;border:1px solid #e2e6d8;border-radius:8px;padding:12px 8px;color:#8b9780;font-size:12px;min-height:44px}.type-choice.selected{color:var(--forest);background:#eaf0dd;border-color:#bacba2;font-weight:650}.capture-form #id_body{min-height:170px}.capture-tools{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:19px 0;margin-bottom:20px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.capture-tools .field{width:100%;margin-bottom:5px}.capture-footer{display:flex;align-items:center;justify-content:space-between;gap:15px}.capture-footer p{font-size:11px;margin:0}.capture-form>#draft-status{margin-top:18px}.capture-note{max-width:610px;margin:22px auto;text-align:center;font-size:11px;color:#96a089}.draft-actions{text-align:right}.attachments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:20px}.attachment{border:1px solid var(--line);border-radius:9px;padding:10px;min-width:0;display:flex;flex-direction:column;gap:6px;font-size:12px;overflow-wrap:anywhere}.attachment img{width:100%;height:165px;object-fit:cover;border-radius:5px}.attachment small{font-size:10px;color:var(--muted)}.file-icon{height:65px;display:grid;place-items:center;background:#f1f4e7}.upload-form{border-top:1px solid var(--line);padding-top:18px}.upload-form p{font-size:12px}.history-item{padding:15px 0;border-bottom:1px solid var(--line)}.history-item>summary{font-size:12px;color:var(--muted);cursor:pointer}.history-item>.prose{padding:15px;font-size:12px}.source{font-size:12px;border-bottom:1px solid var(--line);padding:14px 0}.source small{display:block;color:var(--muted);font-size:10px}.source p{font-size:11px;margin:12px 0}.source:last-of-type{margin-bottom:15px}.share-row{display:flex;gap:15px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:17px 0;font-size:12px}.share-row>div{flex:1;min-width:180px}.share-row small{display:block;color:var(--muted);font-size:10px}.share-row:last-child{border-bottom:none}.share-row>strong{margin-right:auto}.shared-document{max-width:820px;margin:50px auto}.shared-document h1{margin-bottom:32px}.settings-actions{display:flex;gap:20px;align-items:center;margin-top:22px;font-size:12px}.link-list{display:flex;flex-direction:column;gap:15px;font-size:12px}.token-value{display:block;overflow-wrap:anywhere;white-space:pre-wrap;padding:15px 0;font-size:12px}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--forest);color:white;border-radius:10px;padding:12px 22px;box-shadow:var(--shadow);z-index:100;max-width:90vw}.toast[hidden]{display:none}.recording{color:var(--danger)!important;border-color:var(--danger)!important}

.login-layout{max-width:420px;margin:8vh auto;padding:38px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.login-layout .brand{margin:0 0 32px;font-size:32px}.login-layout h1{font-size:26px;margin-bottom:26px}
@media(max-width:650px){.login-layout{margin:6vh auto;padding:28px 24px}}
@media(min-width:1500px){.main{padding:48px 60px}.topbar{padding:0 60px}.sidebar{width:250px}.app-shell{margin-left:250px}.app-shell.guest{margin-left:0}.project-card{min-height:240px}}
@media(max-width:1190px){.sidebar{width:208px;padding-left:13px;padding-right:13px}.app-shell{margin-left:208px}.main{padding:32px 27px}.topbar{padding:0 27px}.breadcrumb{max-width:230px}.global-search input{width:140px}.project-grid,.knowledge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{gap:10px}.stat{padding:15px}.dashboard-columns{grid-template-columns:1.5fr 1fr}.capture-card{padding:25px}.context-bar select{min-width:120px}.detail-columns{grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr)}.panel{padding:22px}.guest{margin-left:0}}
@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:240px;box-shadow:var(--shadow);padding-bottom:85px}.sidebar.is-open{transform:translateX(0)}.app-shell{margin-left:0}.mobile-menu{display:flex;align-items:center;justify-content:center}.topbar{height:67px;padding:0 18px;gap:10px}.breadcrumb{display:none}.global-search{margin-left:5px;flex:1;min-width:0}.global-search input{width:100%}.global-search kbd{display:none}.main{padding:28px 24px 110px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:35;height:calc(66px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fffef9f5;backdrop-filter:blur(15px);border-top:1px solid var(--line);justify-content:space-around;align-items:center}.mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9px;color:#738565;min-width:50px;min-height:48px;justify-content:center}.mobile-nav .icon{width:18px;height:18px}.mobile-nav .capture-nav{color:var(--forest);font-weight:600}.capture-nav>span{background:var(--forest);color:var(--lime);border-radius:10px;display:grid;place-items:center;height:33px;width:38px;font-size:24px;margin-top:-8px}.form-actions{bottom:65px;padding-left:0;padding-right:0}.toast{bottom:85px}.detail-columns{grid-template-columns:1.5fr 1fr}.dashboard-heading{align-items:flex-start}.page-heading>.actions{justify-content:flex-end}}
@media(max-width:650px){body{font-size:13px}.main{padding:25px 17px 110px}.topbar{padding:0 10px;gap:5px}.topbar>.button span:last-child{display:none}.topbar>.button{min-width:35px;font-size:20px;line-height:1;padding:5px}.global-search input{font-size:12px}.page-heading{flex-direction:column;align-items:flex-start;gap:17px;margin-bottom:22px}.page-heading h1{font-size:30px;margin-bottom:11px}.page-heading p{font-size:12px}.eyebrow{font-size:9px;letter-spacing:1.4px}.dashboard-heading>.button{display:none}.context-bar{gap:7px;padding:12px}.context-intro{width:100%;margin-bottom:4px}.context-bar select{width:calc(50% - 8px);font-size:11px;min-width:100px;flex:auto}.context-bar .button{width:100%}.stats-grid{grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:18px}.stat{padding:14px 16px}.stat strong{font-size:28px}.stat>span{font-size:10px}.stat small{font-size:9px}.dashboard-columns,.lower-columns,.detail-columns{grid-template-columns:minmax(0,1fr);gap:18px}.dashboard-columns{margin-bottom:22px}.panel{padding:21px 18px;margin-bottom:18px;border-radius:12px}.dashboard-columns>.panel{margin-bottom:0}.section-heading h2{font-size:20px}.section-heading .text-link{font-size:10px}.section-note{font-size:10px}.capture-card{min-height:0;padding:25px}.capture-card h2{font-size:29px}.capture-card h2 br{display:none}.capture-card p{max-width:280px}.capture-card .eyebrow{margin-bottom:12px}.capture-card small{margin-top:13px}.project-grid,.knowledge-grid{grid-template-columns:minmax(0,1fr);gap:12px}.project-card{min-height:0;padding:20px}.project-card-top{margin-bottom:14px}.project-card h3{font-size:15px}.project-card p{font-size:12px;max-width:420px;margin-bottom:17px}.project-section{margin:24px 0}.project-card-bottom{font-size:11px}.badge{font-size:10px}.note-card{min-height:180px;padding:22px}.note-card>p{font-size:13px}.form-grid{grid-template-columns:minmax(0,1fr);gap:0}.editor-form .panel{padding:23px 18px}.editor-form .field>label{font-size:12px}.filters{flex-wrap:wrap;gap:9px}.filters>input{min-width:100%;flex:auto}.filters>select{min-width:calc(50% - 5px);flex:1;max-width:100%}.filters>input[type=number]{min-width:calc(50% - 5px);max-width:none;flex:1}.filters .button{flex:1}.tabs{gap:24px;margin-bottom:22px}.tabs a{font-size:12px}.form-actions .button{flex:1}.cost-summary{align-items:flex-start;flex-direction:column;gap:3px}.table-wrap{padding:0}.table-wrap th,.table-wrap td{padding:14px}.capture-heading h1{font-size:29px}.capture-heading p{font-size:12px}.capture-form{padding:23px 17px}.capture-types{gap:6px}.type-choice{font-size:11px;padding:10px 3px}.capture-footer{flex-direction:column;align-items:stretch;gap:10px}.capture-footer p{text-align:center}.capture-form>#draft-status{font-size:10px}.attachments{gap:10px}.attachment img{height:130px}.attachment>a{font-size:11px}.share-row{align-items:flex-start}.share-row>div{width:100%;flex:auto}.settings-actions{flex-wrap:wrap}.guest .main{padding:16px}.shared-document{margin:20px auto}.prose{font-size:13px}.kanban{grid-template-columns:repeat(5,250px)}.task-content>a{font-size:13px}.task-check{width:23px;height:23px}.task-meta{font-size:10px}.task-list-panel{padding:4px 18px}}
.file-linked-preview{display:grid;place-items:center;flex:0 0 120px;width:120px;height:90px;padding:0;overflow:hidden}.file-linked-preview>.icon,.file-linked-preview>img{grid-area:1/1}.file-linked-preview>img{display:block;width:100%;height:90px;object-fit:contain;background:#f1f4e9}.file-linked-preview>img[hidden]{display:none}
@media(max-width:650px){.file-linked-preview{flex-basis:90px;width:90px;height:75px}.file-linked-preview>img{height:75px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.project-path{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:24px;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.project-path [aria-current]{min-width:0}.project-group{display:flex;flex-direction:column;min-width:0}.project-group>.project-card{flex:1}.project-card-parent{font-size:11px;color:var(--muted);margin-bottom:7px;overflow-wrap:anywhere}.project-child-count{font-size:11px;color:var(--muted);margin-bottom:12px}.project-children{border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;background:var(--surface);margin:-8px 8px 0;padding:10px 13px 9px}.project-children summary{padding:8px 0 2px;font-size:12px;cursor:pointer;color:var(--forest)}.project-children>div{padding-top:8px}.project-children .text-link{display:block;margin:12px 0 4px}.subproject-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.subproject-row:last-child{border-bottom:0}.subproject-row>span:first-child{min-width:0;overflow-wrap:anywhere}.subproject-row strong{display:block}.subproject-row small{display:block;margin-top:4px;color:var(--muted)}.subproject-row>.badge{flex-shrink:0;max-width:40%}#subprojects{scroll-margin-top:20px}#subprojects .section-heading{flex-wrap:wrap}
@media print{.sidebar,.topbar,.mobile-nav,.form-actions,.button,.filters,.context-bar,.capture-card{display:none!important}.app-shell{margin-left:0}.main{padding:0}.panel,.project-card{break-inside:avoid;box-shadow:none}.detail-columns,.dashboard-columns{display:block}body{background:white}}

/* Link inputs and website previews. */
.capture-links {margin: 1.25rem 0;}
.capture-links h2 {font-size: 1rem; margin-bottom: .75rem;}
.link-input-list,.link-card-list {display: grid; gap: 1rem;}
.link-input-row {min-width: 0;}
.link-input-controls {display: flex; gap: .75rem; align-items: center;}
.link-input-controls input {flex: 1; min-width: 0;}
.link-input-controls .text-button {flex-shrink: 0;}
.capture-links > .button {margin-top: .75rem;}
.link-card {display: block; overflow: hidden; border: 1px solid var(--line, #dce4dc); border-radius: 12px; background: var(--paper, #fff); color: inherit; text-decoration: none;}
.link-card[hidden] {display: none;}
.link-card:hover {border-color: var(--green, #315c49);}
.link-card-image {display: block; width: 100%; max-height: 300px; object-fit: cover; background: #edf0e9;}
.link-card-copy {display: grid; gap: .4rem; padding: 1rem; overflow-wrap: anywhere;}
.link-card-copy strong {font-size: 1.05rem; line-height: 1.4;}
.link-card-copy p {margin: 0; font-size: .9rem; line-height: 1.5; color: var(--muted, #637067);}
.link-card-domain,.link-card-url {font-size: .78rem; color: var(--muted, #637067);}
.link-card-domain {text-transform: uppercase; letter-spacing: .04em;}
.link-card-url {white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
@media (max-width: 480px) {.link-input-controls {flex-wrap: wrap;} .link-input-controls input {flex-basis: 75%;}}

.field-urls,.capture-links {min-width: 0;}
[data-link-single] .link-card {margin-top: .5rem;}

/* Installable app and offline workspace, including safe areas on phones/tablets. */
.pwa-bar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin:0 0 1.25rem;padding:.65rem 1rem;border:1px solid var(--line,#d9dfd7);border-radius:12px;font-size:.85rem;background:var(--surface,#fff)}
.pwa-bar [hidden]{display:none!important}
.pwa-bar [data-pwa-status]{flex:1;min-width:180px}
.offline-main{max-width:1100px;margin:auto;padding-bottom:max(2rem,env(safe-area-inset-bottom))}
.offline-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}
.offline-tabs [aria-pressed=true]{background:#183d34;color:#fff}
.offline-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem}
.offline-card{margin:0;min-width:0;overflow-wrap:anywhere}
.offline-card h2{font-size:1.15rem}
.offline-card .button{margin:.3rem .3rem .3rem 0}
.offline-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:24rem;overflow:auto}
#offline-detail{margin-top:1rem;scroll-margin-top:1rem}
#offline-edit-form{display:grid;gap:.8rem;margin-top:1rem}
#offline-edit-form textarea{min-height:280px}
.offline-help{margin-top:1.5rem}
.offline-help summary{cursor:pointer;font-weight:600}
.offline-main button,.offline-main select,.offline-main input{min-height:44px}
.offline-main input,.offline-main textarea,.offline-main select{font-size:16px}
.offline-main [hidden]{display:none!important}
@media(max-width:700px){.offline-main{padding:1.25rem 1rem max(2rem,env(safe-area-inset-bottom))}.offline-tabs .button{flex:1}.offline-main .page-heading{align-items:flex-start;gap:1rem;flex-wrap:wrap}.offline-main .filters{display:flex;flex-direction:column;align-items:stretch}.pwa-bar{padding:.65rem}}

/* Connection status adds only the space it occupies; the normal app stays in place. */
:root{--pwa-banner-height:0px}
.pwa-status{position:sticky;top:0;z-index:150;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));background:#fff1ce;color:#624719;border-bottom:1px solid #e8d297;font-size:13px;line-height:1.5}
.pwa-status [data-pwa-status]{flex:1;min-width:min(180px,100%)}
.pwa-status a,.pwa-status button{color:inherit;font:inherit;font-weight:600;text-decoration:underline;min-height:32px}
.pwa-status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}
.pwa-status[data-state=online]{background:#eaf2e8;color:#284e35;border-color:#cbdcc7}
.pwa-status[hidden],.pwa-status [hidden],[data-pwa-install][hidden]{display:none!important}
body:has([data-pwa-banner]:not([hidden])) .sidebar{top:var(--pwa-banner-height)}
body:has([data-pwa-banner]:not([hidden])) .topbar{top:var(--pwa-banner-height)}
body:has([data-pwa-banner]:not([hidden])) .ws-layout{height:calc(100dvh - 200px - var(--pwa-banner-height))}
.pwa-form-status{font-size:13px;margin:12px 0;padding:10px 12px;background:#edf3e3;border-radius:7px;overflow-wrap:anywhere}
.pwa-queue-item{padding:18px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.pwa-queue-item:last-child{border-bottom:0}.pwa-queue-item h3{margin:0 0 8px}.pwa-queue-item button{margin:8px 8px 0 0}
.pwa-queue-text{white-space:pre-wrap;max-height:260px;overflow:auto;font-size:13px}
@media(max-width:650px){.pwa-status{font-size:12px;padding:8px 14px;gap:6px}.pwa-status a,.pwa-status button{min-height:36px}body:has([data-pwa-banner]:not([hidden])) .ws-layout{height:calc(100dvh - 260px - var(--pwa-banner-height))}}

.sidebar[hidden],.app-shell[hidden]{display:none!important}

/* Task text and planning share one save, including the unsaved-change guard. */
.task-detail-heading>div{flex:1;min-width:0;max-width:100%}
.task-detail-heading h1,.task-detail-heading .text-link{overflow-wrap:anywhere}
.task-detail-columns{grid-template-columns:minmax(0,1.4fr) minmax(350px,1fr)}
.task-planning-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px}
.task-planning-form .field{min-width:0}
.task-planning-form .field-location,.task-planning-form .field-context,.task-planning-form .field-workstream,.task-planning-form .field-repeat_days,.task-planning-form .field-waiting_for,.task-planning-form .field-dependency,.task-planning-form .checkbox-field{grid-column:1/-1}
.task-planning-form input,.task-planning-form select{max-width:100%;font-size:16px}
.task-planning-form textarea{width:100%;min-height:320px;resize:vertical;font-size:16px;line-height:1.7}#task-work-heading{scroll-margin-top:20px}
.task-planning-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;position:sticky;bottom:0;z-index:2;background:var(--surface,#fff);border-top:1px solid var(--line);padding:12px 0}.task-planning-actions .help{flex:1;min-width:130px;margin:0}#task-planning-heading{scroll-margin-top:20px}
@media(max-width:1100px){.task-detail-columns{grid-template-columns:minmax(0,1fr)}}
@media(max-width:400px){.task-planning-form .form-grid{grid-template-columns:minmax(0,1fr)}}
