:root{color-scheme:light;--ink:#172331;--muted:#536475;--soft:#758594;--line:#dce3e8;--surface:#fff;--bg:#f3f5f7;--accent:#1761bc;--accent-dark:#104f9d;--green:#157349;--red:#a32b2b;--focus:#3077d0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible{outline:3px solid #73a9e8;outline-offset:3px}::selection{background:#c9def7;color:#172331}[hidden]{display:none!important}.topbar{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1380px)/2));background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-size:17px;font-weight:500;letter-spacing:-.025em}.brand strong{font-weight:750}.brand-mark{display:grid;gap:3px;width:25px}.brand-mark i{display:block;width:25px;height:4px;background:#1761bc;border-radius:2px}.brand-mark i:nth-child(2){width:18px}.topbar-right{display:flex;gap:25px;align-items:center}.top-caption{color:#647585;font-size:13px}.link-button{border:0;background:none;padding:8px 0;color:var(--accent);font-weight:600}.workspace{max-width:1380px;padding:42px 28px 0;margin:auto}.workspace-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:26px}h1,h2,p{margin:0}h1{font-size:29px;line-height:1.2;letter-spacing:-.03em;font-weight:700}.workspace-heading p{color:var(--muted);margin-top:7px}.button{min-height:43px;padding:10px 17px;border-radius:7px;border:1px solid transparent;font-weight:650;line-height:1.2;transition:background .15s,border-color .15s}.button svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.button.subtle{display:flex;align-items:center;gap:8px;color:#374d60;border-color:#cdd7df;background:transparent}.button.subtle:hover{background:#e9eef2}.button.primary{color:#fff;background:var(--accent)}.button.primary:hover:not(:disabled){background:var(--accent-dark)}.button.secondary{color:var(--ink);border-color:#cbd6de;background:#fff}.button.secondary:hover:not(:disabled){background:#f0f4f7}.notice{border:1px solid #d8c087;background:#fff9e9;color:#614916;border-radius:8px;padding:13px 16px;margin-bottom:18px}.notice.error{border-color:#e3c1be;background:#fff5f4;color:#812e28}.connection{background:#fff;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:1.4fr 1fr 1fr;min-height:97px;margin-bottom:20px}.connection-main,.connection-detail{display:flex;justify-content:center;flex-direction:column;padding:18px 25px}.connection-main{flex-direction:row;justify-content:flex-start;align-items:center;gap:13px}.connection-main>div{display:flex;flex-direction:column}.connection-detail{border-left:1px solid #e6ebef}.connection strong{font-size:15px;font-weight:650}.meta-label{font-size:12px;color:var(--muted);margin-bottom:4px}.status-dot{height:10px;width:10px;border-radius:50%;background:#a4b0b8;flex:none}.status-dot.online{background:#168158}.status-dot.offline{background:#b4613a}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:20px}.blocks-panel,.side-panel{background:var(--surface);border:1px solid var(--line);border-radius:10px}.section-heading{padding:23px 25px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #e6ebef}h2{font-size:17px;letter-spacing:-.015em;line-height:1.3}.section-heading p,.side-description{color:var(--muted);margin-top:5px}.count{font-size:12px;font-weight:650;color:#546779;background:#eef2f5;border-radius:20px;padding:3px 9px}.blocks-list{display:flex;flex-direction:column}.block-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:13px;align-items:center;padding:16px 25px;border:0;border-bottom:1px solid #edf0f2;text-align:left;color:var(--ink);background:#fff;width:100%}.block-row:last-child{border-bottom:0;border-radius:0 0 10px 10px}.block-row:hover:not(:disabled){background:#f5f9fd}.block-row.selected{background:#eef5fd}.block-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#466078;font-size:13px;font-weight:650}.block-name{display:block;font-weight:650;overflow-wrap:anywhere}.block-detail{display:block;color:var(--muted);font-size:12px;margin-top:2px}.block-selection{font-size:12px;color:var(--accent);font-weight:650}.empty-state{min-height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;color:var(--muted)}.empty-state strong{color:#314454;margin-top:14px}.empty-state p{max-width:340px;margin-top:6px}.empty-icon{width:48px;height:48px;border-radius:12px;background:#edf3f8;display:grid;place-items:center}.empty-icon svg{width:29px;height:29px;stroke:#6989a4;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.side-panel section{padding:23px 24px}.side-panel section+section{border-top:1px solid #e6ebef}.control-state{display:flex;flex-direction:column;margin:24px 0 17px}.control-state strong{font-size:16px}.actions{display:grid;gap:9px}.helper{color:var(--muted);font-size:12px;margin-top:12px}.side-info p{color:var(--muted);margin-top:10px;font-size:13px}.workspace-footer{display:flex;justify-content:space-between;color:var(--soft);font-size:12px;padding:22px 1px 30px}.loading{padding:80px 28px;text-align:center;color:var(--muted)}.login-view{max-width:1000px;margin:12vh auto 0;padding:30px 28px;display:grid;grid-template-columns:1fr 360px;gap:70px;align-items:center}.login-intro h1{font-size:38px;line-height:1.16;margin-top:24px}.login-intro p{font-size:16px;color:var(--muted);max-width:380px;margin-top:15px}.line-icon{height:56px;width:56px;display:grid;place-items:center;border-radius:12px;background:#e4effb}.line-icon svg{width:36px;height:36px;stroke:#1761bc;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.login-form{background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px;display:flex;flex-direction:column}.login-form>p{color:var(--muted);margin-top:7px}.login-form label{font-weight:650;margin:25px 0 7px}.login-form input{border:1px solid #b8c8d4;border-radius:6px;min-height:44px;padding:8px 12px;color:var(--ink);background:#fff}.login-form .button{margin-top:18px}.login-form .error-text{color:var(--red);margin-top:12px}
@media(max-width:800px){.workspace{padding-top:28px}.workspace-grid{grid-template-columns:1fr}.side-panel{display:grid;grid-template-columns:1fr 1fr}.side-panel section+section{border-top:0;border-left:1px solid #e6ebef}.login-view{gap:30px;grid-template-columns:1fr 320px}.login-intro h1{font-size:30px}}
@media(max-width:560px){.topbar{height:60px;padding:0 18px}.top-caption{display:none}.workspace{padding:26px 16px 0}.workspace-heading{align-items:flex-start}.workspace-heading h1{font-size:24px}.workspace-heading p{font-size:13px}.button.subtle{padding:9px;font-size:0;min-height:40px}.connection{grid-template-columns:1fr 1fr}.connection-main{grid-column:1/-1;border-bottom:1px solid #e6ebef}.connection-detail{padding:14px 18px}.connection-detail:nth-child(2){border-left:0}.connection-main{padding:15px 18px}.workspace-grid{gap:14px}.section-heading{padding:19px}.block-row{padding:14px 19px;grid-template-columns:46px minmax(0,1fr) auto;gap:8px}.side-panel{display:block}.side-panel section{padding:20px}.side-panel section+section{border-left:0;border-top:1px solid #e6ebef}.login-view{margin:35px auto 0;display:block;padding:20px}.login-intro h1{font-size:29px}.login-intro p{font-size:14px}.login-form{margin-top:30px}.workspace-footer{gap:15px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.sfd-values{margin:20px 0 0}.sfd-values>div+div{margin-top:18px}.sfd-values dt{font-size:12px;color:var(--muted);margin-bottom:5px}.sfd-values dd{margin:0;overflow-wrap:anywhere;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55;color:var(--ink);user-select:text}.sfd-values .sfd-time{font-family:inherit;color:var(--muted);margin-top:6px}
.sfd-values dt{display:flex;align-items:center;justify-content:space-between;gap:8px}.sfd-copy{border:0;background:none;color:var(--accent);font-size:12px;font-weight:600;padding:4px 0}.sfd-copy:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}
@media(min-width:561px) and (max-width:800px){.side-panel .side-info{grid-column:1/-1;border-left:0;border-top:1px solid #e6ebef}}
