.capable-root{--cap-ink:#17211b;--cap-muted:#65726a;--cap-line:#dfe8e2;--cap-bg:#f8faf7;--cap-surface:#fff;--cap-soft:#eef5f0;--cap-brand:#28634a;--cap-brand-dark:#184532;--cap-brand-wash:#e3f1e8;--cap-warm:#f6efe3;background:var(--cap-bg);min-height:100vh;color:var(--cap-ink);font-family:var(--font-geist-sans), Arial, sans-serif}.capable-root *,.capable-root :before,.capable-root :after{box-sizing:border-box}.capable-root a{color:inherit;text-decoration:none}.cap-shell{width:min(1180px,100% - 32px);margin:0 auto}.cap-header{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8faf7f0;border-bottom:1px solid #dfe8e2d9;position:sticky;top:0}.cap-header-inner{align-items:center;gap:28px;height:68px;display:flex}.cap-logo{letter-spacing:-.03em;align-items:center;gap:10px;font-size:19px;font-weight:800;display:inline-flex}.cap-logo-mark{background:var(--cap-brand);color:#fff;border-radius:10px;place-items:center;width:32px;height:32px;font-size:15px;display:grid;box-shadow:0 6px 16px #28634a2e}.cap-nav{align-items:center;gap:6px;display:flex}.cap-nav a{color:var(--cap-muted);border-radius:9px;padding:9px 11px;font-size:14px;font-weight:650}.cap-nav a:hover,.cap-nav a[data-active=true]{background:var(--cap-soft);color:var(--cap-ink)}.cap-header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.cap-button{background:var(--cap-brand);color:#fff;min-height:42px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:750;transition:transform .16s,background .16s,border-color .16s;display:inline-flex}.cap-button:hover{background:var(--cap-brand-dark);transform:translateY(-1px)}.cap-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.cap-button.secondary{border-color:var(--cap-line);color:var(--cap-ink);background:#fff}.cap-button.secondary:hover{background:var(--cap-soft)}.cap-button.ghost{color:var(--cap-muted);background:0 0}.cap-button.small{border-radius:9px;min-height:34px;padding:0 11px;font-size:12px}.cap-icon-button{border:1px solid var(--cap-line);width:40px;height:40px;color:var(--cap-muted);cursor:pointer;background:#fff;border-radius:10px;place-items:center;font-size:17px;display:grid}.cap-mobile-menu{display:none}.cap-main{min-height:calc(100vh - 68px)}.cap-hero{text-align:center;padding:84px 0 60px}.cap-eyebrow{color:var(--cap-brand);background:#fff;border:1px solid #cfe1d5;border-radius:999px;align-items:center;gap:7px;padding:7px 11px;font-size:12px;font-weight:800;display:inline-flex}.cap-hero h1{letter-spacing:-.055em;max-width:820px;margin:20px auto 14px;font-size:clamp(40px,6vw,70px);line-height:1.02}.cap-hero>p{max-width:650px;color:var(--cap-muted);margin:0 auto;font-size:18px;line-height:1.6}.cap-search-box{background:#fff;border:1px solid #cfdad3;border-radius:17px;align-items:center;gap:10px;max-width:760px;margin:32px auto 0;padding:8px;display:flex;box-shadow:0 18px 55px #1e402d1a}.cap-search-box input{min-width:0;color:var(--cap-ink);font:inherit;background:0 0;border:0;outline:0;flex:1;padding:11px 13px;font-size:16px}.cap-chips{flex-wrap:wrap;justify-content:center;gap:8px;max-width:820px;margin:18px auto 0;display:flex}.cap-chip{border:1px solid var(--cap-line);color:var(--cap-muted);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:650}.cap-chip:hover,.cap-chip.active{background:var(--cap-brand-wash);color:var(--cap-brand-dark);border-color:#a9c8b5}.cap-section{padding:34px 0 58px}.cap-section-head{justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px;display:flex}.cap-section-head h2{letter-spacing:-.035em;margin:0;font-size:27px}.cap-section-head p{color:var(--cap-muted);margin:6px 0 0;font-size:14px;line-height:1.5}.cap-link{color:var(--cap-brand);font-size:13px;font-weight:800}.cap-category-grid{grid-template-columns:repeat(6,1fr);gap:12px;display:grid}.cap-category{border:1px solid var(--cap-line);cursor:pointer;text-align:left;background:#fff;border-radius:15px;padding:17px;transition:transform .16s,border-color .16s}.cap-category:hover{border-color:#a9c8b5;transform:translateY(-2px)}.cap-category-symbol{background:var(--cap-soft);width:36px;height:36px;color:var(--cap-brand);border-radius:11px;place-items:center;font-weight:850;display:grid}.cap-category strong{margin-top:14px;font-size:14px;display:block}.cap-category span{color:var(--cap-muted);margin-top:5px;font-size:11px;line-height:1.45;display:block}.cap-card-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.cap-app-card{border:1px solid var(--cap-line);background:#fff;border-radius:17px;flex-direction:column;min-height:260px;padding:20px;transition:transform .17s,box-shadow .17s,border-color .17s;display:flex;position:relative;box-shadow:0 2px #17211b05}.cap-app-card:hover{border-color:#bed3c5;transform:translateY(-3px);box-shadow:0 14px 32px #1d3d2b14}.cap-card-top{align-items:flex-start;gap:13px;display:flex}.cap-app-icon{background:var(--cap-brand-wash);width:46px;height:46px;color:var(--cap-brand-dark);letter-spacing:-.03em;border-radius:14px;flex:none;place-items:center;font-size:14px;font-weight:900;display:grid}.cap-card-title{min-width:0}.cap-card-title h3{letter-spacing:-.02em;margin:2px 0 4px;font-size:17px}.cap-provider{color:var(--cap-muted);font-size:11px}.cap-favorite{color:#9aa79f;cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:19px;line-height:1}.cap-favorite.active{color:#d18b3d}.cap-app-card>p{color:var(--cap-muted);margin:17px 0;font-size:13px;line-height:1.6}.cap-tags{flex-wrap:wrap;gap:6px;display:flex}.cap-tag{color:#526159;background:#f3f6f4;border-radius:999px;align-items:center;padding:5px 8px;font-size:10px;font-weight:750;display:inline-flex}.cap-tag.safe{background:var(--cap-brand-wash);color:var(--cap-brand-dark)}.cap-tag.warm{background:var(--cap-warm);color:#725936}.cap-card-footer{border-top:1px solid #edf1ee;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:16px;display:flex}.cap-rating{color:var(--cap-muted);font-size:11px}.cap-page-head{padding:52px 0 28px}.cap-page-head h1{letter-spacing:-.05em;max-width:780px;margin:0;font-size:clamp(34px,5vw,54px);line-height:1.08}.cap-page-head p{max-width:670px;color:var(--cap-muted);margin:13px 0 0;font-size:16px;line-height:1.6}.cap-search-layout{grid-template-columns:220px minmax(0,1fr);gap:28px;padding-bottom:70px;display:grid}.cap-filter{border:1px solid var(--cap-line);background:#fff;border-radius:15px;align-self:start;padding:17px;position:sticky;top:92px}.cap-filter h3{margin:0 0 14px;font-size:14px}.cap-filter-group{border-top:1px solid #edf1ee;padding:15px 0}.cap-filter-group label{color:var(--cap-muted);cursor:pointer;align-items:center;gap:9px;margin:9px 0;font-size:12px;display:flex}.cap-filter-group input{accent-color:var(--cap-brand)}.cap-result-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px;display:flex}.cap-result-head strong{font-size:14px}.cap-detail-hero{padding:50px 0 28px}.cap-detail-grid{grid-template-columns:minmax(0,1fr) 330px;gap:34px;display:grid}.cap-detail-title{align-items:flex-start;gap:19px;display:flex}.cap-detail-title .cap-app-icon{border-radius:19px;width:68px;height:68px;font-size:19px}.cap-detail-title h1{letter-spacing:-.045em;margin:3px 0 6px;font-size:38px}.cap-detail-title p{color:var(--cap-muted);margin:0;font-size:17px;line-height:1.55}.cap-detail-actions{flex-wrap:wrap;gap:9px;margin-top:23px;display:flex}.cap-panel{border:1px solid var(--cap-line);background:#fff;border-radius:17px;padding:21px}.cap-panel+.cap-panel{margin-top:16px}.cap-panel h2,.cap-panel h3{letter-spacing:-.025em;margin:0 0 12px}.cap-panel h2{font-size:22px}.cap-panel h3{font-size:15px}.cap-panel p{color:var(--cap-muted);font-size:13px;line-height:1.65}.cap-content-stack{padding:10px 0 70px}.cap-example-list{gap:9px;display:grid}.cap-example{background:var(--cap-soft);color:#34443a;border-radius:12px;padding:13px 14px;font-size:13px;font-weight:650}.cap-permission{border-bottom:1px solid #edf1ee;align-items:flex-start;gap:10px;padding:11px 0;display:flex}.cap-permission:last-child{border-bottom:0}.cap-permission-mark{background:var(--cap-brand-wash);width:28px;height:28px;color:var(--cap-brand);border-radius:9px;flex:none;place-items:center;font-size:12px;font-weight:900;display:grid}.cap-demo{background:#f4f7f5;border-radius:15px;padding:18px}.cap-demo-note{color:#715d3e;align-items:center;gap:8px;margin-bottom:14px;font-size:11px;font-weight:750;display:flex}.cap-message{color:#34423a;background:#fff;border-radius:14px 14px 14px 4px;max-width:84%;margin:9px 0;padding:12px 14px;font-size:13px;line-height:1.6}.cap-message.user{background:var(--cap-brand);color:#fff;border-radius:14px 14px 4px;margin-left:auto}.cap-demo-progress{gap:8px;margin:14px 0;display:grid}.cap-demo-step{color:var(--cap-muted);align-items:center;gap:8px;font-size:11px;display:flex}.cap-check{background:var(--cap-brand-wash);width:18px;height:18px;color:var(--cap-brand);border-radius:50%;place-items:center;font-size:10px;display:grid}.cap-bundle-card{border:1px solid var(--cap-line);background:#fff;border-radius:17px;flex-direction:column;padding:22px;display:flex}.cap-bundle-card h3{margin:14px 0 7px;font-size:19px}.cap-bundle-card p{color:var(--cap-muted);margin:0;font-size:13px;line-height:1.6}.cap-bundle-items{margin-top:18px;display:flex}.cap-bundle-items .cap-app-icon{border:2px solid #fff;border-radius:11px;width:34px;height:34px;margin-right:-7px;font-size:9px}.cap-empty{text-align:center;background:#fff;border:1px dashed #c7d5cc;border-radius:17px;grid-column:1/-1;padding:55px 24px}.cap-empty strong{font-size:18px;display:block}.cap-empty p{color:var(--cap-muted);font-size:13px}.cap-table-list{gap:12px;display:grid}.cap-connected{border:1px solid var(--cap-line);background:#fff;border-radius:15px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:17px;display:grid}.cap-connected-main{align-items:center;gap:13px;display:flex}.cap-connected h3{margin:0 0 5px;font-size:15px}.cap-connected p{color:var(--cap-muted);margin:0;font-size:11px}.cap-pricing{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.cap-price{border:1px solid var(--cap-line);background:#fff;border-radius:16px;padding:21px}.cap-price.featured{box-shadow:inset 0 3px 0 var(--cap-brand);border-color:#86b296}.cap-price h3{margin:0}.cap-price strong{margin:13px 0;font-size:25px;display:block}.cap-price p,.cap-price li{color:var(--cap-muted);font-size:12px;line-height:1.6}.cap-form{grid-template-columns:1fr 1fr;gap:15px;display:grid}.cap-field{gap:7px;display:grid}.cap-field.full{grid-column:1/-1}.cap-field label{font-size:12px;font-weight:750}.cap-input,.cap-select,.cap-textarea{width:100%;color:var(--cap-ink);font:inherit;background:#fff;border:1px solid #ccd8d0;border-radius:10px;outline:none;padding:11px 12px;font-size:13px}.cap-input:focus,.cap-select:focus,.cap-textarea:focus{border-color:#78a68a;box-shadow:0 0 0 3px #28634a1a}.cap-textarea{resize:vertical;min-height:100px}.cap-modal-backdrop{z-index:80;background:#111b1580;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.cap-modal{background:#fff;border-radius:20px;width:min(590px,100%);max-height:min(760px,100vh - 36px);padding:23px;overflow:auto;box-shadow:0 30px 100px #0a1e1240}.cap-modal-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.cap-modal h2{letter-spacing:-.035em;margin:0;font-size:23px}.cap-modal-head p{color:var(--cap-muted);margin:6px 0 0;font-size:12px}.cap-stepper{gap:6px;margin:18px 0;display:flex}.cap-stepper span{background:#e7ece8;border-radius:9px;flex:1;height:4px}.cap-stepper span.active{background:var(--cap-brand)}.cap-platform-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.cap-platform{border:1px solid var(--cap-line);text-align:left;cursor:pointer;background:#fff;border-radius:12px;padding:15px}.cap-platform.active{background:var(--cap-brand-wash);border-color:#76a489}.cap-platform strong{display:block}.cap-platform span{color:var(--cap-muted);font-size:11px}.cap-modal-footer{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.cap-success{text-align:center;padding:25px 8px}.cap-success-mark{background:var(--cap-brand-wash);width:58px;height:58px;color:var(--cap-brand);border-radius:50%;place-items:center;margin:0 auto 15px;font-size:25px;font-weight:900;display:grid}.cap-callout{background:var(--cap-soft);border:1px solid #d6e5db;border-radius:14px;padding:17px}.cap-footer{border-top:1px solid var(--cap-line);color:var(--cap-muted);padding:30px 0 40px;font-size:12px}.cap-footer-inner{justify-content:space-between;align-items:center;gap:20px;display:flex}.cap-footer-links{gap:16px;display:flex}.cap-dev-details summary{cursor:pointer;color:var(--cap-muted);font-size:12px;font-weight:700}.cap-dev-details div{color:#65726a;font-family:var(--font-geist-mono), monospace;background:#f4f6f5;border-radius:10px;margin-top:12px;padding:13px;font-size:11px}@media (max-width:900px){.cap-nav,.cap-header-actions .cap-button.ghost{display:none}.cap-mobile-menu{display:grid}.cap-mobile-sheet{z-index:29;border-bottom:1px solid var(--cap-line);background:#fff;gap:5px;padding:14px 16px 18px;display:grid;position:fixed;inset:68px 0 auto;box-shadow:0 18px 30px #14281c1f}.cap-mobile-sheet a{border-radius:10px;padding:12px;font-size:14px;font-weight:750}.cap-category-grid{grid-template-columns:repeat(3,1fr)}.cap-card-grid{grid-template-columns:repeat(2,1fr)}.cap-detail-grid{grid-template-columns:1fr}.cap-detail-grid aside{order:-1}}@media (max-width:640px){.cap-shell{width:min(100% - 22px,1180px)}.cap-header-inner{gap:10px;height:62px}.cap-header-actions .secondary{display:none}.cap-hero{padding:54px 0 38px}.cap-hero h1{font-size:42px}.cap-hero>p{font-size:15px}.cap-search-box{border-radius:14px;flex-direction:column;align-items:stretch}.cap-search-box .cap-button{width:100%}.cap-section{padding:26px 0 42px}.cap-section-head{flex-direction:column;align-items:flex-start;gap:8px}.cap-category-grid{grid-template-columns:repeat(2,1fr)}.cap-card-grid,.cap-pricing{grid-template-columns:1fr}.cap-app-card{min-height:235px}.cap-search-layout{grid-template-columns:1fr}.cap-filter{position:static}.cap-page-head{padding:36px 0 22px}.cap-page-head h1{font-size:37px}.cap-detail-title{flex-direction:column}.cap-detail-title h1{font-size:33px}.cap-connected{grid-template-columns:1fr}.cap-connected>div:last-child{flex-wrap:wrap;gap:7px;display:flex}.cap-form{grid-template-columns:1fr}.cap-field.full{grid-column:auto}.cap-platform-grid{grid-template-columns:1fr}.cap-footer-inner{flex-direction:column;align-items:flex-start}}@media (prefers-color-scheme:dark){.capable-root{--cap-ink:#edf4ef;--cap-muted:#a9b7ae;--cap-line:#304139;--cap-bg:#111813;--cap-surface:#172019;--cap-soft:#202c24;--cap-brand:#70b78c;--cap-brand-dark:#9ad0ad;--cap-brand-wash:#21392a;--cap-warm:#332c21}.cap-header{background:#111813f0}.cap-button.secondary,.cap-icon-button,.cap-search-box,.cap-category,.cap-app-card,.cap-filter,.cap-panel,.cap-bundle-card,.cap-empty,.cap-connected,.cap-price,.cap-input,.cap-select,.cap-textarea,.cap-modal,.cap-platform{background:var(--cap-surface);color:var(--cap-ink)}.cap-message{color:#dfe9e2;background:#26332b}.cap-demo{background:#1b251e}.cap-mobile-sheet{background:var(--cap-surface)}}.cap-sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cap-goal-box{border:1px solid var(--cap-line);background:var(--cap-surface);border-radius:16px;grid-template-columns:1fr auto;align-items:end;gap:10px;width:min(820px,100%);margin:28px auto 14px;padding:10px;display:grid;box-shadow:0 14px 45px #23453117}.cap-goal-box textarea{resize:none;min-width:0;color:var(--cap-ink);font:inherit;background:0 0;border:0;outline:none;padding:10px 12px;font-size:15px;line-height:1.5}.cap-goal-box.compact{width:100%;margin:0 0 28px}.cap-hero-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin:12px 0;display:flex}.cap-recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.cap-skill-card,.cap-recipe-card{border:1px solid var(--cap-line);background:var(--cap-surface);border-radius:16px;flex-direction:column;gap:13px;min-width:0;padding:18px;display:flex;box-shadow:0 7px 22px #162c1f0a}.cap-skill-card p,.cap-recipe-card p{color:var(--cap-muted);margin:0;font-size:13px;line-height:1.55}.cap-mini-section{border-top:1px solid var(--cap-line);gap:5px;padding-top:11px;font-size:12px;display:grid}.cap-mini-section span{color:var(--cap-muted);line-height:1.5}.cap-skill-facts{color:var(--cap-muted);grid-template-columns:1fr 1fr;gap:7px 12px;font-size:11px;display:grid}.cap-card-actions{border-top:1px solid var(--cap-line);flex-wrap:wrap;align-items:center;gap:9px 13px;margin-top:auto;padding-top:13px;display:flex}.button-link{cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.risk-low{color:#236b43;background:#e8f5ec}.risk-medium{color:#80621b;background:#fbf3d9}.risk-high{color:#9c3d3d;background:#fbe8e8}.cap-recipe-meta{color:var(--cap-muted);gap:5px;font-size:12px;display:grid}.cap-metaphor{border:1px solid var(--cap-line);background:var(--cap-soft);border-radius:18px;justify-content:space-between;align-items:center;gap:14px;padding:22px;display:flex}.cap-metaphor div{text-align:center;gap:5px;display:grid}.cap-metaphor strong{font-size:17px}.cap-metaphor span{color:var(--cap-muted);font-size:11px}.cap-metaphor b{color:var(--cap-brand)}.cap-search-panel{gap:10px;margin-bottom:14px;display:flex}.cap-search-panel .cap-input{flex:1}.cap-filter-grid{border:1px solid var(--cap-line);background:var(--cap-soft);border-radius:14px;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:22px;padding:14px;display:grid}.cap-filter{gap:5px;display:grid}.cap-filter span{color:var(--cap-muted);font-size:11px;font-weight:700}.cap-filter select{border:1px solid var(--cap-line);background:var(--cap-surface);min-width:0;color:var(--cap-ink);border-radius:9px;padding:9px}.cap-results-head{color:var(--cap-muted);justify-content:space-between;margin:17px 0;font-size:12px;display:flex}.cap-results-head strong{color:var(--cap-ink)}.cap-detail-page{padding-top:30px;padding-bottom:70px}.cap-back{color:var(--cap-muted);font-size:12px;font-weight:700}.cap-detail-hero{grid-template-columns:auto 1fr;align-items:start;gap:20px;padding:32px 0;display:grid}.cap-detail-hero h1{letter-spacing:-.045em;margin:9px 0;font-size:42px}.cap-detail-hero p{max-width:720px;color:var(--cap-muted);margin:0;font-size:16px;line-height:1.6}.cap-app-icon.large{width:68px;height:68px;font-size:17px}.cap-detail-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;display:grid}.cap-detail-main{gap:14px;display:grid}.cap-info,.cap-nutrition{border:1px solid var(--cap-line);background:var(--cap-surface);border-radius:16px;padding:20px}.cap-info h2,.cap-nutrition h2{margin:0 0 13px;font-size:19px}.cap-info p,.cap-info li{color:var(--cap-muted);font-size:13px;line-height:1.65}.cap-info li+li{margin-top:6px}.cap-prompt-list{gap:6px;margin-top:13px;display:grid}.cap-prompt-list a{color:var(--cap-brand);font-size:12px;font-weight:700}.cap-completeness{align-items:center;gap:15px;display:flex}.cap-completeness>strong{font-size:32px}.cap-completeness p{margin:3px 0 0}.cap-progress{background:var(--cap-line);border-radius:99px;height:7px;margin-top:12px;overflow:hidden}.cap-progress span{border-radius:inherit;background:var(--cap-brand);height:100%;display:block}.cap-pairings{grid-template-columns:1fr 1fr;gap:10px;display:grid}.cap-pairings a{border:1px solid var(--cap-line);border-radius:12px;padding:13px}.cap-pairings strong{margin-top:8px;display:block}.cap-pairings p{margin-bottom:0}.cap-notice{background:var(--cap-warm);color:var(--cap-muted);border-left:3px solid #c79224;margin-top:9px;padding:9px 11px;font-size:12px}.cap-nutrition{position:sticky;top:84px}.cap-fact{border-top:1px solid var(--cap-line);gap:4px;padding:10px 0;display:grid}.cap-fact span{color:var(--cap-muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.cap-fact strong{font-size:12px;line-height:1.45}.cap-version-tabs{border:1px solid var(--cap-line);border-radius:13px;grid-template-columns:repeat(3,1fr);gap:6px;width:min(600px,100%);margin-bottom:17px;padding:5px;display:grid}.cap-version-tabs button{color:var(--cap-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:11px;font-weight:750}.cap-version-tabs button[data-active=true]{background:var(--cap-brand);color:#fff}.cap-recipe-summary{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px;display:grid}.cap-recipe-summary div{border:1px solid var(--cap-line);border-radius:12px;gap:5px;padding:14px;display:grid}.cap-recipe-summary span{color:var(--cap-muted);font-size:10px}.cap-recipe-summary strong{font-size:21px}.cap-steps{display:grid}.cap-step{border-bottom:1px solid var(--cap-line);grid-template-columns:34px 1fr;gap:12px;padding:13px 0;display:grid}.cap-step>span{background:var(--cap-brand-wash);width:30px;height:30px;color:var(--cap-brand);border-radius:50%;place-items:center;font-weight:800;display:grid}.cap-step p{margin:6px 0}.cap-step small{color:var(--cap-muted);line-height:1.5;display:block}.cap-step a{color:var(--cap-brand);margin-top:7px;font-size:11px;font-weight:700;display:inline-block}.cap-result-preview{background:var(--cap-soft);border-radius:12px;margin-top:13px;padding:15px}.cap-result-preview span{color:var(--cap-muted);text-transform:uppercase;font-size:10px}.cap-result-preview p{margin-bottom:0}.cap-owned-row{border-top:1px solid var(--cap-line);grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:10px 0;font-size:12px;display:grid}.cap-owned-row button{color:var(--cap-brand);cursor:pointer;font:inherit;background:0 0;border:0;font-size:11px;font-weight:700}.cap-button.full{width:100%;margin-top:14px}.cap-match{border:1px solid var(--cap-line);background:var(--cap-surface);border-radius:18px;gap:18px;margin-bottom:18px;padding:22px;display:grid}.cap-match-head{justify-content:space-between;gap:20px;display:flex}.cap-match-head h2{margin:6px 0}.cap-match-head p{color:var(--cap-muted);margin:0}.cap-match-grid{border-top:1px solid var(--cap-line);grid-template-columns:1.3fr 1fr 1fr;gap:20px;padding-top:17px;display:grid}.cap-match-grid h3{margin:0 0 10px;font-size:13px}.cap-match-grid li,.cap-reason{color:var(--cap-muted);font-size:12px;line-height:1.5}.cap-warning{background:var(--cap-warm);color:var(--cap-muted);border-radius:11px;flex-wrap:wrap;gap:8px 15px;padding:12px;font-size:11px;display:flex}.cap-section-block{padding:20px 0 35px}.cap-section-block>h2{margin:0 0 16px}.cap-info-grid{grid-template-columns:1fr 1fr;gap:12px;margin:25px 0;display:grid}.cap-submit{grid-template-columns:1fr 1fr;gap:13px;max-width:760px;display:grid}.cap-submit label{gap:6px;display:grid}.cap-submit label span{font-size:12px;font-weight:700}.cap-submit input,.cap-submit select{border:1px solid var(--cap-line);background:var(--cap-surface);color:var(--cap-ink);border-radius:10px;padding:11px}@media (max-width:900px){.cap-recipe-grid{grid-template-columns:1fr 1fr}.cap-filter-grid{grid-template-columns:repeat(3,1fr)}.cap-detail-layout{grid-template-columns:1fr}.cap-nutrition{position:static}.cap-match-grid{grid-template-columns:1fr 1fr}.cap-metaphor{justify-content:flex-start;overflow-x:auto}.cap-metaphor div{min-width:130px}}@media (max-width:640px){.cap-goal-box{grid-template-columns:1fr}.cap-goal-box .cap-button{width:100%}.cap-recipe-grid,.cap-filter-grid,.cap-info-grid,.cap-submit,.cap-skill-facts,.cap-pairings,.cap-detail-hero{grid-template-columns:1fr}.cap-detail-hero h1{font-size:34px}.cap-recipe-summary{grid-template-columns:1fr 1fr}.cap-match-head{flex-direction:column}.cap-match-grid,.cap-version-tabs{grid-template-columns:1fr}.cap-search-panel{flex-direction:column}}.cap-builder-head{justify-content:space-between;align-items:flex-end;gap:24px;padding:50px 0 26px;display:flex}.cap-builder-fab{z-index:20;background:var(--cap-brand);border-radius:12px;padding:13px 17px;font-size:13px;font-weight:800;position:fixed;bottom:22px;right:22px;box-shadow:0 12px 30px #18453240;color:#fff!important}.cap-builder-head h1{letter-spacing:-.05em;margin:12px 0 8px;font-size:clamp(34px,5vw,52px)}.cap-builder-head p{max-width:680px;color:var(--cap-muted);margin:0;line-height:1.6}.cap-builder-actions{flex-wrap:wrap;gap:8px;display:flex}.cap-builder-layout{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:20px;display:grid}.cap-builder-canvas{border:1px solid var(--cap-line);background:var(--cap-surface);border-radius:18px;gap:13px;padding:20px;display:grid}.cap-builder-library .cap-nutrition{top:82px}.cap-builder-field{gap:6px;display:grid}.cap-builder-field>span{color:var(--cap-muted);font-size:11px;font-weight:750}.cap-builder-field input,.cap-builder-field textarea,.cap-builder-field select,.cap-builder-step input,.cap-builder-step textarea,.cap-step-options select{border:1px solid var(--cap-line);background:var(--cap-bg);width:100%;color:var(--cap-ink);font:inherit;border-radius:9px;outline:none;padding:10px}.cap-builder-field input:focus,.cap-builder-field textarea:focus,.cap-builder-step input:focus,.cap-builder-step textarea:focus{border-color:var(--cap-brand)}.cap-builder-guide{background:var(--cap-soft);color:var(--cap-muted);border-radius:10px;flex-wrap:wrap;gap:7px;padding:10px;font-size:10px;display:flex}.cap-builder-guide span+span:before{content:"·";margin-right:7px}.cap-builder-steps{gap:10px;display:grid}.cap-builder-step{border:1px solid var(--cap-line);border-radius:13px;grid-template-columns:34px minmax(0,1fr) auto;align-items:start;gap:11px;padding:13px;display:grid}.cap-builder-step.disabled{opacity:.52}.cap-step-index{background:var(--cap-brand-wash);width:30px;height:30px;color:var(--cap-brand);border-radius:50%;place-items:center;font-weight:850;display:grid}.cap-builder-step-body{gap:8px;display:grid}.cap-builder-step-body .cap-card-top{align-items:center}.cap-builder-step-body .cap-card-top input{flex:1;font-weight:750}.cap-step-options{color:var(--cap-muted);flex-wrap:wrap;align-items:center;gap:8px 15px;font-size:11px;display:flex}.cap-step-options select{width:auto;padding:7px}.cap-step-options label{align-items:center;gap:5px;display:flex}.cap-step-options input{accent-color:var(--cap-brand)}.cap-step-controls{gap:5px;display:grid}.cap-step-controls button{border:1px solid var(--cap-line);background:var(--cap-soft);width:30px;height:30px;color:var(--cap-muted);cursor:pointer;border-radius:8px}.cap-step-controls button:disabled{opacity:.35;cursor:not-allowed}.cap-builder-library p{color:var(--cap-muted);font-size:12px;line-height:1.5}.cap-builder-library .cap-builder-field{margin-top:15px}.cap-builder-stats{margin-top:16px}.cap-runner{border:1px solid var(--cap-line);background:var(--cap-surface);border-radius:18px;margin:36px 0 70px;padding:22px}.cap-runner .cap-section-head h2{margin:10px 0 4px}.cap-run-list{border-top:1px solid var(--cap-line);display:grid}.cap-run-step{border-bottom:1px solid var(--cap-line);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:68px;padding:10px 0;display:grid}.cap-run-step p{color:var(--cap-muted);margin:4px 0 0;font-size:11px}.cap-run-dot{border:2px solid #a9b5ad;border-radius:50%;width:12px;height:12px}.cap-run-step[data-status=running] .cap-run-dot{border-color:var(--cap-brand);border-top-color:#0000;animation:.7s linear infinite cap-spin}.cap-run-step[data-status=awaiting_confirmation] .cap-run-dot{background:#f8dc9d;border-color:#bd8623}.cap-run-step[data-status=completed] .cap-run-dot{border-color:var(--cap-brand);background:var(--cap-brand)}.cap-run-step[data-status=failed] .cap-run-dot{background:#a74343;border-color:#a74343}.cap-run-status{color:var(--cap-muted);font-size:11px;font-weight:750}.cap-run-result{background:var(--cap-brand-wash);border-radius:12px;margin-top:16px;padding:15px}.cap-run-result p{color:var(--cap-muted);margin:5px 0 0;font-size:12px;line-height:1.5}@keyframes cap-spin{to{transform:rotate(360deg)}}@media (max-width:900px){.cap-builder-layout{grid-template-columns:1fr}.cap-builder-library .cap-nutrition{position:static}}@media (max-width:640px){.cap-builder-head{flex-direction:column;align-items:flex-start}.cap-builder-actions{width:100%}.cap-builder-actions>*{flex:1}.cap-builder-canvas,.cap-runner{padding:14px}.cap-builder-step{grid-template-columns:28px minmax(0,1fr)}.cap-step-controls{grid-column:2;display:flex}.cap-step-index{width:26px;height:26px}.cap-run-step{grid-template-columns:auto minmax(0,1fr)}.cap-run-status,.cap-run-step .cap-button{grid-column:2;justify-self:start}}
