@font-face{font-family:'A2z';src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2601-6@1.0/에이투지체-1Thin.woff2') format('woff2');font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:'A2z';src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2601-6@1.0/에이투지체-2ExtraLight.woff2') format('woff2');font-weight:200;font-style:normal;font-display:swap}
@font-face{font-family:'A2z';src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2601-6@1.0/에이투지체-3Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'A2z';src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2601-6@1.0/에이투지체-4Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'A2z';src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2601-6@1.0/에이투지체-5Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'A2z';src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2601-6@1.0/에이투지체-6SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'A2z';src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2601-6@1.0/에이투지체-7Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'A2z';src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2601-6@1.0/에이투지체-8ExtraBold.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'A2z';src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2601-6@1.0/에이투지체-9Black.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}

:root{--navy:#081525;--navy-2:#0b213b;--blue:#245ff5;--blue-dark:#1747bf;--blue-50:#eef4ff;--bg:#f4f6fa;--surface:#fff;--subtle:#f8fafc;--border:#dce2ea;--border-strong:#c8d0db;--text:#101318;--secondary:#596273;--muted:#87909f;--positive:#16864a;--positive-bg:#edf9f2;--warning:#e58a00;--warning-bg:#fff7e8;--negative:#d84a4a;--shadow:0 10px 30px rgba(8,21,37,.06);--radius:14px}
[hidden]{display:none!important}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:"Noto Sans KR",system-ui,sans-serif;font-size:14px;font-variant-numeric:tabular-nums}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}button,input{font:inherit}button,a{color:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:206px;background:linear-gradient(165deg,#071321 0%,#0a203a 68%,#081525 100%);color:#fff;display:flex;flex-direction:column;padding:26px 12px 20px;z-index:20}.brand{display:flex;align-items:center;gap:14px;padding:0 14px 31px;text-decoration:none;font-family:Manrope,sans-serif;font-weight:700;font-size:17px;line-height:1.35;letter-spacing:-.2px}.sidebar nav{display:grid;gap:7px}.nav-item{height:58px;padding:0 17px;display:flex;align-items:center;gap:17px;border-radius:10px;text-decoration:none;font-size:15px;font-weight:600;color:#dce6f2;transition:.2s}.nav-item svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8}.nav-item:hover{background:rgba(255,255,255,.07)}.nav-item.active{background:linear-gradient(110deg,#16478a,#174a92);color:#fff;box-shadow:inset 0 0 0 1px rgba(77,139,255,.12)}.collapse-button{margin-top:auto;background:none;border:0;color:#d6e0ec;display:flex;align-items:center;gap:14px;padding:12px 18px;cursor:pointer;font-size:12px}.collapse-button span{font-size:26px;font-weight:300}.page-shell{margin-left:206px;min-height:100vh}.topbar{height:72px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px;gap:24px;position:sticky;top:0;z-index:15;backdrop-filter:blur(12px)}.topbar h1{font:700 22px/1 Manrope,sans-serif;margin:0;white-space:nowrap}.global-search{height:46px;max-width:700px;flex:1;margin:0 auto;position:relative;display:flex;align-items:center;border:1px solid var(--border);border-radius:12px;background:#fff}.global-search>svg{width:21px;height:21px;margin-left:17px;fill:none;stroke:#263244;stroke-width:1.8}.global-search input{border:0;outline:0;height:100%;min-width:0;flex:1;padding:0 12px;color:var(--text);background:transparent}.global-search input::placeholder{color:#929aa7}.global-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(36,95,245,.1)}kbd{border:1px solid var(--border);background:var(--subtle);border-radius:6px;color:var(--muted);padding:3px 7px;margin-right:10px;font:500 11px Manrope,sans-serif}.search-panel{position:absolute;top:54px;left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 50px rgba(8,21,37,.14);display:none;padding:8px;z-index:30}.search-panel.open{display:block}.search-result{width:100%;border:0;background:none;padding:10px 12px;border-radius:8px;text-align:left;display:flex;justify-content:space-between;cursor:pointer}.search-result:hover,.search-result:focus{background:var(--blue-50)}.search-result span:last-child{color:var(--muted)}.icon-button{width:40px;height:40px;border:1px solid var(--border);background:#fff;border-radius:50%;display:grid;place-items:center;cursor:pointer}.icon-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7}.mobile-menu{display:none;border:0;background:none}.mobile-menu svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8}main{padding:0 22px 24px;max-width:1650px;margin:auto}.status-strip{height:52px;display:flex;align-items:center;gap:18px;color:var(--secondary);font-size:12px}.fresh,.market-times{display:flex;align-items:center;gap:10px}.fresh strong{color:var(--text)}.status-dot,.market-times i{width:9px;height:9px;border-radius:50%;background:#16a05a;display:inline-block}.market-times{margin-left:auto}.market-times span{display:flex;align-items:center;gap:8px}.market-times i{width:7px;height:7px}.divider{width:1px;height:17px;background:var(--border-strong);margin:0 7px}.text-button{border:0;background:none;display:flex;align-items:center;gap:7px;color:var(--secondary);cursor:pointer;padding:8px}.text-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.text-button.spinning svg{animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.market-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.market-card,.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.market-card{padding:17px 22px 15px}.market-card-top{display:flex;justify-content:space-between;align-items:start}.eyebrow,.section-kicker{display:block;color:#7c8797;font:700 10px/1.4 Manrope,sans-serif;letter-spacing:1.3px}.market-card h2{font:700 19px/1.2 Manrope,sans-serif;margin:2px 0 0}.data-badge{color:var(--secondary);font-size:11px;background:var(--subtle);border:1px solid var(--border);border-radius:20px;padding:4px 9px}.market-main{display:flex;align-items:baseline;gap:26px;margin-top:5px}.market-main strong{font:800 32px/1.2 Manrope,sans-serif;color:var(--positive);letter-spacing:.2px}.market-main span{color:var(--positive);font:700 13px Manrope,sans-serif}.market-main small{font-size:12px}.chart-row{display:grid;grid-template-columns:minmax(200px,1fr) 150px;gap:24px;align-items:end}.sparkline{width:100%;height:58px;overflow:visible}.sparkline .line{fill:none;stroke:var(--positive);stroke-width:2}.sparkline .area{fill:url(#greenFill)}.sparkline .baseline{stroke:#aab1bb;stroke-width:1;stroke-dasharray:5 4}.chart-row dl{margin:0;display:grid;gap:5px;font-size:11px}.chart-row dl div{display:flex;justify-content:space-between}.chart-row dt{color:var(--secondary)}.chart-row dd{margin:0;font-family:Manrope,sans-serif}.tags{display:flex;gap:8px;margin-top:4px}.tag{border-radius:5px;border:1px solid;padding:3px 9px;font-size:11px;font-weight:600}.tag.positive{color:var(--positive);border-color:#5db984;background:var(--positive-bg)}.tag.blue{color:var(--blue);border-color:#7aa1ff;background:var(--blue-50)}.workspace-grid{display:grid;grid-template-columns:1.28fr 1fr;gap:12px;margin-top:12px}.card{padding:18px 20px}.section-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:14px}.section-heading h2{font-size:18px;line-height:1.25;margin:2px 0 0}.section-heading.compact{margin-bottom:10px}.step-pill{background:var(--blue-50);color:var(--blue);border-radius:20px;padding:5px 10px;font-size:10px;font-weight:700}.analysis-card form{display:grid;gap:10px}.form-row{display:grid;grid-template-columns:100px 1fr;align-items:center;min-height:38px}.form-row>label{font-size:12px;font-weight:700}.segmented{display:grid;grid-template-columns:repeat(3,1fr);height:38px}.segmented button,.time-options button{border:1px solid var(--border);background:#fff;cursor:pointer;font-size:12px}.segmented button:first-child{border-radius:8px 0 0 8px}.segmented button:last-child{border-radius:0 8px 8px 0}.segmented button+button{border-left:0}.segmented button.selected,.time-options button.selected{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:700}.select-like{height:40px;background:#fff;border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;color:var(--muted);cursor:pointer}.select-like>span{display:flex;align-items:center;gap:10px}.select-like svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}.select-like b{font-weight:400}.time-options{display:flex;gap:10px}.time-options button{height:36px;min-width:70px;border-radius:7px}.align-start{align-items:start}.range-action p{font-size:10px;color:var(--muted);margin:5px 0 0}.outline-primary{height:38px;min-width:232px;color:var(--blue);background:#fff;border:1px solid var(--blue);border-radius:7px;font-weight:700;cursor:pointer}.mini-chart{font:800 18px Manrope,sans-serif;margin-right:8px}.primary-action{height:42px;margin-left:100px;border:0;border-radius:8px;background:var(--blue);color:#fff;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px}.primary-action:disabled{background:#e5e9ef;color:#9aa2af;cursor:not-allowed}.primary-action:not(:disabled):hover{background:var(--blue-dark)}.quality-card{display:flex;flex-direction:column}.link-button{border:0;background:none;color:var(--blue);font-weight:600;font-size:11px;cursor:pointer}.quality-list{display:grid;gap:8px}.quality-item{min-height:56px;border:1px solid var(--border);background:#fff;border-radius:9px;display:grid;grid-template-columns:28px 1fr auto 18px;gap:9px;align-items:center;text-align:left;padding:7px 10px;cursor:pointer}.quality-item:hover{border-color:var(--border-strong);background:var(--subtle)}.quality-item>svg{width:24px;height:24px;fill:none;stroke-width:1.8}.quality-item .ok{stroke:var(--positive)}.quality-item .warn{stroke:var(--warning)}.quality-item .arrow{width:16px;stroke:var(--muted)}.quality-item span{display:grid}.quality-item strong{font-size:12px}.quality-item small{font-size:10px;color:var(--secondary);margin-top:1px}.quality-item time{font:500 11px Manrope,sans-serif;color:var(--secondary)}.quality-note{margin-top:auto;display:flex;align-items:center;gap:8px;background:var(--blue-50);border-radius:8px;padding:8px 10px;color:#31518d;font-size:10px}.quality-note span{display:grid;place-items:center;width:17px;height:17px;border:1px solid #6f94e9;border-radius:50%;font-weight:700}.quality-note p{margin:0}.lower-grid{display:grid;grid-template-columns:.95fr 1.3fr;gap:12px;margin-top:12px}.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.preset-card{border:1px solid var(--border);border-radius:10px;padding:12px;position:relative;min-width:0;transition:.2s}.preset-card:hover{transform:translateY(-2px);border-color:#aeb9c8;box-shadow:var(--shadow)}.star-button{position:absolute;right:8px;top:8px;border:0;background:none;padding:4px;cursor:pointer}.star-button svg{width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:1.5}.star-button.active svg{fill:#ffc94c;stroke:#d39c19}.preset-visual{height:39px;position:relative;width:55px;margin-bottom:5px}.preset-visual.lines i{position:absolute;height:2px;width:23px;background:var(--blue);transform:rotate(-45deg)}.preset-visual.lines i:nth-child(1){left:0;top:23px}.preset-visual.lines i:nth-child(2){left:15px;top:17px}.preset-visual.lines i:nth-child(3){left:29px;top:9px}.preset-visual.candles{display:flex;align-items:center;gap:4px}.preset-visual.candles i{height:20px;width:6px;background:var(--blue);position:relative}.preset-visual.candles i:before{content:"";position:absolute;width:1px;height:30px;background:var(--blue);left:2.5px;top:-5px}.preset-visual.candles i:nth-child(2){height:27px}.preset-visual.candles i:nth-child(3){height:17px}.preset-visual.candles i:nth-child(4){height:31px}.preset-visual.candles i:nth-child(5){height:19px}.preset-visual.wedge{border-top:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:skewY(18deg);top:6px}.preset-visual.wedge i:first-child{position:absolute;background:#10a072;height:2px;width:49px;top:17px;transform:skewY(-35deg)}.preset-market{font-size:9px;color:var(--blue);font-weight:700}.preset-card h3{font-size:13px;margin:4px 0}.preset-card p{font-size:10px;line-height:1.55;color:var(--secondary);margin:0;min-height:31px}.preset-card footer{border-top:1px solid #edf0f4;margin-top:9px;padding-top:7px;display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:10px}th{text-align:left;color:var(--secondary);font-weight:500;padding:0 8px 8px;border-bottom:1px solid var(--border)}td{padding:8px;border-bottom:1px solid #edf0f4;color:#3b4554}tbody tr:last-child td{border-bottom:0}td strong{font-weight:600;color:var(--text)}td small{color:var(--muted)}.numeric{text-align:right}.table-status{font-weight:600}.table-status.done{color:var(--positive)}.table-status.warning{color:var(--warning)}.site-footer{height:60px;border-top:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 34px;color:var(--secondary);font-size:11px}.site-footer>div{display:flex;align-items:center;gap:16px}.site-footer span{border:1px solid var(--warning);color:#aa6100;background:var(--warning-bg);font-weight:700;border-radius:7px;padding:7px 12px}.site-footer p{margin:0}.bottom-nav{display:none}.toast{position:fixed;right:24px;bottom:24px;background:var(--navy);color:#fff;padding:12px 18px;border-radius:9px;box-shadow:0 14px 35px rgba(0,0,0,.2);transform:translateY(20px);opacity:0;pointer-events:none;transition:.25s;z-index:50}.toast.show{transform:none;opacity:1}.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center}.modal-backdrop{position:absolute;inset:0;background:rgba(8,21,37,.54);backdrop-filter:blur(3px)}.modal-content{position:relative;background:#fff;border-radius:16px;padding:25px;width:min(460px,calc(100vw - 32px));box-shadow:0 30px 80px rgba(0,0,0,.24)}.modal-content h2{margin:5px 0}.modal-content>p{color:var(--secondary);margin:0 0 18px}.modal-close{position:absolute;right:16px;top:16px}.stock-options{display:grid;gap:8px}.stock-option{border:1px solid var(--border);background:#fff;border-radius:9px;padding:12px 14px;display:flex;justify-content:space-between;text-align:left;cursor:pointer}.stock-option:hover{border-color:var(--blue);background:var(--blue-50)}.stock-option span{color:var(--muted)}body.sidebar-collapsed .sidebar{width:70px}body.sidebar-collapsed .page-shell{margin-left:70px}body.sidebar-collapsed .brand{padding-inline:7px}body.sidebar-collapsed .brand>span:last-child,body.sidebar-collapsed .nav-item span,body.sidebar-collapsed .collapse-button:not(span){font-size:0}body.sidebar-collapsed .nav-item{padding:0;justify-content:center}body.sidebar-collapsed .collapse-button{padding:12px;justify-content:center}
@media(max-width:1150px){.sidebar{width:74px;padding-inline:8px}.brand{padding:0 12px 28px}.brand>span:last-child,.nav-item span,.collapse-button{font-size:0}.nav-item{justify-content:center;padding:0}.page-shell{margin-left:74px}.topbar h1{display:none}.workspace-grid,.lower-grid{grid-template-columns:1fr}.quality-note{margin-top:12px}}
@media(max-width:767px){body{padding-bottom:66px}.sidebar{display:none}.page-shell{margin-left:0}.topbar{height:64px;padding:0 14px;gap:10px}.topbar h1{display:block;font-size:17px}.mobile-menu{display:grid;place-items:center;padding:0}.global-search{position:absolute;top:70px;left:14px;right:14px;max-width:none;display:none;box-shadow:var(--shadow)}.global-search.mobile-open{display:flex}.profile{margin-left:auto}main{padding:0 12px 18px}.status-strip{height:auto;min-height:58px;flex-wrap:wrap;padding:9px 0}.market-times{order:3;width:100%;margin:0;font-size:10px}.text-button span{display:none}.market-grid,.workspace-grid,.lower-grid{grid-template-columns:1fr}.chart-row{grid-template-columns:1fr 105px;gap:12px}.market-card{padding:15px}.market-main strong{font-size:27px}.form-row{grid-template-columns:1fr;gap:6px}.primary-action{margin-left:0}.preset-grid{display:flex;overflow-x:auto;padding-bottom:5px}.preset-card{min-width:190px}.recent{padding-inline:14px}.site-footer{height:auto;padding:16px;display:grid;gap:12px}.site-footer>div{align-items:flex-start}.site-footer>div p{line-height:1.5}.bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:0;right:0;bottom:0;height:66px;background:rgba(255,255,255,.96);border-top:1px solid var(--border);z-index:40}.bottom-nav a{display:grid;place-content:center;justify-items:center;gap:3px;text-decoration:none;color:var(--secondary);font-size:10px}.bottom-nav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}.bottom-nav a.active{color:var(--blue)}.toast{left:14px;right:14px;bottom:80px;text-align:center}.status-strip .divider{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Grid children must be allowed to shrink so wide tables scroll inside their card. */
.lower-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.3fr)}
.lower-grid>.card{min-width:0}
.preset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.default-pattern-library{margin-bottom:24px}.default-pattern-note{font-size:12px;line-height:1.7;color:var(--secondary);margin:0 0 16px}.default-pattern-card .link-button{display:inline-flex;align-items:center;gap:3px;font-size:11px}.default-pattern-card .link-button .material-symbols-rounded{font-size:16px}.default-pattern-card .preset-visual{margin-bottom:12px}.default-pattern-card .preset-visual.lines i:nth-child(n+4),.default-pattern-card .preset-visual.wedge i:nth-child(n+2){display:none}
@media(max-width:1150px){.lower-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:767px){.lower-grid{width:100%;grid-template-columns:minmax(0,1fr)}.lower-grid>.card{width:100%;overflow:hidden}.table-wrap{width:100%;max-width:100%;overflow-x:auto}.preset-grid{max-width:100%}}

/* Use A2z consistently for Korean, Latin text, and tabular financial figures. */
body,body *{font-family:'A2z',system-ui,sans-serif!important}

.status-dot.loading{background:var(--warning);animation:pulse 1s ease-in-out infinite}.status-dot.error{background:var(--negative)}
.market-card h2 small{font-size:10px;color:var(--muted);font-weight:600;margin-left:5px}.market-times b{font-weight:400;color:var(--secondary)}
.market-main .negative-value{color:var(--negative)}.market-card.market-negative .sparkline .line{stroke:var(--negative)}.market-card.market-negative .sparkline .area{fill:rgba(216,74,74,.1)}
.tag.negative{color:var(--negative);border-color:#e89494;background:var(--negative-bg)}
@keyframes pulse{50%{opacity:.35}}

/* Google Material Symbols are used for UI icons; chart SVGs remain data visualizations. */
.material-symbols-rounded{font-family:'Material Symbols Rounded'!important;font-weight:normal;font-style:normal;font-size:22px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-flex;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;font-feature-settings:'liga';font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24}
.nav-item>.material-symbols-rounded{font-size:25px}.collapse-button>.material-symbols-rounded{font-size:25px}.mobile-menu>.material-symbols-rounded{font-size:25px}
.global-search>.search-icon{font-size:22px;margin-left:17px;color:#263244}.icon-button>.material-symbols-rounded{font-size:23px}
.text-button>.material-symbols-rounded{font-size:19px}.text-button.spinning .refresh-icon{animation:spin .75s linear infinite}
.select-like .material-symbols-rounded{font-size:19px}.outline-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px}.outline-primary .mini-chart{font-size:22px;margin:0}
.primary-action .material-symbols-rounded,.link-button .material-symbols-rounded{font-size:17px}.link-button{display:inline-flex;align-items:center;gap:3px}
.tag{display:inline-flex;align-items:center;gap:4px}.tag .material-symbols-rounded{font-size:14px}
.quality-item>.material-symbols-rounded{font-size:25px}.quality-item>.material-symbols-rounded.ok{color:var(--positive)}.quality-item>.material-symbols-rounded.warn{color:var(--warning)}.quality-item>.material-symbols-rounded.arrow{font-size:18px;color:var(--muted)}
.quality-note>.material-symbols-rounded{border:0;width:18px;height:18px;font-size:18px;color:#3568ff}
.quality-status{grid-template-columns:28px 1fr auto;cursor:default}.quality-status:hover{border-color:var(--border);background:#fff}
.halt-detail{padding:24px}.halt-source{color:var(--secondary);font-size:12px}.halt-source a{color:var(--blue)}.halt-categories{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 12px}.halt-categories button{gap:8px}.halt-categories .selected{background:var(--blue-50);border-color:var(--blue);color:var(--blue)}.halt-category-label{display:inline-block;background:var(--subtle);padding:5px 8px;border-radius:6px;font-size:12px}.halt-table td:last-child{white-space:normal;max-width:420px;line-height:1.6}.halt-table small{display:block;margin-top:3px;color:var(--secondary)}
@media(max-width:600px){.halt-detail{padding:16px}.halt-table thead{display:none}.halt-table,.halt-table tbody{display:block;width:100%}.halt-table tr{display:grid;grid-template-columns:1fr;gap:7px;border:1px solid var(--border);border-radius:9px;padding:12px;margin-bottom:10px}.halt-table td{display:block;border:0!important;padding:0!important;white-space:normal}.halt-table td[data-label]::before{content:attr(data-label) ' · ';color:var(--secondary);font-size:11px}.halt-table td:last-child{max-width:none}}
.star-button>.material-symbols-rounded{font-size:20px;color:var(--muted)}.star-button.active>.material-symbols-rounded{color:#d39c19;font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24}
.table-status{display:inline-flex;align-items:center;gap:3px}.table-status .material-symbols-rounded{font-size:12px;font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 20}
.bottom-nav .material-symbols-rounded{font-size:22px}

/* Functional application views */
.feature-view{padding:24px 0;min-height:calc(100vh - 132px)}.feature-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.feature-header h2{font-size:26px;margin:4px 0}.feature-header h2 small{font-size:13px;color:var(--secondary);font-weight:500;margin-left:8px}.feature-header p{margin:0;color:var(--secondary)}.header-actions,.results-actions,.settings-actions{display:flex;align-items:center;gap:9px}.primary-button,.secondary-button,.icon-text-button,.back-button{min-height:40px;border-radius:8px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700;cursor:pointer}.primary-button{border:1px solid var(--blue);background:var(--blue);color:#fff}.primary-button:hover{background:var(--blue-dark)}.primary-button:disabled{background:#dfe4ec;border-color:#dfe4ec;color:#9099a8;cursor:not-allowed}.secondary-button{border:1px solid var(--border-strong);background:#fff;color:var(--text)}.icon-text-button,.back-button{border:0;background:transparent;color:var(--blue);padding-inline:8px}.back-button{margin-bottom:14px}.full{width:100%}.feature-loading,.error-state{min-height:460px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.feature-loading h2,.error-state h2{margin:16px 0 4px}.feature-loading p,.error-state p{color:var(--secondary)}.spinner{width:34px;height:34px;border:3px solid #dce4f6;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}.error-state>.material-symbols-rounded{font-size:46px;color:var(--warning)}
.analysis-toolbar{display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:12px 12px 0 0;background:#fff;padding:9px 12px}.toolbar-group{display:flex;border:1px solid var(--border);border-radius:7px;overflow:hidden}.toolbar-group button,.indicator-toggles button{border:0;background:#fff;min-height:32px;padding:0 12px;cursor:pointer;color:var(--secondary)}.toolbar-group button+button{border-left:1px solid var(--border)}.toolbar-group button.selected{background:var(--blue);color:#fff}.indicator-toggles{display:flex;gap:3px;flex:1}.indicator-toggles button{display:inline-flex;align-items:center;gap:4px;border-radius:6px;font-size:11px}.indicator-toggles button.selected{background:var(--blue-50);color:var(--blue);font-weight:700}.indicator-toggles .material-symbols-rounded{font-size:16px}.analysis-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,1fr);gap:12px}.chart-card{border-radius:0 0 14px 14px;padding:8px 12px 12px}.technical-chart svg{width:100%;height:auto;display:block}.chart-grid{stroke:#e5e9ef;stroke-width:1}.chart-axis,.panel-label{font-size:10px;fill:#7d8794}.indicator-line{fill:none;stroke-width:1.6}.indicator-line.ma5{stroke:#e7a529}.indicator-line.ma20{stroke:#3568ff}.indicator-line.boll{stroke:#8975d6;stroke-dasharray:4 3;opacity:.8}.indicator-line.signal{stroke:#446eeb}.selection-zone{fill:rgba(36,95,245,.09);stroke:none;pointer-events:none}.selection-handle{stroke:var(--blue);stroke-width:2;pointer-events:none}.chart-hit{fill:transparent;cursor:crosshair;touch-action:none}.selection-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding:10px 8px 2px;color:var(--secondary);font-size:11px}.selection-footer>div{display:flex;gap:10px;align-items:center}.selection-footer>div strong{color:var(--blue)}.selection-footer>span{display:flex;align-items:center;gap:4px}.selection-footer .material-symbols-rounded{font-size:17px}.insight-panel{margin-top:0}.insight-panel h3{margin:5px 0 12px}.price-summary{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:14px}.price-summary strong{font-size:28px}.up{color:var(--positive)!important}.down{color:var(--negative)!important}.evidence-list{list-style:none;padding:0;margin:10px 0;display:grid}.evidence-list li{display:flex;gap:9px;padding:11px 0;border-bottom:1px solid #edf0f4}.evidence-list li>.material-symbols-rounded{color:var(--blue);font-size:21px}.evidence-list li span{display:grid}.evidence-list small{color:var(--secondary);margin-top:2px}.analysis-disclaimer,.security-note{display:flex;gap:7px;background:var(--warning-bg);color:#8c5a09;border-radius:8px;padding:10px;font-size:10px}.analysis-disclaimer .material-symbols-rounded{font-size:17px}.save-drawer{position:fixed;right:24px;bottom:24px;z-index:55;width:min(620px,calc(100vw - 48px));background:#fff;border:1px solid var(--border);box-shadow:0 20px 70px rgba(8,21,37,.22);border-radius:14px;padding:18px;display:grid;grid-template-columns:1fr 1.2fr auto auto;align-items:end;gap:12px}.save-drawer[hidden]{display:none}.save-drawer h3,.save-drawer p{margin:0}.save-drawer p{font-size:10px;color:var(--secondary);margin-top:3px}.save-drawer label{display:grid;gap:5px;font-size:11px;font-weight:700}.save-drawer input{height:40px;border:1px solid var(--border);border-radius:7px;padding:0 10px}
.search-workspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr);gap:12px;margin-bottom:12px}.reference-card h3,.search-settings h3,.results-card h3{margin:3px 0}.score-badge{background:var(--blue-50);color:var(--blue);border-radius:20px;padding:5px 10px;font-weight:700}.normalized-preview{height:150px;background:linear-gradient(#fafbfc,#fff);border:1px solid var(--border);border-radius:9px;padding:12px}.normalized-preview svg{width:100%;height:100%}.normalized-preview polyline{fill:none;stroke:var(--blue);stroke-width:1.8;vector-effect:non-scaling-stroke}.reference-meta{display:grid;grid-template-columns:repeat(3,1fr);margin:14px 0 0}.reference-meta div{display:grid;gap:3px}.reference-meta dt{font-size:10px;color:var(--muted)}.reference-meta dd{margin:0;font-weight:700}.search-settings label{display:grid;grid-template-columns:1fr auto;gap:6px;margin:13px 0;font-size:11px}.search-settings input{grid-column:1/-1;accent-color:var(--blue)}.weight-total,.settings-total{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding:12px 0}.invalid{color:var(--negative)!important}.results-card{margin-top:12px}.results-card>.section-heading>span{font-size:11px;color:var(--secondary)}.empty-state{min-height:230px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--secondary);gap:5px}.empty-state>.material-symbols-rounded{font-size:40px;color:#a4afbf}.empty-state.large{min-height:380px}.searching{min-height:230px;display:flex;align-items:center;justify-content:center;gap:10px}.searching>.material-symbols-rounded{color:var(--blue);animation:spin .9s linear infinite}.result-table-wrap{overflow:auto}.result-table{font-size:12px}.result-table td,.result-table th{padding:11px 9px}.result-table td:nth-child(n+3):not(:last-child),.result-table th:nth-child(n+3):not(:last-child){text-align:right}.result-table td>small{display:block;margin-top:2px}.total-score{color:var(--blue);font-size:15px}.results-actions{justify-content:flex-end;border-top:1px solid var(--border);padding-top:13px;margin-top:6px}
.hero-score{font-size:44px;color:var(--blue)}.hero-score small{font-size:14px;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.metric-card{display:flex;flex-direction:column;gap:6px}.metric-card>.material-symbols-rounded{color:var(--blue)}.metric-card>span{color:var(--secondary);font-size:11px}.metric-card>strong{font-size:25px}.metric-card>div{height:5px;background:#e8edf4;border-radius:5px;overflow:hidden}.metric-card>div i{display:block;height:100%;background:var(--blue)}.metric-card>small{color:var(--muted)}.detail-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:12px}.detail-grid h3{margin:4px 0 10px}.detail-copy{line-height:1.8;color:var(--secondary)}.warning-card{display:flex;gap:12px;background:var(--warning-bg);border-color:#f1d093}.warning-card>.material-symbols-rounded{color:var(--warning)}.warning-card p{color:#765c31;line-height:1.6}.backtest-metrics .hash{font-size:17px}.equity-chart{width:100%;height:220px}.equity-chart line{stroke:#dfe4eb}.equity-chart polyline{fill:none;stroke:var(--blue);stroke-width:2}.equity-chart text{fill:var(--muted);font-size:10px}.rule-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.rule-list li{display:flex;align-items:center;gap:8px}.rule-list .material-symbols-rounded{font-size:19px;color:var(--positive)}
.saved-tabs{display:flex;gap:6px;margin-bottom:12px}.saved-tabs button{border:1px solid var(--border);background:#fff;border-radius:8px;padding:8px 14px;cursor:pointer}.saved-tabs button.selected{background:var(--blue);border-color:var(--blue);color:#fff}.saved-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.saved-card>div{display:flex;justify-content:space-between;color:var(--muted)}.saved-card>div>.material-symbols-rounded{color:var(--blue)}.saved-card h3{margin:16px 0 5px}.saved-card p{color:var(--secondary)}.saved-card footer{border-top:1px solid var(--border);padding-top:12px;margin-top:18px;display:flex;justify-content:space-between;align-items:center}.saved-card footer .icon-button{width:34px;height:34px;color:var(--negative)}
.settings-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-form article>h3{margin:0}.settings-form article>p{color:var(--secondary);margin:5px 0 18px}.settings-form article>label{min-height:58px;display:grid;grid-template-columns:1fr 90px 20px;align-items:center;border-top:1px solid #edf0f4;gap:6px}.settings-form label>span{display:grid;font-weight:700}.settings-form label small{font-weight:400;color:var(--muted)}.settings-form input{height:36px;border:1px solid var(--border);border-radius:7px;padding:0 9px;text-align:right}.settings-total{font-size:13px}.security-note{margin-top:12px;background:var(--blue-50);color:#31518d}.security-note>.material-symbols-rounded{font-size:20px}.security-note div{display:grid}.security-note span{font-size:10px;margin-top:2px}.settings-actions{grid-column:1/-1;justify-content:flex-end}
@media(max-width:1100px){.analysis-layout,.search-workspace,.detail-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.indicator-toggles{overflow:auto}.analysis-toolbar{flex-wrap:wrap}.saved-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.feature-view{padding-top:18px}.feature-header{display:grid}.header-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.analysis-toolbar{border-radius:12px 12px 0 0}.indicator-toggles{order:3;width:100%}.chart-card{overflow-x:auto}.technical-chart{min-width:720px}.selection-footer{min-width:720px}.selection-footer>span{display:none}.insight-panel{margin-top:12px}.metric-grid,.settings-form{grid-template-columns:1fr}.saved-grid{grid-template-columns:1fr}.save-drawer{left:12px;right:12px;bottom:78px;width:auto;grid-template-columns:1fr}.save-drawer .icon-button{position:absolute;right:10px;top:10px}.reference-meta{grid-template-columns:1fr;gap:8px}.result-table{min-width:720px}.feature-header h2{font-size:22px}}

.chart-hit{pointer-events:all}

.evidence-list .year-range-item{align-items:flex-start}.year-range-copy{display:grid!important;gap:9px;width:100%}.year-level{display:grid!important;gap:1px}.year-level small{font-size:10px;color:var(--secondary)}.year-level strong{font-size:15px;line-height:1.25;letter-spacing:.1px}.year-range-copy .range-volatility{padding-top:7px;border-top:1px dashed var(--border);line-height:1.45}

.tool-color-dot,.preview-color{width:10px;height:10px;border-radius:50%;display:inline-block;flex:0 0 auto;box-shadow:0 0 0 1px rgba(8,21,37,.15)}.add-tools-button{border:1px dashed #9fb3da!important;background:#fff!important;color:var(--blue)!important}.technical-tools-drawer{background:#fff;border:1px solid var(--border);border-top:0;padding:18px 20px;box-shadow:0 15px 35px rgba(8,21,37,.08);position:relative;z-index:4}.tools-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.tools-drawer-head h3{margin:3px 0}.tools-drawer-head p{margin:0;color:var(--secondary);font-size:11px}.tool-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tool-setting-row{display:grid;grid-template-columns:1fr 42px;border:1px solid var(--border);border-radius:9px;overflow:hidden;min-height:58px}.tool-setting-row>button{border:0;background:#fff;display:flex;align-items:center;gap:8px;text-align:left;padding:8px 10px;cursor:pointer}.tool-setting-row>button.enabled{background:var(--blue-50);color:var(--blue)}.tool-setting-row>button>.material-symbols-rounded{font-size:20px}.tool-setting-row>button>span{display:grid}.tool-setting-row small{font-size:9px;color:var(--secondary);margin-top:2px}.tool-setting-row>label{border-left:1px solid var(--border);display:grid;place-content:center;cursor:pointer;position:relative}.tool-setting-row input[type=color],.candle-color-settings input[type=color]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.tool-setting-row .preview-color{width:18px;height:18px}.candle-color-settings{display:flex;align-items:center;gap:12px;border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.candle-color-settings>strong{margin-right:auto}.candle-color-settings label{height:38px;border:1px solid var(--border);border-radius:7px;padding:0 10px;display:flex;align-items:center;gap:7px;position:relative;cursor:pointer;font-size:10px}.candle-color-settings .preview-color{width:14px;height:14px}.ichimoku-cloud{opacity:.12}.ichimoku-base{stroke:#8056a8}.rsi-line{stroke-width:2}.oscillator-guide{stroke:#c9ced8;stroke-dasharray:4 4}
@media(max-width:1100px){.tool-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.candle-color-settings{flex-wrap:wrap}.candle-color-settings>strong{width:100%}}
@media(max-width:767px){.tool-settings-grid{grid-template-columns:1fr}.technical-tools-drawer{padding:14px}.candle-color-settings label{flex:1}.candle-color-settings .secondary-button{width:100%}}

/* Dynamic indicator interpretation */
.tool-interpretations{border-top:1px solid var(--border);margin-top:10px;padding-top:12px;display:grid;gap:7px}.tool-interpretation-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.tool-interpretation-title>span{font-weight:800;font-size:12px}.tool-interpretation-title small{color:var(--muted)}.tool-interpretation{display:grid;grid-template-columns:11px 1fr;gap:9px;padding:9px;border:1px solid #e8ecf2;border-radius:8px;background:#fafbfd}.tool-interpretation>i{margin-top:4px}.tool-interpretation header{display:flex;justify-content:space-between;gap:8px;align-items:center}.tool-interpretation header strong{font-size:11px}.tool-interpretation header b{font-size:10px;color:var(--secondary);text-align:right}.tool-interpretation p{font-size:10px;color:var(--secondary);line-height:1.45;margin:3px 0 0}.tool-interpretation.positive{background:#f5fbf7}.tool-interpretation.positive header b{color:var(--positive)}.tool-interpretation.negative{background:#fff8f8}.tool-interpretation.negative header b{color:var(--negative)}.tool-interpretation.warning{background:var(--warning-bg)}.tool-interpretation.warning header b{color:#a96600}.insight-panel{align-self:start}

/* Static search progress: no rotating glyphs */
.search-progress-static{min-height:230px;display:flex;flex-direction:column;justify-content:center;width:min(560px,90%);margin:auto}.search-progress-copy{display:flex;align-items:center;gap:12px;margin-bottom:15px}.search-progress-copy>span{width:40px;height:40px;border-radius:10px;background:var(--blue-50);color:var(--blue);display:grid;place-items:center}.search-progress-copy>span .material-symbols-rounded{font-size:23px}.search-progress-copy>div{display:grid;gap:2px}.search-progress-copy small{color:var(--secondary)}.search-progress-copy>b{margin-left:auto;color:var(--blue);font-size:17px}.search-progress-track{height:9px;background:#e9eef7;border-radius:20px;overflow:hidden}.search-progress-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,#2e68ff,#68a0ff);border-radius:inherit;transition:width .2s ease}.search-progress-static>#searchProgressCount{margin-top:8px;text-align:right;color:var(--secondary);font-size:11px}

/* Saved library and recent activity */
.library-summary{display:grid;text-align:right}.library-summary strong{font-size:30px;color:var(--blue)}.library-summary span{font-size:10px;color:var(--secondary)}.saved-card-top{display:flex!important}.saved-card p strong{color:var(--text)}.saved-tool-list{display:flex!important;justify-content:flex-start!important;flex-wrap:wrap;gap:5px;margin-top:13px}.saved-tool-list span{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:20px;padding:4px 7px;color:var(--secondary);font-size:9px}.saved-tool-list i{width:7px;height:7px;border-radius:50%}.saved-range{display:block;margin-top:9px;color:var(--muted)}.home-saved-preset{cursor:pointer}.mini-color-row{display:flex;gap:4px;margin-top:7px}.mini-color-row i{width:15px;height:4px;border-radius:4px}.recent-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.recent-summary-grid article{display:flex;align-items:center;gap:12px}.recent-summary-grid .material-symbols-rounded{width:42px;height:42px;border-radius:11px;background:var(--blue-50);color:var(--blue);display:grid;place-items:center}.recent-summary-grid article>div{display:grid}.recent-summary-grid strong{font-size:24px}.recent-summary-grid span{color:var(--secondary);font-size:11px}.history-toolbar{display:flex;justify-content:space-between;align-items:center}.history-toolbar>.saved-tabs{margin-bottom:12px}.history-toolbar>span{color:var(--secondary);font-size:11px}.history-card{padding:0;overflow:hidden}.history-table{font-size:11px}.history-table th,.history-table td{padding:13px 14px}.history-table td>small{display:block;margin-top:3px}.history-table tbody tr:hover,#homeRecentBody tr:hover{background:#f8faff;cursor:pointer}.activity-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:20px;background:var(--blue-50);color:var(--blue);font-weight:700}.activity-badge .material-symbols-rounded{font-size:15px}.activity-badge.type-pattern{color:#7955a6;background:#f5f0fb}.activity-badge.type-backtest{color:#087c62;background:#edf9f5}.history-actions{display:flex;justify-content:flex-end;align-items:center;gap:5px}.history-actions .icon-button{width:30px;height:30px}.history-actions .icon-button .material-symbols-rounded{font-size:17px}.danger-button{color:var(--negative);border-color:#efc0c0}
@media(max-width:767px){.tool-interpretation header{align-items:flex-start}.recent-summary-grid{grid-template-columns:1fr}.history-toolbar{align-items:flex-end;gap:10px}.history-toolbar .saved-tabs{overflow-x:auto}.history-table{min-width:760px}.library-summary{display:none}}
.chart-card{align-self:start}.weight-total>span{display:grid;gap:2px}.weight-total>span small{font-size:9px;color:var(--muted);font-weight:400}
.my-withdrawal{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}.my-withdrawal h3{margin:0 0 8px}.my-withdrawal p{margin:0;color:var(--secondary);line-height:1.7}.danger-button,.danger-outline-button{min-height:44px;padding:10px 16px;border:1px solid #c33333;border-radius:8px;background:#c33333;color:#fff;font:inherit;font-weight:700;cursor:pointer}.danger-outline-button{background:#fff;color:#b72b2b;flex-shrink:0}.danger-button:disabled{background:#e5e9ef;border-color:#e5e9ef;color:#87909f;cursor:not-allowed}.withdrawal-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid var(--border);border-radius:18px;padding:28px;box-shadow:0 24px 80px #08152530;color:var(--text);background:#fff}.withdrawal-dialog::backdrop{background:#08152599}.withdrawal-dialog h2{margin:0 0 14px;font-size:24px}.withdrawal-dialog p,.withdrawal-dialog li{line-height:1.8}.withdrawal-dialog ul{padding-left:24px;color:var(--secondary)}.withdrawal-note{background:#fff7e8;padding:14px;border-radius:9px;color:#755223}.withdrawal-ack{display:flex;gap:10px;align-items:center;line-height:1.7;margin:18px 0}.withdrawal-ack input{width:18px;height:18px;flex-shrink:0;accent-color:var(--blue)}.withdrawal-input{display:block;line-height:1.8}.withdrawal-input input{display:block;width:100%;padding:12px;margin-top:8px;border:1px solid var(--border-strong);border-radius:8px;font:inherit}.withdrawal-status{color:#b72b2b;overflow-wrap:anywhere}.withdrawal-dialog .mypage-actions{justify-content:flex-end;flex-wrap:wrap}@media(max-width:767px){.my-withdrawal{display:grid}.my-withdrawal button{width:100%}.withdrawal-dialog{padding:22px}.withdrawal-dialog .mypage-actions{display:grid;grid-template-columns:1fr}.withdrawal-dialog .mypage-actions button{width:100%}}

/* Google sign-in screen */
.login-page{min-height:100dvh;display:grid;place-items:center;margin:0;padding:24px;background:#f4f7fc}
.login-card{width:min(100%,440px);padding:44px 32px;background:white;border:1px solid #e3e8f0;border-radius:24px;box-shadow:0 16px 48px #1e355010;text-align:center;box-sizing:border-box}
.login-brand{display:flex;align-items:center;justify-content:center;gap:12px;color:#253752;font-size:20px;font-weight:800;text-decoration:none;margin-bottom:40px}
.login-card h1{font-size:26px;line-height:1.4;margin:12px 0}
.login-card p{color:#65748b;font-size:14px;line-height:1.7}
.google-login-button{display:flex;justify-content:center;width:100%;margin-top:28px;min-height:44px}
.login-status{min-height:48px;margin:16px 0 24px;overflow-wrap:anywhere}
.login-continue{display:block;margin-top:28px;color:#3568ff;font-weight:600;font-size:14px;text-decoration:none}
.login-card .login-note{border-top:1px solid #e3e8f0;padding-top:24px;margin-top:28px;font-size:12px}
.login-card button{cursor:pointer}
.login-card [hidden]{display:none!important}
@media(max-width:480px){.login-card{padding:32px 22px}.login-card h1{font-size:23px}}

/* My page shares the existing analysis cards and typography. */
.my-account{display:flex;align-items:center;gap:16px;margin-bottom:18px}.my-account>div:nth-child(2){display:grid;gap:5px;min-width:0}.my-account span{color:var(--secondary);overflow-wrap:anywhere}.my-account>button{margin-left:auto}.my-avatar{width:48px;height:48px;border-radius:14px;background:var(--blue-50);display:grid;place-items:center;color:var(--blue)}.my-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:28px}.my-summary>div{display:flex;align-items:center;gap:12px;padding:20px;border:1px solid var(--border);border-radius:12px;background:#fff}.my-summary .material-symbols-rounded{color:var(--blue)}.my-summary strong{margin-left:auto;font-size:25px}.my-section{margin:24px 0}.my-section h3{margin:4px 0}.watchlist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.watchlist-card{padding:0;overflow:hidden}.watch-stock{display:grid;gap:8px;padding:22px;width:100%;text-align:left;border:0;background:#fff;cursor:pointer}.watch-stock:hover{background:var(--blue-50)}.watch-stock>span:first-child,.watch-stock>small{color:var(--secondary);font-size:12px}.watch-stock strong{font-size:20px}.watch-controls{display:flex;justify-content:flex-end;gap:6px;border-top:1px solid var(--border);padding:6px 12px}.watch-controls button:disabled{opacity:.3;cursor:default}.my-import{display:flex;gap:20px;align-items:center;justify-content:space-between}.my-import h3{margin-top:0}.my-import p,.my-import small{color:var(--secondary)}.watchlist-editor{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:16px}.watchlist-editor>label{flex:1;min-width:180px;display:grid;gap:8px}.watchlist-editor p,.watchlist-editor .stock-options{width:100%}.watchlist-editor input,.journal-form input,.journal-form textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);font:inherit;box-sizing:border-box}.journal-form{display:grid;gap:14px;margin:18px 0}.journal-form label{display:grid;gap:8px}.journal-form textarea{resize:vertical}.mypage-actions{display:flex;gap:10px}.journal-metadata{margin:16px 0}.journal-memo{white-space:pre-wrap;overflow-wrap:anywhere;padding:16px;background:var(--subtle);border-radius:8px}.my-section .saved-card p{overflow-wrap:anywhere;white-space:pre-wrap}.my-section .saved-card footer>div{display:flex}.account-save-status{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0;padding:12px 16px;background:var(--warning-bg);border:1px solid var(--border);border-radius:8px}.account-save-status[hidden]{display:none}.primary-button[href]{text-decoration:none}.my-section .empty-state span{white-space:normal;text-align:center}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #7599ff;outline-offset:3px}
@media(max-width:1000px){.watchlist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.my-summary>div{padding:15px;gap:8px}.my-summary span:not(.material-symbols-rounded){font-size:12px}}
@media(max-width:767px){.my-account{flex-wrap:wrap}.my-account>div:nth-child(2){flex:1}.my-account>button{margin-left:64px}.my-summary{gap:8px}.my-summary>div{display:grid;padding:12px}.my-summary strong{margin:0;font-size:22px}.watchlist-grid{grid-template-columns:1fr}.my-import{display:grid}.my-summary .material-symbols-rounded{font-size:20px}.my-section .section-heading{gap:10px}.my-section .saved-grid{grid-template-columns:1fr}.feature-header h2{overflow-wrap:anywhere}.journal-metadata{overflow-wrap:anywhere}}
@media(max-width:767px){.my-account>button{margin-left:0;width:100%}.my-account>div:nth-child(2){flex:1;min-width:160px}}
.portfolio-preview{display:flex;align-items:center;justify-content:space-between;gap:20px}.portfolio-preview small,.portfolio-basis,.portfolio-summary span{color:var(--secondary)}.portfolio-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.portfolio-summary .card{display:grid;gap:12px;min-width:0}.portfolio-summary strong{font-size:21px;overflow-wrap:anywhere}.portfolio-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.portfolio-chart{min-width:0}.portfolio-chart table,.portfolio-extra table{width:100%;font-size:13px}.portfolio-chart th,.portfolio-chart td{padding:10px 4px;text-align:left;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.portfolio-chart td:last-child{text-align:right}.portfolio-donut{width:180px;height:180px;margin:22px auto;border-radius:50%;display:grid;place-items:center}.portfolio-donut span{width:118px;height:118px;display:grid;place-items:center;background:white;border-radius:50%;font-size:13px;color:var(--secondary)}.portfolio-donut.empty{background:var(--border)}.portfolio-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}.portfolio-missing{background:var(--warning-bg);margin-top:18px}.portfolio-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portfolio-form select,.portfolio-filters select,.portfolio-filters input{padding:12px;border:1px solid var(--border);border-radius:8px;font:inherit;color:var(--text);background:white;max-width:100%;box-sizing:border-box}.portfolio-filters{display:flex;flex-wrap:wrap;gap:14px;margin:16px 0}.portfolio-filters label{display:grid;gap:8px}.portfolio-holdings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.portfolio-holding{min-width:0;overflow-wrap:anywhere}.portfolio-holding dl{margin:18px 0}.portfolio-holding dl>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding:10px 0}.portfolio-holding dt{font-size:12px;color:var(--secondary)}.portfolio-holding dd{margin:0;text-align:right;font-size:13px}.portfolio-holding .mypage-actions{margin-top:16px;flex-wrap:wrap}.portfolio-theme-row{display:flex;gap:16px;align-items:end}.portfolio-theme-row>label:first-child{flex:1}.portfolio-theme-row>label:last-child{display:flex;align-items:center;white-space:nowrap;padding-bottom:12px}.portfolio-theme-row input[type=checkbox]{width:auto}.portfolio-search{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.portfolio-search>label{flex:1}.portfolio-search .stock-options{width:100%;display:grid;gap:8px}.portfolio-extra summary,.portfolio-holding summary{cursor:pointer;padding:8px 0}.portfolio-insights small{line-height:1.8;color:var(--secondary)}select:focus-visible,summary:focus-visible{outline:3px solid #7599ff;outline-offset:3px}
@media(max-width:900px){.portfolio-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-holdings{grid-template-columns:1fr}}
@media(max-width:600px){.portfolio-summary,.portfolio-charts,.portfolio-inputs{grid-template-columns:1fr}.portfolio-preview{align-items:stretch;flex-direction:column}.feature-header .mypage-actions{flex-wrap:wrap}.portfolio-filters>label{width:100%}.portfolio-form{min-width:0}.portfolio-theme-row{gap:10px}.portfolio-holding dl>div{flex-wrap:wrap}.portfolio-basis{font-size:12px;line-height:1.7}}
.portfolio-search-status{width:100%;margin:4px 0;color:var(--secondary);font-size:13px;line-height:1.6}.portfolio-search .stock-option{text-align:left;white-space:normal;overflow-wrap:anywhere}
.portfolio-chart h3{font-size:19px;line-height:1.5;margin-bottom:6px}.portfolio-chart-hint{font-size:13px;color:var(--secondary);margin:0}.portfolio-chart .portfolio-donut{position:relative;width:260px;height:260px;max-width:100%;background:none;margin:16px auto}.portfolio-donut svg{display:block;width:100%;height:100%;overflow:visible}.portfolio-chart-center{position:absolute;inset:25%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;pointer-events:none;overflow-wrap:anywhere}.portfolio-chart-center small{color:var(--secondary);font-size:12px;line-height:1.4;max-width:100%}.portfolio-chart-center strong{font-size:17px;line-height:1.4;max-width:100%}.portfolio-chart-center span{width:auto;height:auto;background:none;border-radius:0;font-size:20px;font-weight:700;color:var(--text)}.portfolio-slice{cursor:pointer;transition:opacity .15s,stroke-width .15s}.portfolio-slice:focus{outline:none;stroke-width:42}.portfolio-slice-label{fill:white;font-size:12px;font-weight:700;pointer-events:none}.chart-active .portfolio-slice:not(.chart-selected){opacity:.32}.portfolio-slice.chart-selected{stroke-width:40}.portfolio-chart-table{overflow-x:auto;max-height:360px;overflow-y:auto}.portfolio-chart table{font-size:14px}.portfolio-chart th,.portfolio-chart td{padding:12px 8px}.portfolio-chart tbody tr{cursor:pointer}.portfolio-chart tbody tr:focus-visible{outline:3px solid #7599ff;outline-offset:-3px}.portfolio-chart tr.chart-selected{background:#eff6ff}.portfolio-dot{width:12px;height:12px;margin-right:8px;flex-shrink:0}.portfolio-chart th{min-width:90px}.portfolio-chart td{white-space:nowrap}.portfolio-stock-chart{margin:20px 0}.portfolio-stock-chart>.portfolio-chart{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);column-gap:28px}.portfolio-stock-chart h3,.portfolio-stock-chart .portfolio-chart-hint{grid-column:1/-1}.portfolio-stock-chart .portfolio-chart-table{align-self:center}.portfolio-stock-chart .portfolio-donut{width:300px;height:300px}.portfolio-stock-chart .portfolio-chart-center strong{font-size:19px}@media(max-width:700px){.portfolio-stock-chart>.portfolio-chart{display:block}.portfolio-stock-chart .portfolio-donut{width:260px;height:260px}.portfolio-chart table{font-size:13px}.portfolio-chart th,.portfolio-chart td{padding:12px 5px}.portfolio-chart h3{font-size:18px}}
.portfolio-chart .portfolio-slice-label{paint-order:stroke;stroke:#0006;stroke-width:1.5px;stroke-linejoin:round}.portfolio-stock-chart table{table-layout:fixed;width:100%}.portfolio-stock-chart th:first-child{width:48%;min-width:0}.portfolio-stock-chart th:nth-child(2){width:30%}.portfolio-stock-chart th:nth-child(3){width:22%}.portfolio-stock-chart td{white-space:normal;overflow-wrap:anywhere}
.latest-basis{color:var(--secondary);font-size:11px;line-height:1.6;margin:0 0 10px}.decision-verdict{padding:12px;border-radius:9px;margin:12px 0;background:#f0f4ff;border:1px solid #dce5ff}.decision-verdict.positive{background:#f5fbf7}.decision-verdict.negative{background:#fff8f8}.decision-verdict p,.decision-evidence p,.decision-evidence li,.latest-range p{font-size:11px;line-height:1.7;color:var(--secondary);margin:5px 0}.decision-evidence{padding:10px 0;border-bottom:1px solid var(--border)}.decision-evidence h4{font-size:12px;margin:0 0 5px}.decision-evidence.positive h4{color:var(--positive)}.decision-evidence.negative h4{color:var(--negative)}.decision-evidence ul{margin:0;padding-left:17px}.tool-interpretation details{margin-top:7px}.tool-interpretation summary,.latest-range summary{cursor:pointer;color:var(--blue);font-size:11px}.tool-interpretation details p{padding-top:5px}.latest-range{margin:12px 0}.selection-footer>div{flex-wrap:wrap}.insight-panel .price-summary strong{font-size:25px;overflow-wrap:anywhere}
.analysis-toolbar{flex-wrap:wrap}.analysis-toolbar .toolbar-group{flex-shrink:0}.chart-type-toggle button{white-space:nowrap}.analysis-toolbar .indicator-toggles{min-width:0;overflow-x:auto;flex:1 1 620px}.price-close-line{pointer-events:none}

.technical-synthesis{margin-top:14px;padding:14px;border:1px solid #dce5ff;border-radius:10px;background:#f4f7ff}.technical-synthesis h4{font-size:13px;line-height:1.6;margin:7px 0}.technical-synthesis p,.technical-synthesis li{font-size:11px;line-height:1.75;color:var(--secondary)}.technical-synthesis p{margin:6px 0}.technical-synthesis ul{padding-left:17px;margin:8px 0}.technical-synthesis summary{font-size:11px;cursor:pointer;color:var(--blue)}.technical-synthesis details{margin-top:10px}
.analysis-toolbar{flex-wrap:wrap}.analysis-toolbar .toolbar-group{flex-shrink:0}.chart-type-toggle button{white-space:nowrap}.analysis-toolbar .indicator-toggles{min-width:0;overflow-x:auto;flex:1 1 620px}.price-close-line{pointer-events:none}

/* Keep the latest overview beside the chart and explanations below it. */
.analysis-layout{grid-template-columns:minmax(0,1fr) minmax(300px,340px);align-items:start}
.insight-panel .decision-verdict{margin:12px 0 10px;padding:12px;line-height:1.6;font-size:14px}
.state-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.state-dimensions>span{display:grid;gap:5px;padding:10px;border:1px solid var(--border);border-radius:8px;background:#fafbfd}
.state-dimensions small{font-size:11px;color:var(--secondary)}.state-dimensions strong{font-size:12px}
.summary-metrics{margin:12px 0}.summary-metrics>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px;padding:11px 0;border-bottom:1px solid var(--border)}
.summary-metrics dt{font-size:12px;color:var(--secondary);padding-top:2px}.summary-metrics dd{margin:0;text-align:right;display:grid;gap:4px}
.summary-metrics dd strong{font-size:14px}.summary-metrics dd small{font-size:10px;line-height:1.5;color:var(--secondary)}
.next-check{background:#f6f8fc;border-radius:8px;padding:11px}.next-check>span{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--secondary)}.next-check .material-symbols-rounded{font-size:16px}.next-check p{font-size:12px;line-height:1.6;margin:6px 0 0}
.analysis-detail-link{display:flex;align-items:center;justify-content:center;gap:6px;background:white;border:1px solid #dce5ff;border-radius:7px;padding:10px;width:100%;margin-top:12px;color:var(--blue);font:inherit;font-size:12px;cursor:pointer}.analysis-detail-link .material-symbols-rounded{font-size:16px}.summary-scope{font-size:10px;line-height:1.5;color:var(--secondary);margin:9px 0 0;text-align:center}
.analysis-details{margin-top:16px;scroll-margin-top:24px}.analysis-detail-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.analysis-detail-heading h3{margin:5px 0 0;font-size:18px}.analysis-detail-heading>span{font-size:11px;color:var(--secondary)}
.analysis-detail-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start}
.analysis-details .technical-synthesis{margin:0;padding:18px}.analysis-details .technical-synthesis h4{font-size:16px;margin:8px 0 12px}.analysis-details .technical-synthesis p,.analysis-details .technical-synthesis li{font-size:12px;line-height:1.8}.phase-facts{margin-top:16px}.phase-facts>strong,.synthesis-next>strong{font-size:12px}.synthesis-next{padding-top:12px;margin-top:12px;border-top:1px solid #dce5ff}
.analysis-details .tool-interpretations{margin:0;padding:0;border:0}.tool-reading-hint{font-size:12px;line-height:1.6;color:var(--secondary);margin:0 0 7px}
.analysis-details .tool-interpretation{padding:12px}.analysis-details .tool-interpretation details{margin:0;min-width:0}.analysis-details .tool-interpretation summary{font-size:12px;color:var(--text)}.tool-summary{display:inline-flex;align-items:baseline;justify-content:space-between;gap:10px;width:calc(100% - 18px);vertical-align:top}.tool-summary strong{font-size:12px}.tool-summary b{font-size:11px;color:var(--secondary);text-align:right}.analysis-details .tool-interpretation p{font-size:12px;line-height:1.7;margin:9px 0 0}.tool-calculation{margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.tool-calculation>strong{font-size:11px;color:var(--secondary)}
@media(max-width:1100px){.analysis-layout{grid-template-columns:1fr}.insight-panel{margin-top:0}.analysis-detail-grid{gap:16px}}
@media(max-width:767px){.analysis-detail-grid{grid-template-columns:1fr}.analysis-detail-heading{align-items:flex-start;flex-direction:column;gap:7px}.analysis-details .technical-synthesis{padding:14px}.analysis-detail-heading h3{font-size:17px}.tool-summary{flex-wrap:wrap;gap:4px}}

.analysis-details[hidden]{display:none}.analysis-details{scroll-margin-top:96px}

.range-pattern-divider{border-top:1px solid #dce5ff;margin:18px 0}.header-actions{flex-wrap:wrap}

.price-line-color{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--secondary)}.price-line-color[hidden]{display:none}.price-line-color input{width:28px;height:28px;padding:1px;border:1px solid var(--border);border-radius:5px;cursor:pointer}.price-line-color .preview-color{display:none}

/* Approved home layout: readable type and columns sized to their content. */
body.home-layout{font-size:16px}
.home-layout .sidebar{width:240px;padding:24px 12px 16px}
.home-layout .page-shell{margin-left:240px}
.home-layout .brand{font-size:19px;padding-bottom:24px;gap:12px}
.home-layout .sidebar nav{gap:5px}
.home-layout .nav-item{height:48px;font-size:16px;gap:12px;padding:0 14px}
.home-layout .collapse-button{font-size:14px}
.home-layout .topbar{height:64px;gap:20px;padding:0 24px}
.home-layout .topbar h1{font-size:21px}
.home-layout .global-search{height:44px;max-width:560px}
.home-layout .global-search input{font-size:16px}
.home-layout kbd{font-size:12px}
.home-layout .site-footer{font-size:13px;padding:12px 24px;height:auto;min-height:54px}
.home-layout.sidebar-collapsed .sidebar{width:70px;padding-inline:8px}
.home-layout.sidebar-collapsed .page-shell{margin-left:70px}
.home-layout.sidebar-collapsed .brand{padding-inline:7px}
.home-layout.sidebar-collapsed .brand>span:last-child,
.home-layout.sidebar-collapsed .nav-item>span:last-child{display:none}
.home-layout.sidebar-collapsed .nav-item{padding:0;justify-content:center}
.home-layout.sidebar-collapsed .collapse-button{font-size:0;padding:12px;justify-content:center}

main.home-dashboard{--muted:#667387;--radius:12px;display:grid;grid-template-columns:minmax(380px,.9fr) minmax(0,1.65fr);gap:14px;max-width:1740px;padding:0 24px 20px;align-items:start}
.home-dashboard .status-strip{grid-column:1/-1;height:auto;min-height:44px;font-size:14px;gap:12px;flex-wrap:wrap;padding:6px 0}
.home-dashboard .market-times{font-size:13px;flex-wrap:wrap}
.home-dashboard .market-grid{grid-column:1/-1;gap:14px;margin-top:-10px;min-width:0}
.home-dashboard .workspace-grid,.home-dashboard .lower-grid{display:flex;flex-direction:column;gap:14px;margin:0;min-width:0}
.home-dashboard .workspace-grid{grid-column:1;grid-row:3}
.home-dashboard .lower-grid{grid-column:2;grid-row:3}
.home-dashboard .recent{order:-1}
.home-dashboard .market-card{padding:14px 18px;min-width:0;min-height:184px;border-radius:12px}
.home-dashboard .market-card h2{font-size:22px;margin-top:4px}
.home-dashboard .market-card h2 small{font-size:13px}
.home-dashboard .eyebrow{font-size:12px;letter-spacing:.3px}
.home-dashboard .data-badge{font-size:13px;padding:4px 10px}
.home-dashboard .market-main{gap:16px;margin-top:6px;flex-wrap:wrap}
.home-dashboard .market-main strong{font-size:36px}
.home-dashboard .market-main span,.home-dashboard .market-main small{font-size:16px}
.home-dashboard .chart-row{grid-template-columns:minmax(0,1fr) 146px;gap:20px;margin-top:4px}
.home-dashboard .sparkline{height:44px}
.home-dashboard .chart-row dl{font-size:13px;gap:3px}
.home-dashboard .tags{margin-top:5px;flex-wrap:wrap}
.home-dashboard .tag{font-size:13px;padding:3px 8px}
.home-dashboard .card{padding:18px;min-width:0;border-radius:12px}
.home-dashboard .section-heading,.home-dashboard .section-heading.compact{margin-bottom:14px;align-items:center;gap:8px}
.home-dashboard .section-heading h2{font-size:22px;line-height:1.35;margin:0}
.home-dashboard .section-kicker{display:none}
.home-dashboard .step-pill{font-size:13px;white-space:nowrap}
.home-dashboard .link-button{font-size:14px;min-height:32px;padding:0;white-space:nowrap}
.home-dashboard .analysis-card form{gap:14px}
.home-dashboard .form-row{grid-template-columns:70px minmax(0,1fr);gap:10px;min-height:0}
.home-dashboard .form-row>label{font-size:15px}
.home-dashboard .segmented{height:44px}
.home-dashboard .segmented button{font-size:14px;min-width:0}
.home-dashboard .select-like{height:46px;font-size:16px;min-width:0}
.home-dashboard .select-like>span:first-child{min-width:0}
.home-dashboard .select-like b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-dashboard .time-options{gap:8px}
.home-dashboard .time-options button{height:44px;font-size:16px;flex:1;min-width:0}
.home-dashboard .outline-primary{height:44px;font-size:16px;width:100%;min-width:0}
.home-dashboard .range-action p{font-size:13px;color:var(--secondary);line-height:1.6;margin-top:8px}
.home-dashboard .primary-action{height:48px;margin:2px 0 0 80px;font-size:17px}
.home-dashboard .primary-action:disabled{color:#596273}
.home-dashboard table{font-size:14px}
.home-dashboard th{font-size:13px;padding:0 8px 10px}
.home-dashboard td{padding:10px 8px}
.home-dashboard td small{font-size:12px;margin-left:4px}
.home-dashboard .recent th:nth-child(3),.home-dashboard .recent td:nth-child(3){font-size:12px}
.home-dashboard .table-status{font-size:13px}
.home-dashboard .table-wrap{max-width:100%}
.home-dashboard .preset-grid{gap:10px}
.home-dashboard .preset-card{padding:14px 12px}
.home-dashboard .preset-visual{height:30px;width:42px;float:left;margin:4px 10px 8px 0;transform:scale(.8);transform-origin:left center}
.home-dashboard .preset-market{font-size:12px}
.home-dashboard .preset-card h3{font-size:16px;margin:5px 0 9px;padding-right:12px}
.home-dashboard .preset-card p{font-size:14px;line-height:1.5;min-height:0;clear:both}
.home-dashboard .preset-card footer{font-size:12px;margin-top:8px}
.home-dashboard .default-pattern-card .link-button{font-size:13px;white-space:normal}
.home-dashboard .star-button{right:3px;top:3px}
.home-dashboard .quality-card{display:block;padding:16px 18px}
.home-dashboard .quality-card .section-heading{display:flex;margin:0 0 10px}
.home-dashboard .quality-card .section-heading h2{font-size:18px}
.home-dashboard .quality-list{grid-template-columns:1fr;gap:8px}
.home-dashboard .quality-item{min-height:54px;border:0;background:#f8fafc;padding:8px;grid-template-columns:24px minmax(0,1fr) auto;gap:8px}
.home-dashboard .quality-item strong{font-size:14px;overflow-wrap:anywhere}
.home-dashboard .quality-item small{font-size:12px;line-height:1.45}
.home-dashboard .quality-item time{font-size:12px}
.home-dashboard .quality-item .arrow{display:none}
.home-dashboard .quality-note{margin-top:10px;font-size:12px;background:none;padding:0;line-height:1.5;gap:8px}
.home-dashboard .quality-note>span{border:0;width:auto;height:auto}

@media(min-width:768px) and (max-width:1200px){
  .home-layout .sidebar{width:74px;padding-inline:8px}
  .home-layout .page-shell{margin-left:74px}
  .home-layout .brand{padding:0 12px 24px}
  .home-layout .brand>span:last-child,.home-layout .nav-item>span:last-child,.home-layout .collapse-button{display:none}
  .home-layout .nav-item{justify-content:center;padding:0}
  .home-layout .topbar h1{display:none}
  main.home-dashboard{grid-template-columns:minmax(340px,.9fr) minmax(0,1.4fr);padding-inline:18px}
  .home-dashboard .preset-grid{grid-template-columns:1fr}
  .home-dashboard .preset-card p{clear:none}
}

@media(min-width:768px) and (max-width:960px){
  main.home-dashboard{grid-template-columns:minmax(0,1fr)}
  .home-dashboard .workspace-grid,.home-dashboard .lower-grid{grid-column:1;grid-row:auto}
  .home-dashboard .workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
  .home-dashboard .form-row{grid-template-columns:1fr;gap:8px}
  .home-dashboard .primary-action{margin-left:0}
  .home-dashboard .preset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:767px){
  .home-layout .sidebar{display:none}
  .home-layout .page-shell,.home-layout.sidebar-collapsed .page-shell{margin-left:0}
  .home-layout .topbar{height:60px;padding:0 14px}
  .home-layout .topbar h1{font-size:18px}
  .home-layout .global-search{max-width:none;top:66px}
  main.home-dashboard{display:flex;flex-direction:column;padding:0 14px 18px;gap:12px}
  .home-dashboard>section{width:100%;min-width:0}
  .home-dashboard .status-strip{min-height:56px;font-size:13px;margin:0}
  .home-dashboard .market-times{font-size:12px}
  .home-dashboard .market-grid{grid-template-columns:1fr;margin:0;gap:10px}
  .home-dashboard .market-card{min-height:0}
  .home-dashboard .market-main strong{font-size:32px}
  .home-dashboard .chart-row{grid-template-columns:minmax(0,1fr) 125px;gap:12px}
  .home-dashboard .workspace-grid,.home-dashboard .lower-grid{display:contents}
  .home-dashboard .analysis-card{order:2}
  .home-dashboard .recent{order:3}
  .home-dashboard .presets{order:4}
  .home-dashboard .quality-card{order:5}
  .home-dashboard .card{width:100%;min-width:0}
  .home-dashboard .form-row{grid-template-columns:1fr;gap:8px}
  .home-dashboard .form-row>label{font-size:16px}
  .home-dashboard .primary-action{margin-left:0}
  .home-dashboard .range-action p{font-size:14px}
  .home-dashboard .section-heading h2{font-size:21px}
  .home-dashboard .preset-grid{display:grid;grid-template-columns:1fr;overflow:visible}
  .home-dashboard .preset-card{min-width:0}
  .home-dashboard .preset-card p{clear:none}
  .home-dashboard td small{display:block;margin:2px 0 0}
  .home-layout .site-footer{padding:14px;font-size:12px}
  .home-layout .bottom-nav a{font-size:13px}
}
/* Unified task notifications beside My Page. */
.topbar-account-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.notification-anchor{position:relative}.notification-bell{position:relative;border:1px solid var(--border);border-radius:12px;background:#fff;width:42px;height:42px}.notification-bell[aria-expanded="true"]{color:var(--blue);background:var(--blue-50);border-color:#cad8ff}.notification-dot{position:absolute;right:7px;top:6px;width:9px;height:9px;border-radius:50%;background:#e24b55;box-shadow:0 0 0 2px #fff}.notification-dot[hidden],.notification-panel[hidden]{display:none}.notification-panel{position:absolute;right:-50px;top:54px;width:410px;max-height:min(650px,calc(100dvh - 100px));display:flex;flex-direction:column;background:#fff;border:1px solid #e2e7ef;border-radius:18px;box-shadow:0 18px 60px #182a4a26;z-index:55;overflow:hidden;text-align:left}.notification-panel>header{padding:22px 20px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.notification-panel h2{font-size:20px;margin:0 0 7px;color:var(--text)}.notification-panel h2 span{font-size:13px;color:var(--blue)}.notification-panel header p{font-size:13px;line-height:1.6;margin:0;color:var(--secondary)}.notification-toolbar{display:flex;justify-content:space-between;align-items:center;background:#f8faff;padding:10px 20px;border-block:1px solid #edf0f5;font-size:13px;color:var(--secondary)}.notification-panel .link-button{font-size:13px;min-height:36px}.notification-panel button:disabled{color:#8893a4;cursor:default}.notification-list{overflow-y:auto;overscroll-behavior:contain;min-height:0}.notification-row{display:flex;gap:12px;padding:18px 20px;border-bottom:1px solid #edf0f5}.notification-row.is-unread{background:#f3f7ff}.notification-status{display:grid;place-items:center;border-radius:12px;width:38px;height:38px;flex-shrink:0;color:#158163;background:#eaf7f1}.notification-status.error{color:#c33d4c;background:#fff0f1}.notification-status.cancelled{color:#a46c13;background:#fff6e6}.notification-status.running{color:#3568ff;background:#edf2ff}.notification-copy{flex:1;min-width:0}.notification-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--secondary);gap:8px}.notification-meta time{color:var(--muted)}.notification-row h3{font-size:15px;margin:6px 0}.notification-row p{font-size:13px;line-height:1.7;margin:0;overflow-wrap:anywhere;color:var(--secondary)}.notification-row-actions{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-top:6px}.notification-panel>footer{padding:13px 20px;font-size:12px;color:var(--muted);background:#fafbfd;border-top:1px solid #edf0f5}.notification-empty{padding:42px 20px;text-align:center;display:grid;justify-items:center;gap:14px}.notification-empty>.material-symbols-rounded{color:#98a7c2;font-size:36px}.notification-empty strong{font-size:15px}.notification-empty p{font-size:13px;line-height:1.8;color:var(--secondary);margin:0}
#patternJobNotice,#backtestJobNotice{display:none!important}
/* Display preferences and separate settings categories. */
.preferences-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px;padding:6px;background:#edf1f8;border:1px solid var(--border);border-radius:12px;width:fit-content;max-width:100%}.preferences-nav button{display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;color:var(--secondary);padding:12px 18px;border-radius:8px;font:inherit;min-height:48px;cursor:pointer}.preferences-nav button[aria-selected=true]{background:white;color:var(--blue);font-weight:700;box-shadow:0 2px 8px #18345412}.preferences-nav button:focus-visible,.display-size-option input:focus-visible,.preferences-form button:focus-visible,.display-options button:focus-visible{outline:3px solid #7599ff;outline-offset:3px}
.display-settings-grid{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:20px;align-items:start}.display-settings-grid>.card{min-width:0;padding:24px}.display-settings-grid h3{font-size:22px;margin:0 0 8px}.display-options>p{font-size:17px;line-height:1.7;color:var(--secondary)}.display-size-options{display:grid;gap:10px;margin:20px 0}.display-size-option{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--border);border-radius:10px;cursor:pointer;min-height:80px}.display-size-option:has(input:checked){border:2px solid var(--blue);padding:13px;background:var(--blue-50)}.display-size-option input{appearance:none;margin:0;width:24px;height:24px;min-height:24px;flex:0 0 24px;border:2px solid #87909f;border-radius:50%;display:grid;place-items:center;padding:0}.display-size-option input:checked{border-color:var(--blue)}.display-size-option input:checked:after{content:'';width:12px;height:12px;background:var(--blue);border-radius:50%}.display-size-option>span{min-width:0;flex:1}.display-size-option strong{display:block;font-size:18px;line-height:1.6}.display-size-text{display:block;line-height:1.6;color:var(--secondary);overflow-wrap:anywhere}.display-size-option>small{font-size:14px;white-space:nowrap;color:var(--secondary)}.display-default{display:inline-block;font-size:12px;font-weight:400;margin-left:8px;padding:2px 6px;border-radius:4px;background:#f0f2f6;color:var(--secondary)}.display-guidance{padding:16px;background:var(--blue-50);border-radius:10px}.display-options>.primary-button,.display-options>.secondary-button{width:100%;justify-content:center;margin-top:10px;padding:14px;min-height:52px}.display-storage-note{font-size:14px!important;line-height:1.7;color:var(--secondary)}#displaySaveStatus{color:var(--blue);font-size:16px}#displaySaveStatus:empty,#analysisSaveStatus:empty{display:none}
.display-preview-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.display-preview-heading>span{font-size:16px;color:var(--blue);background:var(--blue-50);border-radius:20px;padding:6px 12px}.display-sample{font-size:var(--reading-size,18px);line-height:1.6;background:#f8fafc;border:1px solid var(--border);padding:20px;border-radius:12px;overflow-wrap:anywhere}.display-sample h4{font-size:1.3em;margin:0 0 8px}.display-sample p,.display-sample label,.display-sample input,.display-sample button,.display-sample-chart span,.display-sample-note strong{font-size:var(--reading-size,18px)}.display-sample p{margin:0 0 14px}.display-sample-price{font-size:1.4em}.display-sample-positive{color:var(--positive)}.display-sample-chart{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;background:white;padding:14px;border:1px solid var(--border);border-radius:8px}.display-sample-chart>div{display:flex;flex-direction:column;justify-content:space-between}.display-sample-chart svg{display:block;width:100%;height:160px}.display-sample-legend{margin-top:12px!important;color:var(--secondary)}.display-sample-note{padding:14px;background:var(--blue-50);border-radius:8px;margin:16px 0}.display-sample-note p{margin:8px 0 0}.display-sample label{display:block;margin-bottom:8px}.display-sample input{min-width:0;width:100%;padding:12px;border:1px solid var(--border-strong);background:white;border-radius:8px;min-height:52px}.display-sample button{border:0;border-radius:8px;background:var(--blue);color:white;width:100%;padding:14px;margin-top:14px;line-height:1.6;min-height:52px}.display-sample [role=status]:empty{display:none}
.preferences-form{max-width:1050px}.preferences-form article{padding:24px}.preferences-form h3{font-size:22px;margin:0 0 8px}.preferences-form article>p{font-size:17px;line-height:1.7;color:var(--secondary);margin:0 0 20px}.preference-field{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--border);padding:16px 0}.preference-field>span:first-child{display:grid;gap:6px;min-width:0}.preference-field small{font-size:14px;color:var(--secondary)}.preference-input{display:flex;gap:10px;align-items:center;flex-shrink:0}.preference-input input{width:6ch;min-width:90px;border:1px solid var(--border-strong);border-radius:8px;padding:10px;text-align:right;font:inherit;min-height:48px}.preferences-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:14px;margin-top:18px}.preferences-actions p{flex:1;min-width:0;line-height:1.7;color:var(--blue)}
/* Reflow fixed-height controls as the reading preference grows. */
html[data-reading-size] body{line-height:1.6}html[data-reading-size] :is(.card,.feature-view,.workspace-grid,.lower-grid,.market-card,.notification-panel){min-width:0}html[data-reading-size] :is(.feature-header,.section-heading,.header-actions,.results-actions,.pv-head,.btv-summary-top,.btv-result-toolbar,.market-main,.notification-toolbar){flex-wrap:wrap;gap:12px}html[data-reading-size] :is(.primary-button,.secondary-button,.primary-action,.outline-primary,.time-options button,.segmented button,.select-like,.back-button){height:auto;min-height:44px;line-height:1.6;white-space:normal;padding-block:10px}html[data-reading-size] :is(.segmented,.time-options,.status-strip){height:auto;min-height:44px;flex-wrap:wrap}html[data-reading-size] .segmented{min-width:0}html[data-reading-size] .form-row{grid-template-columns:1fr;gap:8px}html[data-reading-size] .primary-action{margin-left:0}html[data-reading-size] :is(.nav-item,.topbar,.site-footer){height:auto;min-height:60px}html[data-reading-size] .nav-item{min-height:50px;padding-block:10px}html[data-reading-size] .topbar{padding-block:12px}html[data-reading-size] .site-footer{flex-wrap:wrap;gap:12px;padding-block:16px}html[data-reading-size] .site-footer>div{flex-wrap:wrap}html[data-reading-size] .chart-row{grid-template-columns:minmax(0,1fr)}html[data-reading-size] .status-strip{flex-wrap:wrap;padding-block:10px}html[data-reading-size] :is(.pv-legend,.time-options,.preset-card footer){flex-wrap:wrap}html[data-reading-size] :is(.preset-card p,.quality-item small,.notification-copy,.feature-header p){overflow-wrap:anywhere;line-height:1.7}html[data-reading-size] .quality-item{grid-template-columns:28px minmax(0,1fr);height:auto}html[data-reading-size] .quality-item time{grid-column:2}html[data-reading-size] .quality-item .arrow{display:none}html[data-reading-size] :is(.preset-grid,.btv-case-grid,.metric-grid,.btv-summary-metrics){grid-template-columns:repeat(2,minmax(0,1fr))}html[data-reading-size] :is(.global-search input,.search-result){min-width:0}html[data-reading-size] .global-search{height:auto;min-height:48px;min-width:0}html[data-reading-size] :is(.global-search input,.time-options button){padding-block:10px}html[data-reading-size] :is(.settings-total,.security-note){flex-wrap:wrap;gap:10px}html[data-reading-size] .site-footer p{overflow-wrap:anywhere}html[data-reading-size] .notification-panel{max-width:calc(100vw - 24px)}html[data-reading-size] .readable-chart-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}html[data-reading-size] .readable-chart-scroll>svg{height:auto;max-width:none}html[data-reading-size] .readable-chart-scroll:focus-visible{outline:3px solid #7599ff;outline-offset:2px}
html:is([data-reading-size="26"],[data-reading-size="32"]) .sidebar{width:300px}html:is([data-reading-size="26"],[data-reading-size="32"]) .page-shell{margin-left:300px}html:is([data-reading-size="26"],[data-reading-size="32"]) .topbar h1{display:none}html:is([data-reading-size="26"],[data-reading-size="32"]) :is(.display-settings-grid,.workspace-grid,.lower-grid,.home-dashboard,.market-grid,.analysis-workspace,.analysis-detail-grid,.pv-charts,.btv-summary-grid,.btv-stage-grid){display:grid;grid-template-columns:minmax(0,1fr);gap:18px}html:is([data-reading-size="26"],[data-reading-size="32"]) .home-dashboard>*{grid-column:auto;grid-row:auto}html:is([data-reading-size="26"],[data-reading-size="32"]) .home-dashboard :is(.workspace-grid,.lower-grid){grid-column:auto;grid-row:auto}html:is([data-reading-size="26"],[data-reading-size="32"]) :is(.preset-grid,.btv-case-grid,.metric-grid,.btv-summary-metrics,.pattern-weight-grid){grid-template-columns:minmax(0,1fr)}html[data-reading-size] body.sidebar-collapsed .sidebar{width:74px}html[data-reading-size] body.sidebar-collapsed .page-shell{margin-left:74px}
@media(max-width:1100px){.display-settings-grid{grid-template-columns:minmax(0,1fr)}html[data-reading-size] .topbar h1{display:none}}
@media(max-width:767px){html[data-reading-size] .page-shell{margin-left:0!important}html[data-reading-size] .sidebar{display:none}html[data-reading-size] .home-dashboard{display:flex;flex-direction:column}html[data-reading-size] .global-search{display:none}html[data-reading-size] .global-search.mobile-open{display:flex}html[data-reading-size] .notification-panel{top:85px}.preferences-nav{width:100%;display:grid;grid-template-columns:1fr;gap:6px}.preferences-nav button{justify-content:flex-start}.display-settings-grid>.card,.preferences-form article{padding:18px}.display-size-option{gap:10px;padding:12px}.display-size-option:has(input:checked){padding:11px}.display-sample{padding:14px}.preference-field{align-items:flex-start;flex-direction:column}.preference-input{width:100%}.preference-input input{flex:1}.preferences-actions .primary-button{width:100%;justify-content:center}html[data-reading-size] .feature-header{align-items:flex-start}html[data-reading-size] .bottom-nav{height:auto;min-height:70px;gap:4px;padding-block:8px}html[data-reading-size] .bottom-nav a{min-width:0;font-size:16px!important}html[data-reading-size] .site-footer{padding-bottom:100px}html[data-reading-size] main{padding-bottom:28px}html[data-reading-size] .notification-toolbar{align-items:flex-start}html[data-reading-size] :is(.preset-grid,.metric-grid){grid-template-columns:1fr}}
@media(max-width:767px){.home-layout .topbar{gap:8px}.home-layout .topbar h1{font-size:16px;min-width:0}.topbar-account-actions{gap:4px}.notification-panel{position:fixed;top:70px;left:12px;right:12px;width:auto;max-height:calc(100dvh - 150px)}.notification-panel>header{padding:18px 16px 14px}.notification-row{padding:16px}.notification-toolbar{padding-inline:16px}}
/* My page shortcuts share the existing navigation styles. */
.analysis-layout{grid-template-columns:minmax(0,1fr)}
.analysis-layout .chart-card{min-width:0;overflow-x:visible}
.analysis-layout .technical-chart{min-width:0;width:100%}
.analysis-layout .technical-chart svg{min-width:0;max-width:100%;width:100%}
.analysis-layout .technical-chart :is(.chart-axis,.panel-label){font-size:var(--chart-label-size,13px)}
.analysis-layout .selection-footer{min-width:0;flex-wrap:wrap;gap:12px}
.analysis-layout .selection-footer>div{min-width:0;flex-wrap:wrap}
.analysis-toolbar .indicator-toggles{flex-wrap:wrap;overflow-x:visible}
.analysis-layout .summary-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.analysis-layout .summary-metrics>div{display:grid;grid-template-columns:1fr;align-content:start;padding:14px;border:1px solid var(--border);border-radius:10px;min-width:0}
.analysis-layout .summary-metrics dd{text-align:left;overflow-wrap:anywhere}
@media(max-width:600px){.analysis-layout .summary-metrics{grid-template-columns:1fr}}
.chart-context{margin:10px 0 0;color:var(--secondary);font-size:13px;line-height:1.6}
/* Portfolio: balances first, secondary analysis available on demand. */
.portfolio-manager .portfolio-summary{margin:24px 0;gap:12px}
.portfolio-manager .portfolio-summary .card{padding:22px;background:#fff}
.portfolio-manager .portfolio-summary .card:first-child{background:var(--blue-50);border-color:#c7d7f5}
.portfolio-manager .portfolio-summary strong{font-variant-numeric:tabular-nums}
.portfolio-manager .portfolio-basis{font-size:12px;line-height:1.6;margin:8px 0}
.portfolio-manager #fxStatus:empty,.portfolio-manager #priceStatus:empty{display:none}
.portfolio-manager .portfolio-filters{padding:16px;background:var(--subtle);border-radius:12px;gap:12px}
.portfolio-manager .portfolio-filters label:last-child{flex:1;min-width:180px}
.portfolio-manager .portfolio-holding{padding:24px}
.portfolio-manager .portfolio-holding h3{font-size:20px;margin:0 0 6px}
.portfolio-manager .portfolio-holding dl{display:grid;gap:8px;margin:20px 0}
.portfolio-manager .portfolio-holding dl>div{padding:8px 0;border:0}
.portfolio-manager .portfolio-holding dd{font-size:14px;font-variant-numeric:tabular-nums;font-weight:600}
.portfolio-manager .portfolio-holding details{border-top:1px solid var(--border);padding-top:8px;color:var(--secondary);font-size:12px;line-height:1.7}
.portfolio-manager .portfolio-holding .mypage-actions{gap:8px}
.portfolio-manager .portfolio-labels{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
.portfolio-manager .portfolio-labels span{background:var(--subtle);border-radius:6px;padding:4px 8px;font-size:12px;color:var(--secondary)}
.portfolio-manager .portfolio-analysis-details{margin:24px 0;padding:18px 22px}
.portfolio-manager .portfolio-analysis-details>summary{cursor:pointer;font-weight:600}
.portfolio-manager .portfolio-profit{color:#15803d}
.portfolio-manager .portfolio-loss{color:#b91c1c}
.portfolio-manager .portfolio-slice-label{stroke:none;font-weight:800}
.portfolio-manager .portfolio-chart .portfolio-donut{height:auto;border-radius:0;display:block}
.portfolio-manager .portfolio-chart-center{position:static;display:grid;gap:4px;margin-top:14px;justify-items:center;min-height:72px}
.portfolio-manager .portfolio-chart-center strong{font-size:18px}
.portfolio-manager .portfolio-chart-center span{font-size:14px}
.portfolio-manager .portfolio-slice{stroke-width:0}
.portfolio-manager .portfolio-slice:focus,.portfolio-manager .portfolio-slice.chart-selected{stroke-width:3}
.portfolio-manager .chart-active .portfolio-slice:not(.chart-selected){opacity:.65}
.portfolio-manager .portfolio-purchases p{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}
.portfolio-manager .portfolio-form [data-purchase-preview]{background:var(--blue-50);border-radius:10px;padding:16px;font-weight:600;line-height:1.7}
@media(max-width:600px){.portfolio-manager .portfolio-holding{padding:18px}.portfolio-manager .portfolio-summary .card{padding:18px}.portfolio-manager .portfolio-holding dl>div{flex-direction:column;gap:6px}.portfolio-manager .portfolio-holding dd{text-align:left}.portfolio-manager .portfolio-purchases p{flex-direction:column;gap:2px}}
.sidebar nav{overflow-y:auto;min-height:0;flex-shrink:1}
.sidebar .collapse-button{flex-shrink:0}
.nav-submenu{display:grid;gap:3px;margin-left:17px;padding-left:8px;border-left:1px solid rgba(220,230,242,.2)}
.home-layout .nav-subitem{height:auto;min-height:42px;padding:9px 8px;gap:8px;font-size:13px}
.nav-subitem>span:last-child{min-width:0;word-break:keep-all;overflow-wrap:anywhere}
.nav-subitem>.material-symbols-rounded{font-size:20px;flex-shrink:0}
.nav-item.has-active-submenu{color:#8cbcff}
#myWatchlistSection,#myPatternAnalysisSection{scroll-margin-top:92px}
body.sidebar-collapsed .nav-submenu{margin-left:0;padding-left:0;border-left:0}
@media(max-width:1100px){.nav-submenu{margin-left:0;padding-left:0;border-left:0}}
.analysis-selection{padding:24px;min-width:0}
.analysis-selection .stock-search-form{margin-top:0}
.analysis-neutral-note{color:var(--secondary);line-height:1.7;margin-top:24px}
.analysis-stock-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.analysis-stock-title .analysis-watchlist{width:44px;height:44px;flex:0 0 44px;color:var(--secondary);border-radius:12px}
.analysis-watchlist svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.analysis-watchlist[aria-pressed="true"]{color:#b77909;background:#fff8e5}
.analysis-watchlist[aria-pressed="true"] svg{fill:#f6c453}
.analysis-watchlist:hover{background:#fff3d1;color:#b77909}
.analysis-watchlist:focus-visible{outline:3px solid #7599ff;outline-offset:2px}
.analysis-watchlist:disabled{opacity:.65;cursor:wait}

/* Text size changes the space a control needs as well as its font. Keep reflow
   local to each workspace so narrow cards behave like narrow screens. */
html[data-reading-size] main{container-type:inline-size;container-name:reading-workspace}
html[data-reading-size] :is(.toolbar-group,.indicator-toggles,.pattern-mode-switch,.btv-segments,.btv-add,.pv-range,.pv-date-controls,.easy-ratio-title,.easy-controls-links,.search-result){min-width:0;flex-wrap:wrap}
html[data-reading-size] :is(button,label,select,input,textarea){max-width:100%}
html[data-reading-size] :is(button,.nav-item,.search-result,.btv-selected-themes span,.btv-member-list span){overflow-wrap:anywhere}
html[data-reading-size] :is(.toolbar-group button,.indicator-toggles button,.pattern-mode-switch button,.btv-segments button){height:auto;min-height:44px;line-height:1.5;padding-block:8px;white-space:normal}
html[data-reading-size] :is(.pattern-weight-grid,.easy-feature-explanations,.analysis-layout .summary-metrics,.btv-theme-picker,.btv-inputs){grid-template-columns:repeat(auto-fit,minmax(min(100%,calc(var(--reading-size) * 13)),1fr))}
html[data-reading-size] .btv-theme-picker label:last-child{grid-column:auto}
html[data-reading-size] :is(.pattern-weight-grid input[type=number],.preference-input input){width:calc(4ch + 24px);min-width:calc(4ch + 24px);flex-shrink:0}
html[data-reading-size] .pattern-weight-grid label>div{min-width:0}
html[data-reading-size] .easy-ratio-values{grid-template-columns:repeat(auto-fit,minmax(min(100%,calc(var(--reading-size) * 10)),1fr))}
html[data-reading-size] .easy-ratio-values>div{align-items:start;flex-wrap:wrap}
html[data-reading-size] .easy-ratio-values>div>span{min-width:0;flex:1 1 5em}
html[data-reading-size] :is(.segmented,.time-options){display:flex;flex-wrap:wrap;gap:6px}
html[data-reading-size] :is(.segmented,.time-options)>button{flex:1 1 6.5em;min-width:0;border:1px solid var(--border);border-radius:7px;padding-inline:10px}
html[data-reading-size] .table-wrap{min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
html[data-reading-size] .save-drawer{max-height:calc(100dvh - 32px);overflow-y:auto;grid-template-columns:minmax(0,1fr);bottom:16px}
html:is([data-reading-size="26"],[data-reading-size="32"]) :is(.market-grid,.pv-charts,.btv-summary-grid,.btv-stage-grid,.preset-grid,.btv-case-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,calc(var(--reading-size) * 15)),1fr))}
html:is([data-reading-size="26"],[data-reading-size="32"]) :is(.btv-summary-metrics,.metric-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,calc(var(--reading-size) * 11)),1fr))}
html[data-reading-size] .btv-summary-metrics>div{border:0;box-shadow:inset 0 0 0 1px var(--border)}
@container reading-workspace (max-width:30em){
  html[data-reading-size] :is(.search-workspace,.pattern-easy .pattern-easy-workspace,.analysis-detail-grid,.detail-grid){grid-template-columns:minmax(0,1fr)}
  html[data-reading-size] .pattern-weight-grid{grid-template-columns:minmax(0,1fr)}
  html[data-reading-size] .pv-data-info dl{grid-template-columns:minmax(0,1fr);gap:4px}
  html[data-reading-size] .pv-data-info dd{margin-bottom:12px}
  html[data-reading-size] :is(.pattern-minimum label,.pattern-theme-settings label,.pv-head,.pattern-candidate-bar label){min-width:0;flex-wrap:wrap}
  html[data-reading-size] .pattern-candidate-bar select{display:block;width:100%;margin:8px 0 0}
}
@media(min-width:768px) and (max-width:1100px){
  html[data-reading-size] .sidebar{width:74px}
  html[data-reading-size] .page-shell{margin-left:74px}
}
@media(max-width:767px){
  html[data-reading-size] .pattern-mode-switch{width:100%}
  html[data-reading-size] .pattern-mode-switch button{flex:1 1 6em;padding-inline:10px}
  html[data-reading-size] .btv-theme-picker{grid-template-columns:minmax(0,1fr)}
  html[data-reading-size] .easy-ratio-values{grid-template-columns:minmax(0,1fr)}
}

html[data-reading-size] :is(h1,h2,h3,h4,p,label,small){word-break:keep-all;overflow-wrap:anywhere}
html[data-reading-size] :is(h1,h2,h3,h4){text-wrap:balance}

/* Home surface finish: shared spacing and soft depth for dashboard cards. */
main.home-dashboard{
  --home-card-border:#e0e6ef;
  --home-card-shadow:0 1px 2px rgba(15,23,42,.035),0 6px 20px -8px rgba(15,23,42,.10);
  --home-card-radius:16px;
  gap:18px;
}
.home-dashboard :is(.market-grid,.workspace-grid,.lower-grid){gap:18px}
.home-dashboard :is(.card,.market-card){
  border:1px solid var(--home-card-border);
  border-radius:var(--home-card-radius);
  box-shadow:var(--home-card-shadow);
  background:#fff;
  padding:24px;
}
.home-dashboard .market-card{padding:22px 24px}
.home-dashboard :is(.section-heading,.section-heading.compact){margin-bottom:20px}
.home-dashboard .section-heading h2{font-weight:700;color:#17263b;letter-spacing:-.025em}
.home-dashboard .market-main{margin-top:12px;gap:20px}
.home-dashboard .chart-row{margin-top:10px}
.home-dashboard .chart-row dd{font-weight:600;font-variant-numeric:tabular-nums}
.home-dashboard .tags{margin-top:12px;gap:8px}
.home-dashboard .data-badge{background:#f8fafc;border-color:#e2e8f0;color:#526177}
.home-dashboard .analysis-card form{gap:18px}
.home-dashboard .quality-card .section-heading{margin-bottom:16px}
.home-dashboard .quality-list{gap:10px}
.home-dashboard .quality-item{border:1px solid #edf1f6;border-radius:12px;padding:12px;background:#f8fafc}
.home-dashboard .quality-note{margin-top:14px}
.home-dashboard .preset-grid{gap:12px}
.home-dashboard .preset-card{
  padding:18px 16px;border-color:#e4e9f1;border-radius:12px;
  background:linear-gradient(180deg,#fff 0%,#fafbfd 100%);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.home-dashboard .preset-card:hover{
  border-color:#b7caed;box-shadow:0 4px 14px rgba(30,58,100,.08);transform:translateY(-2px);
}
.home-dashboard .preset-card:focus-visible{outline:3px solid #7599ff;outline-offset:3px}
.home-dashboard .preset-card footer{margin-top:14px;padding-top:12px;border-color:#e8edf4}
.home-dashboard .star-button{top:8px;right:8px}

/* Recent activity: subject and results lead; identifiers and time stay secondary. */
.home-dashboard .recent .table-wrap{border:1px solid #e7ecf3;border-radius:12px;overscroll-behavior-x:contain}
.home-dashboard .recent table{font-size:14px;font-variant-numeric:tabular-nums}
.home-dashboard .recent th{
  padding:12px;color:#526177;background:#f6f8fb;font-size:12px;
  font-weight:600;line-height:1.5;border-bottom:1px solid #e2e8f0;
}
.home-dashboard .recent td{padding:15px 12px;line-height:1.55;color:#475569;border-bottom:1px solid #edf1f6}
.home-dashboard .recent td strong{display:block;font-weight:700;color:#1e293b;letter-spacing:-.015em}
.home-dashboard .recent td small{display:block;font-size:12px;color:#64748b;font-weight:400;margin:3px 0 0}
.home-dashboard .recent td:nth-child(2){font-weight:500}
.home-dashboard .recent td:nth-child(3){font-size:13px;color:#526177}
.home-dashboard .recent td:nth-child(4){font-weight:700;color:#1e293b;text-align:right}
.home-dashboard .recent th:nth-child(4){text-align:right}
.home-dashboard .recent td:last-child{font-size:12px;color:#64748b}
.home-dashboard .recent .table-status{
  display:inline-flex;align-items:center;gap:4px;padding:4px 8px;
  border-radius:6px;font-size:12px;font-weight:600;line-height:1.5;
}
.home-dashboard .recent .table-status.done{color:#13734a;background:#edf8f1}
.home-dashboard .recent .table-status.warning{color:#975b08;background:#fff6e6}
.home-dashboard .recent tbody tr:last-child td{border-bottom:0}
.home-dashboard .recent tbody tr:hover{background:#f5f8fd}
.home-dashboard .recent td[colspan]{padding:28px 16px;text-align:center;font-weight:400;color:#64748b}
@media(max-width:767px){
  main.home-dashboard{gap:14px}
  .home-dashboard .market-grid{gap:14px}
  .home-dashboard :is(.card,.market-card){padding:20px 18px;border-radius:14px}
  .home-dashboard :is(.section-heading,.section-heading.compact){margin-bottom:18px;flex-wrap:wrap}
  .home-dashboard .recent th{padding:11px 10px}
  .home-dashboard .recent td{padding:14px 10px}
}
@media(prefers-reduced-motion:reduce){
  .home-dashboard .preset-card{transition:none}
  .home-dashboard .preset-card:hover{transform:none}
}

.stock-search-form{display:flex;gap:10px;margin:20px 0}.stock-search-form input{flex:1;min-width:0;width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text)}.stock-search-form input:focus{outline:2px solid var(--blue);outline-offset:2px}.stock-search-form button{flex-shrink:0}

.mypage-entry{padding:40px 24px;gap:12px}.mypage-entry h2{margin:8px 0 0;color:var(--text)}.mypage-entry>p{max-width:540px;margin:0;line-height:1.7}.mypage-entry-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(100%,440px);margin-top:16px}.mypage-entry-actions>a{min-height:52px;padding:12px 16px;border-radius:12px;text-decoration:none;line-height:1.4}.mypage-entry-actions>.secondary-button{background:var(--blue-50);border-color:var(--border);color:var(--blue)}.mypage-entry-actions>.secondary-button:hover{border-color:var(--blue);background:var(--subtle)}.mypage-entry-home{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:4px;padding:8px 12px;border:0;border-radius:8px;background:transparent;color:var(--secondary);font:inherit;font-weight:500;cursor:pointer}.mypage-entry-home:hover{background:var(--subtle);color:var(--text)}.mypage-entry-home>.material-symbols-rounded{font-size:1em}@media(max-width:420px){.mypage-entry{padding:32px 18px}.mypage-entry-actions{gap:10px}.mypage-entry-actions>a{padding-inline:10px}}
