/* Fonts are supplied locally by studio.css. */
:root{--bg:#f5f6f1;--card:#fff;--ink:#283e32;--muted:#819080;--line:#e5e9de;--forest:#214b39;--lime:#c2db98;--soft:#eef3e6;--warm:#f8f3e6;--warn:#9e7335;--loss:#ac6557;--gain:#658950;--track:#eef0e8;--shadow:0 6px 22px #263e3203;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:13px Manrope,Arial,sans-serif}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0}button:disabled{cursor:default;opacity:.5}button:not(:disabled):hover{filter:brightness(.96)}a{color:inherit;text-decoration:none}button,input,select,textarea,summary,a{outline-offset:4px}button:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid #8cb465}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;border-right:1px solid var(--line);background:var(--card);padding:34px 22px 20px;display:flex;flex-direction:column;z-index:3}.brand{display:flex;align-items:center;gap:11px;font-size:26px;font-weight:800;letter-spacing:-1px}.brand-mark{width:39px;height:39px;background:var(--forest);color:var(--lime);display:grid;place-items:center;border-radius:12px;font-size:31px}.brand-dot{color:#8eaa69}.brand small{display:block;font-size:6px;letter-spacing:1.7px;color:var(--muted);font-weight:650;margin-top:2px}.nav-label{margin:49px 11px 17px;font-size:8px;letter-spacing:1.3px;color:#a0aa96;font-weight:750}nav{display:grid;gap:8px}nav button{display:flex;align-items:center;gap:12px;padding:14px 13px;border-radius:8px;background:none;color:var(--muted);text-align:left;font-size:12px;font-weight:650}nav button.active{background:var(--soft);color:var(--forest)}.nav-icon{font-size:22px;line-height:1;width:23px}nav small{font-size:8px;margin-left:auto;color:#a3b48e}.sidebar-bottom{margin-top:auto}.path-card{padding:17px 14px;background:var(--bg);border:1px solid var(--line);border-radius:11px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.path-sprout{font-size:32px;color:#8ca969}.path-card strong{font-size:11px}.path-card small{display:block;color:var(--muted);font-size:8px;margin-top:4px}.path-card>b{font-size:9px;margin-left:auto;color:#8ba16e}.path-card .progress{width:100%;height:4px;margin-top:5px}.data-note{background:none;display:flex;gap:8px;text-align:left;align-items:center;margin-top:24px;color:var(--muted);font-size:9px;line-height:1.6}.data-note>span:first-child{font-size:20px;color:#9cae86}.data-note small{display:block;color:#a7b299;font-size:8px}.progress{height:6px;background:var(--track);border-radius:5px;overflow:hidden}.progress i{display:block;background:#9ebb76;height:100%;border-radius:5px;transition:width .3s}main{margin-left:232px}.topbar{height:77px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:var(--card);padding:0 39px}.breadcrumbs{font-size:10px;color:var(--muted)}.breadcrumbs span{margin:0 15px;color:#b7c1ad}.breadcrumbs b{font-weight:600;color:var(--ink)}.topbar-right{display:flex;align-items:center;gap:20px}.topbar-right>span:first-child{font-size:9px;color:#95a581}.icon-btn{width:29px;height:29px;border:1px solid var(--line);color:var(--muted);background:transparent;border-radius:7px;font-size:19px;display:inline-grid;place-items:center}.profile-mark{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:var(--soft);color:#839c66;font-size:11px;font-weight:800}.workspace{max-width:1500px;padding:34px 39px 20px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:25px}.eyebrow{font-size:8px;font-weight:800;letter-spacing:1.6px;color:#93a27f}h1{font-size:29px;letter-spacing:-1.1px;margin:9px 0 10px;font-weight:750;line-height:1.3}.page-heading p{font-size:11px;color:var(--muted);margin:0}.btn{background:var(--forest);color:#fff;padding:12px 18px;border-radius:7px;font-size:10px;font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.small{padding:10px 14px;font-size:9px}.btn.outline{background:var(--card);border:1px solid var(--line);color:var(--ink)}.link,.light-link{background:none;padding:0;color:#718e55;font-size:10px;font-weight:700}.light-link{color:#c3d7b6}.context-bar{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#8b987e;margin-bottom:22px;gap:15px}.context-bar>span{display:flex;align-items:center;gap:6px}.status-dot{width:6px;height:6px;background:#baa66a;display:inline-block;border-radius:50%}.context-separator{margin:0 5px;color:#b8c2ae}.context-bar>div{display:flex;gap:22px}.hero-grid{display:grid;grid-template-columns:1.3fr 1.1fr 1fr;gap:18px;margin-bottom:21px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:23px;box-shadow:var(--shadow)}.capital-panel{border-radius:12px;padding:25px;background:var(--forest);color:#fff;position:relative;overflow:hidden;min-height:212px}.capital-panel .eyebrow{color:#b3c69f}.capital-number{font-size:32px;letter-spacing:-1px;font-weight:750;margin:16px 0 19px;position:relative;z-index:1;white-space:nowrap}.capital-breakdown{display:flex;gap:24px;position:relative;z-index:1;font-size:8px;color:#a2b9a2}.capital-breakdown b{display:block;font-weight:600;color:#d8e3d1;margin-top:5px;font-size:10px}.capital-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff15;padding-top:14px;margin-top:20px;font-size:8px;color:#a7bea2;position:relative;z-index:1}.capital-bottom button{font-size:8px}.hero-ornament{font-size:170px;color:#a2bb7f0d;position:absolute;right:-5px;top:-18px;transform:rotate(-5deg);line-height:1}.section-label{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;gap:7px}.section-label>span{font-size:19px;color:#a2b58c}.metric{font-size:27px;font-weight:750;letter-spacing:-.8px;margin-top:17px}.gain{color:var(--gain)}.loss{color:var(--loss)}.profit-card>p{font-size:8px;color:var(--muted);margin:8px 0 16px}.info-line{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:11px;margin-bottom:12px;font-size:8px;color:var(--muted)}.info-line b{color:var(--ink);font-size:8px;font-weight:600;text-align:right}.profit-card>.link{font-size:8px}.level-line{display:flex;align-items:center;gap:11px;margin:24px 0 23px}.level-plant{display:grid;place-items:center;width:47px;height:47px;border-radius:50%;background:var(--soft);color:#88a95d;font-size:37px}.level-line h2{font-size:19px;letter-spacing:-.6px;margin:0}.level-line p{font-size:8px;color:var(--muted);margin:5px 0 0}.level-panel>small{display:block;color:var(--muted);font-size:8px;margin-top:9px}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px;margin-bottom:21px}.next-card{background:#eef2e5}.next-card h2{font-size:18px;letter-spacing:-.5px;line-height:1.5;margin:12px 0 8px}.next-card p{font-size:10px;color:#839173;line-height:1.9;margin:0 0 16px;max-width:95%}h2{font-size:14px;letter-spacing:-.25px;margin:0}h3{font-size:13px;line-height:1.5;margin:0}p{line-height:1.8}.card-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:21px}.card-title p{margin:8px 0 0;color:var(--muted);font-size:10px}.card-title .eyebrow{margin-bottom:9px}.balance-card>.card-title h2{font-size:21px;letter-spacing:-.6px}.pill{font-size:8px;background:var(--bg);padding:6px 9px;border-radius:5px;color:#90a078;white-space:nowrap}.dividend-main{display:flex;justify-content:space-between;align-items:center;margin:29px 0 20px;font-size:11px;color:var(--muted)}.dividend-main strong{font-size:25px;color:var(--ink);letter-spacing:-.6px}.split-metrics{display:grid;grid-template-columns:1fr 1fr;gap:15px;border-top:1px solid var(--line);padding-top:14px}.split-metrics span{font-size:8px;color:var(--muted);display:block}.split-metrics b{font-size:12px;display:block;margin-top:6px;font-weight:650}.hint{color:var(--muted);font-size:9px;line-height:1.8;margin:12px 0 0}.risk-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:17px 20px;background:var(--bg);border:1px solid var(--line);border-radius:8px;margin-bottom:9px;font-size:8px;color:var(--muted)}.risk-strip b{font-size:13px;display:block;margin-top:6px;color:var(--ink);font-weight:650}.sector{border-bottom:1px solid var(--line);padding:19px 0 17px}.sector summary{display:block;list-style:none;cursor:pointer}.sector-summary-head{display:flex;align-items:center;gap:9px;margin-bottom:13px}.sector summary::-webkit-details-marker{display:none}.sector-summary-head>strong{font-size:12px;font-weight:700}.sector-dot{height:8px;width:8px;background:var(--sector);border-radius:3px}.status{color:#8b9d73;background:var(--soft);padding:4px 7px;font-size:8px;border-radius:4px;margin-left:7px}.status.warning{background:var(--warm);color:var(--warn)}.sector-percentage{margin-left:auto;font-size:12px;font-weight:650}.chevron{font-size:16px;color:#9bab8b;margin-left:15px;transition:transform .2s}.sector[open] .chevron{transform:rotate(180deg)}.bar-pair{display:grid;gap:7px}.bar-row{display:grid;grid-template-columns:38px 1fr 70px 105px;align-items:center;gap:13px;font-size:8px;color:var(--muted)}.bar-track{height:7px;background:var(--track);border-radius:3px;overflow:hidden}.bar-track i{height:100%;display:block;border-radius:3px;min-width:0}.bar-target{background:#d0d6c4}.bar-actual{background:#78975e}.bar-row b{font-size:9px;color:var(--ink);font-weight:600;text-align:right}.bar-row small{text-align:right;font-size:9px;color:#8c9a7f}.sector-foot{display:flex;justify-content:space-between;gap:15px;margin-top:12px;color:#99a58b;font-size:8px;line-height:1.7}.sector-foot>.link{font-size:8px}.companies{display:none;margin:19px 0 0 15px;border-left:2px solid var(--line);padding-left:20px}.sector[open] .companies{display:block}.company{background:var(--bg);padding:17px;border:1px solid var(--line);border-radius:8px;margin-bottom:11px}.company:last-child{margin-bottom:0}.company-head{display:flex;align-items:center;gap:10px;margin-bottom:17px;font-size:10px}.company-head small{display:block;font-size:8px;color:var(--muted);margin-top:4px}.company-head b{font-weight:700}.company-right{margin-left:auto;text-align:right}.company-right>b{font-size:10px}.ticker-badge{height:32px;width:32px;display:grid;place-items:center;border-radius:9px;background:var(--soft);color:var(--sector,#71915c);font-weight:800;font-size:10px;flex-shrink:0}.strategy-note{margin-top:18px;max-width:800px}.bottom-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:21px;margin-top:21px}.goal-amount{margin:29px 0 16px;display:flex;align-items:baseline;gap:12px}.goal-amount b{font-size:23px;letter-spacing:-.6px}.goal-amount span{font-size:10px;color:var(--muted)}.quote{position:relative;background:#edf1e4;padding-left:25px;overflow:hidden}.quote>span{position:absolute;right:25px;bottom:5px;font-size:105px;color:#b6c59a44}.quote h2{font-size:22px;line-height:1.4;margin-top:17px;letter-spacing:-.7px}.quote p{font-size:9px;color:#8f9d7d;max-width:80%;position:relative;z-index:1}.portfolio-summary{display:grid;grid-template-columns:repeat(4,1fr);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:21px 25px;gap:15px;margin-bottom:21px}.portfolio-summary span{display:block;color:var(--muted);font-size:9px}.portfolio-summary b{display:block;margin-top:8px;font-size:20px;letter-spacing:-.4px}.portfolio-card{padding:0;overflow:hidden}.portfolio-card>.card-title{padding:20px 22px 0;margin-bottom:14px}.tabs{display:flex;gap:21px;align-self:stretch}.tabs button{padding:0 0 13px;background:none;color:var(--muted);font-size:11px;border-bottom:2px solid transparent;font-weight:650}.tabs button.selected{color:var(--ink);border-color:#88a96a}.tabs span{font-size:8px;background:var(--bg);padding:2px 5px;border-radius:4px;margin-left:4px}.actions{display:flex;gap:9px;align-items:center}.table-toolbar{display:flex;justify-content:space-between;gap:20px;padding:0 22px 18px}.table-toolbar input,.table-toolbar select{background:var(--bg);border:1px solid var(--line);padding:9px 11px;border-radius:6px;color:var(--muted);font-size:9px}.table-toolbar input{width:250px}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:10px;white-space:nowrap}th{font-size:8px;letter-spacing:.2px;font-weight:600;color:var(--muted);padding:13px 12px;text-align:right;background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}th:first-child,td:first-child{text-align:left;padding-left:23px}td{border-bottom:1px solid var(--line);padding:15px 12px;text-align:right}td small{display:block;font-size:8px;color:var(--muted);margin-top:5px}td b{font-weight:650}.asset-name{display:flex;align-items:center;gap:10px}.asset-name>div{display:grid;gap:4px}.asset-name span:not(.ticker-badge){font-size:9px;color:var(--muted);max-width:160px;overflow:hidden;text-overflow:ellipsis}.asset-name small{margin:0;font-size:7px}.price-input{width:83px;padding:6px;border:1px solid var(--line);border-radius:5px;background:var(--bg);text-align:right;color:var(--ink);font-size:10px}.price-time{font-size:6px;line-height:1.7;max-width:130px;white-space:normal;margin-left:auto}.note-cell{max-width:180px;white-space:normal;font-size:9px;color:var(--muted)}.table-note{padding:13px 22px;font-size:8px;color:var(--muted)}.portfolio-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--bg);border-top:1px solid var(--line);padding:13px 22px}.portfolio-footer p{font-size:8px;color:var(--muted);margin:0}.portfolio-footer .link{font-size:8px}.callout{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);background:var(--soft);padding:15px 20px;border-radius:8px;margin:20px 0;color:#89997a}.callout>span{font-size:21px;color:#99ac7c}.callout p{font-size:9px;margin:0;line-height:1.9}.callout b{color:#6d825a}.callout.danger{color:var(--loss);font-size:11px}.empty{padding:60px 20px;text-align:center}.empty>span{display:block;font-size:45px;color:#a1b488;margin-bottom:14px}.empty h2{font-size:18px;line-height:1.5}.empty p{font-size:10px;color:var(--muted);max-width:430px;margin:12px auto 20px}.empty.compact{padding:27px 20px}.journey-hero{display:flex;align-items:center;justify-content:space-between;background:var(--forest);color:#fff;border-radius:12px;padding:31px 36px;margin-bottom:30px}.journey-hero .eyebrow{color:#aec596}.journey-hero h2{font-size:28px;line-height:1.5;letter-spacing:-1px;margin-top:13px}.journey-hero p{font-size:10px;color:#abc0a4}.journey-emblem{border:1px solid #a8c08455;border-radius:50%;width:130px;height:130px;display:flex;flex-direction:column;justify-content:center;align-items:center;flex-shrink:0;margin-left:20px}.journey-emblem>span{font-size:33px;color:#bfd697;line-height:1}.journey-emblem>b{font-size:30px;color:#d6e8be}.journey-emblem>small{font-size:6px;color:#aac298;letter-spacing:2px;margin-top:5px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:28px 0 17px}.section-heading h2{font-size:16px}.section-heading>.hint{margin:0}.mission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.mission{display:flex;flex-direction:column;align-items:flex-start;min-height:221px;padding:23px}.reward{font-size:8px;background:var(--soft);color:#8ba368;padding:5px 8px;border-radius:5px;white-space:nowrap}.mission h3{font-size:16px;letter-spacing:-.4px;margin:17px 0 8px}.mission p{font-size:10px;color:var(--muted);line-height:1.9;margin:0 0 22px}.mission>.btn,.mission>.link{margin-top:auto}.mission.gentle{background:#f0f3e7}.lesson-no{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:30px;color:#b7c79f}.lesson-no .reward{font-weight:650;letter-spacing:0}.roadmap{padding-bottom:7px}.plan-row{display:flex;align-items:center;gap:13px;border-top:1px solid var(--line);padding:19px 0}.plan-dot{font-size:22px;color:#a0b482}.plan-dot.complete{color:#739a51}.plan-row>div{min-width:0;flex:1}.plan-row h3{font-size:11px;overflow-wrap:anywhere}.plan-row p{font-size:8px;color:var(--muted);margin:6px 0 0;overflow-wrap:anywhere}.plan-row select{font-size:9px;border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:7px;border-radius:5px;max-width:135px}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:8px;color:#a1ad93;margin-top:31px}footer>span{font-weight:800;font-size:12px;white-space:nowrap}footer>span>span{font-size:8px;font-weight:400;margin-left:10px}footer p{text-align:right;font-size:7px}dialog{width:min(590px,calc(100% - 28px));padding:28px;border:1px solid var(--line);border-radius:16px;max-height:90vh;overflow-y:auto;color:var(--ink);background:var(--card);box-shadow:0 30px 100px #193a3630}dialog::backdrop{background:#163a3266;backdrop-filter:blur(4px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.modal-heading h2{font-size:22px;letter-spacing:-.7px}.modal-intro{font-size:11px;color:var(--muted);line-height:1.9;margin:0 0 19px}label{display:block;font-size:10px;color:var(--muted);margin:15px 0}label>input,label>select,label>textarea{display:block;width:100%;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:11px 12px;color:var(--ink);margin-top:7px;font-size:12px;min-width:0}label>input:focus,label>select:focus,label>textarea:focus{outline:2px solid #aac78a;outline-offset:1px}.form-row{display:flex;gap:14px}.form-row>label{width:50%;margin-top:0}.submit{width:100%;margin-top:15px;padding:13px}.under-submit{display:block;margin:15px auto 0;text-align:center}.form-error{color:var(--loss);font-size:11px;line-height:1.8;margin-bottom:0}.form-error:empty{display:none}dialog details{border:1px solid var(--line);padding:14px;border-radius:8px;margin-top:20px}dialog details summary{cursor:pointer;font-size:10px;color:var(--muted)}.strategy-line{display:grid;grid-template-columns:1fr 77px 77px;gap:11px;align-items:center;margin-top:7px}.strategy-line b{font-size:10px;font-weight:600}.strategy-line input{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:5px;padding:8px;text-align:right;font-size:11px}.strategy-line.headings{font-size:8px;color:var(--muted);margin-bottom:12px}.strategy-line.headings span:not(:first-child){text-align:right}.strategy-sum{font-size:11px;color:var(--gain);text-align:right;margin-top:17px}.sim-result{padding:19px;background:var(--soft);border-radius:8px;margin-top:20px}.sim-result h3{font-size:14px}dl>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;font-size:11px;border-bottom:1px solid var(--line)}dt{color:var(--muted)}dd{font-weight:700;text-align:right;margin:0}.sim-result .btn{width:100%;margin-top:15px}.report-text{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.9 Manrope,Arial,sans-serif;background:var(--bg);padding:17px;border-radius:8px;max-height:50vh;overflow-y:auto}.method h3{font-size:13px;margin:21px 0 8px}.method p{font-size:11px;line-height:1.9;color:var(--muted)}.checklist{font-size:12px;color:var(--muted);line-height:2;padding-left:20px}.answer{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:var(--bg);padding:13px;border-radius:7px;cursor:pointer;font-size:12px;color:var(--ink)}.answer input{width:16px;height:16px;margin:0;accent-color:var(--forest)}.toast{position:fixed;z-index:10;left:50%;bottom:25px;transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:.2s;background:var(--forest);color:#eaf1df;padding:15px 22px;border-radius:9px;box-shadow:0 8px 35px #193a3625;font-size:11px;max-width:90vw;line-height:1.7}.toast.show{opacity:1;transform:translate(-50%,0)}
[data-theme=dark]{--bg:#16251e;--card:#1d2f26;--ink:#dbe5d2;--muted:#a1af99;--line:#344638;--forest:#2a523c;--soft:#293d2a;--warm:#453b26;--warn:#d3b676;--loss:#d79886;--gain:#a4c580;--track:#354636;--shadow:none;color-scheme:dark}[data-theme=dark] .next-card,[data-theme=dark] .quote,[data-theme=dark] .mission.gentle{background:#2a3c2a}[data-theme=dark] .next-card p,[data-theme=dark] .quote p{color:#a8b69b}[data-theme=dark] .bar-target{background:#67775c}[data-theme=dark] .context-bar .link{color:#b0c58e}[data-theme=dark] .callout b{color:#b3ca91}[data-theme=dark] .link{color:#b0c98d}[data-theme=dark] .sector-foot{color:#a3b394}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
