:root{--bg: #f4f6f8;--card: #ffffff;--text: #15202b;--muted: #5f6b77;--line: #e3e8ed;--accent: #0f766e;--accent-soft: #e6f4f2;--up: #118a3e;--up-soft: #e7f6ec;--down: #c62828;--down-soft: #fdecec;--warn: #a15c00;--warn-soft: #fff4e0;--radius: 14px;--shadow: 0 1px 2px rgba(16, 24, 40, .06);color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0e1418;--card: #172026;--text: #e8eef2;--muted: #93a1ad;--line: #26323a;--accent: #2bb3a3;--accent-soft: #143a37;--up: #3fcf74;--up-soft: #12301f;--down: #ff6b6b;--down-soft: #3a1717;--warn: #f0a83a;--warn-soft: #36280f;--shadow: none;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}button,input,textarea{font:inherit;color:inherit}a{color:var(--accent)}h1,h2{margin:0;line-height:1.2}h1{font-size:1.4rem}h2{font-size:1rem}p{margin:.4rem 0}.app{max-width:640px;margin:0 auto;min-height:100vh;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.top{position:sticky;top:0;z-index:10;background:var(--bg);padding:10px 16px 8px;border-bottom:1px solid var(--line)}.top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.brand{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--text);text-decoration:none}.lang{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.lang button{border:0;background:transparent;padding:4px 12px;font-size:.85rem;font-weight:600;color:var(--muted);cursor:pointer}.lang button.on{background:var(--accent);color:#fff}.search{display:flex;gap:8px}.search input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card)}input:focus,textarea:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}main{padding:12px 16px}.page{display:flex;flex-direction:column;gap:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.muted{color:var(--muted)}.small{font-size:.85rem}.tiny{font-size:.75rem}.right{text-align:right}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ok{color:var(--up);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);font-weight:600;cursor:pointer}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.small{white-space:nowrap;min-height:34px;padding:4px 10px;font-size:.85rem}.btn.wide{width:100%}.btn.link{border:0;background:none;color:var(--accent);padding:4px 0;min-height:0;align-self:flex-start}.btn.danger{color:var(--down);border-color:var(--down)}.btn:disabled{opacity:.6;cursor:default}.row-actions{margin-top:12px;display:flex;gap:8px;justify-content:center}.row-actions.two>*{flex:1}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.chips.column{flex-direction:column}.chip{display:inline-flex;align-items:baseline;gap:6px;max-width:100%;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);cursor:pointer;text-align:left}.chips.column .chip{border-radius:10px}.chip-name{color:var(--muted);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.welcome h1{font-size:1.5rem;margin-bottom:4px}.add-form{display:flex;flex-direction:column;gap:8px;margin-top:10px}.add-form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);resize:vertical}.add-result{margin-top:12px;border-top:1px solid var(--line);padding-top:8px}.unsure{margin-top:10px}.list{list-style:none;margin:0;padding:0}.list li{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line)}.list li:last-child{border-bottom:0}.list-row{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:12px 0;border:0;background:none;text-align:left;cursor:pointer}.list-row b{min-width:56px}.list-row .ellipsis{flex:1}.arrow{color:var(--muted);font-size:1.3rem}.prices{width:100%;border-collapse:collapse;table-layout:fixed}.prices th{font-size:.8rem;font-weight:600;color:var(--muted);text-align:left;padding:4px 0}.prices td{padding:9px 0;border-top:1px solid var(--line);vertical-align:middle}.prices td:first-child{width:46%;padding-right:8px}.prices tr:not(.static){cursor:pointer}.num{text-align:right!important;font-variant-numeric:tabular-nums;white-space:nowrap}.chg{font-weight:600;font-variant-numeric:tabular-nums}.chg.up{color:var(--up)}.chg.down,.down{color:var(--down)}.chg.flat{color:var(--muted)}.stock-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.stock-title h1{font-size:1.6rem}.price-line{display:flex;align-items:baseline;gap:10px;margin-top:10px}.price{font-size:1.7rem;font-weight:700;font-variant-numeric:tabular-nums}.price-line .chg{font-size:1.1rem}.others{padding:0 2px}.bottom-line{background:var(--accent-soft);border-color:transparent}.kv{margin:0}.kv-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--line)}.kv-row:first-child{border-top:0}.kv dt{color:var(--muted)}.kv dd{margin:0;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.bullets{margin:0;padding-left:1.1rem}.bullets li{margin:6px 0}.pos h2{color:var(--up)}.neg h2{color:var(--down)}.risk h2,.warn h2{color:var(--warn)}.bullets.pos li::marker{color:var(--up)}.bullets.neg li::marker{color:var(--down)}.bullets.risk li::marker,.bullets.warn li::marker{color:var(--warn)}.warn{background:var(--warn-soft);border-color:transparent;font-size:.9rem}.news{list-style:none;margin:0;padding:0}.news li{padding:8px 0;border-top:1px solid var(--line)}.news li:first-child{border-top:0}.news a{text-decoration:none;font-weight:500}.summary{font-size:.92rem}.details{display:flex;flex-direction:column;gap:12px}.tabs{display:flex;gap:6px;margin-bottom:8px}.tabs button{flex:1;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:none;font-size:.9rem;font-weight:600;color:var(--muted);cursor:pointer}.tabs button.on{background:var(--text);border-color:var(--text);color:var(--card)}.hours{list-style:none;margin:0;padding:0}.hours li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line)}.hours li:first-child{border-top:0}.hours .right{max-width:50%}.badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.72rem;font-weight:700;vertical-align:1px}.badge.up{background:var(--up-soft);color:var(--up)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.flat{background:var(--bg);color:var(--muted)}@media(max-width:380px){.hide-narrow{display:none}}.loading{display:flex;align-items:center;gap:12px;padding:24px 4px;color:var(--muted)}.spinner{width:22px;height:22px;flex:none;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.spinner.small{width:14px;height:14px;border-width:2px}.btn.primary .spinner{border-color:#fff6;border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.error{border-color:var(--down)}.footnote{font-size:.75rem;color:var(--muted);padding:4px 2px 8px}.footnote p{margin:4px 0}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:10;display:flex;justify-content:center;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabbar button{flex:1;max-width:320px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 10px;border:0;background:none;font-size:.8rem;font-weight:600;color:var(--muted);cursor:pointer}.tabbar button span{font-size:1.2rem;line-height:1}.tabbar button.on{color:var(--accent)}.hint{margin:0;padding:10px 12px;border:1px dashed var(--line);border-radius:var(--radius)}.stats{display:flex;flex-wrap:wrap;gap:8px 22px;margin-bottom:10px}.hero{font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}.hero.small-hero{font-size:1.2rem}.small-toggle button{padding:2px 10px;font-size:.75rem}.sub{font-size:.9rem;margin:14px 0 4px}.alloc{list-style:none;margin:0;padding:0}.alloc li{padding:8px 0;border-top:1px solid var(--line);cursor:pointer}.alloc li:first-child{border-top:0}.alloc-top{display:flex;align-items:baseline;gap:8px}.alloc-top .muted{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar{height:6px;margin:5px 0 3px;border-radius:3px;background:var(--bg);overflow:hidden}.bar span{display:block;height:100%;border-radius:3px;background:var(--accent)}.list-row .who{flex:1;min-width:0;display:flex;flex-direction:column}.list-row .quote{display:flex;flex-direction:column;align-items:flex-end;min-width:92px;font-variant-numeric:tabular-nums}.list-row .quote .num{font-weight:600}.list-row .quote .chg{font-size:.85rem}.spark{flex:none;display:block}.spark-empty{display:inline-block;flex:none}.chart{width:100%;user-select:none;-webkit-user-select:none}.chart svg{display:block;overflow:visible}.chart .axis{font-size:11px;fill:var(--muted);font-variant-numeric:tabular-nums}.chart .grid{stroke:var(--line);stroke-width:1}.chart .crosshair{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3}.chart-readout{min-height:1.5rem;font-size:.9rem;margin-bottom:2px}.chart-placeholder{height:220px;display:flex;align-items:center;justify-content:center}.chart-empty{height:60px;display:flex;align-items:center}.periods{display:flex;gap:4px;margin-bottom:6px}.periods button{flex:1;padding:5px 0;border:0;border-radius:8px;background:none;font-size:.82rem;font-weight:700;color:var(--muted);cursor:pointer}.periods button.on{background:var(--accent-soft);color:var(--accent)}.scroll-tabs{display:flex;gap:6px;overflow-x:auto;margin:0 -4px 8px;padding:0 4px 2px;scrollbar-width:none}.scroll-tabs button{flex:none;padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:none;font-size:.82rem;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap}.scroll-tabs button.on{background:var(--text);border-color:var(--text);color:var(--card)}.prices tr.picked td{background:var(--accent-soft)}.position{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end}.position label{display:flex;flex-direction:column;gap:2px;min-width:0}.position input{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.position .btn{grid-column:1 / -1}.lan{padding:0 16px 8px;text-align:center}.lan a{margin:0 4px;font-weight:600}.chart .cone{fill:var(--muted);fill-opacity:.16;stroke:var(--muted);stroke-opacity:.5;stroke-width:1;stroke-dasharray:3 3}.sub.first{margin-top:0}.kv dt .tiny{font-size:.72rem}.target{margin-top:4px}.target-bar{position:relative;height:22px;margin:8px 6px 4px}.target-bar:before{content:"";position:absolute;left:0;right:0;top:10px;height:2px;background:var(--line)}.target-range{position:absolute;top:7px;height:8px;border-radius:4px;background:var(--accent-soft);border:1px solid var(--accent)}.target-mean,.target-now{position:absolute;top:3px;width:4px;height:16px;margin-left:-2px;border-radius:2px}.target-mean,.dot.mean{background:var(--accent)}.target-now,.dot.now{background:var(--text)}.dot{display:inline-block;width:8px;height:8px;border-radius:2px;vertical-align:0}.target-labels{display:flex;justify-content:space-between;gap:8px}.target-labels .center{text-align:center}
