:root{--bg:#f5f6f2;--surface:#fff;--ink:#183132;--muted:#697877;--line:#e4e9e3;--green:#377c61;--lime:#c4ed90;--nav:#102b2b;--red:#b94c48;--amber:#93621f;--radius:16px;--shadow:0 12px 38px #17352b0a;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #77ad60;outline-offset:3px}h1,h2,h3,h4,p{margin:0}h1,h2,h3{letter-spacing:-.035em}p{line-height:1.65}svg{display:inline-block;vertical-align:middle;flex-shrink:0}button svg{pointer-events:none}button{color:inherit}button:active{transform:translateY(1px)}.skip-link{position:fixed;top:-60px;left:20px;z-index:99;background:white;padding:14px;border-radius:10px}.skip-link:focus{top:12px}.boot{min-height:90vh;display:grid;place-content:center;text-align:center;gap:14px}.boot-mark{font-size:50px;color:var(--green)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:236px minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:var(--nav);color:#d5e0da;display:flex;flex-direction:column;padding:32px 20px 20px;z-index:30}.brand{display:flex;align-items:center;gap:11px;padding:0 9px 34px;color:white}.brand:hover{text-decoration:none}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--lime);color:var(--nav)}.brand-title{font-size:17px;font-weight:750;letter-spacing:-.7px}.brand-sub{font-size:10px;letter-spacing:2.1px;color:#94aaa2;display:block;margin-top:4px}.nav-label{font-size:10px;font-weight:650;letter-spacing:1.8px;color:#809b93;padding:14px 14px 10px}.nav-list{display:grid;gap:6px}.nav-item{background:transparent;border:0;display:flex;align-items:center;gap:12px;border-radius:9px;padding:13px 15px;width:100%;text-align:left;color:#b9cdc5;font-size:13px;font-weight:500;min-height:44px}.nav-item:hover{background:#ffffff09;color:white}.nav-item.active{background:#c4ed9016;color:var(--lime)}.nav-item.active:after{content:'';width:5px;height:5px;border-radius:50%;background:var(--lime);margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:24px}.workspace-card{border:1px solid #ffffff18;border-radius:12px;padding:15px;margin:0 4px 14px}.workspace-card span{font-size:11px;color:var(--lime);display:flex;gap:7px;align-items:center}.workspace-card p{font-size:11px;color:#8fa99e;margin-top:7px;line-height:1.6}.profile{border-top:1px solid #ffffff14;display:flex;align-items:center;gap:10px;padding:20px 9px 0}.avatar{width:34px;height:34px;border-radius:50%;background:#294440;color:#c5dfc1;display:grid;place-items:center;font-size:12px;font-weight:700}.profile-text{font-size:12px;flex:1}.profile-text small{color:#8ba69d;display:block;font-size:10px;margin-top:4px}.main-shell{grid-column:2;min-width:0}.topbar{height:85px;border-bottom:1px solid var(--line);padding:0 38px;display:flex;align-items:center;gap:22px;background:#ffffffa8}.breadcrumb{font-size:12px;color:var(--muted);white-space:nowrap}.breadcrumb span{color:var(--ink);font-weight:600;margin-left:10px}.topbar-right{display:flex;gap:15px;align-items:center;margin-left:auto}.search-button{display:flex;align-items:center;gap:10px;color:#89918a;border:1px solid var(--line);background:white;border-radius:8px;padding:10px 12px;font-size:11px;width:214px}.search-button kbd{margin-left:auto;font-family:inherit;background:#f3f5f0;font-size:9px;padding:2px 4px;border-radius:3px}.save-status{font-size:10px;color:var(--muted);display:flex;gap:6px;align-items:center}.save-status .dot{background:#7e9e75;width:5px;height:5px;border-radius:50%}.icon-button{display:inline-grid;place-items:center;background:transparent;border:1px solid var(--line);width:36px;height:36px;border-radius:8px}.icon-button:hover{background:#edf2e9}.menu-button{display:none}.main-content{max-width:1530px;margin:0 auto;padding:34px 38px 36px}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;text-transform:uppercase;color:var(--green);display:flex;align-items:center;gap:7px;margin-bottom:9px}.eyebrow .dot{width:5px;height:5px;border-radius:50%;background:var(--green)}h1{font-size:30px;line-height:1.2;font-weight:650}.page-heading p{font-size:12px;color:var(--muted);margin-top:8px}.date-label{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px;white-space:nowrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;border:1px solid transparent;padding:11px 16px;min-height:42px;border-radius:8px;font-size:12px;font-weight:600;text-decoration:none;line-height:1.3}.button:hover{text-decoration:none}.button.primary{background:var(--nav);color:#fff}.button.primary:hover{background:#254943}.button.lime{background:var(--lime);color:var(--nav)}.button.lime:hover{background:#d0f4a6}.button.secondary{background:#fff;border-color:var(--line)}.button.secondary:hover{background:#f0f5eb}.button.ghost{color:var(--green);background:transparent;padding-left:0;padding-right:0;min-height:32px}.button.danger{background:#fbebea;color:var(--red)}.button.small{padding:8px 12px;min-height:34px;font-size:11px}.button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.text-link{background:none;border:0;padding:4px 0;font-size:11px;font-weight:600;color:var(--green);display:inline-flex;align-items:center;gap:6px}.text-link:hover{text-decoration:underline}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.section-title h2{font-size:17px;font-weight:650}.section-title p{font-size:11px;color:var(--muted);margin-top:5px}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:23px;box-shadow:var(--shadow)}.card.flat{box-shadow:none}.card h3{font-size:16px}.card p{font-size:12px;color:var(--muted)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);gap:20px;margin-bottom:22px}.hero{background:#e8eddf;border:1px solid #dce4d1;min-height:286px;border-radius:var(--radius);padding:30px 32px;position:relative;overflow:hidden;display:flex;align-items:center}.hero-content{max-width:65%;position:relative;z-index:1}.hero .eyebrow{font-size:9px;margin-bottom:15px}.hero h2{font-size:34px;line-height:1.14;font-weight:600;letter-spacing:-1.5px}.hero p{max-width:310px;color:#687564;font-size:12px;margin-top:14px;line-height:1.7}.hero .button{margin-top:22px}.hero-art{position:absolute;right:20px;top:30px;bottom:30px;width:32%;display:flex;flex-direction:column;justify-content:center}.chart-illustration{width:100%;height:auto;overflow:visible}.art-caption{text-align:center;font-size:8px;color:#7d8e75;letter-spacing:.8px;margin-top:14px}.market-card{background:var(--nav);color:white;border:0;display:flex;flex-direction:column;min-height:286px;padding:25px}.market-card .eyebrow{color:#9eb6a7;font-size:9px;letter-spacing:1.5px}.market-status{font-size:9px;letter-spacing:.3px;background:#ffffff12;border:1px solid #ffffff17;color:#b6ccc1;padding:5px 8px;border-radius:4px;white-space:nowrap}.market-status.open{color:var(--lime)}.market-title{display:flex;align-items:center;justify-content:space-between;gap:7px}.market-clock{display:flex;justify-content:space-between;gap:15px;margin-top:27px}.market-clock label{font-size:9px;color:#a0b5ac;display:block;margin-bottom:8px;letter-spacing:.7px}.market-clock strong{font-size:27px;font-weight:400;letter-spacing:-1px;white-space:nowrap}.market-clock small{font-size:10px;color:#a0b5ac;display:block;margin-top:5px}.market-clock .divider{width:1px;background:#ffffff19}.market-foot{margin-top:auto;padding-top:22px;border-top:1px solid #ffffff14;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#a5bbae}.market-foot button{color:var(--lime)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:30px}.stat-card{padding:19px 20px;display:flex;gap:12px;align-items:flex-start}.stat-icon{display:grid;place-items:center;width:34px;height:34px;background:#f0f4eb;border-radius:9px;color:#5e846b}.stat-body{min-width:0}.stat-label{font-size:10px;color:var(--muted);margin-top:1px}.stat-value{font-size:26px;letter-spacing:-1px;font-weight:550;margin-top:8px;line-height:1}.stat-detail{font-size:9px;color:#87938b;margin-top:9px;line-height:1.5}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.overview-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:24px}.lesson-feature{display:grid;grid-template-columns:108px minmax(0,1fr);gap:22px;padding:22px;align-items:center}.lesson-art{height:111px;border-radius:10px;background:#f1f3e9;display:flex;align-items:center;justify-content:center;color:var(--green)}.lesson-feature h3{font-size:18px;line-height:1.3;margin-top:8px}.lesson-feature p{font-size:11px;margin-top:8px}.lesson-feature .meta{margin-top:13px}.lesson-feature .text-link{margin-top:7px}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:4px;background:#eff4e8;color:#628154;font-size:9px;font-weight:600;line-height:1.3}.badge.day{background:#e9eef8;color:#5c729e}.badge.swing{background:#f7f0e0;color:#99772d}.badge.position{background:#f2ebf7;color:#8e68a4}.badge.risk{background:#f8eae7;color:#a5705c}.badge.neutral{background:#f0f2ef;color:#768278}.meta{display:flex;gap:11px;align-items:center;font-size:10px;color:#809085;flex-wrap:wrap}.meta span{display:inline-flex;gap:5px;align-items:center}.progress-track{height:5px;background:#eaf0e5;border-radius:9px;overflow:hidden}.progress-track>span{display:block;background:var(--green);height:100%;border-radius:9px}.journey-card{margin-top:16px;padding:19px 22px}.progress-heading{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-bottom:11px}.progress-heading span:last-child{font-size:10px;color:var(--muted)}.journey-steps{display:flex;gap:5px;justify-content:space-between;margin-top:15px}.journey-step{font-size:9px;color:#8b978c;display:flex;align-items:center;gap:5px}.journey-step i{font-style:normal;border:1px solid #dce5d6;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;font-size:8px}.journey-step.active{color:var(--green)}.journey-step.active i{background:var(--green);border-color:var(--green);color:white}.routine-card{padding:6px 20px 12px}.routine-row{display:flex;gap:12px;align-items:center;border-bottom:1px solid #edf0e9;padding:16px 0}.routine-row:last-child{border:0}.routine-check{width:21px;height:21px;border:1px solid #d6dfd1;border-radius:6px;display:grid;place-items:center;flex-shrink:0;background:#fff;color:transparent}.routine-check.checked{background:var(--green);border-color:var(--green);color:white}.routine-copy{flex:1}.routine-copy strong{font-size:11px;font-weight:600}.routine-copy small{display:block;color:#8b958c;font-size:9px;margin-top:4px;line-height:1.5}.routine-arrow{background:none;border:0;color:#99aa9b;padding:7px}.bottom-banner{display:flex;align-items:center;gap:13px;background:#ecf1e8;border:1px solid #e0e7da;border-radius:10px;padding:13px 17px;margin-top:24px;color:#6b8064}.bottom-banner p{font-size:10px;line-height:1.6;flex:1}.bottom-banner strong{color:#526a4c}.app-footer{font-size:9px;color:#97a196;display:flex;justify-content:space-between;gap:12px;margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}.app-footer button{font-size:9px;color:#7f8e7b;background:none;border:0;padding:0}
.tabs{display:flex;gap:5px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:23px}.tab{border:1px solid transparent;background:none;padding:9px 14px;font-size:11px;border-radius:7px;color:var(--muted);min-height:36px}.tab.active{background:var(--nav);color:#fff}.tab:hover{background:#e6eddf;color:var(--ink)}.tab.active:hover{background:var(--nav);color:white}.tab .count{font-size:9px;margin-left:6px;opacity:.6}.toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.search-field{display:flex;align-items:center;gap:8px;background:white;border:1px solid var(--line);border-radius:8px;padding:0 11px;min-width:230px}.search-field input{border:0;background:transparent;width:100%;padding:11px 0;font-size:11px;outline:0}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.course-card{padding:22px;display:flex;flex-direction:column;min-height:244px}.course-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.lesson-num{font-size:10px;font-family:monospace;color:#9aa795}.complete-mark{color:var(--green);font-size:10px;display:flex;align-items:center;gap:4px}.course-card h3{font-size:17px;line-height:1.35;margin-top:21px}.course-card p{font-size:11px;margin-top:10px;margin-bottom:20px;flex:1}.course-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:14px;border-top:1px solid var(--line)}.course-card .text-link{font-size:10px}.learning-summary{display:flex;gap:20px;align-items:center;margin-bottom:24px;padding:21px 24px;background:#edf2e6;border:1px solid #e1e9d7;border-radius:12px}.learning-summary .summary-copy{flex:1}.learning-summary h2{font-size:17px}.learning-summary p{font-size:11px;color:#73846b;margin-top:6px}.learning-summary .progress-track{margin-top:12px;max-width:440px}.learning-summary .summary-number{font-size:30px;letter-spacing:-1px;font-weight:600;color:var(--green)}.strategy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.strategy-card{padding:25px}.strategy-card .strategy-diagram{height:115px;background:#f5f7f1;border-radius:9px;display:flex;align-items:center;justify-content:center;margin:19px 0}.strategy-card h3{margin-top:16px;font-size:20px}.strategy-card p{margin-top:8px;font-size:12px}.strategy-card .meta{margin-bottom:18px}.strategy-card .button-row{margin-top:17px}.strategy-card.focused{border-color:#8aaa77;box-shadow:0 0 0 1px #8aaa7720}.two-col{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr);gap:24px;align-items:start}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field label,.field-label{font-size:11px;font-weight:600;color:#4a6259}.field input,.field select,.field textarea{width:100%;min-height:43px;padding:11px 12px;border:1px solid #dfe6da;background:white;border-radius:7px;font-size:12px;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{border-color:#8da97a;outline:2px solid #c3d8b53d;outline-offset:0}.field textarea{resize:vertical;min-height:86px;line-height:1.6}.field small{font-size:9px;line-height:1.5;color:#899780}.field.full{grid-column:1/-1}.input-affix{position:relative}.input-affix span{position:absolute;left:12px;top:12px;font-size:12px;color:#83917d}.input-affix input{padding-left:25px}.form-section{font-size:10px;font-weight:650;letter-spacing:1px;text-transform:uppercase;color:#85967a;margin:24px 0 15px;padding-top:20px;border-top:1px solid var(--line)}.form-section:first-child{padding-top:0;border:0;margin-top:0}.field-hint{font-size:10px;color:var(--muted);line-height:1.65;margin-top:15px}.planner-results{background:var(--nav);color:white;padding:28px;position:sticky;top:24px}.planner-results .eyebrow{color:#a3bea6}.quantity-value{font-size:57px;font-weight:400;letter-spacing:-2px;line-height:1.2;margin-top:22px}.quantity-value small{font-size:15px;letter-spacing:0;color:#a5b9aa;margin-left:8px}.planner-results p{font-size:11px;color:#a3bba9;line-height:1.7}.result-row{display:flex;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid #ffffff14;font-size:11px;color:#9db5a5}.result-row strong{color:white;font-weight:500;font-size:13px}.planner-results .button{width:100%;margin-top:24px}.planner-results .notice{background:#ffffff0a;border-color:#ffffff14;color:#bdd2be;font-size:10px;margin-top:18px}.checklist{display:grid;gap:11px;margin-top:20px}.checkline{display:flex;align-items:flex-start;gap:9px;font-size:11px;color:var(--muted);line-height:1.6}.checkline input{accent-color:var(--green);margin:3px 0 0;width:15px;height:15px;flex-shrink:0}.notice{border:1px solid #e3e9d9;border-radius:9px;padding:13px 15px;background:#f3f6ee;color:#79866e;font-size:11px;line-height:1.7}.notice.warn{background:#fbf5e9;border-color:#efdfbf;color:#9b783f}.notice.error{background:#fbefed;border-color:#f0d3ce;color:#a65245}.notice.info{background:#edf3f5;border-color:#dce8ed;color:#627f8d}.notice a{text-decoration:underline}.notice+.notice{margin-top:12px}.empty-state{padding:52px 25px;text-align:center;border:1px dashed #d5dfce;border-radius:14px;background:#fafbf7}.empty-state>svg{color:#8caa7d;margin-bottom:16px}.empty-state h3{font-size:20px;margin-bottom:9px}.empty-state p{max-width:420px;margin:0 auto 20px;font-size:12px;color:var(--muted)}.table-wrap{overflow-x:auto;background:white;border:1px solid var(--line);border-radius:12px}.data-table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:11px}.data-table th{background:#f7f9f3;font-size:9px;font-weight:600;color:#8a9980;letter-spacing:.3px;padding:14px 17px;border-bottom:1px solid var(--line)}.data-table td{padding:17px;border-bottom:1px solid #edf0e8;color:#627367}.data-table tr:last-child td{border:0}.data-table tr:hover td{background:#fafbf7}.data-table .symbol{font-weight:650;color:var(--ink)}.data-table .sub{display:block;font-size:9px;color:#99a390;margin-top:5px}.table-button{border:0;background:none;padding:7px;color:var(--green);border-radius:6px}.table-button:hover{background:#edf2e7}.journal-summary{display:flex;gap:25px;font-size:11px;color:var(--muted);margin-bottom:20px}.journal-summary strong{color:var(--ink);font-size:14px;margin-right:6px}.pill{padding:4px 7px;border:1px solid #e4e8de;border-radius:5px;font-size:9px}.pill.paper{color:var(--green);background:#f0f5eb}.pill.live{color:#a9762d;background:#fcf5e9}.mode-filter{display:flex;gap:4px;border:1px solid var(--line);border-radius:8px;padding:3px;background:white}.mode-filter button{border:0;background:none;border-radius:5px;padding:7px 12px;font-size:10px;color:var(--muted)}.mode-filter button.active{background:#eaf1e2;color:var(--green)}.chart-card{padding:24px;margin-bottom:23px}.chart-area{height:220px;position:relative;margin-top:12px}.chart-area svg{height:100%;width:100%;overflow:visible}.chart-labels{display:flex;justify-content:space-between;font-size:9px;color:#97a38d;padding-left:44px}.performance-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:23px}.metric-list{margin-top:16px}.metric-row{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);padding:14px 0;border-bottom:1px solid var(--line)}.metric-row:last-child{border:0}.metric-row strong{font-weight:600;color:var(--ink)}.bar-row{display:grid;grid-template-columns:120px minmax(60px,1fr) 70px;align-items:center;gap:12px;margin:19px 0;font-size:10px}.bar-row .bar{height:7px;background:#eff3e9;border-radius:6px;overflow:hidden}.bar-row .bar span{display:block;height:100%;background:#7ca05f;min-width:2px}.bar-row .bar span.negative{background:#d69880}.bar-row>strong{text-align:right;font-weight:550}.sample-banner{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #e5d8b6;background:#fbf7ec;padding:13px 17px;border-radius:9px;font-size:11px;color:#9b7c3e;margin-bottom:22px}.sample-banner strong{font-weight:650}.market-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,1.4fr);gap:23px}.market-grid .market-card{min-height:260px}.resource-list{display:grid;gap:12px}.resource-item{display:flex;gap:13px;align-items:center;padding:16px;background:white;border:1px solid var(--line);border-radius:10px;color:var(--ink)}.resource-item:hover{border-color:#b4c6a4;text-decoration:none}.resource-item .resource-icon{width:34px;height:34px;border-radius:9px;background:#f2f5ec;display:grid;place-items:center;color:var(--green)}.resource-item strong{font-size:12px;font-weight:600}.resource-item small{font-size:10px;color:var(--muted);display:block;line-height:1.6;margin-top:3px}.resource-item>svg:last-child{margin-left:auto;color:#95a58c}.watchlist{margin-top:15px}.watch-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.watch-row:last-child{border:0}.watch-ticker{width:47px;font-size:11px;font-weight:650}.watch-note{flex:1;font-size:10px;color:var(--muted);line-height:1.5;word-break:break-word}.watch-row a{font-size:10px}.watch-form{display:grid;grid-template-columns:90px 1fr auto;gap:8px;margin-top:17px}.watch-form input{border:1px solid var(--line);padding:10px;border-radius:7px;min-width:0;font-size:11px}.session-info{margin-top:20px;display:grid;gap:12px}.session-row{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted)}.session-row strong{font-weight:550;color:var(--ink)}.calendar-list{margin-top:18px}.calendar-item{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:12px 0;font-size:11px}.calendar-item span{color:var(--muted)}.glossary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.glossary-grid .card{padding:19px}.glossary-grid h3{font-size:14px}.glossary-grid p{font-size:11px;margin-top:7px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.settings-grid .card h2{font-size:18px;margin-bottom:9px}.settings-grid .card>p{font-size:11px;margin-bottom:21px}.settings-grid .button-row{margin-top:19px}.key-input{font-family:monospace!important;word-break:break-all;font-size:11px!important;min-height:66px!important}.settings-grid .form-grid{gap:13px}.settings-grid .field.full{grid-column:1/-1}.settings-grid .notice{font-size:10px;margin-top:17px}.install-steps{padding-left:18px;color:var(--muted);font-size:11px;line-height:1.9}.install-steps li{margin-bottom:9px}.install-steps strong{color:var(--ink);font-weight:600}.muted{color:var(--muted)}.mono{font-variant-numeric:tabular-nums}.hidden{display:none!important}.mt{margin-top:23px}.mb{margin-bottom:20px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.offline-strip{padding:8px 20px;text-align:center;background:#faf0db;color:#95702b;font-size:10px}.storage-error{background:#fbefed;border-bottom:1px solid #edcec8;color:var(--red);padding:12px 25px;font-size:11px}.drawer-backdrop{display:none}
dialog{border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 100px #0b211c3d;width:min(760px,calc(100% - 32px));max-height:90dvh;padding:0;color:var(--ink);background:#fff}dialog::backdrop{background:#0d272b88;backdrop-filter:blur(3px)}.modal-header{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;padding:25px 29px 19px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}.modal-header h2{font-size:23px;line-height:1.25;margin-top:8px}.modal-header .icon-button{flex-shrink:0}.modal-body{padding:26px 29px}.modal-body h3{font-size:16px;margin:25px 0 10px}.modal-body h3:first-child{margin-top:0}.modal-body p{font-size:13px;color:#68796d;line-height:1.85;white-space:pre-line}.modal-body ul,.modal-body ol{font-size:12px;color:#68796d;line-height:1.8;padding-left:21px}.modal-body li{margin:8px 0}.modal-body .notice{margin-top:22px}.takeaways{background:#f0f5e9;padding:20px 22px;border-radius:10px;margin:26px 0}.takeaways h3{font-size:14px;margin:0 0 10px}.takeaways ul{margin:0;font-size:12px}.source-links{padding-top:15px;border-top:1px solid var(--line);display:flex;gap:12px;flex-wrap:wrap}.source-links a{font-size:10px}.source-label{font-size:9px;color:#91a084;margin-bottom:12px}.quiz{margin-top:25px;border-top:1px solid var(--line);padding-top:25px}.quiz h3{margin:0 0 8px}.quiz .quiz-intro{font-size:11px}.quiz-question{border:0;margin:23px 0;padding:0;min-width:0}.quiz-question legend{font-size:12px;font-weight:600;line-height:1.6;margin-bottom:12px;padding:0}.quiz-option{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border:1px solid var(--line);border-radius:7px;font-size:12px;margin:7px 0;line-height:1.6;cursor:pointer}.quiz-option input{accent-color:var(--green);margin-top:3px}.quiz-option.correct{border-color:#9fbd88;background:#f1f7e9}.quiz-option.incorrect{border-color:#dbafa3;background:#fbf0ed}.quiz-explanation{font-size:11px!important;margin-top:10px}.quiz-result{padding:15px;background:#f0f6e9;border:1px solid #dce9d1;border-radius:9px;margin-bottom:17px;font-size:12px;line-height:1.7}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:24px}.strategy-detail .rule-list{list-style:none;padding:0}.rule-list li{display:flex;gap:10px}.rule-list li:before{content:'✓';color:var(--green);font-weight:650}.strategy-detail .avoid-list li:before{content:'—';color:var(--amber)}.chart-screenshot{display:block;width:100%;max-height:350px;object-fit:contain;border:1px solid var(--line);border-radius:8px;margin-top:15px}.search-results{display:grid;gap:8px;margin-top:17px}.search-result{display:flex;gap:12px;align-items:center;text-align:left;background:#f8faf4;border:1px solid var(--line);border-radius:8px;padding:13px;font-size:12px}.search-result small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.search-result>svg:last-child{margin-left:auto}.search-modal .search-field{padding:4px 12px}.search-modal .search-field input{font-size:14px}.toast{position:fixed;bottom:25px;left:calc(50% + 100px);transform:translateX(-50%);background:var(--nav);color:#e4f1df;box-shadow:0 8px 35px #17352b30;padding:14px 19px;border-radius:10px;font-size:12px;z-index:100;display:flex;align-items:center;gap:17px;max-width:calc(100% - 30px);line-height:1.5}.toast button{background:none;border:0;color:var(--lime);font-size:12px;font-weight:600}.session-help{font-size:10px;color:var(--muted);line-height:1.6;margin-top:14px}
@media(min-width:1550px){.main-content{padding-top:45px}.hero{min-height:310px}.hero h2{font-size:42px}.hero p{font-size:13px}.stats-grid{margin-bottom:34px}.hero-content{max-width:65%}.hero-art{width:30%;right:35px}.overview-grid{gap:28px}.topbar{padding-left:46px;padding-right:46px}}
@media(max-width:1180px){.app-shell{grid-template-columns:205px minmax(0,1fr)}.sidebar{width:205px;padding:28px 14px 18px}.brand{padding-left:6px;gap:9px}.brand-title{font-size:15px}.brand-mark{width:32px;height:32px}.brand-sub{font-size:8px}.nav-item{font-size:12px;padding:12px}.topbar{padding:0 25px;gap:12px}.search-button{width:180px}.main-content{padding:29px 25px}.hero{padding:26px}.hero h2{font-size:30px}.hero-content{max-width:70%}.hero-art{right:12px;width:28%}.hero-grid{grid-template-columns:minmax(0,1.6fr) minmax(254px,1fr);gap:16px}.market-card{padding:22px}.market-clock strong{font-size:23px}.stat-card{padding:16px 13px;gap:9px}.stat-value{font-size:24px}.stat-icon{width:29px;height:29px}.stat-label{font-size:9px}.stat-detail{font-size:8px}.overview-grid{grid-template-columns:minmax(0,1.4fr) minmax(254px,1fr);gap:18px}.lesson-feature{grid-template-columns:85px minmax(0,1fr);padding:19px;gap:16px}.lesson-art{height:95px}.lesson-feature h3{font-size:16px}.routine-card{padding:4px 17px 10px}.routine-copy small{font-size:8px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:minmax(0,1.1fr) minmax(270px,1fr);gap:18px}.planner-results{padding:24px}.market-grid{grid-template-columns:minmax(250px,1fr) minmax(0,1.3fr)}.save-status{display:none}}
@media(max-width:960px){.hero-grid{grid-template-columns:1fr}.hero{min-height:270px}.hero-content{max-width:64%}.hero-art{right:45px;width:25%}.hero h2{font-size:35px}.hero-grid>.market-card{min-height:auto;display:grid;grid-template-columns:1fr 1.5fr;gap:13px 25px;padding:22px}.hero-grid .market-clock{margin:0;grid-row:1/3;grid-column:2}.hero-grid .market-foot{padding:0;border:0;font-size:9px}.hero-grid .market-foot button{display:none}.hero-grid .market-title{flex-wrap:wrap}.hero-grid .market-title .eyebrow{margin:0}.hero-grid .market-status{font-size:8px}.hero-grid .market-clock strong{font-size:25px}.hero-grid .market-clock small{font-size:8px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:25px}.stat-card{padding:17px}.overview-grid,.two-col,.performance-grid,.market-grid{grid-template-columns:1fr}.overview-grid>section:last-child{margin-top:5px}.routine-card{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding:6px 20px}.routine-row:nth-child(3){border:0}.strategy-grid{gap:15px}.strategy-card{padding:20px}.strategy-card h3{font-size:18px}.planner-results{position:static}.settings-grid{grid-template-columns:1fr}.journal-summary{gap:15px}.toast{left:calc(50% + 75px)}.market-grid .market-card{min-height:250px}.date-label{display:none}}
@media(max-width:700px){.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:transform .2s ease;width:250px}.sidebar.open{transform:translateX(0)}.drawer-backdrop.open{display:block;position:fixed;inset:0;background:#0c222b6b;z-index:29}.brand-title{font-size:17px}.brand-mark{width:38px;height:38px}.brand-sub{font-size:10px}.sidebar .nav-item{padding:14px;font-size:13px}.topbar{height:68px;padding:0 20px;gap:12px}.breadcrumb{font-size:11px}.breadcrumb>svg{display:none}.breadcrumb span{margin-left:0}.menu-button{display:inline-grid;border:0;margin-left:-7px}.topbar-right{gap:10px}.search-button{width:35px;padding:8px;border:0;background:transparent}.search-button span,.search-button kbd{display:none}.main-content{padding:25px 20px 30px}.page-heading{margin-bottom:23px;align-items:flex-start}.page-heading p{font-size:11px;max-width:270px;line-height:1.7}.page-heading .button{font-size:10px;padding:10px 12px;white-space:nowrap;min-height:36px}.eyebrow{font-size:9px;margin-bottom:8px}h1{font-size:27px}.hero-grid{gap:14px;margin-bottom:17px}.hero{padding:26px 24px;min-height:282px}.hero h2{font-size:34px}.hero p{font-size:11px;max-width:245px}.hero-content{max-width:72%}.hero-art{width:27%;right:10px;opacity:.65}.hero .eyebrow{font-size:8px;letter-spacing:1.3px}.hero .button{font-size:11px;padding:11px 14px}.hero-grid>.market-card{grid-template-columns:1fr 1.4fr;gap:10px 15px;padding:18px}.hero-grid .market-clock{gap:10px}.hero-grid .market-clock strong{font-size:22px}.hero-grid .market-clock label{font-size:8px}.hero-grid .market-clock .divider{display:none}.hero-grid .market-clock small{font-size:7px}.hero-grid .market-foot{font-size:8px;line-height:1.6}.hero-grid .market-title .eyebrow{font-size:8px;letter-spacing:1px}.hero-grid .market-status{padding:4px 6px;font-size:7px}.hero-grid .market-title{gap:7px;align-content:flex-start}.stats-grid{gap:10px}.stat-card{padding:16px 13px;gap:10px;border-radius:11px}.stat-value{font-size:24px}.stat-label{font-size:9px}.stat-detail{font-size:8px}.stat-icon{width:29px;height:29px}.section-title h2{font-size:16px}.section-title .text-link{font-size:10px}.overview-grid{gap:24px}.lesson-feature{grid-template-columns:80px minmax(0,1fr);gap:17px;padding:18px}.lesson-feature h3{font-size:17px}.lesson-art{height:100px}.lesson-feature p{font-size:10px}.lesson-feature .meta{font-size:9px;gap:8px}.journey-card{padding:17px 18px}.journey-step{font-size:8px;gap:4px}.journey-step i{width:15px;height:15px;font-size:7px}.routine-card{display:block;padding:4px 20px}.routine-row:nth-child(3){border-bottom:1px solid #edf0e9}.routine-copy small{font-size:9px}.bottom-banner{padding:13px;align-items:flex-start}.bottom-banner>svg{width:16px;height:16px;margin-top:3px}.bottom-banner p{font-size:9px}.bottom-banner>.text-link{display:none}.app-footer{font-size:8px;align-items:flex-start;line-height:1.7}.app-footer button{font-size:8px}.course-grid,.strategy-grid,.glossary-grid{grid-template-columns:1fr}.course-card{min-height:210px}.course-card h3{margin-top:16px;font-size:19px}.course-card p{font-size:12px}.tabs{gap:3px;margin-bottom:18px}.tab{padding:8px 10px;font-size:10px;min-height:36px}.tab .count{display:none}.learning-summary{padding:18px;gap:14px}.learning-summary h2{font-size:16px}.learning-summary p{font-size:10px}.learning-summary .summary-number{font-size:26px}.learning-summary>.button{display:none}.toolbar{gap:11px}.toolbar>.search-field{width:100%}.toolbar .button{font-size:10px}.card{padding:20px}.form-grid{gap:15px 12px}.field input,.field select,.field textarea{font-size:16px;padding:10px;min-height:45px}.field label{font-size:10px}.field small{font-size:9px}.input-affix input{padding-left:25px}.input-affix span{top:14px}.planner-results{padding:25px}.planner-results .quantity-value{font-size:55px}.journal-summary{font-size:10px;gap:13px;flex-wrap:wrap}.journal-summary strong{font-size:13px}.data-table th,.data-table td{padding:13px}.sample-banner{font-size:10px;padding:12px}.performance-grid{gap:18px}.bar-row{grid-template-columns:100px minmax(60px,1fr) 60px;gap:9px}.chart-area{height:185px}.market-grid{gap:18px}.watch-form{grid-template-columns:75px 1fr auto}.watch-form input{font-size:16px;min-height:44px;padding:8px}.watch-form .button{min-height:44px;padding:8px}.resource-item{padding:14px}.resource-item strong{font-size:11px}.resource-item small{font-size:9px}.settings-grid{gap:18px}.settings-grid .form-grid{grid-template-columns:1fr 1fr}.key-input{font-size:13px!important}.toast{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));width:max-content;font-size:11px}dialog{width:calc(100% - 20px);max-height:94dvh;border-radius:13px}.modal-header{padding:20px}.modal-header h2{font-size:22px}.modal-body{padding:22px 20px}.modal-body p{font-size:13px}.modal-header .icon-button{width:34px;height:34px}.quiz-option{font-size:12px;padding:12px}.modal-actions{position:sticky;bottom:0;background:white;padding:16px 0 0;flex-wrap:wrap}.search-modal .search-field input{font-size:16px}.modal-body .form-grid{gap:14px 12px}.date-label{display:none}.chart-screenshot{max-height:250px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.sidebar,.topbar,.app-footer,.button,.text-link,.toast{display:none!important}.app-shell{display:block}.main-content{padding:0}.card{break-inside:avoid}.main-shell{margin:0}body{background:#fff}.hero{background:#eee}.table-wrap{overflow:visible}}
.brand-sub{font-size:8px;letter-spacing:1.1px;white-space:nowrap}
@media(max-width:700px){.sidebar{visibility:hidden}.sidebar.open{visibility:visible}.table-button,.routine-arrow{min-height:40px;min-width:36px}.topbar .icon-button,.modal-header .icon-button{width:40px;height:40px}}

/* Keep the existing layout inside iPhone/iPad safe areas, including landscape. */
:root{--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--sidebar-width:236px;--sidebar-gutter:20px;--sidebar-top:32px;--sidebar-bottom:20px;--header-height:85px;--header-gutter:38px;--content-gutter:38px;--content-bottom:36px}
.app-shell{grid-template-columns:calc(var(--sidebar-width) + var(--safe-left)) minmax(0,1fr);min-height:100dvh}
.sidebar{width:calc(var(--sidebar-width) + var(--safe-left));padding-left:calc(var(--sidebar-gutter) + var(--safe-left));padding-top:calc(var(--sidebar-top) + var(--safe-top));padding-bottom:calc(var(--sidebar-bottom) + var(--safe-bottom));overflow-y:auto;overscroll-behavior:contain}
.topbar{height:calc(var(--header-height) + var(--safe-top));padding-top:var(--safe-top);padding-right:calc(var(--header-gutter) + var(--safe-right))}
.main-content{padding-right:calc(var(--content-gutter) + var(--safe-right));padding-bottom:calc(var(--content-bottom) + var(--safe-bottom))}
dialog{width:min(760px,calc(100% - 32px - var(--safe-left) - var(--safe-right)));max-height:90vh;max-height:min(90dvh,calc(100dvh - 32px - var(--safe-top) - var(--safe-bottom)));overflow-y:auto;overscroll-behavior:contain}
@media(min-width:1550px){:root{--header-gutter:46px}}
@media(max-width:1180px){:root{--sidebar-width:205px;--sidebar-gutter:14px;--sidebar-top:28px;--sidebar-bottom:18px;--header-gutter:25px;--content-gutter:25px;--content-bottom:29px}}
@media(max-width:700px){:root{--sidebar-width:250px;--header-height:68px;--header-gutter:20px;--content-gutter:20px;--content-bottom:30px}.topbar{padding-left:calc(20px + var(--safe-left))}.main-content{padding-left:calc(20px + var(--safe-left))}dialog{width:calc(100% - 20px - var(--safe-left) - var(--safe-right));max-height:94vh;max-height:min(94dvh,calc(100dvh - 20px - var(--safe-top) - var(--safe-bottom)))}}
@media(hover:none) and (pointer:coarse){.field input,.field select,.field textarea,.search-field input,.watch-form input,.key-input{font-size:16px!important;min-width:0}}
@media print{.main-content{padding:0}.topbar{display:none!important}}
