:root{color-scheme:light;--bg:#f4f2ed;--ink:#1e2d2c;--muted:#77807b;--line:#e2e4dc;--accent:#244f43;--accent-light:#e8f0df;--white:#fffefb;--red:#a7453f;--sidebar:#14201f;--lime:#d3f3a2}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-offset:4px}button{cursor:pointer;border:0}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}[hidden]{display:none!important}h1,h2,h3,h4,p{overflow-wrap:anywhere}h3{font-size:15px;font-weight:600;margin:0 0 17px}h4{font-size:12px;margin:17px 0 9px}p{margin:10px 0}button{transition:background .18s,border-color .18s,transform .18s}.muted{color:var(--muted)}.fine{font-size:11px}.eyebrow{font-size:9px;font-weight:650;letter-spacing:1.9px;color:var(--muted);margin:0 0 11px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.row h3{margin-bottom:0}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stack{display:flex;flex-direction:column;gap:22px}.primary,.secondary,.danger{border-radius:9px;padding:11px 16px;font-size:12px;font-weight:600}.primary{background:var(--accent);color:#fff}.primary:hover{background:#193e33}.primary span{color:var(--lime);font-size:17px}.secondary{background:#eceee6;color:#3e4c42;border:1px solid #e0e4d8}.secondary:hover{background:#e2e8d9}.danger{background:#f9e8e3;color:var(--red)}.text-button{background:none;color:var(--muted);padding:0}.text-button:hover{color:var(--accent)}.icon-button{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#e7eddf;color:var(--accent);font-size:20px;font-weight:300;line-height:1}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:24px;font-weight:650;letter-spacing:-1px;line-height:1}.brand:hover{text-decoration:none}.brand-mark{display:grid;grid-template-columns:repeat(2,7px);gap:4px;flex:0 0 auto}.brand-mark i{width:7px;height:7px;border-radius:50%;background:#759478}.brand-mark i:nth-child(2){opacity:.5}.brand-mark i:nth-child(3){opacity:.25}.brand-mark i:last-child{background:#b6d97a;box-shadow:0 0 12px #b6d97a55}
.sidebar{position:fixed;inset:0 auto 0 0;width:248px;padding:34px 20px 25px;background:var(--sidebar);color:#e1e7dc;display:flex;flex-direction:column;z-index:5}.sidebar .brand{color:#f2f4eb;padding:0 10px}.sidebar-caption{font-size:10px;color:#91a095;letter-spacing:.6px;margin:13px 10px 29px}.sidebar-caption span{display:block;font-size:8px;letter-spacing:2.2px;margin-top:5px;color:#697c6d}.dot-list-heading{display:flex;align-items:center;justify-content:space-between;padding:0 10px;margin-bottom:11px}.dot-list-heading .eyebrow{margin:0;color:#91a095}.sidebar .icon-button{background:#2a3a31;color:#cce9b4;width:23px;height:23px;font-size:18px}.dot-list{max-height:32vh;overflow:auto;display:flex;flex-direction:column;gap:6px;scrollbar-width:thin;scrollbar-color:#46584a transparent}.dot-switch{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:transparent;color:#c6cfc4;border:1px solid transparent;border-radius:10px;padding:11px 12px}.dot-switch:hover{background:#1e3029}.dot-switch.active{border-color:#4c6b50;background:#253a2e;color:#f2f7e9}.dot-switch-copy{min-width:0}.dot-switch strong,.dot-switch small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot-switch strong{font-size:12px;font-weight:500}.dot-switch small{font-size:9px;color:#819884;margin-top:4px}.dot-switch.active small{color:#b5c9a4}.dot-avatar{width:27px;height:27px;border:1px solid #ffffff22;border-radius:50%;flex:0 0 auto;position:relative;background:radial-gradient(circle at 35% 28%,#ffffff55,transparent 60%),var(--dot-color,#b7d482);box-shadow:inset -6px -6px 12px #17231d45}.dot-avatar:after{content:"";position:absolute;inset:-4px;border:1px solid transparent;border-radius:50%}.active .dot-avatar:after{border-color:#b3d08588}.dot-running .dot-avatar:after{border-color:var(--lime);animation:dot-pulse 2s ease-out infinite}.dot-waiting_user .dot-avatar:after{border-color:#f2c775}.dot-color-0{--dot-color:#c6dc8e}.dot-color-1{--dot-color:#90bfbc}.dot-color-2{--dot-color:#c7a8c7}.dot-color-3{--dot-color:#ddb391}.dot-color-4{--dot-color:#9baed2}.dot-color-5{--dot-color:#b2c8a4}.sidebar .nav-heading{margin:29px 12px 9px;color:#6e8272}.sidebar nav{display:flex;flex-direction:column;gap:3px}.sidebar nav button{padding:10px 12px;display:flex;justify-content:space-between;background:none;border-radius:7px;text-align:left;color:#99aa9c;font-size:11px;letter-spacing:.1px}.sidebar nav button:hover{background:#203129;color:#d3dfcc}.sidebar nav button.active{background:#25372b;color:#d7ecbf}.sidebar nav span{color:#72866e}.side-foot{margin-top:auto;padding:29px 12px 0;font-size:10px;color:#a1b19f}.side-foot .muted{color:#657d6b}.side-foot a,.side-foot button{font-size:10px;color:#96aa91;display:inline-block;margin-top:12px}.side-foot a{margin-right:17px}.side-foot .text-button:hover{color:var(--lime)}
main{margin-left:248px;padding:32px 44px 60px;max-width:1760px}header{display:flex;justify-content:space-between;align-items:center;padding-bottom:25px;margin-bottom:29px;border-bottom:1px solid var(--line)}header h1{font-size:23px;font-weight:550;line-height:1.2;letter-spacing:-.8px;margin:0}header .eyebrow{margin-bottom:9px;font-size:8px}.connection-pill{display:inline-flex;align-items:center;gap:7px;font-size:10px;color:#7d8778;white-space:nowrap}.status-light{display:block;width:5px;height:5px;background:#77965e;border-radius:50%;box-shadow:0 0 0 4px #7b9d6910}.header-actions{gap:23px}.header-actions .secondary{background:transparent;padding:8px 11px;font-size:10px}.intro{margin-bottom:27px}.intro h2{font-size:27px;letter-spacing:-.8px;margin:0 0 8px;font-weight:550}.intro p{margin:0;font-size:12px}.dot-workspace-head{display:flex;align-items:center;gap:23px;padding:9px 2px 32px;margin-bottom:4px;position:relative}.dot-orb{width:76px;height:76px;display:grid;place-items:center;border:1px solid #d1d7c5;border-radius:50%;position:relative;flex:0 0 auto;background:#edf0e4;box-shadow:0 0 0 7px #e8ebdf60}.dot-orb:before{content:"";position:absolute;inset:8px;border:1px dashed #bcc7ae;border-radius:50%}.dot-orb span{width:43px;height:43px;border-radius:50%;background:radial-gradient(circle at 32% 25%,#ffffff99,transparent 65%),var(--dot-color);box-shadow:inset -7px -8px 16px #42613a33,0 6px 15px #72875b22}.dot-orb.dot-running:before{border-color:#6b8f49;animation:dot-rotate 9s linear infinite}.dot-identity{min-width:0;flex:1}.dot-identity .eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:6px}.dot-identity h2{font-size:27px;font-weight:550;letter-spacing:-.9px;line-height:1.3;margin:0}.dot-identity>p.muted{font-size:12px;margin:8px 0 10px;max-width:650px;white-space:pre-line}.dot-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dot-meta .fine{font-size:9px}.dot-workspace-head>.secondary{font-size:10px;background:transparent;padding:8px 12px;align-self:flex-start;margin-top:22px;white-space:nowrap}.work-grid{display:grid;grid-template-columns:minmax(320px,.92fr) minmax(380px,1.13fr);gap:25px;align-items:start}.card{background:var(--white);border:1px solid var(--line);border-radius:15px;padding:25px;min-width:0;box-shadow:0 4px 14px #2c3c2803}.composer-card>.row .eyebrow{font-size:8px;margin:0}.composer-card>h3{font-size:20px;font-weight:550;letter-spacing:-.5px;margin:22px 0 19px}.composer-card .text-button{font-size:10px}.task-kind-label{font-size:10px;color:var(--muted)}.task-kind-label select{font-size:11px;background:#f5f6f0;border-color:#e8e9df;padding:8px 10px}.goal-label>span{font-size:10px;color:#7d8779}.goal-label textarea{font-size:14px;line-height:1.8;min-height:130px;background:#fcfcf7;padding:16px;border-color:#d9e0ce}.template-button{font-size:10px;color:#6f8657;background:none;padding:0 0 9px;text-align:left}.template-button:hover{color:var(--accent)}.run-options{border-top:1px solid var(--line);margin:10px 0 0;padding:14px 0 4px}.run-options>summary{font-size:11px;font-weight:550;color:#425342}.run-options>summary span{float:right;color:#8c9688;font-size:9px;font-weight:400;line-height:2}.run-options[open]>summary{margin-bottom:13px}.run-options label{font-size:10px}.run-options .two-columns{gap:10px}.run-options .two-columns label{margin:10px 0}.run-options input,.run-options select{font-size:11px}.composer-card .actions{margin-top:23px;gap:8px;flex-wrap:wrap}.composer-card .primary{display:flex;justify-content:space-between;align-items:center;padding:12px 17px;font-size:12px;min-width:150px}.composer-foot{font-size:9px;line-height:1.7;margin:14px 0 0;max-width:390px}.actions{margin-top:22px}.actions button{flex:1}.task-history h3{font-size:12px}.task-history>input{font-size:10px;padding:8px 10px;margin-top:15px;background:#fafbf6}
label{display:block;font-size:11px;color:#52604f;margin:17px 0}input,select,textarea{display:block;width:100%;border:1px solid #dce2d2;border-radius:8px;color:var(--ink);background:#fffefb;padding:10px 11px;margin-top:7px;min-width:0;font-size:12px}input:focus,select:focus,textarea:focus{border-color:#8fa16f;box-shadow:0 0 0 3px #9bae7812}textarea{resize:vertical;line-height:1.75}input::placeholder,textarea::placeholder{color:#a0a797;opacity:1}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.check-grid label{display:flex;align-items:center;gap:8px;padding:9px;background:#f4f6ed;border-radius:7px;margin:0;font-size:10px;overflow-wrap:anywhere}.check-grid input{width:auto;margin:0;accent-color:#627c48;box-shadow:none}.check-grid label:has(input:disabled){opacity:.45}.inline-check{display:flex;align-items:flex-start;gap:10px;line-height:1.65}.inline-check input{width:auto;margin:4px 0 0;flex:0 0 auto;accent-color:#627c48}.boundary-note{padding:12px;background:#f7f3e8;border:1px solid #ece5d2;border-radius:8px;color:#8b7851;font-size:10px;line-height:1.75}.badge{display:inline-block;background:#eaf0df;color:#5b7744;font-size:9px;font-weight:500;border-radius:5px;padding:3px 7px;white-space:nowrap;line-height:1.6}.badge.failed,.badge.cancelled{background:#f7e7e1;color:var(--red)}.badge.running,.badge.queued{background:#f4edda;color:#97783b}.badge.waiting_user{background:#ecdfd0;color:#9c7037}.badge.ready{background:#e8efdf;color:#6c834b}details{font-size:11px;margin:18px 0}summary{cursor:pointer;color:#5c774c}details pre{font-size:10px}hr{border:0;border-top:1px solid var(--line);margin:25px 0}.task-list{margin:15px -10px -9px}.task-item{background:none;display:block;text-align:left;width:100%;padding:14px 10px;border-top:1px solid var(--line);color:var(--ink);border-radius:7px}.task-item:hover,.task-item.selected{background:#f0f4e7}.task-item .row{margin-bottom:5px;align-items:flex-start}.task-item strong{font-size:11px;font-weight:500;overflow-wrap:anywhere}.task-item small{display:block;color:#8a9582;font-size:9px;overflow-wrap:anywhere}.task-item .badge{font-size:8px}.detail{position:sticky;top:24px;min-height:570px;max-height:calc(100vh - 48px);overflow:auto;scrollbar-width:thin;scrollbar-color:#cbd5bc transparent}.empty{text-align:center;padding:110px 18px 90px;color:var(--muted);position:relative}.empty h3{font-size:19px;font-weight:500;letter-spacing:-.7px;margin:16px 0 10px;color:#465540}.empty>p.muted{font-size:12px;max-width:265px;margin:0 auto}.empty>.eyebrow{font-size:8px;letter-spacing:2.5px;color:#9ba68f;margin-top:37px}.empty-orbit{display:block;width:86px;height:86px;border:1px solid #dce3d1;border-radius:50%;margin:0 auto;position:relative;background:radial-gradient(circle,#f0f5e4,transparent 65%);box-shadow:0 0 0 14px #edf0e630,0 0 0 28px #edf0e61a}.empty-orbit:before{content:"";position:absolute;inset:26px;background:radial-gradient(circle at 30% 25%,#e8f6c6,#b5cd8e);box-shadow:0 5px 15px #93ad6a33;border-radius:50%}.empty-orbit:after{content:"";position:absolute;left:3px;top:16px;width:5px;height:5px;border-radius:50%;background:#acbf8e;box-shadow:77px 37px 0 -1px #c2d5ab}.empty-caption{display:block;font-size:7px;letter-spacing:2px;color:#a4af97;margin-top:45px}.empty-caption b{font-weight:400;padding:0 12px;color:#b1bf9c}.detail-head{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:23px}.detail-head>.row{align-items:flex-start}.detail-head .row .row{gap:8px;flex-wrap:wrap;justify-content:flex-end}.detail-head a{font-size:10px}.detail-head button{font-size:10px;padding:7px 10px}.detail h2{font-size:19px;font-weight:550;letter-spacing:-.6px;overflow-wrap:anywhere;margin:18px 0 11px;line-height:1.6}.detail h3{font-size:12px}.detail-head .fine{font-size:9px}.task-boundary{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:19px}.task-dot-snapshot{font-size:10px;color:#8a9581;line-height:1.8}.result-text{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.95}.acceptance-text{font-size:11px;margin-top:-8px;margin-bottom:21px}.event-list{padding:0;list-style:none;font-size:10px;max-height:360px;overflow:auto;scrollbar-width:thin}.event-list li{border-left:1px solid #d7dfcb;padding:8px 0 8px 15px;margin-left:5px;color:#8b9680}.event-list b{color:#526047;font-weight:500}.event-list time{font-size:8px;margin-right:10px;color:#a1ab97}.event-data{white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0;font-size:9px;line-height:1.75}.timeline-title{margin-top:27px}.notice{padding:12px 16px;border:1px solid #dae5c8;border-radius:9px;background:#edf3e1;color:#61794c;margin:0 0 24px;font-size:11px}.notice.error{background:#f9e9e2;border-color:#efd5ca;color:var(--red)}
.plan-card{background:#f6f8ef;border:1px solid #e2e7d8;border-radius:10px;padding:17px;margin:23px 0}.plan-card h3{font-size:12px}.plan-card>.fine{margin:10px 0;font-size:10px}.plan-list{padding:0;list-style:none;margin:16px 0 0;counter-reset:plan}.plan-step{position:relative;border-top:1px solid #e2e7d8;padding:13px 0 13px 25px;counter-increment:plan}.plan-step:before{content:counter(plan);position:absolute;left:0;top:14px;font-size:10px;color:#9ca68f}.plan-step strong{font-size:11px;font-weight:500;overflow-wrap:anywhere}.plan-step .row{align-items:flex-start}.plan-step p{margin:7px 0 0;overflow-wrap:anywhere;font-size:10px}.plan-step.completed:before{color:#66854b}.plan-step.in_progress:before{color:#a7863e}.plan-step.blocked:before{color:var(--red)}.memory-context{border-left:2px solid #d6dfc6;padding-left:13px;margin:19px 0}.memory-context .fine{font-size:10px}.memory-context details{margin:8px 0}.memory-context summary{font-size:9px}.memory-context ul{padding-left:15px}.suggestions-card{margin:25px 0}.memory-suggestion{border:1px solid var(--line);border-radius:9px;padding:15px;margin:12px 0}.memory-suggestion strong{font-size:11px}.memory-suggestion .row{justify-content:flex-start}.memory-suggestion select{width:auto;max-width:175px;margin:0;font-size:10px}.memory-suggestion button{font-size:10px;white-space:nowrap}.records-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.record h3{margin:12px 0;font-size:14px}.record p{font-size:11px;overflow-wrap:anywhere}.record .hash{font:9px/1.8 ui-monospace,monospace;color:#9ca58f}.record summary{font-size:10px}.record{margin:14px 0}.record.card{margin:0}.observation-link{display:inline-block;font-size:10px;margin-right:15px}.resource-item,.provider-item{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;background:none;padding:15px 3px;border-bottom:1px solid var(--line);color:var(--ink);font-size:11px;gap:10px}.resource-item:hover,.provider-item:hover{background:#f4f6ec}.provider-list{max-height:580px;overflow:auto;margin-top:18px;scrollbar-width:thin}#resource-source{font:11px/1.8 ui-monospace,monospace}.memory-list{margin-top:17px;max-height:600px;overflow:auto;scrollbar-width:thin}.memory-item{display:block;width:100%;text-align:left;background:none;color:var(--ink);padding:16px 4px;border-bottom:1px solid var(--line);border-radius:6px}.memory-item:hover,.memory-item.selected{background:#f1f5e8}.memory-item strong{font-size:11px;overflow-wrap:anywhere}.memory-item p{margin:8px 0;overflow-wrap:anywhere;font-size:10px}.memory-item small{font-size:9px}.personal-export{display:inline-block;font-size:10px;margin:12px 0 0 14px}code{font-family:ui-monospace,monospace;font-size:10px}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:35px;background:radial-gradient(ellipse at 20% 30%,#2c4031,transparent 55%),radial-gradient(ellipse at 90% 90%,#2a3527,transparent 60%),#14201f;position:relative}.login-shell:before{content:"";position:absolute;width:48vw;height:48vw;max-width:700px;max-height:700px;inset:auto auto auto -20vw;border:1px solid #94af6b20;border-radius:50%;box-shadow:0 0 0 70px #94af6b08,0 0 0 140px #94af6b05;pointer-events:none}.login-card{width:min(100%,480px);background:#fffef8;padding:45px;border-radius:20px;border:1px solid #dfe6d3;position:relative;box-shadow:0 30px 80px #0002}.login-card .brand{margin-bottom:41px}.login-card .eyebrow{color:#889972;font-size:8px}.login-card h1{font-size:32px;line-height:1.5;font-weight:500;letter-spacing:-1.2px;margin:15px 0}.login-card>.muted{font-size:12px;line-height:1.9}.login-card .primary{width:100%;margin:13px 0;font-size:12px}.login-card .fine{font-size:9px}.login-card [role=alert]{color:var(--red);font-size:11px}.dot-dialog{width:min(94vw,550px);max-height:90vh;overflow:auto;padding:28px 32px;border:1px solid #dce4ce;border-radius:17px;background:var(--white);color:var(--ink);box-shadow:0 30px 100px #0b181b55}.dot-dialog::backdrop{background:#10201db3;backdrop-filter:blur(5px)}.dot-dialog h2{font-size:23px;letter-spacing:-.8px;font-weight:500;margin:15px 0 10px}.dot-dialog .eyebrow{margin:0;font-size:8px}.dot-dialog .primary{width:100%;margin:13px 0 0}.dot-dialog [role=alert]{color:var(--red)}
@keyframes dot-pulse{0%{box-shadow:0 0 0 0 #c8e69d40}70%{box-shadow:0 0 0 5px #c8e69d00}100%{box-shadow:0 0 0 0 #c8e69d00}}@keyframes dot-rotate{to{transform:rotate(360deg)}}
@media(min-width:1550px){main{padding:38px 65px 65px}.work-grid{gap:32px}.card{padding:29px}.dot-workspace-head{padding-bottom:37px}.detail{min-height:650px}}
@media(max-width:1180px){.sidebar{width:220px;padding:30px 14px}main{margin-left:220px;padding:28px}.work-grid{grid-template-columns:minmax(280px,.95fr) minmax(320px,1fr);gap:18px}.card{padding:20px}.header-actions .connection-pill{display:none}.dot-workspace-head{gap:18px}.dot-orb{width:65px;height:65px}.dot-orb span{width:37px;height:37px}.dot-identity h2{font-size:24px}.dot-identity>p.muted{font-size:11px}.dot-workspace-head>.secondary{padding:7px 10px}.two-columns{gap:9px}.run-options .two-columns{grid-template-columns:1fr}.run-options .two-columns label{margin:7px 0}.detail{min-height:530px}}
@media(max-width:960px){.work-grid{grid-template-columns:1fr}.detail{position:static;max-height:none;min-height:380px}.empty{padding:70px 20px}.run-options .two-columns{grid-template-columns:1fr 1fr}.dot-workspace-head>.secondary{align-self:center;margin-top:0}.dot-workspace-head{padding-bottom:27px}.task-history{max-height:360px;overflow:auto}.composer-card .actions{flex-wrap:nowrap}.dot-list{max-height:30vh}}
@media(max-width:650px){.sidebar{position:static;width:auto;padding:23px 18px 14px}.sidebar .brand{font-size:23px;padding:0 4px}.sidebar-caption{margin:11px 4px 20px;font-size:9px}.sidebar-caption span{display:inline;font-size:7px;margin-left:13px}.dot-list-heading{padding:0 4px;margin-bottom:10px}.dot-list{flex-direction:row;overflow-x:auto;max-height:none;gap:8px;padding:4px 0 10px}.dot-switch{min-width:150px;width:auto;padding:10px 13px}.dot-switch strong{max-width:130px;font-size:11px}.dot-switch small{font-size:8px}.dot-avatar{width:25px;height:25px}.sidebar .nav-heading,.side-foot{display:none}.sidebar nav{margin-top:13px;flex-direction:row;flex-wrap:wrap;gap:4px;padding-top:13px;border-top:1px solid #314234}.sidebar nav button{font-size:9px;padding:8px 9px}.sidebar nav span{display:none}main{margin-left:0;padding:25px 17px 40px}header{padding-bottom:20px;margin-bottom:25px}header h1{font-size:21px}header .eyebrow{font-size:7px;letter-spacing:1.2px}.header-actions .secondary{font-size:9px;padding:7px 9px}.dot-workspace-head{gap:15px;flex-wrap:wrap;padding:2px 1px 25px}.dot-orb{width:57px;height:57px;box-shadow:0 0 0 4px #e8ebdf70}.dot-orb span{width:32px;height:32px}.dot-orb:before{inset:6px}.dot-identity h2{font-size:23px}.dot-identity .eyebrow{font-size:7px}.dot-identity>p.muted{font-size:10px;margin:6px 0 8px}.dot-meta{gap:7px}.dot-meta .fine{font-size:8px;max-width:210px;overflow-wrap:anywhere}.dot-workspace-head>.secondary{margin-left:72px;padding:6px 10px;font-size:9px;margin-top:-5px}.work-grid{gap:20px}.card{padding:21px;border-radius:12px}.intro h2{font-size:23px}.intro p{font-size:11px}.composer-card>h3{font-size:19px;margin:20px 0 17px}.run-options .two-columns,.two-columns{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr 1fr}.records-grid{grid-template-columns:1fr}.detail-head>.row{flex-wrap:wrap}.detail-head .row .row{justify-content:flex-start}.detail-head button{font-size:9px}.detail h2{font-size:18px}.detail{min-height:370px}.plan-card{padding:14px}.plan-step .row{gap:6px}.memory-suggestion .row{flex-wrap:wrap}.memory-suggestion select{max-width:100%;flex:1}.personal-export{margin-left:0;display:block}.login-shell{padding:22px}.login-card{padding:31px 27px;border-radius:17px}.login-card h1{font-size:29px}.login-card .brand{margin-bottom:33px}.dot-dialog{padding:23px}.dot-dialog .two-columns{grid-template-columns:1fr}.composer-card .actions{flex-wrap:wrap}.empty-caption{font-size:6px;letter-spacing:1.5px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Operational text stays readable across workspace sizes. */
.fine{font-size:12px}.sidebar nav button{font-size:12px}.sidebar-caption{font-size:11px}.dot-switch strong{font-size:12px}.dot-switch small{font-size:11px}.side-foot,.side-foot a,.side-foot button{font-size:11px}.connection-pill,.header-actions .secondary{font-size:11px}.dot-meta .fine{font-size:11px}.dot-workspace-head>.secondary{font-size:11px}.composer-card .text-button,.task-kind-label,.task-kind-label select,.goal-label>span,.template-button,.run-options>summary,.run-options label,.run-options input,.run-options select{font-size:12px}.run-options>summary span{font-size:11px}.composer-foot{font-size:11px}.task-history h3{font-size:13px}.task-history>input{font-size:12px}label{font-size:12px}.check-grid label,.boundary-note{font-size:11px}.badge,.task-item .badge{font-size:11px}.task-item strong{font-size:12px}.task-item small{font-size:11px}.detail-head a,.detail-head button,.detail-head .fine,.task-dot-snapshot{font-size:11px}.result-text{font-size:13px}.acceptance-text{font-size:12px}.event-list{font-size:12px}.event-list time,.event-data{font-size:11px}.notice{font-size:12px}.plan-card>.fine,.plan-step p,.memory-context .fine,.memory-context summary{font-size:11px}.plan-step strong{font-size:12px}.memory-suggestion strong,.memory-suggestion select,.memory-suggestion button{font-size:12px}.record .hash,.record summary,.observation-link{font-size:11px}.resource-item,.provider-item,.memory-item strong{font-size:12px}.memory-item p,.memory-item small,.personal-export,.login-card .fine,.empty-caption{font-size:11px}.empty-caption{letter-spacing:1px}.login-card [role=alert]{font-size:12px}
@media(max-width:650px){
  body{font-size:14px;line-height:1.75}.fine{font-size:12px}.sidebar-caption{font-size:12px}.sidebar-caption span{font-size:8px}.dot-switch{min-width:170px;padding:12px 14px}.dot-switch strong{font-size:13px;max-width:145px}.dot-switch small{font-size:12px}.sidebar nav{gap:4px}.sidebar nav button{font-size:12px;padding:10px 11px;min-height:42px}.header-actions .secondary{font-size:12px;padding:10px 12px}.dot-workspace-head{display:grid;grid-template-columns:57px minmax(0,1fr);align-items:center;column-gap:15px;row-gap:14px}.dot-orb{grid-column:1;grid-row:1}.dot-identity{grid-column:2;grid-row:1}.dot-identity>p.muted{font-size:12px;line-height:1.8;margin:8px 0 11px;max-width:none}.dot-meta{gap:9px}.dot-meta .fine{font-size:12px;max-width:100%;line-height:1.75}.dot-workspace-head>.secondary{grid-column:2;grid-row:2;justify-self:start;margin:0;font-size:12px;padding:9px 12px}.intro p{font-size:12px}.composer-card .text-button,.task-kind-label,.goal-label>span,.template-button,.run-options>summary,.run-options>summary span,.run-options label,.composer-foot,label,.check-grid label,.boundary-note,.badge,.task-item .badge,.task-item small,.detail-head a,.detail-head button,.detail-head .fine,.task-dot-snapshot,.acceptance-text,.notice,.plan-card>.fine,.plan-step strong,.plan-step p,.memory-context .fine,.memory-context summary,.memory-suggestion strong,.memory-suggestion button,.record p,.record summary,.observation-link,.resource-item,.provider-item,.memory-item strong,.memory-item p,.memory-item small,.personal-export,.login-card .fine,.login-card>.muted,.login-card [role=alert],.dot-dialog>.fine{font-size:12px}.primary,.secondary,.danger,.composer-card .primary,.login-card .primary{font-size:13px;min-height:42px}.actions button{padding:12px 14px}.event-list{font-size:12px}.event-list time,.event-data,.record .hash,#resource-source{font-size:11px}.result-text{font-size:13px}.empty>p.muted{font-size:13px}.empty-caption{font-size:9px;letter-spacing:1px}.login-card .fine{line-height:1.8}
  input,select,textarea,.run-options input,.run-options select,.task-kind-label select,.task-history>input,.goal-label textarea,.memory-suggestion select,#resource-source{font-size:16px}input,select{min-height:44px}.memory-suggestion select{font-size:16px}.composer-card>h3{line-height:1.5}.run-options>summary{line-height:1.8}.run-options>summary span{float:none;display:block;font-weight:400;margin-top:3px}.dot-dialog p.fine{font-size:12px}
}
/* Configured capabilities describe real tools, never implied host permissions. */
.capability-workspace{margin:0 0 29px}.capability-heading{margin-bottom:15px;align-items:flex-end}.capability-heading .eyebrow{font-size:8px;margin:0 0 5px}.capability-heading h3{font-size:14px;margin:0}.capability-heading>.fine{font-size:11px}.capability-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:13px}.capability-card{background:#eef2e6;border:1px solid #dce4d0;border-radius:12px;padding:17px 18px;min-width:0}.capability-card h4{font-size:13px;line-height:1.5;margin:0}.capability-card>.muted{font-size:12px;line-height:1.8;margin:11px 0}.capability-card .row{align-items:flex-start}.capability-card .badge{font-size:10px}.capability-tool-list{display:flex;flex-wrap:wrap;gap:6px;margin:13px 0 11px}.capability-tool-list span{font-size:11px;color:#61774f;border:1px solid #d4dfc3;border-radius:5px;background:#f5f8ed;padding:3px 6px}.capability-card details{margin:11px 0;font-size:11px}.capability-card details .fine{font-size:11px;overflow-wrap:anywhere}.capability-template-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.capability-template-actions .template-button{padding:7px 0 0;font-size:12px;line-height:1.7;text-align:left}.capability-empty{grid-column:1/-1;border:1px dashed #ced9bf;border-radius:10px;padding:17px 20px;background:#f0f3e9;display:flex;align-items:center;justify-content:space-between;gap:17px}.capability-empty p{margin:0;font-size:12px}.capability-empty button{font-size:12px;white-space:nowrap}.capability-boundaries{font-size:11px;line-height:1.8;margin:12px 0 0}.capability-run-options{padding-top:0;border-top:0;margin-bottom:13px}.capability-run-options>.check-grid{margin-top:13px}.capability-run-options>.check-grid label{font-size:12px}.capability-automatic{border-left:2px solid #d7e2c7;padding-left:11px;overflow-wrap:anywhere}.capability-automatic p{font-size:11px;line-height:1.85;margin:9px 0}.dot-capability-fieldset{margin:22px 0;padding:14px;border:1px solid var(--line);border-radius:9px;min-width:0}.dot-capability-fieldset legend{font-size:12px;color:#4e6541;padding:0 5px}.dot-capability-fieldset>p{font-size:11px;margin:0 0 12px}.dot-capability-options{display:grid;gap:8px}.capability-choice{display:flex;align-items:flex-start;gap:11px;padding:12px;margin:0;border:1px solid #dfe6d3;border-radius:8px;background:#f5f7ee}.capability-choice:has(input:checked){border-color:#99b077;background:#edf3e2}.capability-choice input{flex:0 0 auto;width:auto;margin:4px 0 0;accent-color:#627c48}.capability-choice strong{display:block;font-size:12px;font-weight:550}.capability-choice small{display:block;font-size:11px;color:#87917d;line-height:1.75;margin-top:5px}.task-capabilities{margin:22px 0;padding:16px;border:1px solid #e0e6d6;border-radius:9px;background:#f7f9f0}.task-capabilities>p{font-size:11px;margin:6px 0 11px}.task-capability-item{margin-top:12px}.task-capability-item strong{font-size:12px;font-weight:500}.task-capability-item p{font-size:11px;line-height:1.8;margin:5px 0;overflow-wrap:anywhere}.deliverables-section{margin:25px 0}.deliverables-section>p{font-size:11px}.deliverable-item{padding:16px;border:1px solid #d7e1c8;background:#f2f6e9;border-radius:9px;margin:12px 0}.deliverable-item>strong{display:block;font-size:13px;font-weight:550;overflow-wrap:anywhere}.deliverable-item>.fine{font-size:11px;margin:7px 0 12px}.deliverable-download{display:inline-block;padding:9px 12px;border:1px solid #aabf8d;border-radius:7px;background:#e6efda;color:#416536;font-size:12px;font-weight:500}.deliverable-download:hover{background:#dce9ca;text-decoration:none}.deliverable-item .hash{font:10px/1.8 ui-monospace,monospace;color:#92a180;overflow-wrap:anywhere;margin:13px 0 0}
@media(max-width:650px){.capability-workspace{margin-bottom:25px}.capability-heading h3{font-size:14px}.capability-heading>.fine,.capability-boundaries{font-size:12px}.capability-cards{grid-template-columns:1fr;gap:12px}.capability-card{padding:17px}.capability-card h4{font-size:14px}.capability-card .badge,.capability-tool-list span,.capability-card details,.capability-card details .fine,.capability-automatic p,.dot-capability-fieldset>p,.capability-choice strong,.capability-choice small,.task-capabilities>p,.task-capability-item strong,.task-capability-item p,.deliverables-section>p,.deliverable-item>.fine{font-size:12px}.capability-empty{display:block;padding:17px}.capability-empty button{margin-top:10px;min-height:40px}.capability-template-actions .template-button{font-size:13px;min-height:42px;padding:9px 0}.capability-choice{padding:12px}.capability-choice input{min-height:0;width:17px;height:17px;margin-top:4px}.capability-run-options>.check-grid{grid-template-columns:1fr}.deliverable-item .hash{font-size:11px}.deliverable-download{font-size:13px;min-height:44px;padding:10px 13px}.dot-capability-fieldset{padding:13px}}

/* The same lightweight transparent lineup powers the team and all portraits. */
.dots-lineup{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:contain;margin:18px 0 12px}.login-card{width:min(100%,520px)}.login-card .brand{margin-bottom:24px}.login-card h1{font-size:30px;margin-top:12px}.login-shell{background:radial-gradient(ellipse at 15% 20%,#354334,transparent 60%),radial-gradient(ellipse at 85% 85%,#243d3d,transparent 60%),#14201f}
/* 头像取景（2026-10-20）：合影里粉色 Apollo 的右手伸过了四等分线（它占原图 70–568px，资料整理 600–1048px），
   按四等分切会切掉它的手、还落一截到资料整理的头像里。改成每格 516px 宽、各自居中：只框住自己，不带邻居 */
.dot-mascot{--portrait-x:3.684%;background-image:url('/assets/opendots/dot-companions-v1.webp');background-size:420.93% auto;background-position:var(--portrait-x) 50%;background-repeat:no-repeat}.dot-character-0{--portrait-x:3.684%;--dot-color:#fb638d}.dot-character-1{--portrait-x:34.662%;--dot-color:#ffcc45}.dot-character-2{--portrait-x:65.459%;--dot-color:#b0da51}.dot-character-3{--portrait-x:98.49%;--dot-color:#42b8ef}
.dot-avatar.dot-mascot{width:46px;height:46px;flex:0 0 46px;border:0;border-radius:0;box-shadow:none;background-color:transparent;transition:transform .2s ease}.dot-avatar.dot-mascot:after{inset:auto 0 1px auto;width:7px;height:7px;border:2px solid #253a2e;border-radius:50%;background:#9ebc8d;animation:none}.dot-switch.active .dot-avatar.dot-mascot:after{border-color:#253a2e;background:#c2e798}.dot-running .dot-avatar.dot-mascot:after{background:#b6e695}.dot-waiting_user .dot-avatar.dot-mascot:after{background:#ffd77e}.dot-switch:hover .dot-mascot{transform:translateY(-2px) rotate(-3deg)}.dot-switch{padding:7px 10px;gap:10px}.dot-switch.active{border-color:#6a8261}.dot-list{max-height:36vh;flex-shrink:0}.sidebar{overflow-y:auto}
.dot-workspace-head{padding:17px 22px;margin-bottom:27px;gap:20px;border:1px solid #e2e6d8;border-radius:20px;background:linear-gradient(120deg,#fffdf5,#f0f4e8)}.dot-orb.dot-mascot{width:126px;height:126px;display:block;border:0;border-radius:0;box-shadow:none;background-color:transparent}.dot-orb.dot-mascot:before,.dot-orb.dot-mascot>span{display:none}.dot-orb.dot-mascot.dot-running{animation:dot-companion-work 2.8s ease-in-out infinite}.dot-workspace-head>.secondary{margin-top:4px}.dot-identity .eyebrow{font-size:9px;letter-spacing:1.2px}.dot-identity h2{font-weight:600}.empty-orbit{width:min(100%,300px);height:auto;aspect-ratio:3/1;border:0;border-radius:0;background:transparent url('/assets/opendots/dot-companions-v1.webp') center/contain no-repeat;box-shadow:none}.empty-orbit:before,.empty-orbit:after{display:none}.empty>.eyebrow{margin-top:25px}
@keyframes dot-companion-work{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(2deg)}}
@media(max-width:650px){.dot-avatar.dot-mascot{width:42px;height:42px;flex-basis:42px}.dot-switch{min-width:178px;padding:8px 11px}.dot-list{max-height:none}.sidebar{overflow:visible}.dot-workspace-head{grid-template-columns:82px minmax(0,1fr);padding:16px 14px;gap:14px;margin-bottom:23px;border-radius:16px}.dot-orb.dot-mascot{width:82px;height:82px}.dot-workspace-head>.secondary{margin:0}.dot-identity .eyebrow{font-size:8px;line-height:1.8;letter-spacing:.7px}.dot-identity h2{font-size:24px}.login-card .brand{margin-bottom:17px}.login-card h1{font-size:28px}.dots-lineup{margin:18px 0 12px}}
@media(prefers-reduced-motion:reduce){.dot-orb.dot-mascot.dot-running{animation:none}.dot-switch:hover .dot-mascot{transform:none}.dot-avatar.dot-mascot{transition:none}}
/* 待办箱与自动任务（2026-10-19）：沿用卡片、徽章与按钮样式 */
.nav-count{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:#3a4a46;color:#cfd8d2;font-size:10px;line-height:18px;text-align:center}
.nav-count.has{background:var(--lime);color:#16241f;font-weight:700}
.inbox-item,.automation-item{background:var(--white);border:1px solid var(--line);border-radius:13px;padding:16px 18px}
.inbox-item .row,.automation-item .row{flex-wrap:wrap}
.inbox-item h3,.automation-item h3{margin:6px 0 4px;font-size:14px}
.inbox-item .summary{white-space:pre-wrap;color:#4a5651;font-size:12px;margin:6px 0 10px;max-height:6.5em;overflow:hidden}
.inbox-actions,.automation-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.inbox-actions button,.automation-actions button{margin:0}
.badge.reason-waiting{background:#ecdfd0;color:#9c7037}.badge.reason-failed{background:#f7e7e1;color:var(--red)}.badge.reason-changed{background:#e3ecf5;color:#3f6688}
.badge.paused{background:#eceee6;color:var(--muted)}
.automation-item.paused{opacity:.7}
.automation-error{color:var(--red);font-size:11px;margin:6px 0 0}
#automation-form label{display:block;margin:12px 0 0;font-size:12px}
#automation-form input,#automation-form select{display:block;width:100%;margin-top:6px}

/* 结果像一篇可以发表的文章（2026-10-19） */
.od-article{font:15px/1.95 "Songti SC","Noto Serif SC","Source Han Serif SC",Georgia,serif;color:#1d2a29;padding:4px 2px 8px;letter-spacing:.01em;scroll-margin-top:18px;border-radius:12px;transition:box-shadow .6s,background .6s}
.od-article .od-article-title{font:600 24px/1.45 "Songti SC","Noto Serif SC",Georgia,serif;letter-spacing:-.4px;margin:6px 0 8px;color:#152220}
.od-byline{font:11px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:#8a9581;margin:0 0 22px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.od-article .od-lede{font-size:17px;line-height:1.9;color:#253532;margin:0 0 20px}
.od-article h2{font:600 17px/1.6 "Songti SC","Noto Serif SC",Georgia,serif;margin:28px 0 8px;letter-spacing:0}
.od-article h3{font:600 15px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;margin:22px 0 6px}
.od-article p{margin:0 0 14px}
.od-article ul,.od-article ol{padding-left:1.4em;margin:0 0 16px}.od-article li{margin:4px 0}
.od-article blockquote{margin:18px 0;padding:4px 0 4px 16px;border-left:3px solid #c6d4b0;color:#4a5a50}
.od-article strong{color:#152220}
.od-article code{font-size:12px;background:#eef2e6;border-radius:4px;padding:1px 5px}
.od-article .od-code{font:11.5px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;background:#152220;color:#dfe9d4;border-radius:10px;padding:14px 16px;overflow:auto;white-space:pre;margin:14px 0 20px}
.od-article hr{margin:26px auto;width:40%}
.od-table{border-collapse:collapse;width:100%;font:12px/1.7 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;margin:8px 0 20px}
.od-table th,.od-table td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}.od-table th{color:#6b7763;font-weight:600;background:#f4f6ee}
.od-flash{background:#f3f8e8;box-shadow:0 0 0 8px #f3f8e8}
.od-tech{margin-top:28px;border-top:1px solid var(--line);padding-top:6px}.od-tech>summary{font-size:11px;color:#6d7c64;padding:8px 0}
.od-proof p{font:10px/1.7 ui-monospace,monospace;color:#7f8a77;margin:4px 0;overflow-wrap:anywhere}
/* Apollo 的生命 */
.life-hero h2{font:600 22px/1.5 "Songti SC","Noto Serif SC",Georgia,serif;margin:6px 0 12px;letter-spacing:-.3px}
.life-chips{justify-content:flex-start;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.life-kind-habit{background:#e8f0df;color:#56743f}.life-kind-knowledge{background:#e3eef4;color:#3f6577}.life-kind-persona{background:#f3e9dc;color:#8a6233}.life-kind-boundary{background:#f3e3e0;color:#93463d}
.life-teach{display:grid;grid-template-columns:110px 1fr auto;gap:8px;align-items:end;margin:16px 0 10px}.life-teach select,.life-teach input{margin:0}
.life-section h3{margin:4px 0 4px;font-size:14px}.life-section>.fine{margin:0 0 12px}
.life-trait{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.life-trait .row{justify-content:flex-start}.life-text{font:15px/1.8 "Songti SC","Noto Serif SC",Georgia,serif;margin:8px 0 4px;color:#1d2a29}
.life-evidence{margin:4px 0 0;padding:2px 0 2px 10px;border-left:2px solid var(--line)}
.life-edit{background:var(--white);border:1px solid #c9d7b4;border-radius:12px;padding:12px 14px}.life-edit .row{justify-content:flex-start;margin-top:8px}
.life-diary{list-style:none;padding:0;margin:0}.life-diary li{display:flex;gap:14px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:12px}.life-diary time{color:#9aa58f;font-size:10px;white-space:nowrap;padding-top:2px}
@media (max-width:700px){.life-teach{grid-template-columns:1fr}}
/* Apollo 的手账 */
.nb-form{grid-template-columns:96px 1fr 190px auto}
.nb-item{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.nb-item .row{justify-content:flex-start}
.nb-item.is-done{opacity:.6}
.nb-title{font:15px/1.8 "Songti SC","Noto Serif SC",Georgia,serif;margin:8px 0 4px;color:#1d2a29}
.nb-draft{white-space:pre-wrap;font-size:13px;line-height:1.9;background:#fbf7ef;border-left:3px solid #c79b51;padding:10px 12px;border-radius:0 8px 8px 0;margin:8px 0}
.nb-kind-reminder{background:#f4edda;color:#97783b}.nb-kind-todo{background:#e8f0df;color:#56743f}.nb-kind-note{background:#e3eef4;color:#3f6577}.nb-kind-draft{background:#f3e9dc;color:#8a6233}
@media (max-width:700px){.nb-form{grid-template-columns:1fr}}
/* ===== 小伙伴乐园（2026-10-20，opendots-playground.js）：合影换成四个能各自动的格子，静止时和原图一样；闲下来它们自己玩 ===== */
.pg-stage{position:relative;display:flex;align-items:stretch;overflow:visible;-webkit-user-select:none;user-select:none}
.pg-stage.empty-orbit{background:none}
.pg-dot{position:relative;flex:var(--w) 1 0;min-width:0;height:auto;padding:0;margin:0;border:0;border-radius:0;background:none;box-shadow:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .25s cubic-bezier(.3,.7,.4,1)}
.pg-dot:hover,.pg-dot:focus-visible{transform:translateY(-4%);background:none}
.pg-dot:focus-visible{outline:2px solid #c79b51;outline-offset:2px;border-radius:12px}
.pg-body{position:absolute;inset:0;background:url('/assets/opendots/dot-companions-v1.webp') var(--x) 50%/var(--size) auto no-repeat;transform-origin:50% 82%;pointer-events:none}
.pg-dot.is-busy .pg-body{animation:pg-work 1.6s ease-in-out infinite}
.pg-dot.is-busy::after{content:"···";position:absolute;left:calc(var(--head)*100%);top:-2%;transform:translateX(-50%);padding:1px 7px 4px;border-radius:999px;background:#fffdf5;color:#5b6b55;font:700 12px/1 system-ui,sans-serif;letter-spacing:1px;box-shadow:0 3px 10px rgba(20,32,31,.16);animation:pg-blink 1.2s ease-in-out infinite}
.pg-say{position:absolute;bottom:86%;z-index:3;width:max-content;max-width:min(210px,82%);padding:6px 10px;border-radius:12px;background:#fffdf5;color:#253a2e;font-size:12px;line-height:1.45;font-weight:500;text-align:left;letter-spacing:0;
  box-shadow:0 6px 18px rgba(20,32,31,.16),0 0 0 1px rgba(37,58,46,.08);opacity:0;transform:translate(-50%,6px);transition:opacity .22s ease,transform .22s ease;pointer-events:none}
.pg-say.show{opacity:1;transform:translate(-50%,0)}
.pg-say::after{content:"";position:absolute;left:calc(50% + var(--tail,0px));bottom:-4px;width:9px;height:9px;background:inherit;transform:translateX(-50%) rotate(45deg);box-shadow:2px 2px 3px rgba(20,32,31,.06)}
.pg-stage.empty-orbit .pg-say{font-size:11px;padding:5px 8px}
.pg-prop{position:absolute;z-index:2;pointer-events:none;transform:translate(-50%,-50%);font-size:20px;line-height:1}
.pg-stage.empty-orbit .pg-prop{font-size:15px}
.pg-spark{color:#e2a64e;font-size:28px;text-shadow:0 0 10px rgba(243,194,122,.85)}
.pg-z{font:italic 700 13px/1 Georgia,serif;color:#6a8261}
@keyframes pg-work{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3%) rotate(2deg)}}
@keyframes pg-blink{0%,100%{opacity:.5}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.pg-dot,.pg-dot.is-busy .pg-body,.pg-dot.is-busy::after{animation:none;transition:none}.pg-dot:hover{transform:none}}
.dot-self{background:#fbe3ea;color:#a3345a;border-color:#f3c3d2}
.self-fact{margin:0 0 6px;line-height:1.7}.self-fact b{font-weight:600;color:var(--ink)}.self-notes{margin:2px 0 10px;padding-left:18px;line-height:1.75}
/* ===== 伞缘神经环（2026-10-20，opendots-nerve.js）：8 个神经节各自的心跳 ===== */
.nerve-ring{margin-bottom:18px;background:linear-gradient(135deg,#fffdf5,#eef4ea)}
.nerve-head h3{margin:4px 0 4px;font-size:19px}
.nerve-body{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:center;margin-top:12px}
.nerve-svg{width:150px;height:150px;overflow:visible}
.nerve-rim{fill:none;stroke:#cfdcc4;stroke-width:1.2;stroke-dasharray:2 3}
.nerve-node{stroke:#fffdf5;stroke-width:2;transform-box:fill-box;transform-origin:center}
.nerve-node.is-ok{fill:#7fb59a;animation:nerve-beat 2.8s ease-in-out infinite}
.nerve-node.is-warn{fill:#e3b25a;animation:nerve-beat 1.6s ease-in-out infinite}
.nerve-node.is-down{fill:#c9645b}
.nerve-label{font-size:7.5px;fill:#52604f;font-weight:600}
.nerve-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px}
.nerve-list li{display:grid;grid-template-columns:auto auto 1fr;gap:2px 8px;align-items:baseline;font-size:13px;line-height:1.5}
.nerve-list li small{grid-column:1/-1;color:#6c7768;font-size:12px}
.nerve-state{font-size:11px;padding:0 7px;border-radius:999px;background:#e5efe0;color:#3f6a52}
.nerve-list li.is-warn .nerve-state{background:#fbefd6;color:#8a5b12}
.nerve-list li.is-down .nerve-state{background:#f7dedb;color:#9b3a31}
@keyframes nerve-beat{0%,100%{transform:scale(1);opacity:.85}45%{transform:scale(1.18);opacity:1}}
@media(max-width:650px){.nerve-body{grid-template-columns:1fr}.nerve-svg{margin:0 auto}.nerve-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.nerve-node{animation:none!important}}

/* Dot 中途问你（2026-10-21） */
.answer-box{margin:12px 0;padding:12px 14px;border:1px solid #e2c08f;border-radius:10px;background:#fdf5e8}.answer-question{margin:0 0 8px;font-weight:600;color:#7a5520}.answer-options{flex-wrap:wrap;gap:6px;margin-bottom:8px}.answer-form{gap:6px}.answer-form input{flex:1;min-width:0}.badge.waiting_input,.badge.reason-asking{background:#fdf0dc;color:#8a5a14}
/* 待办箱分类（2026-10-22）：想法、成长也在这里拍板 */
.inbox-filters{gap:6px;flex-wrap:wrap;justify-content:flex-start;margin-bottom:2px}
.inbox-filters .inbox-chip{border:1px solid var(--line);background:var(--white);border-radius:999px;padding:5px 12px;font-size:12px;color:#4a5651;cursor:pointer}
.inbox-filters .inbox-chip.active{background:#1d2a29;border-color:#1d2a29;color:#fff}
.badge.reason-idea{background:#eef4ff;color:#2d4f8c}.badge.reason-growth{background:#f1f7ea;color:#46682a}
.inbox-idea h3,.inbox-growth h3{font-weight:500;line-height:1.6}
