@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap";:root{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Microsoft YaHei,sans-serif;color:#202b25;background:#f5f6f4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.47}button:focus-visible,input:focus-visible{outline:3px solid #a3d585;outline-offset:2px}#root{min-height:100vh}.app-shell{max-width:1024px;min-height:100vh;margin:0 auto;background:#f5f6f4}.topbar{height:72px;padding:0 36px;display:flex;align-items:center;justify-content:space-between;background:#f5f6f4;position:relative;z-index:3}.brand{display:flex;align-items:center;gap:11px;font-size:17px;font-weight:800;letter-spacing:-.035em}.brand-light{font-weight:500}.brand-icon,.login-mark{display:grid;place-items:center;background:#233229;border-radius:12px;width:32px;height:32px}.mark-bars{display:flex;align-items:end;gap:3px;height:16px}.mark-bars i{display:block;width:4px;background:#c5e5ad;border-radius:3px}.mark-bars i:nth-child(1){height:8px}.mark-bars i:nth-child(2){height:13px}.mark-bars i:nth-child(3){height:17px}.identity-switch{border:0;background:#fff;padding:5px 10px 5px 5px;border-radius:30px;display:flex;align-items:center;gap:8px;color:#3b493f;font-size:13px;font-weight:700;box-shadow:0 1px 7px #1b2b1d0b}.identity-switch svg{color:#809086;margin-left:5px}.avatar{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;font-weight:700;font-size:13px}.avatar.user_a{background:#dcf0d2;color:#315d3d}.avatar.user_b{background:#e8e6fa;color:#5b5596}.page{padding:20px 36px 120px}.hero{position:relative;overflow:hidden;background:#233229;border-radius:24px;min-height:280px;padding:30px 38px;color:#fff}.hero-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1;color:#cde5c5}.hero-kicker,.section-kicker,.login-kicker,.eyebrow{font-size:10px;font-weight:800;letter-spacing:.19em}.live-dot{display:inline-block;width:7px;height:7px;background:#c4eca2;border-radius:50%;margin-right:8px;box-shadow:0 0 0 4px #c4eca21c}.hero h1{font-size:clamp(30px,4vw,42px);line-height:1.3;letter-spacing:-.06em;margin:25px 0 7px;position:relative;z-index:1}.hero p{color:#b9c9bc;font-size:13px;margin:0 0 25px;position:relative;z-index:1}.hero-button{display:flex;align-items:center;gap:10px;background:#c7e9a7;color:#203425;border:0;border-radius:12px;padding:12px 15px;font-weight:800;font-size:13px;position:relative;z-index:1}.hero-button svg:last-child{margin-left:17px}.hero-shape{position:absolute;border:1px solid #bfe4a31e;transform:rotate(-25deg);border-radius:50%;pointer-events:none}.shape-one{width:530px;height:530px;right:-65px;top:-205px}.shape-two{width:355px;height:355px;right:20px;top:-110px;border-width:36px;border-color:#c2e6a308}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:31px 0 17px}.section-kicker{color:#8a9a89}.section-heading h2{font-size:22px;letter-spacing:-.055em;margin:4px 0 0}.text-link,.subtle-link,.icon-link{border:0;background:transparent;color:#566957;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:3px}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.overview-card{background:#fff;border:1px solid #e8ece6;border-radius:19px;padding:20px 21px 0;box-shadow:0 5px 20px #192d1806}.overview-card.is-current{border-color:#dcebd8}.overview-name{display:flex;gap:10px;align-items:center}.overview-name .avatar{width:40px;height:40px;font-size:16px}.overview-name div{display:flex;flex-direction:column;gap:2px}.overview-name strong{font-size:15px}.overview-name small{font-size:11px;color:#96a29a}.overview-pnl{display:flex;flex-direction:column;margin:27px 0 22px;gap:3px}.overview-pnl span,.record-pnl span{font-size:12px;color:#8a968d}.overview-pnl strong{font-size:28px;letter-spacing:-.045em}.positive{color:#228465!important}.negative{color:#c46153!important}.overview-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding-bottom:20px;border-bottom:1px solid #eef0ec}.overview-stats div,.record-stat-grid div{display:flex;flex-direction:column;gap:5px}.overview-stats strong{font-size:18px}.overview-stats span,.record-stat-grid span{font-size:11px;color:#929f96}.overview-footer{display:flex;align-items:center;justify-content:space-between;padding:13px 0;font-size:11px;color:#849188}.overview-footer strong{color:#33443a;font-size:12px}.overview-footer button{border:0;background:transparent;color:#49694b;font-size:11px;font-weight:700;display:flex;align-items:center;gap:3px}.subtle-link{margin:22px 0 0;padding:0}.home-hint{color:#a0aaa2;font-size:12px;margin-top:10px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(1024px,100%);height:75px;background:#fff;border-top:1px solid #edf0ea;display:flex;justify-content:space-around;align-items:center;z-index:8;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:4px;width:33.33%;border:0;background:transparent;color:#9daaa1;font-size:10px;font-weight:700}.bottom-nav button.active{color:#2c653f}.bottom-nav button.active svg{stroke-width:2.5}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:5px 0 27px}.page-heading h1{font-size:32px;letter-spacing:-.065em;margin:6px 0 2px}.page-heading p{font-size:12px;color:#98a39a;margin:0}.heading-count{font-size:16px;background:#e6eee3;color:#507253;border-radius:9px;padding:2px 8px;margin-left:9px;vertical-align:middle}.round-add,.heading-emblem{border:0;background:#dcebd6;color:#3b6948;width:43px;height:43px;border-radius:14px;display:grid;place-items:center}.heading-emblem{background:#e7ecdf}.holdings-list{display:grid;gap:18px}.holding-card{background:#fff;border:1px solid #e8ede6;border-radius:21px;padding:22px;box-shadow:0 5px 20px #192d1805}.holding-top,.holding-identity{display:flex;align-items:center}.holding-top{justify-content:space-between}.holding-identity{gap:11px}.stock-icon{width:43px;height:43px;border-radius:14px;background:#e4efdc;color:#436c49;font-size:18px;font-weight:800;display:grid;place-items:center}.holding-identity h2{font-size:17px;margin:0 0 1px}.holding-identity span,.sheet-stock span{font-size:11px;color:#9ba69d}.pending-banner{display:flex;align-items:center;gap:8px;background:#fbf4e6;color:#a36c20;border-radius:10px;padding:10px 12px;margin-top:17px;font-size:12px;font-weight:700}.holding-main{display:grid;grid-template-columns:1fr 1fr;margin:23px 0 21px}.holding-main>div:nth-child(2){border-left:1px solid #edf0eb;padding-left:22px;display:flex;flex-direction:column;gap:8px}.metric-label{color:#94a096;font-size:11px}.holding-shares{display:flex;align-items:baseline;gap:5px}.holding-shares strong{font-size:34px;line-height:1.2;letter-spacing:-.06em}.holding-shares span{font-size:15px;color:#9ba89c}.cost-value{font-size:25px;letter-spacing:-.05em}.holding-info{display:grid;grid-template-columns:repeat(3,1fr);background:#f6f8f4;border-radius:12px;padding:14px;gap:5px}.holding-info div{display:flex;flex-direction:column;gap:5px}.holding-info span{font-size:10px;color:#91a094}.holding-info strong{font-size:13px}.recent{margin-top:22px}.recent-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.recent-head strong{font-size:12px}.recent-head button{border:0;background:transparent;font-size:11px;color:#789078;display:flex;align-items:center}.recent-row{display:flex;align-items:center;gap:9px;padding:8px 0;border-top:1px solid #f0f2ee;color:#9ba59d;font-size:11px}.recent-row strong{margin-left:auto;color:#405146;font-size:11px}.trade-tag{border-radius:5px;padding:3px 5px;font-size:10px;font-weight:700}.trade-tag.buy{background:#ecf4e8;color:#527f51}.trade-tag.sell{background:#f8eee9;color:#b86b4e}.holding-actions{display:flex;gap:8px;margin-top:18px}.holding-actions button{flex:1;justify-content:center;white-space:nowrap}.outline-button,.dark-button,.primary-button{min-height:41px;padding:9px 12px;border-radius:10px;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:5px}.outline-button{border:1px solid #dfe8dc;background:#fff;color:#3c6446}.dark-button{border:1px solid #253a2b;background:#253a2b;color:#fff}.primary-button{border:0;background:#c8e8ae;color:#243c29}.full{width:100%}.lock-reason{font-size:10px;color:#a4814d;margin:11px 0 0;display:flex;align-items:center;gap:5px}.empty-state,.empty-records{background:#fff;border:1px dashed #dce5d9;border-radius:19px;display:flex;align-items:center;flex-direction:column;text-align:center;padding:48px 20px;color:#899b89}.empty-icon{width:60px;height:60px;background:#eff5ea;border-radius:19px;display:grid;place-items:center;color:#769474}.empty-state h2{color:#354c38;font-size:18px;margin:19px 0 4px}.empty-state p{font-size:12px;max-width:210px;line-height:1.7;margin:0 0 21px}.user-tabs{display:flex;background:#e9eee8;border-radius:12px;padding:4px;margin-bottom:17px}.user-tabs button{width:50%;border:0;background:transparent;border-radius:9px;color:#8d9b90;font-size:13px;font-weight:800;padding:10px}.user-tabs button.active{color:#2e4934;background:#fff;box-shadow:0 2px 8px #1f3d2514}.record-summary{background:#fff;border:1px solid #e8ede5;border-radius:20px;padding:22px;box-shadow:0 5px 20px #192d1805}.record-pnl{display:flex;flex-direction:column;gap:4px}.record-pnl strong{font-size:30px;letter-spacing:-.055em}.record-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);margin:23px 0 20px}.record-stat-grid strong{font-size:19px}.winrate-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eff1ee;padding-top:16px;font-size:12px;color:#506253}.winrate-row small{color:#a6afa7;font-size:10px;margin-left:5px}.winrate-row strong{color:#2f6542;font-size:18px}.history-heading{margin-top:33px}.muted-count{font-size:12px;color:#9aa69b}.empty-records{padding:40px 12px;gap:9px}.empty-records strong{color:#465948;font-size:13px}.empty-records span{font-size:11px}.round-list{display:grid;gap:9px}.round-row{background:#fff;border:1px solid #e8ede6;border-radius:13px;display:flex;align-items:center;padding:0 13px 0 0;text-align:left;overflow:hidden;min-height:82px;color:#a4ada4}.result-bar{width:4px;align-self:stretch;background:#c7cfc5}.result-bar.profit{background:#83c598}.result-bar.loss{background:#d59a87}.round-content{flex:1;padding:15px}.round-line{display:flex;justify-content:space-between;align-items:center;gap:7px}.round-line:first-child strong:first-child{font-size:14px;color:#253629}.round-line:first-child span{font-size:11px;color:#9daa9e;margin-left:7px}.round-line>strong:last-child{font-size:14px}.round-line.secondary{margin-top:8px;color:#9ba69d;font-size:10px}.modal-backdrop{position:fixed;inset:0;background:#1b2b2099;z-index:20;display:flex;align-items:flex-end;justify-content:center}.sheet{width:min(560px,100%);max-height:94vh;overflow-y:auto;background:#fff;border-radius:24px 24px 0 0;padding:11px 24px calc(25px + env(safe-area-inset-bottom));box-shadow:0 -9px 30px #18241a20}.sheet-handle{width:36px;height:4px;border-radius:4px;background:#dfe5df;margin:0 auto 18px}.sheet-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:21px}.eyebrow{color:#93a294}.sheet-header h2{font-size:23px;letter-spacing:-.04em;margin:5px 0 0}.icon-button{width:32px;height:32px;border:0;border-radius:50%;background:#f2f4f1;color:#66776a;display:grid;place-items:center}.sheet-stock{display:flex;align-items:center;gap:10px;background:#f6f8f5;border-radius:12px;padding:11px;margin-bottom:21px}.sheet-stock .stock-icon{width:36px;height:36px;font-size:15px}.sheet-stock div:last-child{display:flex;flex-direction:column;gap:3px}.sheet-stock strong{font-size:13px}.field-label{font-size:12px;font-weight:800;display:flex;justify-content:space-between;margin:17px 0 8px}.field-label span{font-weight:400;color:#a1ada3}.sheet input{width:100%;height:46px;border:1px solid #e0e7df;border-radius:9px;background:#fbfcfa;padding:0 13px;color:#253629;outline:none}.sheet input:focus{border-color:#83bd80}.sheet input::placeholder{color:#b8c1b7}.input-icon{position:relative}.input-icon svg{position:absolute;left:13px;top:14px;color:#a8b4a8}.input-icon input{padding-left:40px}.suggest-wrap{position:relative}.suggestions{position:absolute;z-index:2;top:49px;width:100%;background:#fff;box-shadow:0 10px 25px #1b301d20;border:1px solid #e1e9dd;border-radius:10px;overflow:hidden}.suggestions button{width:100%;padding:12px;border:0;border-bottom:1px solid #eef2ed;background:#fff;display:flex;justify-content:space-between;font-size:12px}.suggestions button span{color:#9da99d}.segmented{display:flex;gap:9px}.segmented button{width:50%;border:1px solid #e0e7df;border-radius:10px;background:#fff;color:#455c47;padding:10px;text-align:left;font-size:14px;font-weight:800}.segmented button.selected{background:#edf6e7;border-color:#91c789;color:#335b39}.segmented small{font-size:10px;font-weight:500;color:#9ca99d;margin-left:3px}.price-input{position:relative}.price-input span{position:absolute;top:10px;left:14px;font-size:21px;font-weight:700;color:#425c46}.price-input input{height:52px;padding-left:39px;font-size:22px;font-weight:700}.form-note,.detail-footnote{font-size:11px;color:#a2ada3;line-height:1.6;margin:12px 0 23px}.form-error{font-size:12px;color:#b84b3b;background:#fbefeb;padding:10px;border-radius:8px}.sheet .primary-button{height:48px;font-size:13px;justify-content:space-between;padding:0 18px}.choice-intro{font-size:12px;color:#87978a;margin:-6px 0 18px}.choice-option{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:#f8faf7;border:1px solid #e9eee7;border-radius:13px;margin-top:9px;padding:15px}.choice-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center}.choice-icon.sell{background:#f8ece7;color:#bd7657}.choice-icon.buy{background:#e9f3e5;color:#498357}.choice-option>span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1}.choice-option strong{font-size:13px;color:#2f4132}.choice-option small{font-size:10px;color:#a1aea2}.choice-option-arrow{color:#9dab9c}.title-code{font-size:12px;color:#a1aca0;font-weight:500}.detail-summary{display:grid;grid-template-columns:1fr 1fr;background:#f4f7f2;border-radius:13px;padding:16px;margin-bottom:23px}.detail-summary>div{display:flex;flex-direction:column;gap:6px}.detail-summary>div:nth-child(2){border-left:1px solid #e3eae0;padding-left:18px}.detail-summary span{font-size:11px;color:#99a69b}.detail-summary strong{font-size:18px}.detail-sheet .section-heading{margin:0 0 14px}.detail-sheet .section-heading h3{font-size:14px;margin:0}.detail-sheet .section-heading span{font-size:11px;color:#a5afa5}.timeline{max-height:45vh;overflow:auto}.timeline-item{display:flex;gap:12px;position:relative;padding-bottom:16px}.timeline-item:not(:last-child):before{content:"";position:absolute;left:6px;top:13px;bottom:0;width:1px;background:#e5ece2}.timeline-dot{width:13px;height:13px;border-radius:50%;flex:none;margin-top:3px;z-index:1}.timeline-dot.buy{background:#a8d39a}.timeline-dot.sell{background:#d6ad96}.timeline-body{flex:1;min-width:0}.timeline-top,.timeline-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.timeline-top strong{font-size:12px}.timeline-top span,.timeline-bottom span,.timeline-body small{font-size:10px;color:#a1ada4}.timeline-bottom{margin-top:6px}.timeline-bottom strong{font-size:11px}.timeline-body small{display:block;margin-top:5px}.detail-footnote{margin:9px 0 0}.login-page{min-height:100vh;background:#233229;color:#fff;display:grid;place-items:center;padding:36px 24px}.login-inner{width:min(400px,100%)}.login-mark{width:48px;height:48px;border:1px solid #709276;background:#3a5540;border-radius:15px;margin-bottom:43px}.login-kicker{color:#a6cf97}.login-page h1{font-size:clamp(39px,8vw,53px);line-height:1.22;letter-spacing:-.065em;margin:14px 0}.login-page p{font-size:13px;line-height:1.8;color:#b5c8b9;margin:0 0 42px}.login-choices{display:grid;gap:10px}.login-choices button{border:1px solid #829d8466;background:#f7faf4;border-radius:14px;padding:14px;display:flex;align-items:center;gap:13px;text-align:left;color:#273b2b}.login-choices .avatar{width:41px;height:41px;font-size:16px}.login-choices button>span:nth-child(2){display:flex;flex-direction:column;gap:3px}.login-choices strong{font-size:14px}.login-choices small{font-size:11px;color:#94a093}.choice-arrow{margin-left:auto;font-size:20px;color:#6d846f}.login-foot{display:block;text-align:center;color:#78967d;font-size:11px;margin-top:36px}.loading,.fatal{min-height:100vh;display:grid;place-content:center;text-align:center;color:#536754;padding:20px}.fatal p{margin:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:650px){.topbar{height:61px;padding:0 19px}.page{padding:17px 18px 107px}.hero{padding:24px;min-height:270px;border-radius:19px}.hero h1{font-size:30px;margin-top:30px}.overview-grid{grid-template-columns:1fr}.overview-card{padding:17px 17px 0}.overview-pnl{margin:19px 0 18px}.overview-pnl strong{font-size:27px}.section-heading{margin:27px 0 14px}.page-heading h1{font-size:28px}.holding-card{padding:18px}.holding-info{padding:12px}.holding-info strong{font-size:12px}.holding-actions{gap:6px}.holding-actions button{padding:8px 7px;font-size:11px}.sheet{padding-left:19px;padding-right:19px}.round-line.secondary{font-size:9px}}@media(min-width:651px){.holdings-list,.round-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.expired-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 36px 0;padding:11px 14px;border:1px solid #eadbbf;border-radius:11px;background:#fff7e9;color:#8c672c;font-size:12px;line-height:1.5}.expired-notice button{display:grid;place-items:center;flex:none;width:24px;height:24px;border:0;border-radius:50%;background:#f7e9d2;color:#8c672c}@media(max-width:650px){.expired-notice{margin:2px 18px 0}}.login-form{display:grid;gap:11px}.login-back{width:fit-content;display:flex;align-items:center;gap:6px;border:0;background:transparent;color:#bad0bb;font-size:12px;padding:0 0 9px}.selected-identity{display:flex;align-items:center;gap:12px;margin:0 0 6px;font-size:15px}.selected-identity .avatar{width:41px;height:41px;font-size:16px}.login-form label{color:#d2dfd1;font-size:12px;font-weight:700}.login-form input{width:100%;height:50px;border:1px solid #849b86;border-radius:11px;background:#f7faf4;padding:0 15px;color:#233229}.login-form input::placeholder{color:#a4b2a5}.login-submit{display:flex;align-items:center;justify-content:space-between;width:100%;height:48px;border:0;border-radius:11px;background:#c7e9a7;color:#203425;padding:0 15px;margin-top:10px;font-size:13px;font-weight:800}.login-error{color:#ffd3c9!important;font-size:12px!important;margin:2px 0!important}.cloud-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 36px 0;padding:11px 14px;border-radius:11px;background:#fff7e9;color:#8c672c;font-size:12px}.cloud-status button{border:0;background:transparent;color:#6c743c;font-weight:800;white-space:nowrap}.retry-screen{padding:55px 24px;text-align:center;color:#566958}.retry-screen h2{color:#2c4030;font-size:20px}.retry-screen p{font-size:13px;line-height:1.6}.retry-screen button{margin-top:12px}@media(max-width:650px){.cloud-status{margin:2px 18px 0}}.cloud-status{position:fixed;top:72px;left:50%;transform:translate(-50%);width:min(952px,calc(100% - 72px));z-index:9;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 13px;border-radius:10px;background:#eaf2e7;color:#4b6c50;font-size:11px;box-shadow:0 5px 18px #192d1814}.cloud-status button{border:0;background:transparent;color:#315b3a;font-weight:700}.loading-page{display:flex;flex-direction:column;gap:18px}.loading-hero,.loading-title,.loading-cards>div{background:linear-gradient(100deg,#e9eee8 15%,#f7f9f6 42%,#e9eee8 70%);background-size:200% 100%;animation:loading-shimmer 1.3s ease-in-out infinite}.loading-hero{height:280px;border-radius:24px;background-color:#e1e8df}.loading-title{width:130px;height:23px;border-radius:8px;margin-top:10px}.loading-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.loading-cards>div{height:220px;border-radius:19px}.loading-page>span{font-size:12px;color:#8a9b8a}.loading-page>.primary-button{align-self:flex-start}.history-loading{padding:30px;text-align:center;color:#849584;font-size:12px}.history-error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:10px;background:#fbefeb;color:#a64a3d;font-size:12px}.history-error button{border:0;background:transparent;color:inherit;font-weight:700}.history-more{display:block;margin:20px auto 0;padding:11px 22px;border:1px solid #dce8d9;border-radius:10px;background:#fff;color:#3c6446;font-weight:700;font-size:12px}@keyframes loading-shimmer{to{background-position-x:-200%}}@media(max-width:650px){.cloud-status{top:61px;width:calc(100% - 36px)}.loading-hero{height:270px;border-radius:19px}.loading-cards{grid-template-columns:1fr}.loading-cards>div{height:185px}}@media(prefers-reduced-motion:reduce){.loading-hero,.loading-title,.loading-cards>div{animation:none}}
