:root{--text-note:12px;--text-body:14px;--text-value:16px;--text-section:18px;--text-title:24px;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#243137;background:#f5f6f8;--muted:#63757c;--line:#e5eaed;--up:#c74944;--down:#16836a;--accent:#225e64}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;font-size:var(--text-body)}button,select{font:inherit}a{color:inherit;text-decoration:none}button,select,summary{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #218b96;outline-offset:4px}.sample{background:#fff5dc;color:#785c26;text-align:center;font-size:var(--text-note);padding:9px 16px}header{max-width:1140px;margin:auto;padding:23px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:650}.logo{color:var(--accent);font-size:29px}.edition{font-size:var(--text-note);font-weight:400;color:var(--muted);border-left:1px solid #cbd3d8;padding-left:12px;margin-left:5px}nav{display:flex;gap:25px;color:#5f7077}nav a:hover{color:var(--accent)}main{max-width:1140px;margin:auto;padding:28px 24px}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.eyebrow{font-size:var(--text-note);letter-spacing:2px;color:var(--accent);font-weight:700;margin:0 0 8px}h1{font-size:var(--text-title);letter-spacing:-.6px;margin:0;font-weight:600}.date,.muted{color:var(--muted);font-size:var(--text-note)}.summary{display:grid;grid-template-columns:1.2fr 1fr;background:#fff;border:1px solid var(--line);border-radius:13px;margin-bottom:28px}.today{padding:26px 32px;border-right:1px solid var(--line)}.label{font-size:var(--text-body);color:#64757b}.badge{display:inline-block;border-radius:4px;background:#fff1db;color:#93662a;font-size:var(--text-note);padding:4px 7px;margin-left:8px;vertical-align:middle}.headline{font-size:48px;letter-spacing:-1.8px;font-weight:650;font-variant-numeric:tabular-nums;line-height:1.3;margin:8px 0}.today p{font-size:var(--text-note);color:var(--muted);margin:0 0 14px}.coverage{display:flex;gap:15px;color:#687980;font-size:var(--text-note)}.coverage span:before{content:'•';margin-right:5px;color:#91aaa9}.wealth{padding:28px 30px;display:flex;flex-direction:column;justify-content:center;gap:20px}.wealth strong{display:block;font-size:var(--text-title);letter-spacing:-.7px;margin:6px 0}.wealth small{display:block;font-size:var(--text-note);color:var(--muted);line-height:1.6}.month{border-top:1px solid var(--line);padding-top:14px;display:grid;grid-template-columns:1fr auto;gap:5px}.month b{font-size:var(--text-section)}.month small{grid-column:1/-1}.panel{border:1px solid var(--line);border-radius:13px;background:#fff;margin-bottom:25px;overflow:hidden}.section-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 26px 16px}h2{font-size:var(--text-section);font-weight:650;margin:0}.count{font-size:var(--text-note);font-weight:400;color:var(--muted);margin-left:7px}.section-head p{color:var(--muted);font-size:var(--text-note);margin:7px 0 0;line-height:1.6}.sort{font-size:var(--text-note);color:var(--muted);white-space:nowrap}select{border:1px solid var(--line);border-radius:6px;padding:7px;background:#fff;color:#43565d;margin-left:6px}.table-head,.position{display:grid;grid-template-columns:minmax(200px,2fr) .75fr 1fr 1fr;gap:18px;align-items:center}.table-head{margin:0 26px;padding:10px 0;font-size:var(--text-note);color:var(--muted);border-bottom:1px solid var(--line)}.table-head span:not(:first-child){text-align:right}.position{width:calc(100% - 52px);margin:0 26px;padding:15px 0;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;color:inherit}.position:last-child{border-bottom:0}.position:hover{background:#f8fbfb}.name{font-weight:600;font-size:var(--text-body)}.sub{display:block;color:var(--muted);font-size:var(--text-note);line-height:1.5;margin-top:4px}.num{text-align:right;font-size:var(--text-value);font-weight:600;font-variant-numeric:tabular-nums}.num .sub{font-weight:400}.up{color:var(--up)}.down{color:var(--down)}.footnote{background:#f8fafb;border-top:1px solid var(--line);padding:13px 26px;font-size:var(--text-note);line-height:1.7;color:#6d7b83}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#be9451;margin:0 6px 2px 0}.neutral{background:#edf3f3;color:#687c7d}.brief-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:6px 26px 22px}.brief-grid article+article{border-left:1px solid var(--line);padding-left:24px}.step{font-size:var(--text-note);color:var(--accent);font-weight:600}h3{font-size:var(--text-body);line-height:1.6;margin:11px 0 8px}.brief-grid p{font-size:var(--text-note);line-height:1.9;color:#53666e;margin:0 0 10px}.brief-grid small{font-size:var(--text-note);color:var(--muted);line-height:1.7;display:block}details{border-top:1px solid var(--line);padding:15px 26px;font-size:var(--text-note);color:#67777c}details p{line-height:1.9;max-width:900px}#more .section-head{padding:5px 0 16px}.links{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.links button{background:transparent;border:1px solid #dce4e7;border-radius:9px;text-align:left;padding:18px;color:inherit}.links button:hover{background:#fff;border-color:#91aeb0}.links span{float:right;color:#9cabad;font-size:var(--text-note)}.links b{display:block;font-size:var(--text-body)}.links small{display:block;margin-top:8px;color:var(--muted);font-size:var(--text-note)}footer{display:flex;justify-content:space-between;color:#89969b;font-size:var(--text-note);padding:25px 0}dialog{border:1px solid var(--line);border-radius:14px;padding:28px;width:min(490px,calc(100vw - 28px));color:inherit;box-shadow:0 20px 100px #1a36352a}dialog::backdrop{background:#1c303655}.close{float:right;border:0;background:#eef3f4;border-radius:6px;padding:7px 10px}.detail-row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);gap:15px;font-size:var(--text-body)}dialog p{line-height:1.8;color:#63757c;font-size:var(--text-body)}
@media(max-width:700px){header{padding:15px 18px}.edition{display:none}nav{gap:14px;font-size:var(--text-note)}.brand{font-size:var(--text-section)}main{padding:22px 16px}.heading{align-items:flex-start;gap:12px}.date{max-width:90px;text-align:right;font-size:var(--text-note)}h1{font-size:var(--text-title)}.summary{grid-template-columns:1fr}.today{padding:22px;border-right:0;border-bottom:1px solid var(--line)}.headline{font-size:42px}.wealth{padding:18px 22px;gap:12px}.wealth strong{font-size:var(--text-title)}.section-head{padding:19px 17px 14px;align-items:flex-start;flex-wrap:wrap}.section-head p{font-size:var(--text-note)}.table-head{display:none}.position{margin:0 17px;width:calc(100% - 34px);grid-template-columns:1fr auto;gap:8px;padding:16px 0}.position .identity{grid-column:1;grid-row:1}.position .pnl{grid-column:2;grid-row:1}.position .change{grid-column:1;grid-row:2;text-align:left;font-size:var(--text-note)}.position .value{grid-column:2;grid-row:2;font-size:var(--text-note)}.position .change .sub,.position .value .sub{display:inline;margin-left:5px;font-size:var(--text-note)}.position .identity .name{font-size:var(--text-note)}.footnote{padding:12px 17px}.brief-grid{grid-template-columns:1fr;padding:3px 17px 20px;gap:18px}.brief-grid article+article{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:17px}.brief-grid p{font-size:var(--text-body)}.links{grid-template-columns:1fr}.links button{padding:17px}.market .badge{margin:0}#more .muted{font-size:var(--text-note)}footer{display:block;line-height:1.8}footer span{display:block}details{padding:14px 17px}}
.watch-row{display:grid;grid-template-columns:minmax(160px,2fr) 1fr 1fr 1.2fr;gap:14px;align-items:center;margin:0 26px;padding:13px 0;border-bottom:1px solid var(--line)}.watch-row:last-child{border:0}.watch-row b{font-size:var(--text-note)}.watch-row small{display:block;color:var(--muted);font-size:var(--text-note);line-height:1.6}.watch-price{text-align:right;font-size:var(--text-value)}.watch-state{text-align:right}.review-summary{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 26px 20px;padding:18px;background:#f6f9f9;border-radius:8px}.review-summary span,.review-summary small{display:block;font-size:var(--text-note);color:var(--muted)}.review-summary strong{display:block;font-size:var(--text-title);margin:8px 0}.calendar-head{display:flex;justify-content:space-between;padding:0 26px 12px;font-size:var(--text-note)}.calendar-head span{color:var(--muted);font-size:var(--text-note)}.pnl-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding:0 26px 20px}.weekday{text-align:center;color:var(--muted);font-size:var(--text-note);padding:7px}.calendar-day{min-width:0;background:#fafbfc;border:1px solid var(--line);border-radius:5px;padding:8px 2px;text-align:center;color:#65757c}.calendar-day b,.calendar-day small{display:block;font-size:var(--text-note);margin-top:5px}.calendar-day small{font-size:var(--text-note)}.sample-day{background:#fff3ef;color:var(--up);border-color:#e6c2b8}.sort input{max-width:155px;font:inherit;padding:7px;border:1px solid var(--line);border-radius:6px}header nav{flex-wrap:wrap}
@media(max-width:700px){header{flex-wrap:wrap;gap:14px}header nav{width:100%;justify-content:space-between}.watch-row{margin:0 17px;grid-template-columns:minmax(0,1fr) 70px 70px;gap:7px}.watch-row b{overflow-wrap:anywhere}.watch-state{grid-column:1/-1;text-align:left!important}.watch-state br{display:none}.review-summary{margin:0 17px 16px;grid-template-columns:1fr}.pnl-calendar{padding:0 12px 16px;gap:3px}.calendar-head{padding:0 17px 12px;gap:12px}.calendar-day b{font-size:var(--text-note);overflow-wrap:anywhere}.calendar-day{padding:6px 1px}.calendar-day small{font-size:var(--text-note)}}
.watch-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.primary{border:0;background:var(--accent);color:white;border-radius:6px;padding:10px 15px}.watch-feedback{padding:0 26px;font-size:var(--text-note);color:var(--muted)}.watch-feedback button,.remove-watch{background:transparent;border:1px solid var(--line);border-radius:5px;padding:7px 9px;color:#63757c}.watch-row{grid-template-columns:minmax(160px,2fr) 1fr 1fr 1.2fr auto}#watchForm label{display:block;margin:15px 0;font-size:var(--text-body)}#watchForm input,#watchForm select{display:block;width:100%;margin:6px 0 0;padding:10px;border:1px solid var(--line);border-radius:6px;font:inherit}#watchError{color:var(--up)}[hidden]{display:none!important}@media(max-width:700px){.watch-row{grid-template-columns:minmax(0,1fr) 70px 70px}.watch-state{grid-column:1/3}.remove-watch{grid-column:3;grid-row:2}.watch-feedback{padding:0 17px}.watch-tools{gap:8px}}
/* Toolbar action stays secondary to the portfolio figures. */
#addWatch{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;background:#fff;border:1px solid #dce4e7;border-radius:6px;color:#536b78;font-size:var(--text-note);font-weight:400;line-height:18px;white-space:nowrap;transition:background .15s,border-color .15s}
#addWatch:hover{background:#f3f7f9;border-color:#afc1cb;color:#294f62}
#addWatch:active{background:#eaf1f5}
#watchlist .watch-tools{gap:12px}
#watchlist .sort select{min-height:34px;font-size:var(--text-note);line-height:18px}
@media(pointer:coarse){#addWatch,#watchlist .sort select{min-height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}#addWatch{transition:none}}
#brief>p,#brief>h3{margin-left:26px;margin-right:26px}
.calendar-day.up b{color:var(--up)}
.calendar-day.down b{color:var(--down)}
#brief li{font-size:var(--text-note);line-height:1.8;margin-bottom:8px}
#brief ul{padding-left:17px}
#gate{max-width:650px;margin:30px auto;padding:24px}
#gate input,#refresh{padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:white;color:inherit}
#watchStatus{margin:0 26px;color:var(--muted);font-size:var(--text-note)}
.watch-row>button{border:1px solid var(--line);border-radius:6px;background:white;color:#536b78;padding:7px 10px}
@media(max-width:700px){.watch-row>button{grid-column:3;grid-row:2}.heading{gap:12px;flex-wrap:wrap}.heading #sync{display:block;margin-bottom:8px}nav{flex-wrap:wrap;gap:12px}}
/* Consistent reading rhythm; numeric emphasis stays compact. */
body{line-height:1.6}
.calendar-day b{line-height:1.45;font-variant-numeric:tabular-nums}
.calendar-day small{line-height:1.5}
#watchSearchResults{max-height:230px;overflow-y:auto;margin-top:8px}
.watch-search-result{display:block;width:100%;text-align:left;padding:10px 12px;margin:5px 0;border:1px solid var(--line);border-radius:6px;background:#f8fafb;color:inherit}
.watch-search-result:hover:not(:disabled){background:#edf4f4;border-color:var(--accent)}
.watch-search-result small{display:block;font-size:var(--text-note);color:var(--muted);line-height:1.6}
.watch-search-result:disabled{opacity:.6;cursor:default}
.watch-row small,.sub{line-height:1.6}

