:root{--bg:#f2f3f5;--surface:#fff;--surface-2:#f7f8fa;--surface-3:#eceef1;--ink:#121316;--ink-2:#555a64;--ink-3:#62666f;--line:#e4e6ea;--line-2:#d3d6dc;--on-ink:#fff;--accent:#d92d20;--accent-ink:#fff;--accent-soft:#fdecea;--accent-ink-soft:#b42318;--ok:#177245;--ok-soft:#e2f4e9;--warn:#965a00;--warn-soft:#fdf1d8;--bad:#c0262d;--bad-soft:#fce9e9;--info:#1f5bc8;--info-soft:#e5eefc;--match:#177245;--shadow-1:0 1px 2px #1018280d;--shadow-2:0 8px 24px #1018281f, 0 2px 6px #1018280f;--shadow-3:0 20px 50px #10182842;--r-1:12px;--r-2:16px;--r-3:24px;--tab-h:60px;--top-h:56px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-num:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b0c0e;--surface:#16171a;--surface-2:#1b1d21;--surface-3:#25272c;--ink:#f3f4f6;--ink-2:#b6bbc4;--ink-3:#9196a0;--line:#26282d;--line-2:#363940;--on-ink:#121316;--accent:#d92d20;--accent-ink:#fff;--accent-soft:#3a1714;--accent-ink-soft:#ff9e94;--ok:#5bd08a;--ok-soft:#10291b;--warn:#f2b54a;--warn-soft:#33260c;--bad:#ff7d74;--bad-soft:#3a1614;--info:#86b4ff;--info-soft:#14233f;--match:#5bd08a;--shadow-1:0 1px 2px #0006;--shadow-2:0 8px 28px #00000080;--shadow-3:0 18px 50px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0b0c0e;--surface:#16171a;--surface-2:#1b1d21;--surface-3:#25272c;--ink:#f3f4f6;--ink-2:#b6bbc4;--ink-3:#9196a0;--line:#26282d;--line-2:#363940;--on-ink:#121316;--accent:#d92d20;--accent-ink:#fff;--accent-soft:#3a1714;--accent-ink-soft:#ff9e94;--ok:#5bd08a;--ok-soft:#10291b;--warn:#f2b54a;--warn-soft:#33260c;--bad:#ff7d74;--bad-soft:#3a1614;--info:#86b4ff;--info-soft:#14233f;--match:#5bd08a;--shadow-1:0 1px 2px #0006;--shadow-2:0 8px 28px #00000080;--shadow-3:0 18px 50px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:15px/1.45 var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent-ink-soft)}h1,h2,h3{letter-spacing:-.015em}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.num{font-variant-numeric:tabular-nums;font-family:var(--font-num)}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.small{font-size:13px}.tiny{font-size:12px}.bold{font-weight:650}.nowrap{white-space:nowrap}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.row.top{align-items:flex-start}.col{flex-direction:column;gap:8px;display:flex}.grow{flex:auto;min-width:0}.spacer{flex:1}.stack-4>*+*{margin-top:4px}.stack-8>*+*{margin-top:8px}.stack-12>*+*{margin-top:12px}.stack-16>*+*{margin-top:16px}.stack-24>*+*{margin-top:24px}.center{text-align:center}.app{flex-direction:column;min-height:100dvh;display:flex}.screen{width:100%;max-width:760px;padding:calc(var(--top-h) + var(--safe-t) + 12px) 16px calc(var(--tab-h) + var(--safe-b) + 96px);flex:1;margin:0 auto}.screen.no-tabs{padding-bottom:calc(var(--safe-b) + 110px)}.screen.wide{max-width:1200px}.topbar{z-index:30;padding-top:var(--safe-t);background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);border-bottom:1px solid #0000;transition:border-color .2s;position:fixed;top:0;left:0;right:0}.topbar.scrolled{border-bottom-color:var(--line)}.topbar-inner{height:var(--top-h);align-items:center;gap:4px;max-width:760px;margin:0 auto;padding:0 8px;display:flex}.wide .topbar-inner,.topbar.wide .topbar-inner{max-width:1200px}.topbar h1{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;padding:0 6px;font-size:17px;font-weight:700;overflow:hidden}.topbar .title-big{letter-spacing:-.025em;font-size:26px;font-weight:800}.tabbar{z-index:30;padding-bottom:var(--safe-b);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);border-top:1px solid var(--line);position:fixed;bottom:0;left:0;right:0}.tabbar-inner{max-width:760px;height:var(--tab-h);margin:0 auto;display:flex}.tab{color:var(--ink-3);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:600;text-decoration:none;display:flex;position:relative}.tab[aria-current=page]{color:var(--ink)}.tab .dot{position:absolute;top:8px;left:calc(50% + 8px)}.btn{border:1px solid var(--line-2);background:var(--surface);min-height:46px;color:var(--ink);white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:650;text-decoration:none;transition:transform 80ms,background .15s,border-color .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;pointer-events:none}.btn.primary{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.btn.soft{background:var(--surface-3);color:var(--ink);border-color:#0000}.btn.ghost{background:0 0;border-color:#0000}.btn.danger{color:var(--bad)}.btn.block{width:100%}.btn.sm{border-radius:999px;min-height:36px;padding:0 14px;font-size:14px}.btn.lg{border-radius:999px;min-height:54px;font-size:16px}.btn.half{flex:1 1 0;min-width:0;padding:0 12px}.icon-btn{width:44px;height:44px;color:var(--ink);background:0 0;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-btn:active{background:var(--surface-3)}.icon-btn.on{color:var(--accent)}.icon-btn .badge{position:absolute;top:4px;right:2px}.fab{right:max(16px,50% - 364px);bottom:calc(var(--tab-h) + var(--safe-b) + 16px);z-index:25;background:var(--accent);height:54px;color:var(--accent-ink);box-shadow:var(--shadow-2);border:0;border-radius:999px;align-items:center;gap:8px;padding:0 22px 0 18px;font-size:16px;font-weight:650;display:inline-flex;position:fixed}.fab:active{transform:scale(.97)}.no-tabs .fab,.fab.no-tabs{bottom:calc(var(--safe-b) + 16px)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2);box-shadow:var(--shadow-1)}.card.pad{padding:14px}.card.flat{box-shadow:none}.card+.card{margin-top:10px}.section-title{letter-spacing:-.015em;text-transform:none;color:var(--ink);align-items:center;gap:8px;margin:26px 2px 10px;font-size:18px;font-weight:750;display:flex}.section-title:first-child{margin-top:4px}.section-title .count{letter-spacing:0;text-transform:none;color:var(--ink-3);font-weight:600}.list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2);box-shadow:var(--shadow-1);overflow:hidden}.list-row{border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;min-height:60px;color:inherit;background:0 0;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.list-row:last-child{border-bottom:0}.list-row:active{background:var(--surface-2)}.list-row .title{font-size:15.5px;font-weight:650;line-height:1.25}.list-row .sub{color:var(--ink-2);margin-top:2px;font-size:13px}.list-row .end{text-align:right;flex:none}.thumb{background:var(--surface-3);object-fit:cover;border-radius:14px;flex:none;justify-content:center;align-items:center;width:52px;height:52px;font-size:24px;display:flex;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.thumb.contain img{object-fit:contain;background:#fff}.thumb.lg{border-radius:18px;width:76px;height:76px}.pill{white-space:nowrap;background:var(--surface-3);height:24px;color:var(--ink-2);border-radius:999px;align-items:center;gap:4px;padding:0 9px;font-size:12.5px;font-weight:650;display:inline-flex}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.info{background:var(--info-soft);color:var(--info)}.pill.accent{background:var(--accent-soft);color:var(--accent-ink-soft)}.pill.solid{background:var(--accent);color:var(--accent-ink)}.pill.lg{height:30px;padding:0 12px;font-size:13.5px}.badge{background:var(--accent);min-width:18px;height:18px;color:var(--accent-ink);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.dot{background:var(--accent);border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.dot.ok{background:var(--ok)}.dot.warn{background:var(--warn)}.dot.off{background:var(--ink-3)}.dot.bad{background:var(--bad)}.chips{scrollbar-width:none;gap:8px;margin:0 -16px;padding:2px 16px 6px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chips.wrap{flex-wrap:wrap;margin:0;padding:0;overflow:visible}.chip{border:1px solid var(--line-2);background:var(--surface);height:38px;color:var(--ink-2);border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 15px;font-size:14px;font-weight:600;display:inline-flex}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.chip .count{opacity:.7;font-weight:500}.seg{background:var(--surface-3);border-radius:999px;gap:2px;padding:4px;display:flex}.seg button{min-height:38px;color:var(--ink-2);background:0 0;border:0;border-radius:999px;flex:1;padding:0 8px;font-size:14px;font-weight:600}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.field{display:block}.field>.label{color:var(--ink-2);margin:0 2px 6px;font-size:13px;font-weight:650;display:block}.field>.hint{color:var(--ink-3);margin:6px 2px 0;font-size:12.5px;display:block}.input,.textarea,.select{border:1px solid var(--line-2);background:var(--surface);appearance:none;border-radius:999px;outline:none;width:100%;min-height:48px;padding:11px 18px;font-size:16px;transition:border-color .15s,box-shadow .15s}.input:focus,.textarea:focus,.select:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--surface-3)}.textarea{resize:vertical;border-radius:18px;min-height:88px;line-height:1.4}.input-wrap{align-items:center;display:flex;position:relative}.input-wrap .prefix,.input-wrap .suffix{color:var(--ink-3);pointer-events:none;align-items:center;font-size:15px;display:flex;position:absolute;top:0;bottom:0}.input-wrap .prefix{left:18px}.input-wrap .suffix{right:18px}.input-wrap.has-prefix .input{padding-left:46px}.input-wrap.has-suffix .input{padding-right:56px}.grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grid-3{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.toggle{justify-content:space-between;align-items:center;gap:12px;min-height:48px;display:flex}.switch{background:var(--line-2);border:0;border-radius:15px;flex:none;width:50px;height:30px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch[aria-checked=true]{background:var(--ok)}.switch[aria-checked=true]:after{transform:translate(20px)}.form-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2);padding:14px}.form-section+.form-section{margin-top:12px}.form-section>h3{margin:0 0 12px;font-size:15px;font-weight:700}.form-section .stack>*+*{margin-top:12px}.sheet-backdrop{z-index:60;background:#0a0c1073;animation:.18s ease-out fade;position:fixed;inset:0}.sheet{z-index:61;max-height:calc(100dvh - 40px - var(--safe-t));background:var(--surface);max-width:640px;box-shadow:var(--shadow-3);padding-bottom:var(--safe-b);border-radius:24px 24px 0 0;flex-direction:column;margin:0 auto;animation:.24s cubic-bezier(.2,.9,.3,1) slideup;display:flex;position:fixed;bottom:0;left:0;right:0}.sheet.tall{height:calc(100dvh - 40px - var(--safe-t))}@media (width>=700px){.sheet{border-radius:22px;max-height:min(86vh,900px);animation:.2s ease-out pop;top:50%;bottom:auto;transform:translateY(-50%)}.sheet.tall{height:min(86vh,900px)}}.sheet-grip{background:var(--line-2);border-radius:3px;flex:none;width:38px;height:5px;margin:8px auto 0}.sheet-head{flex:none;align-items:center;gap:8px;padding:8px 8px 8px 20px;display:flex}.sheet-head h2{letter-spacing:-.015em;flex:1;margin:0;font-size:19px;font-weight:750}.sheet-body{-webkit-overflow-scrolling:touch;flex:1;padding:4px 20px 20px;overflow-y:auto}.sheet-foot{border-top:1px solid var(--line);flex:none;gap:10px;padding:12px 20px 16px;display:flex}@keyframes slideup{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(-48%)scale(.98)}to{opacity:1;transform:translateY(-50%)}}.menu-list{flex-direction:column;gap:8px;display:flex}.menu-item{text-align:left;border:1px solid var(--line);background:var(--surface);width:100%;min-height:64px;color:inherit;border-radius:16px;align-items:center;gap:14px;padding:14px;display:flex}.menu-item:active{background:var(--surface-3)}.menu-item .mi-icon{background:var(--surface-3);width:40px;height:40px;color:var(--ink);border-radius:999px;flex:none;justify-content:center;align-items:center;display:flex}.menu-item .mi-title{font-weight:650}.menu-item .mi-sub{color:var(--ink-2);font-size:13px}.toasts{left:0;right:0;bottom:calc(var(--tab-h) + var(--safe-b) + 84px);z-index:80;pointer-events:none;flex-direction:column;align-items:center;gap:8px;padding:0 16px;display:flex;position:fixed}.toast{pointer-events:auto;background:var(--ink);color:var(--bg);width:100%;max-width:520px;min-height:48px;box-shadow:var(--shadow-2);border-radius:16px;align-items:center;gap:12px;padding:10px 10px 10px 16px;font-size:14.5px;font-weight:550;animation:.22s ease-out toastin;display:flex}.toast button{color:var(--accent-soft);background:0 0;border:0;border-radius:8px;padding:8px 10px;font-weight:750}:root[data-theme=dark] .toast button{color:var(--accent)}@keyframes toastin{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.avatar{color:#fff;width:28px;height:28px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex;position:relative}.avatar.lg{width:44px;height:44px;font-size:16px}.avatar .vote-mark{font-size:13px;line-height:1;position:absolute;bottom:-6px;right:-6px}.avatars{display:inline-flex}.avatars .avatar+.avatar{margin-left:-6px}.votebar{gap:6px;display:flex}.vote-btn{border:1px solid var(--line-2);background:var(--surface);min-height:44px;color:var(--ink-2);border-radius:999px;flex:1;justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.vote-btn[aria-pressed=true]{border-color:var(--ink);background:var(--surface-3);color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.vote-btn .e{font-size:17px}.opt-card{color:inherit;gap:12px;padding:12px;text-decoration:none;display:flex;position:relative}.opt-card .thumb{width:88px;height:88px}.opt-card .price{letter-spacing:-.01em;font-size:18px;font-weight:750}.opt-card.pick{border-color:var(--ok);box-shadow:0 0 0 1px var(--ok), var(--shadow-1)}.opt-card.discarded{opacity:.6}.ribbon{position:absolute;top:-9px;left:12px}.empty{text-align:center;color:var(--ink-2);padding:40px 20px}.empty .em{margin-bottom:8px;font-size:44px}.empty h3{color:var(--ink);margin:0 0 6px;font-size:18px}.empty p{max-width:320px;margin:0 auto 16px}.comment{gap:10px;display:flex}.comment .bubble{background:var(--surface-2);border:1px solid var(--line);border-radius:4px 16px 16px;flex:1;min-width:0;padding:9px 12px}.comment.mine .bubble{background:var(--surface-3);border-color:#0000}.comment .meta{color:var(--ink-3);align-items:center;gap:6px;margin-bottom:2px;font-size:12px;display:flex}.comment .text{white-space:pre-wrap;word-wrap:break-word}.comment img{border-radius:10px;max-height:220px;margin-top:8px}.composer{align-items:flex-end;gap:8px;display:flex}.composer .textarea{border-radius:23px;height:46px;min-height:46px;max-height:140px;padding-top:12px}.stats{background:var(--line);border-radius:var(--r-2);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.stat{background:var(--surface);padding:12px}.stat .k{color:var(--ink-3);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:650}.stat .v{letter-spacing:-.01em;margin-top:2px;font-size:18px;font-weight:750}.meter{background:var(--surface-3);border-radius:5px;height:10px;display:flex;overflow:hidden}.meter>span{height:100%}.meter .spent{background:var(--ink)}.meter .planned{background:color-mix(in srgb, var(--ink) 28%, var(--surface-3))}.meter .over{background:var(--bad)}.kv{grid-template-columns:minmax(110px,40%) 1fr;gap:0;display:grid}.kv>div{border-bottom:1px solid var(--line);padding:10px 0}.kv>div:nth-child(odd){color:var(--ink-2);padding-right:12px;font-size:14px}.kv>div:nth-child(2n){text-align:right;font-weight:550}.kv>div:nth-last-child(-n+2){border-bottom:0}.gallery{scroll-snap-type:x mandatory;scrollbar-width:none;gap:8px;margin:0 -16px;padding:0 16px;display:flex;overflow-x:auto}.gallery::-webkit-scrollbar{display:none}.gallery .shot{aspect-ratio:1;scroll-snap-align:center;border:1px solid var(--line);background:#fff;border-radius:16px;flex:none;width:min(86%,420px);position:relative;overflow:hidden}.gallery .shot img{object-fit:contain;width:100%;height:100%}.gallery .shot.add{background:var(--surface-2);color:var(--ink-2);border-style:dashed;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:140px;display:flex}.cmp-wrap{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;margin:0 -16px;overflow-x:auto}.cmp{border-collapse:separate;border-spacing:0;min-width:100%}.cmp th,.cmp td{vertical-align:top;text-align:left;border-bottom:1px solid var(--line);background:var(--surface);padding:10px}.cmp th.rowh{z-index:2;width:108px;min-width:108px;max-width:108px;color:var(--ink-2);background:var(--surface-2);border-right:1px solid var(--line);font-size:12.5px;font-weight:650;position:sticky;left:0}.cmp td{scroll-snap-align:start;width:calc(50vw - 54px);min-width:150px;max-width:260px;font-size:14px}@media (width>=760px){.cmp td{width:220px}.cmp-wrap{border-radius:var(--r-2);border:1px solid var(--line);margin:0}}.cmp td.best{background:var(--ok-soft)}.cmp td.best .v:after{content:" ★";color:var(--ok);font-size:11px}.cmp tr.group th{background:var(--surface-3);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);padding:6px 10px;font-size:11.5px}.cmp tr.group td{background:var(--surface-3);padding:6px 10px}.cmp .head-cell{position:sticky;top:0}.cmp .opt-head img{aspect-ratio:1;object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:12px;width:100%}.cmp .opt-head .t{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:6px;font-size:14px;font-weight:650;line-height:1.25;display:-webkit-box;overflow:hidden}.cmp ul{margin:0;padding-left:16px}.banner{border-radius:14px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;display:flex}.banner.info{background:var(--info-soft);color:var(--info)}.banner.warn{background:var(--warn-soft);color:var(--warn)}.banner.ok{background:var(--ok-soft);color:var(--ok)}.banner.bad{background:var(--bad-soft);color:var(--bad)}.banner.accent{background:var(--accent-soft);color:var(--accent-ink-soft)}.divider{background:var(--line);height:1px;margin:16px 0}.link-btn{color:var(--accent-ink-soft);background:0 0;border:0;padding:6px 0;font-weight:650}.spinner{border:2.5px solid var(--line-2);border-top-color:var(--ink);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg, var(--surface-3), var(--surface-2), var(--surface-3));background-size:200% 100%;border-radius:8px;animation:1.2s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.conn{color:var(--ink-3);background:var(--surface-3);border:0;border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:12px;font-weight:600;display:inline-flex}.searchbar{position:relative}.searchbar .input{background:var(--surface);border-radius:999px;min-height:46px;padding-left:46px}.searchbar svg{color:var(--ink-3);position:absolute;top:50%;left:16px;transform:translateY(-50%)}.hscroll{scrollbar-width:none;gap:10px;margin:0 -16px;padding:2px 16px 8px;display:flex;overflow-x:auto}.hscroll::-webkit-scrollbar{display:none}.qr{background:#fff;border-radius:16px;padding:14px;display:inline-block}.qr svg,.qr img{width:220px;height:220px;display:block}.kbd{background:var(--surface-3);border-radius:6px;padding:2px 6px;font-family:ui-monospace,Menlo,monospace;font-size:13px}details.disclosure>summary{cursor:pointer;color:var(--ink-2);align-items:center;gap:6px;padding:8px 0;font-weight:600;list-style:none;display:flex}details.disclosure>summary::-webkit-details-marker{display:none}.kvl{flex-direction:column;display:flex}.kv-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;display:flex}.kv-row:last-child{border-bottom:0}.kv-row .k{color:var(--ink-2);flex:0 45%}.kv-row .v{text-align:right;overflow-wrap:anywhere;flex:55%;font-weight:560}ul.plain{margin:6px 0 0;padding-left:18px}ul.plain li{margin:2px 0}.bad-text{color:var(--bad);font-weight:650}.gallery{margin:0 -16px;padding:0;display:block;overflow:visible}.gallery-track{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.gallery-track::-webkit-scrollbar{display:none}.gallery-slide{aspect-ratio:4/3;scroll-snap-align:center;background:#fff;flex:none;justify-content:center;align-items:center;width:100%;max-height:52vh;display:flex}.gallery-slide img{object-fit:contain;width:100%;height:100%}.gallery-dots{justify-content:center;gap:6px;padding:8px 0 0;display:flex}.gallery-dots span{background:var(--line-2);border-radius:4px;width:7px;height:7px;transition:width .2s}.gallery-dots span.on{background:var(--ink);width:18px}@media (width>=700px){.gallery{margin:0}.gallery-slide{border-radius:16px}}.offer{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2);padding:12px 14px}.offer.best{border-color:color-mix(in srgb, var(--ok) 55%, var(--line));box-shadow:0 0 0 1px color-mix(in srgb, var(--ok) 30%, transparent)}.offer.out{opacity:.66}.compare{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;border-top:1px solid var(--line);margin:0 -16px;scroll-padding-left:108px;overflow-x:auto}.cmp-row{min-width:max-content;display:flex}.cmp-label{z-index:2;width:108px;color:var(--ink-2);background:var(--surface-2);border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex:none;padding:10px;font-size:12.5px;font-weight:650;position:sticky;left:0}.cmp-cell{background:var(--surface);border-bottom:1px solid var(--line);scroll-snap-align:start;overflow-wrap:anywhere;flex:none;width:calc(50vw - 54px);min-width:140px;max-width:260px;padding:10px;font-size:14px}.cmp-cell.best{background:var(--ok-soft)}.cmp-cell.best:after{content:" ★";color:var(--ok);font-size:11px}.cmp-cell.discarded{opacity:.55}.cmp-cell.pinned{z-index:1;position:sticky;left:108px;box-shadow:6px 0 10px -6px #0000002e}.cmp-head .cmp-cell{padding-top:12px}.cmp-opt{color:inherit;text-decoration:none;display:block}.cmp-opt .thumb{aspect-ratio:1;border-radius:12px;width:100%;height:auto}.cmp-title{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:6px;line-height:1.25;display:-webkit-box;overflow:hidden}.icon-btn.sm{width:34px;min-width:34px;height:34px}@media (width>=760px){.compare{border:1px solid var(--line);border-radius:var(--r-2);margin:0}.cmp-cell{width:220px}}.menu-item.on{background:var(--surface-3);border-color:var(--ink)}.code-input{text-align:center;letter-spacing:.5em;font-variant-numeric:tabular-nums;height:64px;padding-left:.5em;font-size:34px;font-weight:700}@media print{.topbar,.tabbar,.fab,.toasts,.no-print{display:none!important}body{color:#000;background:#fff}.screen{max-width:none;padding:0!important}.card,.list{box-shadow:none;break-inside:avoid;border-color:#ccc}}.chat{flex-direction:column;gap:10px;display:flex}.chat-line{align-items:flex-end;gap:8px;display:flex}.chat-line.me{justify-content:flex-end}.chat-line .bubble{background:var(--surface-2);border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:18px 18px 18px 4px;max-width:84%;padding:9px 13px;line-height:1.4}.chat-line.me .bubble{background:var(--ink);color:var(--on-ink);border-color:#0000;border-radius:18px 18px 4px}.chat-bot{background:var(--info-soft);width:30px;height:30px;color:var(--info);border-radius:15px;flex:none;justify-content:center;align-items:center;display:flex}.chat-composer{z-index:25;background:var(--surface);border-top:1px solid var(--line);padding:10px 16px calc(8px + var(--safe-b));position:fixed;bottom:0;left:0;right:0}.chat-composer .inner{max-width:728px;margin:0 auto}.screen.chat-screen{padding-bottom:calc(var(--safe-b) + 170px)}.ro-strip{background:var(--warn-soft);color:var(--warn);text-align:center;padding:6px 16px;font-size:13px;font-weight:600;line-height:18px}body.readonly .screen{padding-top:calc(var(--top-h) + var(--safe-t) + 42px)}body.readonly .btn.primary:not(.ro-ok),body.readonly .needs-conn,body.readonly .fab{opacity:.45;pointer-events:none}body.readonly .sim-stage,body.readonly .sim-modes{pointer-events:none}.pj-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23555a64' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;width:auto;max-width:100%;min-height:38px;padding:6px 34px 6px 14px;font-size:14px}.pj-piece{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.pj-piece:last-child{border-bottom:0}.pj-piece .title{font-size:15px;font-weight:650;line-height:1.3}.pj-piece .sub{color:var(--ink-2);margin-top:2px;font-size:13px}.pj-piece.off .pj-body{opacity:.5}.pj-piece input[type=checkbox],.pj-line input[type=checkbox]{width:20px;height:20px;accent-color:var(--ink);flex:none;margin:2px 0 0}.pj-opt{color:var(--ink-2);overflow-wrap:anywhere;margin-top:4px;font-size:13px}.pj-kind{border-bottom:1px solid var(--line)}.pj-kind:last-child{border-bottom:0}.pj-kind>summary{cursor:pointer;border-bottom:0;list-style:none}.pj-kind>summary::-webkit-details-marker{display:none}.pj-line{border-top:1px solid var(--line);overflow-wrap:anywhere;align-items:flex-start;gap:10px;padding:10px 14px;font-size:14px;display:flex}.pj-foot{z-index:2;padding:12px 16px calc(12px + var(--safe-b));background:var(--bg);border-top:1px solid var(--line);margin:0 -16px;position:sticky;bottom:0}.list-tools{min-height:32px;margin-top:6px}.list-row.selecting .end{display:none}.list-row.checked{background:var(--surface-2)}.sel-box{border:2px solid var(--line-2);width:24px;height:24px;color:var(--accent-ink);border-radius:12px;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.sel-box.on{background:var(--accent);border-color:var(--accent)}.select-bar{z-index:26;left:max(12px,50% - 368px);right:max(12px,50% - 368px);bottom:calc(var(--tab-h) + var(--safe-b) + 12px);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-2);box-shadow:var(--shadow-1);flex-direction:column;gap:8px;padding:10px 12px;display:flex;position:fixed}.select-count{font-size:14px;font-weight:650}.screen:has(~.select-bar){padding-bottom:180px}.trash-group{border-bottom:1px solid var(--line)}.trash-group:last-child,.trash-group>.list-row{border-bottom:0}.trash-open{text-align:left;color:inherit;background:0 0;border:0;padding:0}.trash-see{color:var(--accent-ink-soft);font-weight:650}.list-row.trash-inner{background:var(--surface-2);border-bottom:1px solid var(--line);padding-left:30px}.project-open{color:inherit;align-items:center;gap:12px;min-width:0;text-decoration:none}.undo-flags{margin:0;padding-left:20px;font-size:14px}.undo-flags li{margin:3px 0}.pj-joins{color:var(--ink-2);margin-top:3px;font-size:13px;font-weight:600}.assistant-btn{color:var(--info)}.chat-actions{padding-left:38px}.plan-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;flex-direction:column;gap:8px;margin-left:38px;padding:12px 14px;display:flex}.plan-card .plan-head{gap:6px;font-size:15px;font-weight:700}.plan-card .plan-lines{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.plan-card .plan-lines li{line-height:1.35}.plan-card .plan-warn{color:var(--warn,#9a6700);align-items:center;gap:4px;margin-top:2px;display:flex}.plan-card .plan-skipped ul{margin:4px 0 0;padding-left:18px}.plan-card .plan-buttons{justify-content:flex-end;gap:8px}.plan-card.settled{background:var(--surface-2)}.plan-card.cancelled .plan-lines,.plan-card.undone .plan-lines{color:var(--ink-3);text-decoration:line-through}.chat-files{gap:6px}.chat-file{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;align-items:center;gap:6px;max-width:200px;height:56px;padding:0 8px;display:inline-flex;position:relative;overflow:hidden}.chat-file img{object-fit:cover;width:56px;height:56px;margin:0 -8px}.chat-file-x{color:#fff;background:#0000008c;border:0;border-radius:11px;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:2px;right:2px}.chat-files.in-bubble{margin-bottom:6px}.chat-files.in-bubble .chat-file{color:inherit;background:0 0;border-color:#ffffff4d}.find-list{flex-direction:column;gap:8px;display:flex}.find-row{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:4px;padding:8px;display:flex}.find-row.on{border-color:var(--accent)}.find-pick{text-align:left;color:inherit;font:inherit;background:0 0;border:0;align-items:flex-start;gap:10px;width:100%;padding:0;display:flex}.find-pick:disabled{opacity:.75}.find-pick .sel-box{flex:none;margin-top:4px}.find-text{flex-direction:column;gap:2px;min-width:0;display:flex}.find-text .title{font-weight:600;line-height:1.3}.find-warn{color:var(--warn)}.find-link{align-self:flex-end}
