:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#172235;background:#f6f7fb;font-synthesis:none;--accent:#ea5c6c;--border:#e7eaf0}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0;border-radius:10px;padding:11px 16px;color:inherit;background:#fff}button:disabled{opacity:.5;cursor:wait}a{color:#28499d;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #7e9cff;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:32px;letter-spacing:-1px}h2{font-size:22px;letter-spacing:-.5px}p{line-height:1.7;color:#68748a}svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8}.layout{display:grid;grid-template-columns:238px 1fr;min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;background:#111b2d;color:#d1d8e5;padding:30px 20px;display:flex;flex-direction:column}.brand{font-size:21px;color:#fff;font-weight:750;letter-spacing:1px}.brand-heart{color:var(--accent);font-size:30px;margin-right:9px}.brand small{display:block;margin:6px 0 28px 40px;font-size:10px;color:#8995ad;letter-spacing:2px}.navlabel{font-size:11px;color:#8a98b1;margin:22px 12px 10px}.sidebar nav{display:grid;gap:5px}.sidebar nav button{background:none;color:#b9c4d7;text-align:left;display:flex;gap:13px;align-items:center;border-radius:10px}.sidebar nav button.active{background:#28334a;color:#fff}.sidebar nav button.active .dot{background:var(--accent)}.sidebar nav svg{width:18px;height:18px}.sidebar .account{margin-top:auto;padding-top:28px;border-top:1px solid #303a4c;font-size:13px}.account strong{display:block;color:white;margin-bottom:6px}.account button{font-size:12px;padding:8px 0;background:none;color:#a4b1ca}.main{min-width:0;padding:0 44px 50px;max-width:1480px;width:100%;margin:auto}.topbar{height:92px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);margin-bottom:36px}.breadcrumb{font-size:13px;color:#8c97aa}.topbar .label{font-size:12px;display:flex;gap:8px;align-items:center}.dot{width:7px;height:7px;background:#6fa494;border-radius:50%;display:inline-block}.pagehead{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.pagehead p{margin-bottom:0;font-size:14px}.pagehead h1{margin-bottom:7px}.primary{background:#18253c;color:#fff}.primary.coral{background:var(--accent);color:#fff}.secondary{background:#edf0f6}.heart-hero{background:#172439;color:#fff;padding:32px 36px;border-radius:20px;display:grid;grid-template-columns:1fr 250px;gap:24px;overflow:hidden;margin-bottom:30px;position:relative}.eyebrow{font-size:11px;letter-spacing:2px;color:#c7cddb}.heart-hero h2{font-size:28px;margin:12px 0}.heart-hero p{color:#bdc7d9;font-size:14px;margin-bottom:18px;max-width:480px}.heart-id{font-family:ui-monospace,monospace;font-size:11px;color:#c7d0df;overflow-wrap:anywhere;line-height:1.6;display:flex;align-items:center;gap:12px}.heart-id button{background:#344259;color:#fff;font-family:system-ui;font-size:11px;padding:6px 10px}.heart-art{display:flex;align-items:center;justify-content:center;position:relative}.heart-art:before{content:"";width:210px;height:210px;background:radial-gradient(circle,#ea5c6c3d,transparent 68%);position:absolute}.heart-art svg{width:154px;height:154px;stroke:var(--accent);stroke-width:1.1;filter:drop-shadow(0 0 15px #ea5c6c55)}.heartbeat{animation:beat 3s ease-in-out infinite;transform-origin:center}.pulse-line{stroke:white;stroke-width:1.6}.badges{display:flex;flex-wrap:wrap;gap:8px}.badge{font-size:11px;background:#eff2f8;color:#68748a;border-radius:7px;padding:6px 9px;display:inline-block}.heart-hero .badge{background:#2c3950;color:#c5d0e3}.badge.green{background:#e8f4ee;color:#37735a}.badge.amber{background:#fff3df;color:#946721}.sectiontitle{display:flex;justify-content:space-between;align-items:center;margin:30px 0 18px}.sectiontitle h2{font-size:18px;margin:0}.sectiontitle span{font-size:12px;color:#8b96a7}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{border:1px solid var(--border);background:#fff;border-radius:15px;padding:24px;min-width:0}.card h3{font-size:16px;margin:17px 0 8px}.card p{font-size:12px;margin-bottom:20px;min-height:38px}.icon{width:42px;height:42px;border-radius:12px;background:#f2eef8;color:#8b76b7;display:flex;align-items:center;justify-content:center}.card:nth-child(2n) .icon{background:#eaf2f8;color:#6092b3}.card:nth-child(3n) .icon{background:#fff1e9;color:#c6865e}.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px}.card-bottom button{font-size:12px;padding:7px 10px;background:#f4f6fa}.empty{border:1px dashed #cfd6e3;background:#fff;border-radius:15px;padding:32px;text-align:center}.empty p{font-size:14px}.heart-list{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.heart-list button{border:1px solid var(--border);font-size:13px}.heart-list button.selected{border-color:var(--accent);color:#b94454;background:#fff0f2}.row{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--border);padding:16px 0}.row:last-child{border:0}.row h3{font-size:14px;margin:0 0 4px}.row p{font-size:12px;margin:0}.row button{font-size:12px;background:#f1f4fa}.row .actions{display:flex;gap:8px}.notice{background:#fff6e9;border:1px solid #f0dfc4;padding:15px 20px;border-radius:12px;margin-bottom:22px;display:flex;gap:16px;align-items:center;justify-content:space-between;font-size:13px;color:#8a6939}.notice p{margin:0;color:inherit;font-size:12px}.notice button{background:#fff;font-size:12px;white-space:nowrap}.two-col{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.input{width:100%;background:#fafbfe;border:1px solid #dce1ea;border-radius:9px;padding:11px 13px;margin:7px 0 15px}textarea.input{min-height:170px;resize:vertical}label{font-size:13px;font-weight:600;display:block}.subtle{font-size:12px;color:#7c889b}.template{background:#111b2d;color:#d5e0f5;border-radius:12px;padding:18px;white-space:pre-wrap;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.template-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.template-actions button{font-size:12px;background:#edf0f7}.resultbox{padding:16px;background:#f7f9fd;border-radius:10px;margin:15px 0;overflow-wrap:anywhere}.resultbox p{font-size:13px;margin-bottom:8px}.resultbox strong{font-size:13px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metrics div{background:#f4f6fb;border-radius:10px;padding:16px}.metrics strong{display:block;font-size:22px}.metrics span{font-size:11px;color:#7e8a9f}.progress{height:5px;background:#e4e8f0;border-radius:6px;overflow:hidden;margin:18px 0}.progress span{display:block;background:var(--accent);height:100%}.step{display:flex;gap:12px;padding:13px 0;font-size:13px;align-items:center}.step b{width:27px;height:27px;border-radius:50%;background:#edf0f6;display:flex;align-items:center;justify-content:center;font-size:11px}.step.done b{background:#e5f2eb;color:#39775a}dialog{border:0;border-radius:18px;max-width:520px;width:calc(100% - 32px);padding:28px;max-height:90dvh;overflow:auto;box-shadow:0 20px 70px #13203730}dialog::backdrop{background:#111b2d99}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.dialog-head h2{margin:0;font-size:21px}.dialog-head button{font-size:23px;padding:4px 10px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end}#dialog-error{font-size:13px;color:#b93845}.login{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 10%,#283449,#101928 70%);padding:25px}.login-card{background:#fff;border-radius:22px;padding:40px;max-width:420px;width:100%}.login-card h1{font-size:25px;margin:0 0 10px}.login-card p{font-size:13px}.login-card .primary{width:100%;margin-top:10px}.login-card footer{font-size:11px;color:#8a94a6;margin-top:22px}.loading{min-height:70dvh;display:grid;place-content:center;text-align:center}.alert{font-size:13px;color:#ba3c4e}.mobile-brand{display:none}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:13px 20px;border-radius:12px;background:#172439;color:#fff;font-size:13px;z-index:10;display:none}.link-button{display:inline-flex;background:#172439;color:#fff;border-radius:9px;padding:11px 16px;font-size:13px}.editor-help{font-size:12px;margin-top:-9px;margin-bottom:16px}.inline-form{display:flex;gap:10px;align-items:center}.inline-form select{margin:0;min-width:0}.inline-form button{white-space:nowrap}.divider{height:1px;background:var(--border);margin:25px 0}.mobile-nav{display:none}@keyframes beat{0%,55%,100%{transform:scale(1)}60%{transform:scale(1.035)}67%{transform:scale(1)}73%{transform:scale(1.025)}}@media(prefers-reduced-motion:reduce){.heartbeat{animation:none}}@media(max-width:1100px){.main{padding:0 26px 35px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{grid-template-columns:205px 1fr}.sidebar{padding:25px 13px}.two-col{grid-template-columns:1fr}}@media(max-width:700px){.layout{display:block}.sidebar{display:none}.main{padding:0 18px 92px}.topbar{height:70px;margin-bottom:24px}.mobile-brand{display:block;font-weight:750}.mobile-brand .brand-heart{font-size:23px}.breadcrumb{display:none}.topbar .label{font-size:11px}.pagehead{align-items:flex-start}.pagehead h1{font-size:25px}.pagehead p{font-size:12px}.pagehead button{font-size:12px;padding:10px 12px;white-space:nowrap}.heart-hero{padding:24px;grid-template-columns:1fr 78px;gap:5px;border-radius:16px}.heart-hero h2{font-size:23px}.heart-hero p{font-size:12px}.heart-art svg{width:95px;height:95px}.heart-art:before{width:120px;height:120px}.heart-id{display:block;font-size:10px}.heart-id button{display:block;margin-top:8px}.cards{gap:12px}.card{padding:17px}.card h3{font-size:14px}.card p{font-size:11px;margin-bottom:12px}.card-bottom{align-items:flex-start;gap:5px;flex-direction:column}.card-bottom button{width:100%;text-align:left}.card .badge{font-size:10px}.sectiontitle span{font-size:10px}.notice{align-items:flex-start;padding:14px}.notice button{font-size:11px;padding:9px}.heart-list{gap:7px}.heart-list button{font-size:11px;padding:9px}.row{align-items:flex-start}.row .actions{flex-direction:column}.inline-form{flex-wrap:wrap}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--border);display:flex;justify-content:space-around;z-index:5;padding:8px 10px max(8px,env(safe-area-inset-bottom))}.mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:10px;padding:6px 16px;color:#8893a6}.mobile-nav button.active{color:#d85768}.mobile-nav svg{width:20px;height:20px}.login-card{padding:29px}.two-col>.card{padding:22px}.metrics div{padding:10px}.metrics strong{font-size:19px}}

progress.progress{width:100%;border:0}progress::-webkit-progress-bar{background:#e4e8f0}progress::-webkit-progress-value{background:var(--accent)}
/* API controls remain usable on narrow screens. */
.api-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.api-actions button{min-height:40px}

.flow-stages{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}.flow-stages li{padding:7px 10px;border-radius:8px;background:#f3f4f6;font-size:13px}.flow-stages [aria-current=step]{background:#dbeafe;color:#1e40af;font-weight:700}.flow-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}#flow-template{min-height:190px;font-size:12px;overflow-wrap:anywhere}.heart-hero .primary{margin:10px 0}#flow-heading:focus{outline:2px solid #2563eb;outline-offset:4px}

.connection-heart{margin:20px 0}.connection-row{border-top:1px solid #e5e7eb;padding:20px 0;overflow-wrap:anywhere}.connection-guide{margin:16px 0;padding:16px;border:1px solid #dbeafe;background:#f8fafc;border-radius:12px}.connection-guide summary{font-weight:700;cursor:pointer}.connection-guide li{margin:10px 0;line-height:1.6}.guide-links{display:flex;flex-wrap:wrap;gap:8px}.guide-links a{overflow-wrap:anywhere}.mobile-nav{overflow-x:auto}.mobile-nav button{min-width:65px}@media(max-width:600px){.connection-guide{padding:12px}.connection-guide ol{padding-left:22px}}
