:root{--bg:#f5f1e8;--surface:#fff;--text:#1c1b19;--muted:#5f5b53;--border:#2b2a27;--rule:#ddd6c8;--accent:#1f5fbf;--accent-text:#fff;--best-bg:#dce8fa;--best-text:#133f82;--error:#b3261e;--focus:#f2b632;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box;border-radius:0}body{background:var(--bg);margin:0;line-height:1.35}button,input,select{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:0}.app{max-width:640px;margin:0 auto;padding:0 16px 32px}.header{border-bottom:4px solid var(--accent);padding:20px 0 14px}.header h1{letter-spacing:-.01em;margin:0;font-size:1.75rem}.header p{color:var(--muted);margin:4px 0 0;font-size:.95rem}.search{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:16px;padding:16px 0 18px;display:grid}.or{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem}.btn{border:2px solid var(--border);background:var(--surface);min-height:46px;color:inherit;cursor:pointer;justify-content:center;align-items:center;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex}.btn.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.btn:disabled{opacity:.5;cursor:default}.postcode{display:flex}.postcode input{border:2px solid var(--border);background:var(--surface);text-transform:uppercase;border-right:0;flex:1;min-width:0;min-height:46px;padding:0 12px;font-size:16px}.postcode input::placeholder{text-transform:none;color:var(--muted)}.chips{border:2px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.chip{border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);cursor:pointer;min-height:42px;padding:0 8px;font-size:.95rem}.chip:nth-child(2n){border-right:0}.chip:nth-last-child(-n+2){border-bottom:0}.chip.on{background:var(--accent);color:var(--accent-text);font-weight:700}@media (width>=520px){.chips{grid-template-columns:repeat(4,minmax(0,1fr))}.chip{border-bottom:0}.chip:nth-child(2n){border-right:1px solid var(--border)}.chip:last-child{border-right:0}}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.row label{align-items:center;gap:8px;font-weight:700;display:flex}.row select{border:2px solid var(--border);background:var(--surface);min-height:40px;padding:0 8px;font-size:16px}.toggle{border:2px solid var(--border);display:flex}.toggle button{background:var(--surface);cursor:pointer;border:0;padding:8px 14px}.toggle button+button{border-left:1px solid var(--border)}.toggle button.on{background:var(--accent);color:var(--accent-text);font-weight:700}.notice{color:var(--muted);padding:12px 0}.notice.error{color:var(--error);border-left:4px solid var(--error);padding-left:12px;font-weight:700}.summary{color:var(--muted);margin:0 0 10px;font-size:.9rem}.list{border-top:2px solid var(--accent);margin:0;padding:0;list-style:none}.card{border-bottom:1px solid var(--rule)}.card.open{background:#ede7da}.card-main{text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:14px;width:100%;padding:14px 0;display:flex}.price{font-variant-numeric:tabular-nums;flex:none;width:76px;font-size:1.5rem;font-weight:700;line-height:1.1}.price small{margin-left:1px;font-size:.85rem}.price.best span,.price.best{color:var(--best-text)}.price.best{background:var(--best-bg);width:auto;min-width:76px;padding:2px 4px}.info{gap:3px;min-width:0;display:grid}.info strong{overflow-wrap:anywhere;font-size:1rem}.addr{color:var(--muted);overflow-wrap:anywhere;font-size:.88rem}.meta{color:var(--muted);font-size:.8rem}.details{padding:0 0 16px}.details table{border-collapse:collapse;border-top:1px solid var(--rule);width:100%;margin:0 0 14px}.details td{border-bottom:1px solid var(--rule);padding:7px 0}.details .num{text-align:right;font-variant-numeric:tabular-nums;padding-right:12px;font-weight:700}.details .muted{color:var(--muted);text-align:right;font-size:.8rem}.actions{gap:8px;display:flex}.actions .btn{flex:1}footer{border-top:1px solid var(--rule);color:var(--muted);margin-top:28px;padding-top:12px;font-size:.78rem}
