*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;background:var(--btmp-bg);color:var(--btmp-text)}
a{color:var(--btmp-primary);text-decoration:none}
a:hover{text-decoration:underline}
button,input,select{font:inherit}
button{cursor:pointer;background:var(--btmp-surface);border:1px solid var(--btmp-line);border-radius:6px;padding:5px 9px;color:var(--btmp-text-subtle)}
button:disabled{cursor:default;opacity:.5}
input,select{border:1px solid var(--btmp-line);border-radius:6px;padding:5px;background:var(--btmp-surface);color:var(--btmp-text-subtle)}
small,.review-muted{font-size:.8rem;color:var(--btmp-text-muted)}
.review-home,.btmp-home-daybar{max-width:1480px;margin:20px auto;padding:0 24px}
.review-home{margin-top:0}
.btmp-home-daybar{margin-top:22px;margin-bottom:16px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:.85rem}
.btmp-home-daybar strong{font-size:23px;font-weight:600;letter-spacing:.01em}
.review-latest-day{align-self:baseline}
.btmp-home-daybar{align-items:baseline}
.btmp-home-daybar-state{font-size:12px;color:var(--btmp-text-muted)}
.btmp-home-daybar form{display:flex;gap:5px}
.review-month-selector{margin-left:auto;font-size:14px}
.review-month-selector select:focus-visible{outline:2px solid var(--btmp-primary);outline-offset:2px}
.btmp-home-card{height:auto;overflow:visible;padding:18px;box-shadow:none;min-width:0;margin:0}
.bh-title{font-size:17px;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.bh-title small{font-size:12px;font-weight:400}
.review-calendar{padding:16px 18px;margin-bottom:18px}
.review-calendar-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) repeat(2,minmax(0,.45fr));gap:4px}
.weekday{text-align:center;color:var(--btmp-text-muted);font-size:.75rem;padding:0 0 5px}
.calendar-day{padding:5px 8px;min-height:48px;border:1px solid transparent;border-radius:5px;display:flex;flex-direction:column;align-items:stretch;gap:2px;color:var(--btmp-text-subtle);background:var(--btmp-surface-muted);font-size:13px}
.calendar-day small{font-size:12px}
.calendar-summary{display:flex;align-items:center;gap:4px;min-width:0}
.calendar-date,.calendar-count,.calendar-divider{flex-shrink:0;white-space:nowrap}
.calendar-date{margin-right:3px;font-size:13px;color:var(--btmp-text)}
.calendar-count[aria-label]{color:var(--btmp-calendar-count)}
.calendar-divider{color:var(--btmp-text-muted);font-size:.72rem}
.calendar-themes{display:flex;flex-wrap:wrap;gap:2px 7px;color:var(--btmp-text-muted);font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.calendar-themes>span{flex-shrink:1;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:transparent;color:var(--btmp-text-muted);padding:1px 0}
.calendar-themes>span{font-weight:600;color:var(--btmp-calendar-theme)}
.calendar-series{flex-shrink:0;white-space:nowrap;background:transparent;color:var(--btmp-calendar-series);font-weight:600;border-radius:4px;padding:2px 5px;font-size:12px}
.calendar-leader-stocks{display:flex;align-items:center;gap:3px;min-width:0;font-size:12px;color:var(--btmp-text-subtle)}
.calendar-leader-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendar-leader-stocks small{flex-shrink:0}
.calendar-day:hover,.calendar-day:focus-visible{text-decoration:none;border-color:var(--btmp-primary);box-shadow:0 0 0 1px var(--btmp-focus)}
.calendar-day:nth-child(7n+6) .calendar-summary,.calendar-day:nth-child(7n+7) .calendar-summary{flex-wrap:wrap;justify-content:center;gap:2px}
.calendar-day.selected{outline:2px solid var(--btmp-primary);outline-offset:-1px}
.calendar-day.disabled{background:transparent;border-color:transparent;color:var(--btmp-text-muted)}
.calendar-day.disabled .calendar-date{color:var(--btmp-text-muted)}
.review-home-columns{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;align-items:start}
.review-main,.review-personal{display:flex;flex-direction:column;gap:18px;min-width:0}
.review-main .btmp-home-market-bar{margin:0;max-width:none;padding:12px 16px;box-shadow:none;gap:10px 20px}
.review-main .btmp-home-market-bar .mb-date{min-width:0;font-size:12px}
.review-main .btmp-home-market-bar .mb-cell{flex-direction:row;align-items:baseline;gap:7px}
.review-main .btmp-home-market-bar .mb-value{font-size:15px}
.review-main .btmp-home-market-bar .mb-missing{margin-left:auto;font-size:12px;color:var(--btmp-text-muted)}
.mb-missing summary{cursor:pointer}
.mb-missing p{margin:7px 0;max-width:280px;line-height:1.7}
.bh-ladder-table-wrap{overflow-x:auto}
.bh-ladder-table{border-collapse:collapse;min-width:100%;font-size:14px}
.bh-ladder-table th,.bh-ladder-table td{border-bottom:1px solid var(--btmp-line);padding:9px;vertical-align:top;min-width:124px}
.bh-ladder-table th{background:var(--btmp-surface-muted);font-weight:500;text-align:left}
.bh-ladder-table thead th{font-size:13px;color:var(--btmp-text);font-weight:600}
.bh-ladder-table thead small{font-weight:400;margin-left:3px;font-variant-numeric:tabular-nums}
.bh-ladder-table tbody th{font-size:13px;color:var(--btmp-text-subtle)}
.bh-ladder-table th:first-child{min-width:44px;width:44px;font-variant-numeric:tabular-nums;white-space:nowrap;position:sticky;left:0;background:var(--btmp-surface-muted)}
.btmp-home-ladder>.bh-title{margin-bottom:8px}
.btmp-home-ladder>.bh-title>span{font-size:20px}
#bh-ladder-body>p{margin:0 0 14px;font-size:12px}
.review-ladder-nav{display:flex;align-items:center;gap:5px;margin-left:auto}
.review-ladder-nav[hidden]{display:none}
.review-ladder-nav button{font-size:12px;padding:4px 8px;min-height:28px}
.review-stock{display:flex;align-items:center;gap:4px;white-space:nowrap;line-height:29px}
.review-stock a.bh-ladder-stock{color:var(--btmp-text);font-size:14px;font-weight:400}
/* Keep the same glyphs/size as regular stock names; tilt without an italic font substitution. */
.btmp-home-ladder a.is-20cm,.review-next-day-legend i{font-style:normal;display:inline-block;transform:skewX(-10deg)}
.review-stock a.is-one-word{text-decoration:underline;text-underline-offset:3px}
.review-stock a.next-day-limit,.review-next-day-legend .next-day-limit{color:var(--btmp-up)}
.review-stock a.next-day-touch,.review-next-day-legend .next-day-touch{color:var(--btmp-warn)}
.review-stock a.next-day-drop,.review-next-day-legend .next-day-drop{color:var(--btmp-down)}
.review-next-day-legend{display:flex;flex-wrap:wrap;gap:5px 12px;font-size:12px;color:var(--btmp-text-muted);margin:0 0 12px}
.review-star{border:0;background:none;color:var(--btmp-text-muted);padding:0 4px;font-size:12px;line-height:24px;min-width:22px}
.review-star[aria-pressed="true"]{color:var(--btmp-favorite)}
.review-star:focus-visible{outline:2px solid var(--btmp-primary);outline-offset:1px}
.review-stock-info{position:fixed;z-index:10000;white-space:pre-line;background:var(--btmp-text);color:var(--btmp-surface);border-radius:7px;box-shadow:0 4px 15px #0002;padding:12px;font-size:12px;line-height:1.7;pointer-events:none;max-width:340px}
.review-broken{margin-top:14px;color:var(--btmp-text-muted);font-size:.8rem}
.review-broken p{line-height:2}
.review-theme-row{display:grid;grid-template-columns:minmax(100px,1fr) auto minmax(150px,2fr) auto;gap:14px;padding:13px 0;border-top:1px solid var(--btmp-line-soft);align-items:center;font-size:.83rem}
.review-theme-more summary{cursor:pointer;color:var(--btmp-primary);font-size:.83rem;padding:12px 0}
.review-theme-more:not([open]) .review-theme-collapse,.review-theme-more[open] .review-theme-expand{display:none}
.review-tag{font-size:.75rem;background:var(--btmp-surface-muted);color:var(--btmp-text-muted);border-radius:5px;padding:3px 7px}
.review-summary-item{padding:14px 0;border-top:1px solid var(--btmp-line-soft);font-size:.85rem}
.review-summary-item p{white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--btmp-text-muted);line-height:1.6;margin:8px 0}
.review-summary-item button{font-size:.75rem;float:right}
.review-summary-item button[data-plan-edit]{padding:0;border:0;background:none;color:var(--btmp-primary)}
.review-personal .btmp-home-card{padding:17px}
.review-personal>.btmp-home-card{background:var(--btmp-surface)}
.home-personal-body{background:var(--btmp-bg);border:1px solid var(--btmp-line-soft);border-radius:8px;padding:12px;font-size:.85rem;overflow-wrap:anywhere}
.home-personal-body>p:first-child{margin-top:0}
.home-personal-body>a:last-child{display:block;margin-top:12px}
.review-personal .bh-title{font-size:15px}
.review-personal .btmp-home-card>a{font-size:.85rem;margin-top:12px}
.review-lhb{display:block}
.review-lhb summary{cursor:pointer;font-weight:500}
.review-lhb summary small{margin-left:8px}
.review-lhb-table{overflow:auto;max-height:480px;margin-top:14px}
.review-lhb table{width:100%;border-collapse:collapse;font-size:.8rem}
.review-lhb th,.review-lhb td{padding:10px 8px;border-bottom:1px solid var(--btmp-line-soft);text-align:left;min-width:110px}
.review-lhb th{background:var(--btmp-surface-muted);position:sticky;top:0}
.review-lhb td:nth-child(n+3){min-width:180px}
.home-journal-date,.home-trades .trade-date,#home-plan-date{font-size:.8rem;max-width:100%;color:var(--btmp-text-subtle)}
.home-journal-date:disabled{color:var(--btmp-text-muted)}
.home-journal-dialog h2 .home-journal-date{font-size:12px;font-weight:400;width:140px}
.calendar-day:nth-child(7n+6),.calendar-day:nth-child(7n+7){flex-direction:column;gap:2px;padding:5px 2px}
.review-message{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:10001;border-radius:7px;background:var(--btmp-text);color:var(--btmp-surface);font-size:.85rem;padding:9px 15px}
.review-message:empty{display:none}
.review-theme-members{display:flex;flex-wrap:wrap;gap:8px 24px}
.review-detail{max-width:1440px;margin:24px auto;padding:0 24px;display:flex;flex-direction:column;gap:20px}
.review-detail h1{font-size:1.4rem;margin:0}
.review-detail .btmp-home-market-bar{margin:0}
.review-detail summary{cursor:pointer}
.btmp-footer{text-align:center;margin:28px;color:var(--btmp-text-muted);font-size:.75rem}
.btmp-footer p{max-width:640px;margin:0 auto 8px;line-height:1.8}
.btmp-footer a{color:inherit}
@media(max-width:1000px){
.review-home-columns{grid-template-columns:1fr}
.review-personal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.review-main .btmp-home-market-bar .mb-missing{margin-left:0}
}
@media(max-width:700px){
.btmp-home-card,.review-calendar{padding:12px}
.review-calendar-grid{gap:3px}
.calendar-day{gap:2px;padding:3px 2px;min-height:52px}
.calendar-summary{display:grid;grid-template-columns:auto auto auto minmax(0,1fr);gap:3px}
.calendar-date{grid-column:1/-1;text-align:center;margin:0}
.calendar-themes{font-size:11px;justify-content:center}
.calendar-themes>span{padding:1px 3px}
.calendar-leader-stocks{max-width:100%;font-size:11px}
.calendar-series{font-size:11px;padding:1px 3px;text-align:center}
.review-theme-row{grid-template-columns:1fr auto}
.review-theme-row .review-muted{grid-column:1}
.btmp-home-daybar-state{font-size:12px;margin-left:0}
.review-home,.btmp-home-daybar,.review-detail{padding:0 12px}
.review-personal{display:flex}
.btmp-home-ladder>.bh-title>span{font-size:18px}
.bh-title{font-size:.9rem}
.calendar-day small{font-size:11px}
}
.home-personal-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.home-personal-heading button{font-size:12px}
.home-journal-entry { display: block; padding: 10px 0; border-top: 1px solid var(--btmp-line-soft); color: var(--btmp-text); text-decoration: none; }
.home-journal-entry b { display: flex; justify-content: space-between; gap: 8px; font-size: 14px; }
.home-journal-entry p { margin: 7px 0 0; color: var(--btmp-text-subtle); font-size: 14px; line-height: 1.8; white-space: pre-wrap; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.home-journal .bh-title small { color: var(--btmp-text-muted); font-size: 12px; font-weight: 400; }

@media(max-width:600px){
.calendar-summary{grid-template-columns:minmax(0,1fr) auto auto;text-align:center}
.calendar-count-label{display:none}
.calendar-leader-stocks{grid-column:1/-1;justify-content:center}
}

/* Review workspace: one date context, compact overview, then the daily ladder. */
.review-day-heading{display:flex;align-items:baseline;gap:12px}
.review-day-heading>span{font-size:12px;color:var(--btmp-text-muted);letter-spacing:.08em}
.review-home>.btmp-home-market-bar{max-width:none;margin:0 0 14px;padding:13px 18px;gap:12px 24px}
.review-home>.btmp-home-market-bar .mb-date{min-width:0;font-size:12px}
.review-home>.btmp-home-market-bar .mb-cell{flex-direction:row;align-items:baseline;gap:8px}
.review-home>.btmp-home-market-bar .mb-value{font-size:15px}
.review-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.review-calendar-heading>div{display:flex;align-items:baseline;gap:12px}
.review-calendar-heading b{font-size:14px;font-weight:600}
.review-calendar-heading span{font-size:12px;color:var(--btmp-text-muted)}
.review-calendar-heading button{font-size:12px;background:transparent;white-space:nowrap}
.review-calendar-grid[hidden]{display:none}
.review-calendar:has(.review-calendar-grid[hidden]) .review-calendar-heading{margin-bottom:0}
.calendar-day.disabled{min-height:32px}
/* Match the Thursday cell's right edge: calendar inset 19px, six 4px gaps,
   then Friday/Saturday/Sunday tracks (1 + .45 + .45) and the right three gaps. */
.review-home-columns{grid-template-columns:minmax(0,1fr) calc((100% - 62px) * 1.9 / 5.9 + 31px);gap:18px}
@media(min-width:1001px) and (pointer:fine){
  .review-home .bh-ladder-table th:not(:first-child),.review-home .bh-ladder-table td{min-width:128px}
}
.home-date-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--btmp-text-muted);margin:0 0 12px}
.home-date-label input{min-width:0;max-width:155px;font-size:12px}
.home-date-context{font-size:12px;line-height:1.7;color:var(--btmp-warn);margin:0 0 12px}
.home-date-context[hidden]{display:none}
.home-date-context button{border:0;background:none;padding:0 0 0 8px;font-size:12px;text-decoration:underline;color:var(--btmp-primary)}
.home-personal-body{border:0;padding:12px;border-radius:6px}
.home-journal-entry:first-child{border-top:0;padding-top:0}
.home-journal-entry p{font-size:14px;line-height:1.8;-webkit-line-clamp:4;min-height:50px}
.home-journal-entry b{font-size:13px}
.home-personal-body>a:last-child{font-size:12px;color:var(--btmp-text-muted)}
@media(max-width:1000px){.review-home-columns{grid-template-columns:1fr}}
@media(max-width:700px){
  .review-day-heading{gap:8px}
  .btmp-home-daybar{gap:10px;margin-top:18px}
  .btmp-home-daybar strong{font-size:21px}
  .review-latest-day{font-size:12px}
  .review-calendar-heading>div{display:block}
  .review-calendar-heading span{display:block;margin-top:4px;font-size:11px}
  .review-home>.btmp-home-market-bar{padding:12px;gap:10px 15px}
  .review-home>.btmp-home-market-bar .mb-date{width:100%}
  .review-home>.btmp-home-market-bar .mb-value{font-size:14px}
}
.review-calendar-heading .review-calendar-modes{display:flex;gap:3px;background:var(--btmp-surface-muted);padding:3px;border-radius:8px;flex-shrink:0}
.review-calendar-modes button{border-color:transparent;padding:4px 10px}
.review-calendar-modes button[aria-pressed="true"]{background:var(--btmp-surface);border-color:var(--btmp-line);color:var(--btmp-text)}
.review-calendar[data-mode="simple"] .calendar-summary>:not(.calendar-date),.review-calendar[data-mode="simple"] .calendar-themes{display:none}
.review-calendar[data-mode="simple"] .calendar-day{min-height:30px;padding:4px 8px;justify-content:center;align-items:center}
.review-calendar[data-mode="simple"] .calendar-summary{display:block}
.review-calendar[data-mode="simple"] .calendar-date{margin:0;font-size:13px}
.home-trades [data-trade-list]{min-height:170px}
@media(min-width:701px) and (max-width:1000px){.review-personal{display:flex}}
