/* Gamify / Atelier finish — cohesive, theme-aware editorial surfaces */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Sans:wght@400;500;600;700&display=swap');
:root{--font-display:'Instrument Sans','DM Sans',sans-serif;--lux-radius:15px}
body{font-feature-settings:'ss01' on;letter-spacing:-.012em}
h1,h2,h3,.brand-wordmark,.brand,.hero-pnl,.metric{font-family:var(--font-display)!important}
h1{letter-spacing:-.065em!important;font-weight:600!important}h2,h3{letter-spacing:-.045em!important;font-weight:600!important}
button,a,input,textarea,select{transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}
button:not(:disabled):hover{transform:translateY(-1px)}
.card,.trade-card,.session-hero,.session-metrics>div,.premarket-card,.reflection-card,.routine-item,.milestone-goal{border-radius:var(--lux-radius)!important;border-color:color-mix(in srgb,var(--line) 86%,transparent)!important;box-shadow:0 1px 1px #00000005,0 12px 32px #00000008}
.card{padding:clamp(20px,2.6vw,34px)}
.eyebrow,.nav-caption{font-size:10px!important;letter-spacing:.17em!important;font-weight:650!important;text-transform:uppercase}
.hero-performance.card{border-radius:19px!important;box-shadow:0 20px 60px #00000014,inset 0 1px 0 #ffffff0b!important}
.hero-performance .hero-pnl{font-family:'Instrument Sans','DM Sans',sans-serif!important;font-weight:650!important;font-size:clamp(52px,6vw,82px)!important;letter-spacing:-.075em!important;line-height:1.02!important;font-variant-numeric:tabular-nums lining-nums}
.hero-performance .hero-pnl.positive{color:#22b889!important}
.hero-performance .hero-pnl.negative{color:#ed6471!important}
.hero-performance .hero-pnl:not(.positive):not(.negative):not(.is-hidden){color:var(--text)!important}
.hero-performance .hero-pnl.is-hidden{color:var(--muted)!important}
.hero-performance[data-trend='positive']{--equity-color:#22b889}.hero-performance[data-trend='negative']{--equity-color:#ed6471}
.hero-performance .pnl-caption{font-size:11px!important;letter-spacing:.015em!important}
.hero-performance .pnl-chart-footer{border-top:1px solid color-mix(in srgb,var(--line) 65%,transparent);padding-top:13px}
#weeklyReviewDialog{width:min(880px,calc(100vw - 24px))!important;border:1px solid var(--line)!important;border-radius:20px!important;padding:clamp(23px,4vw,46px)!important;box-shadow:0 30px 110px #0008!important}
#weeklyReviewDialog .row:first-child{align-items:start!important;padding-bottom:23px;border-bottom:1px solid var(--line)}
#weeklyReviewTitle{font-family:var(--font-display)!important;font-size:clamp(30px,4vw,43px)!important;letter-spacing:-.06em!important;margin:10px 0 6px!important}
#weeklyReviewDialog form>p.muted{max-width:580px;line-height:1.75;font-size:12px;margin-top:20px}
.weekly-review-fields{gap:14px!important;margin:27px 0!important}
.weekly-review-fields label{font-size:12px!important;font-weight:650!important;gap:11px!important;background:color-mix(in srgb,var(--panel2) 62%,var(--panel));border:1px solid var(--line);border-radius:12px;padding:18px;letter-spacing:-.01em}
.weekly-review-fields label:focus-within{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent)}
.weekly-review-fields textarea{border:1px solid transparent!important;background:transparent!important;box-shadow:none!important;outline:none!important;padding:0!important;font-size:12px!important;font-weight:400!important;line-height:1.8!important;min-height:110px!important;resize:vertical}
.weekly-review-fields textarea::placeholder{color:var(--muted);opacity:.68}
.weekly-review-footer{padding-top:23px!important}
.weekly-review-button{position:relative;overflow:hidden;border-radius:11px!important;padding:14px!important;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 8%,var(--panel)),var(--panel))!important;min-height:96px;transition:transform .2s,border-color .2s,box-shadow .2s}
.weekly-review-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000012}
.weekly-review-button strong{font-family:var(--font-display);font-size:12px!important;font-weight:700!important;letter-spacing:-.025em}
.weekly-review-button small{font-size:10px!important;line-height:1.55!important}
.weekly-review-button .review-mark{font-size:21px!important}
.weekly-review-button.review-written{background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 13%,var(--panel)),var(--panel))!important}
.calendar-day,.trade-card,.feature-grid article,.price-card{transition:transform .2s,border-color .2s,box-shadow .2s}
.calendar-day:hover,.trade-card:hover{box-shadow:0 8px 24px #00000010}
input,textarea,select{border-radius:9px!important}
@media(max-width:700px){.hero-performance .hero-pnl{font-size:clamp(43px,10vw,62px)!important}.weekly-review-fields{grid-template-columns:1fr!important}.weekly-review-fields label{padding:14px}.weekly-review-button{min-height:0}}
@media(prefers-reduced-motion:reduce){button,.calendar-day,.trade-card,.weekly-review-button{transition:none!important}}
