:root,[data-theme=lab]{--bg0: #0c1210;--bg1: #121a17;--bg2: #18221e;--panel: rgba(18, 26, 23, .92);--panel-solid: #121a17;--surface: rgba(255, 255, 255, .04);--chip-bg: rgba(255, 255, 255, .05);--line: rgba(214, 232, 220, .14);--text: #eef6f1;--muted: #a3b5ab;--accent: #d4a017;--accent-ink: #1a1405;--accent-soft: rgba(212, 160, 23, .16);--glow-a: rgba(71, 184, 160, .16);--glow-b: rgba(212, 160, 23, .12);--bg-grad-0: #0b100e;--bg-grad-1: #101816;--bg-grad-2: #0d1411;--card-shine: rgba(255, 255, 255, .05);--tip-bg: #15201c;--tip-text: #eef6f1;--login-grad-0: rgba(24, 34, 30, .96);--login-grad-1: rgba(12, 18, 16, .98);--buy: #2fbf71;--sell: #e4574c;--wait: #d4b45a;--mid-tone: #e0b13a;--large: #5b9fd4;--mid: #9b7ed9;--small: #47b8a0;--serif: "Instrument Serif", Georgia, serif;--sans: "DM Sans", system-ui, sans-serif;--radius: 14px;--shadow: 0 18px 50px rgba(0, 0, 0, .35);--btn-shadow: rgba(212, 160, 23, .25)}[data-theme=day]{--bg0: #e8eef4;--bg1: #ffffff;--bg2: #dfe6ee;--panel: #ffffff;--panel-solid: #ffffff;--surface: rgba(28, 36, 48, .04);--chip-bg: rgba(28, 36, 48, .06);--line: rgba(28, 36, 48, .16);--text: #121820;--muted: #3f4b5a;--accent: #1f4f6d;--accent-ink: #f7fafc;--accent-soft: rgba(31, 79, 109, .12);--glow-a: rgba(31, 79, 109, .08);--glow-b: rgba(70, 120, 150, .1);--bg-grad-0: #e4ebf2;--bg-grad-1: #f2f5f8;--bg-grad-2: #e8eef4;--card-shine: rgba(255, 255, 255, .9);--tip-bg: #1c2430;--tip-text: #f4f7fb;--login-grad-0: #ffffff;--login-grad-1: #f3f6f9;--btn-shadow: rgba(31, 79, 109, .22);--shadow: 0 14px 36px rgba(18, 24, 32, .1);--buy: #157a45;--sell: #b33a32;--wait: #8a6a18;--mid-tone: #8a6a18;--large: #1f5f8f;--mid: #5a4d96;--small: #1f7a66;--serif: "Instrument Serif", Georgia, serif;--sans: "DM Sans", system-ui, sans-serif;--radius: 14px}[data-theme=night]{--bg0: #070b16;--bg1: #0d1424;--bg2: #141c30;--panel: rgba(13, 20, 36, .94);--panel-solid: #0d1424;--surface: rgba(180, 205, 255, .05);--chip-bg: rgba(180, 205, 255, .07);--line: rgba(180, 205, 255, .16);--text: #eaf0fc;--muted: #9aabc8;--accent: #3db8c5;--accent-ink: #041218;--accent-soft: rgba(61, 184, 197, .16);--glow-a: rgba(61, 184, 197, .14);--glow-b: rgba(122, 162, 255, .12);--bg-grad-0: #070b16;--bg-grad-1: #0c1322;--bg-grad-2: #0a101c;--card-shine: rgba(255, 255, 255, .04);--tip-bg: #10182a;--tip-text: #eaf0fc;--login-grad-0: rgba(16, 24, 42, .96);--login-grad-1: rgba(8, 12, 22, .98);--buy: #2fbf71;--sell: #e4574c;--wait: #c4a35a;--mid-tone: #7ad0da;--large: #7aa2ff;--mid: #9b7ed9;--small: #3db8c5;--serif: "Instrument Serif", Georgia, serif;--sans: "DM Sans", system-ui, sans-serif;--radius: 14px;--shadow: 0 18px 50px rgba(0, 0, 0, .42);--btn-shadow: rgba(61, 184, 197, .28)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--sans);color:var(--text);background:radial-gradient(1200px 600px at 10% -10%,var(--glow-a),transparent 55%),radial-gradient(900px 500px at 100% 0%,var(--glow-b),transparent 50%),linear-gradient(165deg,var(--bg-grad-0) 0%,var(--bg-grad-1) 45%,var(--bg-grad-2) 100%);background-attachment:fixed;transition:color .2s ease,background .35s ease}button,input,select{font:inherit}.app{max-width:1280px;margin:0 auto;padding:28px 20px 60px}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:end;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-size:clamp(2.6rem,6vw,4.2rem);line-height:.95;letter-spacing:-.02em;margin:0 0 12px}.brand em{color:var(--accent);font-style:italic}.tagline{color:var(--muted);max-width:36rem;margin:0;font-size:1.02rem;line-height:1.5}.hero-actions{display:flex;flex-direction:column;gap:12px;align-items:flex-end}.btn{border:0;border-radius:999px;padding:12px 20px;cursor:pointer;background:var(--accent);color:var(--accent-ink);font-weight:700;transition:transform .2s ease,box-shadow .2s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px var(--btn-shadow)}.btn:disabled{opacity:.55;cursor:wait;transform:none;box-shadow:none}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.status-line{color:var(--muted);font-size:.9rem;text-align:right}.mix-row{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 22px}.chip{border:1px solid var(--line);background:var(--chip-bg);border-radius:999px;padding:6px 12px;font-size:.85rem;color:var(--muted)}.chip strong{color:var(--text)}.grid-top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:22px}.stock-card{background:linear-gradient(180deg,var(--card-shine),transparent);border:1px solid var(--line);border-radius:var(--radius);padding:16px;cursor:pointer;transition:border-color .2s ease,transform .2s ease,background .2s ease;box-shadow:var(--shadow)}.stock-card:hover,.stock-card.active{border-color:var(--accent);transform:translateY(-2px);background:linear-gradient(180deg,var(--accent-soft),transparent)}.stock-card-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.sym{font-weight:700;font-size:1.1rem}.meta{color:var(--muted);font-size:.82rem}.price{font-family:var(--serif);font-size:1.55rem}.change.up{color:var(--buy)}.change.down{color:var(--sell)}.badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.badge{font-size:.75rem;padding:4px 8px;border-radius:6px;border:1px solid var(--line)}.badge.buy{color:var(--buy);background:#2fbf711a}.badge.exit{color:var(--sell);background:#e4574c1a}.badge.wait{color:var(--wait);background:#c4a35a1a}.badge.large{color:var(--large)}.badge.mid{color:var(--mid)}.badge.small{color:var(--small)}.panel{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);padding:18px;margin-bottom:18px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.panel h2{font-family:var(--serif);font-size:1.8rem;font-weight:400;margin:0 0 6px}.panel h3{margin:0 0 10px;font-size:1rem;letter-spacing:.02em}.sub{color:var(--muted);margin:0 0 16px;font-size:.92rem}.detail-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}.levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 18px}.level{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--surface)}.level span{display:block;color:var(--muted);font-size:.78rem;margin-bottom:4px}.level strong{font-size:1.05rem}.level.tone-good,.crit.tone-good,.score-panel.tone-good{border-color:#2fbf718c;background:#2fbf711f;box-shadow:inset 0 0 0 1px #2fbf7126}.level.tone-mid,.crit.tone-mid,.score-panel.tone-mid{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-soft)}.level.tone-bad,.crit.tone-bad,.score-panel.tone-bad{border-color:#e4574c8c;background:#e4574c1f;box-shadow:inset 0 0 0 1px #e4574c26}.level.tone-good strong,.crit.tone-good strong,.tone-text.tone-good{color:var(--buy)}.level.tone-mid strong,.crit.tone-mid strong,.tone-text.tone-mid{color:var(--mid-tone)}.level.tone-bad strong,.crit.tone-bad strong,.tone-text.tone-bad{color:var(--sell)}.tone-pill{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.02em;vertical-align:middle}.tone-pill.tone-good{color:var(--buy);background:#2fbf712e}.tone-pill.tone-mid{color:var(--accent);background:var(--accent-soft)}.tone-pill.tone-bad{color:var(--sell);background:#e4574c2e}.tone-legend{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 10px;color:var(--muted);font-size:.78rem}.criteria{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;overflow:visible}.crit{position:relative;border:1px solid var(--line);border-radius:10px;padding:10px;overflow:visible;background:var(--surface);color:var(--text)}.crit .meta .tip{text-transform:inherit;letter-spacing:inherit;font-size:inherit;color:inherit}.crit .meta .tip-mark{margin-left:4px;vertical-align:1px}.crit .bar{height:6px;border-radius:999px;background:var(--chip-bg);overflow:hidden;margin-top:8px}.crit .bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--small),var(--accent))}.crit.tone-good .bar>i{background:var(--buy)}.crit.tone-mid .bar>i{background:var(--mid-tone)}.crit.tone-bad .bar>i{background:var(--sell)}.chart-wrap{width:100%;min-height:360px}.sr-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}.sr-legend-title{color:var(--muted);font-size:.78rem;margin-right:4px}.sr-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid transparent}.sr-chip.sr-support{color:#2fbf71;background:#2fbf7124;border-color:#2fbf7166}.sr-chip.sr-resist{color:#e4574c;background:#e4574c24;border-color:#e4574c66}.sr-chip.sr-nearest{box-shadow:0 0 0 1px currentColor}.sr-levels-list{margin-top:4px}.main-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px;padding:6px;border:1px solid var(--line);border-radius:999px;background:var(--chip-bg);width:fit-content;max-width:100%}.main-tab{border:0;background:transparent;color:var(--muted);border-radius:999px;padding:10px 18px;cursor:pointer;font-weight:600}.main-tab.on{background:var(--accent);color:var(--accent-ink)}.form-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:12px 0 4px}.form-field{display:grid;gap:4px;flex:1 1 140px;min-width:120px}.form-field-cap{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:.72rem;letter-spacing:.03em}.form-field-label{text-transform:uppercase}.form-row input,.form-field input{width:100%;background:var(--bg1);border:1px solid var(--line);border-radius:10px;color:var(--text);padding:10px 12px;min-width:0;box-sizing:border-box}.form-row input:focus,.form-field input:focus{outline:1px solid var(--accent)}.symbol-search{position:relative;flex:1.4 1 220px;min-width:200px;z-index:5}.symbol-search-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;margin:0;padding:6px;list-style:none;max-height:280px;overflow:auto;background:var(--panel-solid);color:var(--text);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.symbol-search-empty{padding:10px 12px;color:var(--muted);font-size:.85rem}.symbol-search-option{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;text-align:left;background:transparent;border:none;color:var(--text);padding:8px 10px;border-radius:8px;cursor:pointer}.symbol-search-option .sym{font-weight:700;font-size:.9rem}.symbol-search-option .meta{color:var(--muted);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.symbol-search-option.on,.symbol-search-option:hover{background:var(--accent-soft)}.level-cap{display:inline-flex;align-items:center;gap:4px}.chart-tabs{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.tab{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:7px 12px;cursor:pointer}.tab.on{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.analysis-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;margin-top:14px}.list{margin:0;padding-left:18px;color:var(--muted);line-height:1.55}.list li{margin-bottom:4px}.pattern-row{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.9rem}.live-table{width:100%;border-collapse:collapse;font-size:.92rem}.live-table th,.live-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}.live-table th{color:var(--muted);font-weight:500}.disclaimer{margin-top:18px;color:var(--muted);font-size:.82rem;line-height:1.45;border-top:1px solid var(--line);padding-top:14px}.empty{color:var(--muted);padding:28px 8px;text-align:center}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);padding:28px 26px 22px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(165deg,var(--login-grad-0),var(--login-grad-1));color:var(--text);box-shadow:var(--shadow)}.login-toggle{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:18px 0 14px}.login-toggle button{border:1px solid var(--line);background:transparent;color:var(--muted);padding:8px 10px;border-radius:10px;cursor:pointer}.login-toggle button.on{color:var(--text);background:var(--accent-soft);border-color:var(--accent)}.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:12px}.theme-card{text-align:left;border:1px solid var(--line);background:var(--bg1);color:var(--text);border-radius:var(--radius);padding:12px;cursor:pointer;transition:border-color .2s ease,transform .2s ease}.theme-card:hover{transform:translateY(-1px);border-color:var(--accent)}.theme-card.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-soft);background:var(--accent-soft)}.theme-swatches{display:flex;gap:6px;margin-bottom:8px}.theme-swatches span{width:18px;height:18px;border-radius:999px;border:1px solid var(--line)}.theme-card strong{display:block;font-size:.95rem;margin-bottom:4px}.theme-card p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.35}.login-form{display:grid;gap:12px}.login-form label{display:grid;gap:6px;color:var(--muted);font-size:.85rem}.login-form input,.login-form textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg1);color:var(--text);font:inherit;resize:vertical}.login-error{color:var(--sell);font-size:.9rem}.login-hint{margin:16px 0 0;color:var(--muted);font-size:.78rem}.login-hint code{color:var(--accent)}.user-bar{display:flex;align-items:center;justify-content:flex-end;gap:10px;color:var(--muted);font-size:.9rem}.prefs-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;color:var(--muted);font-size:.8rem}.prefs-row input{width:72px;padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:var(--bg1);color:var(--text)}.tip{position:relative;display:inline-flex;align-items:center;gap:4px;cursor:help}.tip-mark{display:inline-grid;place-items:center;width:14px;height:14px;border-radius:50%;border:1px solid var(--line);font-size:.65rem;color:var(--muted);flex-shrink:0}.tip-bubble{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%) translateY(4px);z-index:80;width:max-content;max-width:min(280px,70vw);padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--tip-bg);color:var(--tip-text);font-size:.78rem;font-weight:500;line-height:1.35;letter-spacing:0;text-transform:none;box-shadow:var(--shadow);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease,transform .12s ease,visibility .12s}.tip:hover .tip-bubble,.tip:focus-within .tip-bubble,.tip-mark:focus+.tip-bubble{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.crit .tip-bubble{left:0;bottom:auto;top:calc(100% + 6px);transform:translate(0) translateY(-4px);max-width:min(260px,80vw);z-index:100}.crit .tip:hover .tip-bubble,.crit .tip:focus-within .tip-bubble,.crit .tip-mark:focus+.tip-bubble{transform:translate(0) translateY(0)}.linkish{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font:inherit;text-decoration:underline;text-underline-offset:3px}.settings-tabs{margin:14px 0 8px}.settings-panel h3{margin:0 0 8px;font-family:var(--serif);font-size:1.2rem;font-weight:400}.settings-form{display:grid;gap:22px;margin-top:12px}.settings-block{padding-top:4px}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:10px}.settings-form label{display:grid;gap:6px;color:var(--muted);font-size:.85rem}.settings-form input,.settings-form select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg1);color:var(--text)}.field-label{display:inline-flex;align-items:center;gap:4px}.order-chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 4px}.meta.warn{color:#c45c26}.settings-ok{color:var(--buy);font-size:.9rem}.news-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}.news-list li{font-size:.92rem;line-height:1.35;color:var(--text)}.news-list a{color:var(--accent);text-decoration:none}.news-list a:hover{text-decoration:underline}.choice-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}.choice-list-head h3{margin:0;font-family:var(--serif);font-size:1.25rem;font-weight:400}.sell-row{margin-top:12px;padding:12px;border:1px solid rgba(228,87,76,.35);border-radius:12px;background:#e4574c0f}.sell-row strong{color:var(--sell);align-self:center;white-space:nowrap}.pnl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:14px}.pnl-stat{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text)}@media (max-width: 900px){.hero,.grid-top,.analysis-grid,.criteria,.levels{grid-template-columns:1fr}.hero-actions{align-items:flex-start}.status-line{text-align:left}}
