@import url('/tokens.css');
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.5}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f0a84b;outline-offset:3px}a{color:var(--teal)}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2;letter-spacing:-.035em}button{color:inherit}button,dialog{ -webkit-tap-highlight-color:transparent}svg{display:block}small{font-size:12px}.muted{color:var(--muted)}.up{color:var(--teal)}.down{color:var(--coral)}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.stack{display:grid;gap:16px}.icon{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.shell{max-width:1150px;margin:auto;padding:0 24px 48px}.topbar{height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.brand-mark{display:inline-flex;width:41px;height:41px;align-items:center;justify-content:center;background:var(--teal);color:white;border-radius:13px;font-size:30px;font-weight:800;letter-spacing:-5px;padding-right:6px}.brand-mark span{font-size:20px;align-self:flex-start;margin-top:4px}.brand-name{font-weight:850;font-size:19px;letter-spacing:-.06em;line-height:1.2}.brand-sub{font-size:11px;color:var(--muted)}.top-meta{display:flex;align-items:center;gap:16px}.pill{display:inline-flex;align-items:center;gap:6px;background:var(--mint);color:var(--teal);padding:7px 11px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap}.dot{width:6px;height:6px;background:var(--teal);border-radius:50%}.round-btn{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;display:grid;place-items:center;border-radius:50%}.nav{display:flex;gap:8px;margin:22px 0 28px}.nav button{display:flex;gap:8px;align-items:center;background:none;border:0;border-radius:12px;padding:10px 18px;color:var(--muted);font-size:13px;font-weight:650;min-height:44px}.nav button.active{background:var(--ink);color:white}.nav .icon{width:18px;height:18px}.page-title{margin-bottom:22px}.page-title h1{font-size:28px;margin-top:4px}.page-title p{color:var(--muted);font-size:13px;margin-top:8px}.page-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}.hero{min-height:252px;border-radius:24px;position:relative;overflow:hidden;background:#e8f3eb}.hero img{position:absolute;width:77%;height:100%;right:-9%;object-fit:cover;object-position:58% 55%;mix-blend-mode:multiply}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#e8f3eb 2%,#e8f3ebee 22%,#e8f3eb00 62%);pointer-events:none}.hero-copy{position:relative;z-index:1;padding:27px;width:57%}.hero h2{font-size:31px;line-height:1.08;margin:12px 0}.hero p{font-size:12px;color:#536765;max-width:190px}.hero .pill{background:#ffffffb8;padding:5px 9px;font-size:9px}.text-action{background:none;border:0;padding:12px 0 0;color:var(--teal);font-weight:750;font-size:12px;display:flex;align-items:center;gap:5px}.text-action .icon{width:16px;height:16px}.balance{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px}.balance-value{font-size:34px;font-weight:760;letter-spacing:-.055em;line-height:1.2;margin:8px 0}.balance-sub{font-size:12px;color:var(--muted)}.balance-split{display:grid;grid-template-columns:1fr 1fr;padding-top:18px;margin-top:18px;border-top:1px solid var(--line);gap:12px}.balance-split strong{display:block;margin-top:3px;font-size:17px;font-weight:650}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 14px}.section-title h2{font-size:20px}.section-title small{color:var(--muted)}.filters{display:flex;gap:7px;margin-bottom:14px;flex-wrap:wrap}.filters button{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:7px 13px;font-size:11px;min-height:36px}.filters .selected{background:var(--ink);border-color:var(--ink);color:white}.company-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.company-card{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:16px 12px;border:1px solid var(--line);border-radius:17px;background:var(--surface);transition:transform .15s,border-color .15s;min-width:0}.company-card:hover{transform:translateY(-2px);border-color:#8fbab2}.company-art{width:66px;height:66px;object-fit:contain;flex:none;background:var(--mint-soft);border-radius:13px}.company-info{min-width:0;flex:1}.company-info h3{font-size:14px;letter-spacing:-.025em;overflow-wrap:anywhere}.company-info small{font-size:10px;color:var(--muted)}.company-price{text-align:right;margin-left:auto;flex:none}.company-price strong{display:block;font-size:15px;letter-spacing:-.035em}.company-price small{font-size:10px}.aside{display:grid;gap:16px}.news-card{padding:20px;border-radius:20px;border:1px solid #e9dfc7;background:var(--sand)}.news-card .icon-bubble{background:#f5e7bf;color:#a47329}.icon-bubble{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;flex:none;background:var(--mint);color:var(--teal)}.news-card h3{font-size:17px;margin:15px 0 8px}.news-card p{font-size:12px;color:#7c6d51}.news-footer{margin-top:16px;display:flex;justify-content:space-between;font-size:10px;color:#8d7955;border-top:1px solid #e8ddbf;padding-top:12px}.learn-card{background:var(--surface);border:1px solid var(--line);padding:20px;border-radius:20px}.learn-card h3{font-size:17px;margin:12px 0 8px}.learn-card p{font-size:12px;color:var(--muted)}.progress{height:5px;border-radius:5px;background:var(--mint);overflow:hidden;margin-top:16px}.progress span{display:block;height:100%;background:var(--teal);transition:width .2s}.mini-note{font-size:10px;color:var(--muted);text-align:center;padding:4px 12px}.btn{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:12px 17px;font-weight:700;font-size:13px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.btn-primary{background:var(--teal);border-color:var(--teal);color:white}.btn-dark{background:var(--ink);border-color:var(--ink);color:white}.btn-block{width:100%;margin-top:18px}.btn-small{font-size:11px;min-height:36px;padding:8px 11px}.empty{padding:30px 24px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:20px}.empty img{width:145px;height:140px;object-fit:contain}.empty h2{font-size:22px;margin:8px 0}.empty p{font-size:13px;color:var(--muted);max-width:340px;margin:auto}.holdings{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden}.holding-row{width:100%;display:flex;gap:12px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;padding:16px}.holding-row:last-child{border-bottom:0}.holding-row img{width:46px;height:46px;object-fit:contain}.holding-row strong{font-size:14px}.holding-row small{display:block;font-size:11px;color:var(--muted)}.holding-row .holding-value{margin-left:auto;text-align:right}.history-row{padding:14px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:12px}.history-row small{display:block;color:var(--muted);font-size:10px}.lesson-hero{background:var(--mint-soft);padding:24px;border-radius:22px;display:flex;align-items:center;gap:16px;margin-bottom:20px}.lesson-hero img{width:42%;max-width:210px;object-fit:contain}.lesson-hero h2{font-size:25px;margin:8px 0}.lesson-hero p{font-size:12px;color:var(--muted)}.lesson-item{background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:20px;margin-bottom:12px}.lesson-number{width:30px;height:30px;display:grid;place-items:center;background:var(--mint);color:var(--teal);border-radius:50%;font-weight:750;font-size:12px;flex:none}.lesson-item h3{font-size:17px}.lesson-item p{color:var(--muted);font-size:13px;margin:12px 0}.lesson-item.complete{border-color:#b4d9ce}.answers{display:grid;gap:8px}.answers .btn{text-align:left;justify-content:flex-start;font-weight:500}.form-field{display:grid;gap:6px;margin:14px 0}.form-field label{font-size:12px;color:var(--muted)}input,select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:11px;padding:12px;width:100%;font-size:16px;min-height:46px}.industry-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.industry-option{border:1px solid var(--line);background:var(--surface);border-radius:13px;padding:10px 4px;font-size:11px}.industry-option img{width:100%;height:75px;object-fit:contain}.industry-option.selected{border-color:var(--teal);background:var(--mint-soft)}.company-overview{background:var(--mint-soft);border-radius:22px;padding:22px;display:flex;gap:16px;align-items:center}.company-overview img{width:40%;max-width:160px}.company-overview h2{font-size:25px;overflow-wrap:anywhere}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.metric{border:1px solid var(--line);border-radius:13px;padding:15px 10px;background:var(--surface);min-width:0}.metric small{display:block;font-size:10px;color:var(--muted)}.metric strong{display:block;font-size:18px;letter-spacing:-.035em;margin-top:5px}.upgrade{padding:16px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.upgrade h3{font-size:14px}.upgrade p{font-size:11px;color:var(--muted);margin-top:4px}.upgrade .btn{flex:none;margin-left:auto}.report{padding:18px;border-radius:15px;background:var(--surface);border:1px solid var(--line);margin-top:15px}.report p{font-size:12px;color:var(--muted);margin-top:10px}.report-row{display:flex;justify-content:space-between;font-size:12px;margin-top:9px}.footer{color:var(--muted);font-size:10px;margin-top:30px;display:flex;justify-content:space-between;gap:10px}.boot{padding:25vh 24px;text-align:center}.boot .brand-mark{margin-bottom:16px}.boot h1{font-size:27px}.boot p{margin:10px;color:var(--muted)}#toast{position:fixed;left:50%;bottom:100px;transform:translate(-50%,20px);max-width:calc(100% - 32px);padding:13px 20px;background:var(--ink);color:white;border-radius:13px;font-size:13px;z-index:10;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:0;border-radius:24px;max-width:520px;width:calc(100% - 24px);padding:0;background:var(--paper);color:var(--ink);max-height:90dvh;box-shadow:0 20px 90px #102e3c30}dialog::backdrop{background:#12253566;backdrop-filter:blur(4px)}.detail-inner{padding:24px}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.detail-company{display:flex;gap:16px;align-items:center}.detail-company img{width:96px;height:96px;object-fit:contain}.detail-company h2{font-size:25px}.detail-price{font-size:34px;font-weight:750;letter-spacing:-.06em;margin-top:14px}.chart{width:100%;height:155px;margin:18px 0 8px}.chart path{fill:none;stroke:var(--teal);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.chart .area{fill:url(#chart-fill);stroke:none}.chart text{fill:var(--muted);font:11px system-ui}.chart .grid{stroke:var(--line);stroke-width:1}.detail-insight{background:var(--mint);padding:13px;border-radius:12px;font-size:12px;color:#37655d;margin:18px 0}.trade-tabs{display:flex;gap:6px;padding:4px;border-radius:12px;background:var(--mint);margin-top:18px}.trade-tabs button{flex:1;border:0;background:transparent;border-radius:9px;padding:10px;font-size:13px;font-weight:700}.trade-tabs .active{background:var(--surface);box-shadow:0 2px 5px #12362512}.stepper{display:flex;align-items:center;gap:12px}.stepper input{text-align:center;max-width:110px}.stepper button{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:var(--surface);font-size:20px}.order-row{display:flex;justify-content:space-between;font-size:13px;padding:8px 0}.order-note{font-size:11px;color:var(--muted);margin-top:12px}.review{padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:15px;margin-top:16px}.danger-note{color:#a45a35;background:#fbede3;padding:12px;border-radius:12px;font-size:12px;margin-top:12px}.connection{color:var(--muted);font-size:10px}.world-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.world-grid .metric{padding:15px}.world-grid .metric strong{font-size:22px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1100px){.company-list{grid-template-columns:1fr 1fr}.hero{min-height:265px}}
@media(max-width:900px){.page-grid{grid-template-columns:minmax(0,1fr) 270px}.company-list{grid-template-columns:1fr}.hero-copy{padding:23px}.hero h2{font-size:28px}.company-card{padding:13px}.hero img{width:100%;right:-22%}}
@media(max-width:640px){.shell{padding:0 18px 110px}.topbar{height:77px}.brand-name{font-size:18px}.brand-sub{font-size:10px}.brand-mark{width:36px;height:36px;border-radius:11px;font-size:27px}.top-meta{gap:9px}.top-meta>.pill{display:none}.round-btn{width:36px;height:36px}.nav{position:fixed;bottom:0;left:0;right:0;background:#fffef9f5;backdrop-filter:blur(16px);margin:0;padding:9px 10px calc(9px + env(safe-area-inset-bottom));border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);gap:5px;z-index:5}.nav button{flex-direction:column;gap:4px;padding:6px 2px;font-size:10px;border-radius:12px;min-height:49px}.nav button.active{background:var(--mint);color:var(--teal)}.nav .icon{width:20px;height:20px}.page-title{margin:24px 0 18px}.page-title h1{font-size:27px}.page-grid{grid-template-columns:1fr;gap:20px}.hero{min-height:218px;border-radius:21px}.hero-copy{padding:22px;width:58%}.hero h2{font-size:28px}.hero p{font-size:11px;max-width:155px}.hero img{width:95%;right:-21%;object-position:55% 50%}.hero:after{background:linear-gradient(90deg,#e8f3eb 0%,#e8f3ebee 23%,#e8f3eb00 70%)}.balance{padding:18px 20px}.balance-value{font-size:32px}.balance-split{margin-top:12px;padding-top:13px}.balance-split strong{font-size:16px}.aside{grid-template-columns:1fr}.market-layout>.aside{display:contents}.market-layout{display:flex;flex-direction:column;gap:0}.market-layout>.main-column{display:contents}.market-layout .hero{order:0}.market-layout .balance{order:1;margin-top:16px}.market-layout .news-card{order:2;margin-top:16px;padding:16px}.market-layout .watchlist{order:3;width:100%}.market-layout .learn-card{order:4;margin-top:18px}.market-layout .mini-note{order:5;margin-top:12px}.news-card h3{font-size:15px;margin:10px 0 5px}.news-card p{font-size:11px}.news-card .icon-bubble{width:29px;height:29px;border-radius:9px}.news-card .icon-bubble .icon{width:17px}.news-footer{margin-top:10px;padding-top:10px}.section-title{margin:23px 0 13px}.section-title h2{font-size:20px}.company-list{grid-template-columns:1fr;gap:9px}.company-card{padding:12px 14px;border-radius:15px;gap:12px}.company-art{width:57px;height:57px}.company-info h3{font-size:15px}.company-info small{font-size:11px}.company-price strong{font-size:16px}.company-price small{font-size:11px}.footer{margin-top:24px;font-size:9px}.lesson-hero{padding:20px;gap:6px}.lesson-hero h2{font-size:22px}.lesson-hero img{width:40%}.industry-option img{height:65px}.metric strong{font-size:16px}.detail-inner{padding:21px}.detail-company img{width:80px;height:80px}.detail-company h2{font-size:23px}dialog{max-height:93dvh;margin-bottom:0;border-radius:24px 24px 0 0;width:100%;max-width:100%;padding-bottom:env(safe-area-inset-bottom)}.company-overview{padding:18px}.company-overview h2{font-size:23px}.upgrade{gap:8px}.upgrade .btn{padding:8px 10px;min-width:75px}.world-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.market-layout{align-items:stretch}.market-layout .watchlist{order:2}.market-layout .news-card{order:3}.market-layout .hero{width:100%;min-height:205px}.market-layout .hero-copy{width:62%}.market-layout .hero h2{font-size:27px}.market-layout .balance-value{margin:5px 0}.market-layout .balance{padding:16px 20px}.market-layout .balance .pill{padding:5px 8px;font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
