:root{color-scheme:dark;--bg: #0f1419;--surface: #171e26;--surface-2: #1f2933;--border: #2a3644;--text: #e6edf3;--text-muted: #8b98a5;--text-faint: #5c6b7a;--up: #22c55e;--down: #ef4444;--accent: #f59e0b;--accent-ink: #1a1200;--info: #38bdf8;--radius: 10px;--radius-sm: 6px;--nav-h: 60px;--footer-h: 22px;--help-w: 420px;--safe-bottom: env(safe-area-inset-bottom, 0px);--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}.app{display:flex;flex-direction:column;height:100%}.app__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top,0px));border-bottom:1px solid var(--border);background:var(--surface)}.app__title{font-weight:700;font-size:18px;letter-spacing:.3px}.app__main{flex:1;overflow-y:auto;padding:12px 16px calc(var(--nav-h) + var(--footer-h) + var(--safe-bottom) + 12px)}.app__pills{display:flex;align-items:center;gap:8px;flex-shrink:0}.help-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--surface-2);color:var(--accent);font:inherit;font-weight:700;font-size:16px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s}.help-btn:hover,.help-btn--on{border-color:var(--accent)}.help-btn--on{background:var(--accent);color:var(--accent-ink)}.app__header-left{display:flex;align-items:center;gap:10px;min-width:0}.nav{position:fixed;z-index:30;left:0;right:0;bottom:0;height:calc(var(--nav-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);display:grid;grid-template-columns:repeat(6,1fr);background:var(--surface);border-top:1px solid var(--border)}.nav__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;color:var(--text-muted);font:inherit;font-size:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer}.nav__btn svg{width:22px;height:22px}.nav__btn--active{color:var(--accent)}.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.pill--paper{background:#1e3a5f;color:#7dd3fc}.pill--live{background:#5f1e1e;color:#fca5a5}.pill--ok{background:#14351f;color:var(--up)}.pill--warn{background:#3d2b06;color:var(--accent)}.pill--muted{background:var(--surface-2);color:var(--text-muted)}.banner{padding:10px 12px;border-radius:var(--radius);margin-bottom:12px;font-size:14px}.banner--warn{background:#3d2b06;color:#fde68a;border:1px solid #7a5a0f}.banner--error{background:#3b1111;color:#fecaca;border:1px solid #7f1d1d}.banner--info{background:#0c2a3a;color:#bae6fd;border:1px solid #0e4a6a}.banner code{font-family:var(--mono);font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin-bottom:12px}.card__title{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px;display:flex;justify-content:space-between;align-items:center}.row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.row:last-child{border-bottom:0}.row--tap{cursor:pointer}.row--tap:active{background:var(--surface-2)}.sym{font-weight:700;font-size:16px}.sub{color:var(--text-muted);font-size:12px}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}.up{color:var(--up)}.down{color:var(--down)}.flat{color:var(--text-muted)}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat{background:var(--surface-2);border-radius:var(--radius-sm);padding:10px}.stat__label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.stat__value{font-family:var(--mono);font-size:18px;font-weight:600;margin-top:2px}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.field label{font-size:12px;color:var(--text-muted)}.field input,.field select,.field textarea{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;min-height:42px}.field textarea{min-height:70px;resize:vertical}.field .req{color:#f87171;font-weight:700;margin-left:2px}.field-hint{font-size:11px;color:var(--text-muted)}.field-hint--missing{color:#fca5a5}.field--missing textarea{border-color:#7f1d1d;border-left:3px solid #f87171}.field--missing textarea:focus{outline-color:#f87171}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-row>.field{min-width:0}.field select{width:100%;min-width:0}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:10px}.seg button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;color:var(--text-muted);font:inherit;font-weight:600;padding:10px 0;cursor:pointer}.seg button.active{background:var(--surface);color:var(--text)}.seg button.active.buy{color:var(--up)}.seg button.active.sell{color:var(--down)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:var(--radius-sm);font:inherit;font-weight:700;padding:12px 16px;cursor:pointer;width:100%;color:var(--text);background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--buy{background:var(--up);color:#04200d}.btn--sell{background:var(--down);color:#2a0505}.btn--ghost{background:none;border:1px solid var(--border);color:var(--text-muted);width:auto;padding:6px 10px;font-weight:600;font-size:13px}.btn--danger{background:none;border:1px solid #7f1d1d;color:#fca5a5;width:auto;padding:6px 10px;font-size:13px}.verdict{border-radius:var(--radius-sm);padding:10px;margin:10px 0;font-size:13px}.verdict--ok{background:#14351f;border:1px solid #1f5f33}.verdict--bad{background:#3b1111;border:1px solid #7f1d1d}.verdict ul{margin:6px 0 0;padding-left:18px}.chart-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:12px}.chart-canvas{width:100%;height:340px}.chart-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border)}.chart-toolbar__id{min-width:0;flex:1 1 180px}.chart-toolbar__id .info-btn{flex:none}.chart-toolbar__price{text-align:left;margin-top:2px}.tf{display:flex;gap:4px;flex:none;max-width:100%;overflow-x:auto;scrollbar-width:none}.tf::-webkit-scrollbar{display:none}.tf button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:none;color:var(--text-muted);border-radius:999px;padding:4px 10px;font:inherit;font-size:12px;cursor:pointer}.tf button.active{background:var(--surface-2);color:var(--text);border-color:var(--text-faint)}.empty{color:var(--text-muted);text-align:center;padding:28px 0;font-size:14px}.inline-form{display:flex;gap:8px;margin-bottom:10px}.inline-form input{flex:1;font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;text-transform:uppercase}.footer-note{color:var(--text-faint);font-size:11px;text-align:center;margin-top:16px}.detail-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.detail-bar__actions{display:flex;gap:8px}.detail-bar__trade{border-color:var(--up);color:var(--up)}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.detail-head__id{min-width:0}.detail-head__sym{display:flex;align-items:center;gap:8px}.detail-head__logo{width:24px;height:24px;border-radius:6px;background:#fff;object-fit:contain}.detail-head__name{font-weight:600;margin-top:2px;overflow-wrap:anywhere}.detail-head__price{font-size:24px;font-weight:700;line-height:1.1}.pill-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.stat-grid--3{grid-template-columns:repeat(3,1fr)}.stat__value--sm{font-size:15px}@media (max-width: 380px){.stat-grid--3{grid-template-columns:1fr 1fr}}.range{display:flex;align-items:center;gap:10px;margin:6px 0;font-size:13px}.range__track{position:relative;flex:1;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--down),var(--accent) 50%,var(--up));opacity:.9}.range__marker{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:var(--text);border:2px solid var(--surface);transform:translate(-50%,-50%);box-shadow:0 0 0 1px var(--border)}.perf-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.perf{background:var(--surface-2);border-radius:var(--radius-sm);padding:8px 4px;text-align:center}.perf__value{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600;margin-top:2px}@media (max-width: 380px){.perf-grid{grid-template-columns:repeat(3,1fr)}}.news{display:block;color:inherit;text-decoration:none;padding:10px 0;border-bottom:1px solid var(--border)}.news:last-child{border-bottom:0}.news:active{background:var(--surface-2)}.news__headline{font-weight:600;line-height:1.3}.news__summary{color:var(--text-muted);font-size:13px;margin:3px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.detail-head a,.card a{color:var(--info)}.info-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:none;color:var(--text-muted);border-radius:999px;width:26px;height:26px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.info-btn:active{background:var(--surface-2)}.symsearch{position:relative;flex:1;min-width:0}.symsearch__row{display:flex;gap:8px}.symsearch__row input{flex:1;min-width:0;font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;min-height:42px}.symsearch__row input:focus{outline:2px solid var(--accent);outline-offset:-1px}.symsearch__list{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);margin:0;padding:4px 0;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 10px 30px #00000073;max-height:min(60vh,360px);overflow-y:auto}.symsearch__item{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:10px;padding:9px 12px;cursor:pointer}.symsearch__item--active{background:var(--surface-2)}.symsearch__sym{font-family:var(--mono);font-weight:700;min-width:5ch}.symsearch__name{color:var(--text-muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.symsearch__exch{color:var(--text-faint);font-size:10px;letter-spacing:.4px}.symsearch__problem,.symsearch__hint{font-size:12px;margin-top:6px}.symsearch__problem{color:#fca5a5}.symsearch__hint{color:var(--text-faint)}.sym-line{display:flex;align-items:baseline;gap:8px;min-width:0}.sym-name{color:var(--text-muted);font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.row__main{min-width:0;flex:1}.add-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:none;color:var(--accent);font:inherit;font-size:18px;font-weight:700;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.add-btn:active{background:var(--surface-2)}.add-btn--in{color:var(--up);border-color:transparent;font-size:15px}.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.chips::-webkit-scrollbar{display:none}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:999px;padding:7px 14px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.chip--active{background:var(--surface-2);color:var(--text);border-color:var(--text-faint)}.card .seg{margin-bottom:4px}#main-menu{position:relative;flex-shrink:0}#main-menu-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);cursor:pointer;transition:background .2s,border-color .2s}#main-menu-btn:hover,#main-menu-btn[aria-expanded=true]{border-color:var(--accent)}.menu-bars{display:inline-flex;flex-direction:column;justify-content:space-between;width:18px;height:13px}.menu-bars span{display:block;height:2px;width:100%;border-radius:2px;background:var(--accent)}#main-menu-dropdown{position:absolute;top:calc(100% + 8px);left:0;z-index:1900;min-width:240px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px #0000008c;padding:6px;max-height:calc(100dvh - 118px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.menu-section-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);padding:6px 10px 4px}.menu-section-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;background:none;border:none;cursor:pointer;font:inherit;font-size:11px;text-align:left}.menu-section-toggle:hover{color:var(--text-muted)}.menu-chevron{font-size:.8em;opacity:.7}.menu-item{display:block;width:100%;text-align:left;padding:8px 10px;border:none;border-radius:6px;background:transparent;color:var(--text);font-size:14px;font-family:inherit;cursor:pointer;transition:background .15s;text-decoration:none;box-sizing:border-box}.menu-item:hover{background:var(--surface-2)}.menu-item.active{background:var(--accent);color:var(--accent-ink);font-weight:600}.menu-item.danger{color:#fca5a5}.menu-info{padding:5px 10px;font-size:12px;color:var(--text-muted)}#footer{position:fixed;left:0;right:0;bottom:calc(var(--nav-h) + var(--safe-bottom));z-index:30;height:var(--footer-h);background:var(--surface);border-top:1px solid var(--border);padding:0 16px;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px;line-height:1;color:var(--text-faint);white-space:nowrap;overflow:hidden}#footer #build-time{color:var(--text-muted);flex-shrink:0}#footer #copyright{overflow:hidden;text-overflow:ellipsis}.check{display:inline-flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.check input{accent-color:var(--accent);margin:0}.help{border-bottom:1px solid var(--border)}.help:last-child{border-bottom:0}.help__title{cursor:pointer;padding:12px 0;font-weight:600;list-style:none;display:flex;align-items:center;gap:8px}.help__title::-webkit-details-marker{display:none}.help__title:before{content:"▸";color:var(--text-faint);font-size:.8em}.help[open]>.help__title:before{content:"▾"}.help__body{padding:0 0 14px 18px;font-size:14px;line-height:1.5}.help__body p,.help__body ul,.help__body ol{margin:0 0 10px}.help__body ul,.help__body ol{padding-left:20px}.help__body li{margin-bottom:6px}.help__body a{color:var(--info)}.help__body code{font-family:var(--mono);font-size:13px;background:var(--surface-2);padding:1px 4px;border-radius:4px}.help__dl{margin:0 0 10px}.help__dl dt{font-weight:600;margin-top:8px}.help__dl dd{margin:2px 0 0;color:var(--text-muted)}.linklike{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;font:inherit;font-weight:600;color:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.linklike:hover{color:var(--text)}.help-drawer{position:fixed;top:0;right:0;bottom:calc(var(--nav-h) + var(--footer-h) + var(--safe-bottom));width:min(var(--help-w),100vw);z-index:25;display:flex;flex-direction:column;background:var(--bg);border-left:1px solid var(--border);box-shadow:-8px 0 24px #0006;padding-top:env(safe-area-inset-top,0px)}.help-drawer__bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px 10px 16px;border-bottom:1px solid var(--border);background:var(--surface);flex:none}.help-drawer__body{flex:1;overflow-y:auto;margin:0;border:0;border-radius:0;padding:4px 16px 16px}@media (min-width: 900px){.app--help .app__main,.app--help .app__header{padding-right:calc(16px + var(--help-w))}}
