.demo-page{color:var(--ink)}.demo-intro,.demo-workspace,.demo-catalog,.demo-next{margin:0 auto;max-width:1280px;padding-left:clamp(16px,4vw,40px);padding-right:clamp(16px,4vw,40px)}.demo-intro{align-items:end;display:flex;gap:28px;justify-content:space-between;padding-bottom:32px;padding-top:48px}.demo-intro h1{font-size:clamp(30px,4vw,44px);line-height:1.08;margin:0 0 12px;max-width:680px}.demo-intro p:last-child{color:#4b5563;font-size:16px;line-height:24px;margin:0;max-width:730px}.demo-intro .button{flex:0 0 auto}.demo-workspace{padding-bottom:64px}.demo-store-bar{align-items:end;background:#f3f7f5;border:1px solid #d6e6df;border-radius:8px 8px 0 0;display:grid;gap:12px;grid-template-columns:minmax(230px,420px) auto;justify-content:start;padding:16px}.demo-store-bar label{font-size:12px;gap:6px;grid-column:1;grid-row:1;text-transform:uppercase}.demo-store-bar input{grid-column:1;grid-row:2;min-width:0}.demo-store-bar button{grid-column:2;grid-row:2;white-space:nowrap}.demo-store-bar button:disabled,.demo-rec-header button:disabled{cursor:wait;opacity:.6}.demo-error{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;margin:0;padding:12px 16px}.demo-loading{align-items:center;color:#4b5563;display:flex;min-height:240px;padding:24px 16px}.demo-page.initializing .demo-summary,.demo-page.initializing .demo-console,.demo-page.initializing .demo-catalog{display:none}.demo-summary{background:var(--border);border-left:1px solid var(--border);border-right:1px solid var(--border);display:grid;gap:1px;grid-template-columns:repeat(4,minmax(0,1fr))}.demo-summary>div{background:#fff;display:flex;flex-direction:column;gap:5px;min-width:0;padding:17px}.demo-summary span{color:var(--muted);font-size:11px;font-weight:650;line-height:16px;text-transform:uppercase}.demo-summary strong{color:var(--accent);font-size:26px;font-variant-numeric:tabular-nums;line-height:30px;overflow-wrap:anywhere}.demo-summary>div:nth-child(2) strong{color:var(--watch)}.demo-summary>div:nth-child(3) strong{color:var(--info)}.demo-summary>div:nth-child(4) strong{color:var(--ink)}.demo-summary small{color:var(--muted);font-size:12px;line-height:16px}.demo-console{border:1px solid var(--border);display:grid;grid-template-columns:minmax(250px,290px) minmax(0,1fr)}.demo-controls{border-right:1px solid var(--border);display:flex;flex-direction:column;gap:28px;padding:20px 16px}.demo-control-group h2{color:#4b5563;font-size:12px;font-weight:700;line-height:18px;margin:0 0 10px;text-transform:uppercase}.demo-goals,.demo-rules{display:grid;gap:7px}.demo-goals label{align-items:start;border:1px solid var(--border);border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:10px}.demo-goals label.active{background:#effaf5;border-color:var(--accent)}.demo-goals input,.demo-rules input{accent-color:var(--accent);flex:0 0 16px;height:16px;min-height:0;margin:2px 0 0;padding:0;width:16px}.demo-goals label span,.demo-rules label span{display:grid;gap:2px;min-width:0}.demo-goals strong,.demo-rules strong{font-size:13px;line-height:18px}.demo-goals small,.demo-rules small{color:var(--muted);font-size:11px;font-weight:400;line-height:16px}.demo-rules label{align-items:start;cursor:pointer;display:flex;flex-direction:row;gap:12px;justify-content:space-between;padding:8px 2px}.demo-custom-rule-button{align-items:center;background:#fff;border:1px solid var(--border);border-radius:6px;color:var(--accent);cursor:pointer;display:flex;font-size:13px;font-weight:650;gap:8px;justify-content:center;margin-top:12px;min-height:40px;width:100%}.demo-custom-rule-button:hover,.demo-custom-rule-button[aria-expanded=true]{border-color:var(--accent);background:#effaf5}.demo-custom-rule-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.demo-custom-rule-button span{font-size:20px;font-weight:400;line-height:1}.demo-custom-rule-info{border-left:2px solid var(--accent);color:#4b5563;font-size:12px;line-height:18px;margin-top:10px;padding:2px 0 2px 12px}.demo-custom-rule-info p{margin:0 0 6px}.demo-custom-rule-info a{color:var(--accent);font-weight:650}.demo-slider-label{display:flex;flex-direction:row;font-size:13px;justify-content:space-between}.demo-slider-label strong{color:var(--accent)}.demo-control-group input[type=range]{accent-color:var(--accent);cursor:pointer;min-height:25px;padding:0}.demo-reset{background:#fff;border:1px solid var(--border);border-radius:6px;color:#4b5563;cursor:pointer;font-weight:600;min-height:40px}.demo-reset:hover{border-color:var(--accent);color:var(--accent)}.demo-recommendations{background:var(--soft);min-width:0;padding:20px}.demo-rec-header{align-items:center;display:flex;gap:16px;justify-content:space-between}.demo-rec-header .eyebrow{margin:0 0 4px}.demo-rec-header h2{font-size:19px;line-height:24px;margin:0}.demo-rec-header h2 span{color:var(--muted);font-size:14px;font-weight:500}.demo-rec-header .button{white-space:nowrap}.demo-estimate-note{color:var(--muted);font-size:12px;line-height:18px;margin:12px 0 16px}.demo-rec-list{display:grid;gap:8px}.demo-rec{background:#fff;border:1px solid var(--border);border-left:4px solid #9ca3af;border-radius:6px;min-width:0}.demo-rec.boost{border-left-color:var(--accent)}.demo-rec.discount{border-left-color:var(--watch)}.demo-rec.hold{border-left-color:var(--info)}.demo-rec.deprioritise{border-left-color:#6b7280}.demo-rec-top{align-items:center;display:flex;gap:5px;padding:8px 12px 0}.demo-action-info{align-items:center;background:transparent;border:0;border-radius:4px;color:var(--muted);cursor:pointer;display:inline-flex;height:24px;justify-content:center;width:24px}.demo-action-info:hover,.demo-action-info[aria-expanded=true]{background:var(--soft);color:var(--ink)}.demo-action-info:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.demo-rec-toggle{align-items:center;background:transparent;border:0;color:var(--ink);cursor:pointer;display:grid;gap:14px;grid-template-columns:48px minmax(0,1fr) minmax(90px,auto);min-height:82px;padding:6px 12px 12px;text-align:left;width:100%}.demo-rec-toggle:focus-visible,.demo-reset:focus-visible,.demo-store-bar button:focus-visible,.demo-rec-header button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.demo-rec-toggle img,.demo-image-placeholder{background:#f3f4f6;border:1px solid var(--border);border-radius:4px;height:62px;object-fit:cover;width:48px}.demo-rec-copy{display:grid;gap:3px;min-width:0}.demo-action{color:var(--accent);font-size:10px;font-weight:750;text-transform:uppercase}.demo-rec.discount .demo-action{color:var(--watch)}.demo-rec.hold .demo-action{color:var(--info)}.demo-rec.deprioritise .demo-action{color:#4b5563}.demo-rec-copy>strong{font-size:14px;line-height:18px;overflow-wrap:anywhere}.demo-rec-copy>small{color:var(--muted);font-size:11px;line-height:16px}.demo-rec-copy>span:last-child{color:#4b5563;font-size:12px;line-height:17px}.demo-impact{display:grid;gap:2px;justify-items:end;text-align:right}.demo-impact strong{color:var(--accent);font-size:15px}.demo-rec.discount .demo-impact strong{color:var(--watch)}.demo-rec.hold .demo-impact strong{color:var(--info)}.demo-impact small{color:var(--muted);font-size:11px}.demo-impact>span{color:var(--muted);font-size:18px}.demo-suggested-move{background:#f0fdfa;border-top:1px solid #ccfbf1;color:#1f3d3a;font-size:12px;line-height:18px;margin:0;padding:11px 16px}.demo-suggested-move strong{display:block;font-size:11px;margin-bottom:2px}.demo-rec-detail{border-top:1px solid var(--border);padding:14px 16px 16px}.demo-rec-detail dl{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 12px}.demo-rec-detail dl div{display:grid;gap:2px}.demo-rec-detail dt{color:var(--muted);font-size:11px}.demo-rec-detail dd{font-size:13px;font-variant-numeric:tabular-nums;font-weight:650;margin:0}.demo-rec-detail ul{color:#374151;font-size:12px;line-height:18px;margin:0;padding-left:18px}.demo-rule-flag{background:#eff6ff;color:var(--info);font-size:12px;margin:12px 0 0;padding:8px}.demo-catalog{border-top:1px solid var(--border);padding-bottom:68px;padding-top:60px}.demo-section-heading{align-items:end;display:flex;gap:32px;justify-content:space-between}.demo-section-heading h2{font-size:29px;margin:0}.demo-section-heading>p{color:var(--muted);line-height:21px;margin:0;max-width:470px}.demo-table-scroll{border:1px solid var(--border);margin-top:26px;overflow-x:auto}.demo-table-scroll table{border-collapse:collapse;min-width:850px;width:100%}.demo-table-scroll th,.demo-table-scroll td{border-bottom:1px solid var(--border);font-size:12px;padding:11px;text-align:right;white-space:nowrap}.demo-table-scroll thead th{background:var(--soft);color:var(--muted);font-size:11px;text-transform:uppercase}.demo-table-scroll tbody th{font-weight:650}.demo-table-scroll th:first-child{text-align:left}.demo-table-scroll tbody th small{color:var(--muted);display:block;font-weight:400}.demo-table-scroll tr:last-child th,.demo-table-scroll tr:last-child td{border-bottom:0}.demo-footnote{color:var(--muted);font-size:12px;line-height:18px;margin:12px 0 0}.demo-footnote a{color:var(--accent)}.demo-next{align-items:center;background:var(--soft);border-top:1px solid var(--border);display:flex;gap:24px;justify-content:space-between;max-width:none;padding-bottom:50px;padding-top:50px}.demo-next h2{font-size:28px;line-height:1.12;margin:0 0 8px;max-width:620px}.demo-next p:last-child{color:var(--muted);margin:0}.demo-next .button{flex:0 0 auto}@media(max-width:900px){.demo-console{grid-template-columns:1fr}.demo-controls{border-bottom:1px solid var(--border);border-right:0}.demo-goals,.demo-rules{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){.demo-intro,.demo-section-heading,.demo-next{align-items:start;flex-direction:column}.demo-intro{padding-top:32px}.demo-intro .button{align-self:stretch}.demo-store-bar{grid-template-columns:minmax(0,1fr) auto}.demo-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.demo-summary strong{font-size:21px}.demo-goals,.demo-rules{grid-template-columns:1fr}.demo-recommendations{padding:15px 12px}.demo-rec-header{align-items:start;flex-direction:column}.demo-rec-header .button{align-self:stretch}.demo-rec-top{padding-left:7px}.demo-rec-toggle{gap:9px;grid-template-columns:40px minmax(0,1fr) 66px;padding:6px 7px 10px}.demo-rec-toggle img,.demo-image-placeholder{height:54px;width:40px}.demo-impact strong{font-size:13px}.demo-rec-detail dl{grid-template-columns:repeat(2,minmax(0,1fr))}.demo-next .button{align-self:stretch}}@media(max-width:480px){.demo-store-bar{grid-template-columns:1fr}.demo-store-bar label,.demo-store-bar input,.demo-store-bar button{grid-column:1;grid-row:auto}.demo-rec-toggle{grid-template-columns:minmax(0,1fr) 62px}.demo-rec-toggle img,.demo-image-placeholder{display:none}}
