:root{--bg: #f5f3ee;--card: #ffffff;--text: #1c1b17;--muted: #6f6c62;--line: #e4e0d6;--brand: #1f6f5c;--brand-ink: #ffffff;--accent: #ffcf4a;--good: #1a7f4b;--warn: #a5560b;--danger: #b3261e;--radius: 14px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #16150f;--card: #211f18;--text: #f1eee6;--muted: #a39f93;--line: #34312a;--brand: #3fa88d;--brand-ink: #0d1a16;--good: #5fd39a;--warn: #f0a85a;--danger: #ff8a80;color-scheme:dark}}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;background:var(--bg);color:var(--text)}body{font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}#app{max-width:640px;margin:0 auto;min-height:100dvh;padding:env(safe-area-inset-top) 16px calc(24px + env(safe-area-inset-bottom))}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}.logo{display:inline-flex;align-items:center;gap:8px;font-size:18px;letter-spacing:-.01em}.logo img{border-radius:8px;display:block}.splash{min-height:100dvh;display:grid;place-items:center}.login{min-height:90dvh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;padding:0 4px}.login .logo{font-size:26px;margin-bottom:28px}.login .logo img{border-radius:14px}.login h1{font-size:30px;line-height:1.15;letter-spacing:-.02em;margin:0}.login p{color:var(--muted);margin:0 0 24px;max-width:34ch}.primary{background:var(--brand);color:var(--brand-ink);border:0;border-radius:999px;padding:10px 18px;font-weight:600;display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.primary:disabled{opacity:.5;cursor:default}.primary.big{padding:14px 22px;font-size:16px}.primary.big svg{background:#fff;border-radius:50%;padding:3px;width:24px;height:24px}.ghost{background:none;border:0;color:var(--brand);font-weight:600;padding:8px 10px;white-space:nowrap}.error{color:var(--danger)}.muted{color:var(--muted)}.warn{color:var(--warn)}.center{text-align:center}.top{display:flex;align-items:center;justify-content:space-between;padding:14px 0 12px}.account{position:relative}.avatar{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--card);padding:0;overflow:hidden;display:grid;place-items:center;font-weight:600}.avatar img{width:100%;height:100%;object-fit:cover}.menu{position:absolute;right:0;top:44px;z-index:5;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px #0000001f;min-width:220px;padding:6px}.menu .who{padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:4px;font-weight:600}.menu .who small{display:block;color:var(--muted);font-weight:400;overflow-wrap:anywhere}.menu button{width:100%;text-align:left;background:none;border:0;padding:10px;border-radius:8px}.menu button:hover{background:var(--bg)}.addbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:4px 4px 4px 16px;margin-bottom:18px}.addbar:focus-within{border-color:var(--brand)}.addbar input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--text);font:inherit;padding:8px 0}.addbar .hint{flex-basis:100%;margin:0;padding:0 0 8px;font-size:13px;color:var(--warn)}.empty{text-align:center;padding:48px 16px;color:var(--muted)}.empty h2{color:var(--text);font-size:18px;margin:0 0 6px}.empty p{margin:0 auto;max-width:36ch}.items{list-style:none;margin:0;padding:0;display:grid;gap:10px}.item{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:10px}.item.dropped{border-color:color-mix(in srgb,var(--good) 45%,var(--line))}.thumb{width:56px;height:56px;border-radius:10px;background:#fff;overflow:hidden;display:grid;place-items:center;text-decoration:none;border:1px solid var(--line)}.thumb img{width:100%;height:100%;object-fit:contain}.thumb span{text-transform:uppercase;font-weight:700;color:var(--brand);font-size:20px}.body{min-width:0}.name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-decoration:none;font-weight:600;line-height:1.3}.meta{font-size:13px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status{font-size:13px;line-height:1.3;margin-top:1px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.side{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.price{font-weight:700;white-space:nowrap}.dropped .price{color:var(--good)}.good{color:var(--good);font-weight:600}.delta{font-size:12px;font-weight:700;padding:1px 7px;border-radius:999px;white-space:nowrap}.delta.down{color:var(--good);background:color-mix(in srgb,var(--good) 12%,transparent)}.delta.up{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.spark{display:block;margin-top:4px;overflow:visible}.spark path{fill:none;stroke:var(--brand);stroke-width:1.6;stroke-linejoin:round}.spark circle{fill:var(--brand)}.x{border:0;background:none;color:var(--muted);font-size:18px;line-height:1;padding:4px 6px;border-radius:8px}.x.sure{font-size:12px;color:var(--danger);font-weight:600;background:color-mix(in srgb,var(--danger) 10%,transparent)}.small{font-size:13px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#00000059;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--card);width:100%;max-width:520px;border-radius:20px 20px 0 0;padding:18px 20px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px #0000002e}@media(min-width:600px){.sheet-backdrop{align-items:center}.sheet{border-radius:20px}}.sheet header{display:flex;align-items:center;justify-content:space-between}.sheet h2{margin:0;font-size:19px}.sheet .close{border:0;background:none;font-size:26px;line-height:1;color:var(--muted);padding:4px 8px}.sheet p{margin:10px 0}.sheet .actions{display:flex;gap:8px;align-items:center;margin-top:14px;flex-wrap:wrap}.code-box{display:grid;gap:10px;justify-items:start;margin-top:8px}.code-box p{margin:0}.code-box code{display:block;width:100%;font:600 14px/1.4 ui-monospace,Consolas,monospace;overflow-wrap:anywhere;background:var(--bg);border:1px dashed var(--line);border-radius:10px;padding:10px 12px;-webkit-user-select:all;user-select:all}.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translate(-50%);background:var(--text);color:var(--bg);padding:10px 16px;border-radius:999px;font-size:14px;box-shadow:0 6px 20px #0003;max-width:calc(100vw - 32px)}.item{cursor:pointer;-webkit-user-select:none;user-select:none}.item:active{transform:scale(.99)}.item:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.detail{padding-bottom:24px}.detail-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.back{background:none;border:0;color:var(--brand);font-weight:600;padding:8px 0}.hero{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;margin-bottom:14px}.thumb.big{width:96px;height:96px;border-radius:14px}.hero-name{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-weight:600;text-decoration:none;line-height:1.3}.hero-price{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:6px}.hero-amount{font-size:24px;font-weight:750;letter-spacing:-.01em}.hero-sub{font-size:13px;color:var(--muted);margin-top:2px}.pill{font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--bg);border:1px solid var(--line);color:var(--muted);white-space:nowrap}.pill.good{color:var(--good);background:color-mix(in srgb,var(--good) 12%,transparent);border-color:transparent}.pill.warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent);border-color:transparent}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}.chip{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 12px;font-size:13px}.chip.on{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.chart-wrap{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:8px 6px 2px}.chart{display:block;width:100%;height:auto;touch-action:pan-y}.chart .grid{stroke:var(--line);stroke-width:1}.chart .axis{fill:var(--muted);font-size:10.5px}.chart .area{fill:color-mix(in srgb,var(--brand) 12%,transparent)}.chart .line{fill:none;stroke:var(--brand);stroke-width:2.2;stroke-linejoin:round}.chart .min-dot{fill:var(--good);stroke:var(--card);stroke-width:2}.chart .now-dot{fill:var(--brand);stroke:var(--card);stroke-width:2}.chart .target-line{stroke:var(--warn);stroke-width:1.4;stroke-dasharray:5 4}.chart .target-label{fill:var(--warn);font-size:10.5px;font-weight:600}.chart .hair{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3}.chart .focus{fill:var(--card);stroke:var(--brand);stroke-width:2.5}.tip{position:absolute;width:150px;pointer-events:none;background:var(--text);color:var(--bg);border-radius:10px;padding:7px 10px;font-size:13px;box-shadow:0 6px 18px #0000002e}.tip strong{font-size:15px}.tip-date{opacity:.75;font-size:12px}.tip-tag{color:var(--accent);font-size:12px;font-weight:600}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.stat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:9px 10px;display:grid;gap:1px;min-width:0}.stat span{font-size:12px;color:var(--muted)}.stat b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin:12px 0}.alert.on{border-color:color-mix(in srgb,var(--warn) 45%,var(--line))}.alert-head{display:flex;align-items:center;gap:8px}.alert-title{font-weight:650;flex:1}.alert-saved{font-size:12px;color:var(--good)}.alert-note{font-size:13px;color:var(--muted);margin:8px 0 0}.alert-status{font-size:13px;margin:8px 0 0}.alert-controls{margin-top:10px}.switch{width:46px;height:28px;border-radius:999px;border:0;background:var(--line);position:relative;padding:0;flex:none;transition:background .15s}.switch i{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .15s}.switch[aria-checked=true]{background:var(--brand)}.switch[aria-checked=true] i{transform:translate(18px)}.alert-range{width:100%;height:28px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;margin:0}.alert-range::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(to right,var(--line) var(--pos),color-mix(in srgb,var(--warn) 55%,transparent) var(--pos))}.alert-range::-moz-range-track{height:6px;border-radius:3px;background:linear-gradient(to right,var(--line) var(--pos),color-mix(in srgb,var(--warn) 55%,transparent) var(--pos))}.alert-range::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-9px;border-radius:50%;background:var(--card);border:3px solid var(--warn)}.alert-range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--card);border:3px solid var(--warn)}.alert-scale{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.alert-form{display:flex;align-items:center;gap:8px;margin:10px 0 6px}.alert-field{width:120px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;font-weight:600}.detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0}.detail-actions .primary{text-decoration:none}.ghost.danger{color:var(--danger)}.changes{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px}.changes summary{cursor:pointer;font-weight:600}.changes ul{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:6px}.changes li{display:flex;justify-content:space-between;gap:10px;font-size:14px}.changes .when{color:var(--muted)}.chg.down{color:var(--good);font-weight:600}.chg.up{color:var(--danger);font-weight:600}.banner{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:start;background:color-mix(in srgb,var(--accent) 22%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 50%,var(--line));border-radius:var(--radius);padding:12px 14px;margin-bottom:14px}.banner p{margin:0;font-size:14px}.banner-actions{grid-column:2;display:flex;gap:6px;align-items:center}.banner .error{grid-column:2;margin:0}.sheet h3{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:18px 0 6px}.sheet header .alert-saved{margin-left:auto;margin-right:6px}.stack{display:grid;gap:10px;justify-items:start}.stack p{margin:0}.row-check{display:flex;gap:10px;align-items:center;font-size:15px}.row-check input{width:20px;height:20px;accent-color:var(--brand)}.field{display:grid;gap:6px;width:100%}.field select{font:inherit;padding:10px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text)}.field small{font-size:12px}.sheet{max-height:92dvh;overflow-y:auto}#app:has(.landing){max-width:1040px}.landing{padding-bottom:40px}.lp-top{display:flex;align-items:center;justify-content:space-between;padding:16px 0}.lp-hero{display:grid;gap:28px;align-items:center;padding:24px 0 40px}@media(min-width:860px){.lp-hero{grid-template-columns:1fr 1.05fr;padding:48px 0 64px}}.lp-hero h1{font-size:clamp(34px,7vw,54px);line-height:1.05;letter-spacing:-.03em;margin:0 0 14px}.lp-lead{font-size:18px;color:var(--muted);margin:0 0 22px;max-width:34em}.lp-copy .muted.small{margin:12px 0 0}.lp-demo{margin:0;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:0 18px 40px -24px #00000059}.lp-demo .chart-wrap{border:0;padding:4px 0 0}.lp-demo figcaption{margin-top:8px;text-align:center}.lp-demo-name{font-weight:600}.lp-demo-price{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:4px}.lp-demo-price b{font-size:22px}.lp-section{padding:28px 0;border-top:1px solid var(--line)}.lp-section h2,.lp-cta h2{font-size:26px;letter-spacing:-.02em;margin:0 0 16px}.lp-section p{max-width:46em}.lp-steps{list-style:none;padding:0;margin:0;display:grid;gap:14px}@media(min-width:760px){.lp-steps{grid-template-columns:repeat(3,1fr)}}.lp-steps li{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.lp-steps h3,.lp-card h3{margin:8px 0 6px;font-size:17px}.lp-steps p,.lp-card p{margin:0;color:var(--muted)}.lp-num{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--brand);color:var(--brand-ink);font-weight:700}.lp-grid{display:grid;gap:12px}@media(min-width:640px){.lp-grid{grid-template-columns:repeat(2,1fr)}}.lp-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.lp-card>span{font-size:24px}.lp-faq{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-bottom:8px}.lp-faq summary{cursor:pointer;font-weight:600}.lp-faq p{margin:8px 0 0;color:var(--muted)}.lp-cta{text-align:center;padding:40px 0 24px;border-top:1px solid var(--line)}.lp-foot{text-align:center;padding-top:16px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.list-tools{display:grid;gap:8px;margin-bottom:12px}.search{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:0 10px;color:var(--muted)}.search:focus-within{border-color:var(--brand);color:var(--brand)}.search input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--text);font:inherit;padding:9px 0}.hint-key{font:600 11px/1 ui-monospace,Consolas,monospace;border:1px solid var(--line);border-radius:5px;padding:3px 6px;color:var(--muted)}@media(hover:none){.hint-key,.keys-hint{display:none}}.tool-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.tool-row .chips{margin:0}.chip .count{margin-left:6px;font-size:11px;font-weight:700;opacity:.75}.sort select{font:inherit;font-size:13px;padding:6px 8px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--text)}.link{background:none;border:0;padding:0;color:var(--brand);font-weight:600;text-decoration:underline}#app:has(.home.wide){max-width:1280px}.home.wide .top{gap:16px}.home.wide .summary{margin-right:auto;color:var(--muted);font-size:14px;padding-left:8px;border-left:1px solid var(--line)}.split{display:grid;grid-template-columns:minmax(300px,400px) 1fr;gap:20px;align-items:start}@media(max-width:1040px){.split{grid-template-columns:300px 1fr;gap:16px}.pane-detail{padding:4px 16px 18px}.pane-detail .hero{grid-template-columns:96px 1fr}.pane-detail .thumb.big{width:96px;height:96px}}.pane-list{position:sticky;top:12px;max-height:calc(100dvh - 90px);overflow-y:auto;padding:2px 6px 12px 2px;scrollbar-width:thin}.pane-detail{min-width:0;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:6px 22px 22px;box-shadow:0 18px 40px -30px #00000059}.pane-detail .chart-wrap,.pane-detail .stat,.pane-detail .alert,.pane-detail .changes{background:var(--bg)}.pane-detail .hero{grid-template-columns:120px 1fr}.pane-detail .thumb.big{width:120px;height:120px}.pane-detail .hero-amount{font-size:30px}.pane-empty{display:grid;place-items:center;min-height:360px;text-align:center}.keys-hint{text-align:center;margin-top:10px}@media(hover:hover){.item{transition:border-color .12s,box-shadow .12s,transform .12s}.item:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--line));box-shadow:0 6px 18px -12px #00000059;transform:translateY(-1px)}.item .x{opacity:.35;transition:opacity .12s}.item:hover .x,.item .x.sure,.item .x:focus-visible{opacity:1}.chip:hover{border-color:var(--brand)}}.item.selected{border-color:var(--brand);box-shadow:inset 3px 0 0 var(--brand);background:color-mix(in srgb,var(--brand) 6%,var(--card))}.home.wide .addbar .ghost{display:none}.item{position:relative;padding-right:30px}.item .x{position:absolute;top:4px;right:4px;width:26px;height:26px;padding:0;display:grid;place-items:center;font-size:17px;border-radius:50%}.item .x:hover{background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.item .x.sure{width:auto;height:auto;padding:4px 9px;border-radius:999px;top:6px;right:6px;z-index:1}.item .side{align-self:center}
