:root{--bg:#fbf7f2;--bg-sand:#f3e9dc;--surface:#fffdf9;--border:#e6d8c6;--text:#3b2a20;--text-muted:#7a6656;--accent:#c2603c;--accent-strong:#a24c2c;--accent-soft:#f6dfd3;--ok:#4f7a4a;--ok-soft:#e3eedd;--warn:#9a6a12;--warn-soft:#f8ecd0;--danger:#a33a2a;--danger-soft:#f6dcd6;--radius:14px;--radius-sm:10px;--tap:44px;--shadow:0 6px 20px #3b2a201f;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--nav-h:60px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;font-size:16px;line-height:1.45}#root{min-height:100dvh}a{color:var(--accent-strong)}h1,h2,h3{margin:0 0 8px;line-height:1.2}h1{font-size:1.4rem}h2{font-size:1.15rem}h3{font-size:1rem}button,input,select,textarea{font:inherit;color:inherit}.btn{min-height:var(--tap);min-width:var(--tap);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:not(:disabled):active{background:var(--accent-strong)}.btn-ghost{background:0 0;border-color:#0000}.btn-block{width:100%}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field>span,.field>label,.label{font-size:.92rem;font-weight:600}.input,.field input:not([type=checkbox]):not([type=range]),.field select,.field textarea{min-height:var(--tap);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:100%;padding:10px 12px}.field textarea{resize:vertical;min-height:88px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--accent-soft);outline-offset:1px;border-color:var(--accent)}.check{min-height:var(--tap);align-items:center;gap:10px;display:flex}.check input{width:22px;height:22px;accent-color:var(--accent)}.error{color:var(--danger);font-size:.9rem}.field-error{color:var(--danger);font-size:.85rem}.muted{color:var(--text-muted)}.small{font-size:.85rem}.shell{min-height:100dvh;padding-top:var(--safe-top);padding-left:var(--safe-left);padding-right:var(--safe-right);padding-bottom:calc(var(--nav-h) + var(--safe-bottom))}.page{max-width:640px;margin:0 auto;padding:16px}.topbar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.bottom-nav{background:var(--surface);border-top:1px solid var(--border);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);padding-right:var(--safe-right);z-index:20;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{min-height:var(--nav-h);color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.78rem;font-weight:600;text-decoration:none;display:flex}.bottom-nav a[aria-current=page]{color:var(--accent-strong)}.bottom-nav svg{width:24px;height:24px}.banner{justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:.9rem;display:flex}.banner-offline{background:var(--warn-soft);color:var(--warn)}.banner-update{background:var(--accent-soft);color:var(--accent-strong)}.banner-stale{background:var(--bg-sand);color:var(--text-muted);border-radius:var(--radius-sm);margin-bottom:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.photo{aspect-ratio:4/3;background:var(--bg-sand);position:relative;overflow:hidden}.photo img{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.photo-placeholder{width:100%;height:100%;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.photo-placeholder svg{opacity:.5;width:72px;height:72px}.card-body{padding:14px 16px 16px}.price{font-size:1.35rem;font-weight:700}.facts{color:var(--text-muted);flex-wrap:wrap;gap:4px 12px;font-size:.92rem;display:flex}.score-badge{min-width:var(--tap);min-height:var(--tap);background:var(--accent);color:#fff;box-shadow:var(--shadow);cursor:pointer;border:none;border-radius:999px;padding:0 12px;font-weight:700;position:absolute;top:10px;right:10px}.score-inline{background:var(--accent-soft);min-width:40px;height:28px;color:var(--accent-strong);border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-size:.9rem;font-weight:700;display:inline-flex}.breakdown{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.breakdown li{grid-template-columns:1fr auto;gap:2px 8px;font-size:.9rem;display:grid}.breakdown .bar{background:var(--bg-sand);border-radius:3px;grid-column:1/-1;height:6px;overflow:hidden}.breakdown .bar>span{background:var(--accent);height:100%;display:block}.breakdown .evidence{color:var(--text-muted);grid-column:1/-1;font-size:.82rem}.chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.chip{background:var(--bg-sand);color:var(--text-muted);border-radius:999px;align-items:center;padding:3px 10px;font-size:.8rem;display:inline-flex}.chip-toggle{min-height:var(--tap);border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;padding:0 16px;font-weight:600}.chip-toggle[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.deck{touch-action:pan-y;position:relative}.deck-card{touch-action:pan-y;will-change:transform}.deck-card.animating{transition:transform .22s ease-out}.swipe-hint{letter-spacing:.04em;text-transform:uppercase;background:#fffdf9eb;border:2px solid;border-radius:8px;padding:4px 12px;font-weight:800;position:absolute;top:14px;left:14px}.deck-actions{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;display:grid}.deck-actions .btn{min-height:56px;font-size:1rem}.btn-reject{color:var(--danger);border-color:var(--danger-soft)}.btn-maybe{color:var(--warn);border-color:var(--warn-soft)}.btn-shortlist{color:#fff;background:var(--ok);border-color:var(--ok)}.empty{text-align:center;color:var(--text-muted);padding:48px 16px}.sheet-backdrop{z-index:40;background:#3b2a2059;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:640px;padding:18px 16px calc(16px + var(--safe-bottom));box-shadow:var(--shadow);border-radius:18px 18px 0 0;max-height:90dvh;overflow:auto}.sheet-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.toast{left:50%;bottom:calc(var(--nav-h) + var(--safe-bottom) + 12px);background:var(--text);width:calc(100% - 32px);max-width:480px;color:var(--bg);border-radius:var(--radius-sm);z-index:30;box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:8px;padding:6px 6px 6px 14px;display:flex;position:fixed;transform:translate(-50%)}.toast .btn{color:#ffd9c8;background:0 0;border:none}.tabs{scrollbar-width:none;gap:6px;margin:0 -16px 12px;padding-bottom:4px;padding-left:16px;padding-right:16px;display:flex;overflow-x:auto}.tab{min-height:var(--tap);border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:999px;flex:none;padding:0 14px;font-weight:600}.tab[aria-selected=true]{background:var(--text);border-color:var(--text);color:var(--bg)}.rows{gap:10px;margin:0;padding:0;list-style:none;display:grid}.row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:72px 1fr;align-items:center;gap:12px;padding:10px;display:grid}.row-thumb{border-radius:var(--radius-sm);background:var(--bg-sand);width:72px;height:72px;overflow:hidden}.row-thumb img{object-fit:cover;width:100%;height:100%}.row-main{min-width:0}.row-link{color:inherit;min-height:var(--tap);text-decoration:none;display:block}.row-title{font-weight:700}.row-sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;overflow:hidden}.row-actions{justify-content:space-between;align-items:center;gap:8px;margin-top:6px;display:flex}.row-actions select{min-height:var(--tap);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);padding:0 10px}.section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:14px;padding:14px 16px}.portal-links{flex-wrap:wrap;gap:8px;display:flex}.timeline{gap:10px;margin:0;padding:0;list-style:none;display:grid}.timeline li{grid-template-columns:96px 1fr;gap:8px;font-size:.92rem;display:grid}.timeline time{color:var(--text-muted)}.status-control{flex-wrap:wrap;gap:8px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.fieldset{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:0 0 14px;padding:12px 14px 4px}.fieldset legend{padding:0 6px;font-weight:700}.commute-item{border-top:1px dashed var(--border);margin-top:4px;padding-top:12px}.range-row{grid-template-columns:1fr 32px;align-items:center;gap:8px;display:grid}.range-row input[type=range]{width:100%;min-height:var(--tap);accent-color:var(--accent)}.source-pill{background:var(--bg-sand);color:var(--text-muted);border-radius:999px;padding:3px 10px;font-size:.8rem}.sticky-save{bottom:calc(var(--nav-h) + var(--safe-bottom) + 8px);padding-top:8px;position:sticky}.signin{max-width:420px;padding:calc(48px + var(--safe-top)) 20px 32px;margin:0 auto}.brand{align-items:center;gap:10px;margin-bottom:24px;display:flex}.brand img{width:44px;height:44px}.stack{gap:10px;display:grid}.otp-input{letter-spacing:.3em;text-align:center;font-size:1.3rem!important}.list-plain{gap:8px;margin:0;padding:0;list-style:none;display:grid}.copy-row{align-items:center;gap:8px;display:flex}.copy-row code{border-radius:var(--radius-sm);background:var(--bg-sand);overflow-wrap:anywhere;flex:1;min-width:0;padding:10px 12px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}
