/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.start{inset-inline-start:var(--spacing)}.grid{display:grid}.hidden{display:none}.table{display:table}}:root{--ink:#251b19;--paper:#f5f0e9;--card:#fffdf9;--muted:#776f6a;--green:#176449;--lime:#f3d391;--red:#c93d34;--hero-red:#a82e28;--hero-red-deep:#7e201d}*{box-sizing:border-box}html{background:var(--paper)}body{background:var(--paper);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{max-width:1240px;min-height:100vh;margin:auto;padding:28px 38px 22px}.topbar{justify-content:space-between;align-items:center;padding:4px 0 24px;display:flex}.eyebrow,.section-kicker{color:#718077;letter-spacing:.14em;margin:0 0 7px;font-size:11px;font-weight:800;line-height:1}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.03em;margin-bottom:0;font-family:Georgia,Songti SC,serif;font-size:29px}h2{letter-spacing:-.025em;margin:0;font-family:Georgia,Songti SC,serif;font-size:25px}.avatar{background:var(--hero-red);color:#fff;border:0;border-radius:50%;width:44px;height:44px;font-weight:800;box-shadow:0 5px 14px #a82e282e}.hero-card{color:#fffaf4;background:linear-gradient(135deg,var(--hero-red) 0%,var(--hero-red-deep) 100%);border-radius:25px;padding:30px 34px 26px;position:relative;overflow:hidden;box-shadow:0 18px 38px #7e201d2e}.hero-card:after{content:"";border:1px solid #f5d39140;border-radius:50%;width:260px;height:260px;position:absolute;top:-155px;right:-95px;box-shadow:0 0 0 34px #f5d3910d,0 0 0 68px #f5d39109}.hero-head{z-index:1;justify-content:space-between;align-items:flex-start;gap:20px;display:flex;position:relative}.muted{color:#efd3c9;margin:0 0 8px;font-size:13px}.hero-number{letter-spacing:-.035em;margin:0;font-family:Georgia,serif;font-size:55px;line-height:1}.hero-number small{color:#f8d99b;margin-right:7px;font-size:25px}.status{color:#f2d9cf;background:#ffffff0f;border:1px solid #ffebda47;border-radius:99px;padding:8px 12px;font-size:12px}.status i{background:#f7d38d;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block;box-shadow:0 0 0 4px #f7d38d1f}.hero-grid{z-index:1;border-top:1px solid #ffffff24;grid-template-columns:repeat(4,1fr);margin-top:27px;padding-top:20px;display:grid;position:relative}.hero-grid div{border-right:1px solid #ffffff21;gap:5px;padding-left:20px;display:grid}.hero-grid div:first-child{padding-left:0}.hero-grid div:last-child{border:0}.hero-grid span{color:#e9c8bf;font-size:12px}.hero-grid strong{font-size:17px;font-weight:650}.up{color:#d64b3d!important}.down{color:#28a47d!important}.hero-card .up{color:#ffdca0!important}.hero-card .down{color:#a8ebc5!important}.insight-row{grid-template-columns:1.6fr .8fr;gap:16px;margin:17px 0 34px;display:grid}.insight-card{background:var(--card);border:1px solid #14281e12;border-radius:19px;padding:23px}.insight-card h2{font-size:20px}.allocation-bar{border-radius:8px;gap:3px;height:10px;margin:21px 0 17px;display:flex;overflow:hidden}.allocation-bar i{min-width:4px;display:block}.legend{grid-template-columns:repeat(2,1fr);gap:9px 22px;display:grid}.legend span{color:#66716b;white-space:nowrap;text-overflow:ellipsis;align-items:center;font-size:12px;display:flex;overflow:hidden}.legend span>i{border-radius:50%;flex:none;width:8px;height:8px;margin-right:8px}.legend b{color:var(--ink);margin-left:auto}.risk-score{align-items:flex-end;margin:13px 0 8px;display:flex}.risk-score b{font:52px/1 Georgia,serif}.risk-score span{color:var(--muted);margin:0 0 5px 8px;font-size:11px;line-height:1.45}.risk-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.section-title{justify-content:space-between;align-items:flex-end;margin-bottom:14px;display:flex}.trade-disclosure{position:relative}.trade-disclosure summary{list-style:none}.trade-disclosure summary::-webkit-details-marker{display:none}.add-button{color:#6c281f;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f2d294;border:0;border-radius:99px;padding:11px 17px;font-weight:750;display:block}.trade-disclosure[open] .add-button{background:var(--hero-red);color:#fff}.holding-list{grid-template-columns:repeat(2,1fr);gap:13px;display:grid}.market-section{margin:48px 0}.market-grid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.market-comment{background:#f4f1eb;border:1px solid #ecebe6;border-radius:14px;align-items:center;gap:12px;margin-top:14px;padding:14px 16px;display:flex}.market-comment .comment-tag{letter-spacing:.1em;white-space:nowrap;color:#fff;border-radius:99px;flex:none;padding:4px 9px;font-size:9px;font-weight:800}.market-comment .comment-text{color:#657069;margin:0;font-size:12px;line-height:1.5}.index-note{background:#f6f3ed;border-radius:9px;margin:11px 0 0;padding:9px 11px;font-size:11px;line-height:1.5}.index-note.up{color:#b04338;background:#d64b3d12}.index-note.down{color:#1f7a5b;background:#28a47d12}.holding-card{background:var(--card);border:1px solid #14281e12;border-radius:18px;padding:19px;transition:all .2s}.holding-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px #283c3014}.holding-card-link{color:inherit;text-decoration:none;display:block}.holding-card-link:hover .holding-card{transform:translateY(-2px);box-shadow:0 10px 25px #283c3014}.scope-back{color:#7f8884;align-items:center;gap:4px;margin-bottom:8px;font-size:11px;text-decoration:none;display:inline-flex}.scope-back:hover{color:var(--ink)}.holding-main{align-items:center;gap:12px;display:flex}.asset-icon{color:#fff;border-radius:13px;flex:none;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.asset-name{min-width:0}.asset-name h3{white-space:nowrap;text-overflow:ellipsis;margin:0 0 5px;font-size:14px;overflow:hidden}.asset-name p{color:#909891;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:10px;overflow:hidden}.asset-value{text-align:right;white-space:nowrap;margin-left:auto}.asset-value strong{font-size:15px;display:block}.asset-value span{color:#939a96;font-size:10px}.holding-metrics{border-top:1px solid #ecebe6;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:17px;padding-top:15px;display:grid}.holding-metrics div{gap:4px;display:grid}.holding-metrics span{color:#8a938e;font-size:10px}.holding-metrics b{font-size:12px}.annualized-row{background:#f4f1eb;border-radius:10px;align-items:center;gap:8px;margin-top:13px;padding:10px 11px;display:flex}.annualized-row span{color:#7f7772;font-size:10px}.annualized-row b{white-space:nowrap;margin-left:auto;font-size:13px}.annualized-row em{color:#936000;white-space:nowrap;background:#fff0c8;border-radius:99px;padding:3px 6px;font-size:8px;font-style:normal;font-weight:750}.quote-meta{color:#909590;text-align:right;margin:9px 1px 0;font-size:10px;line-height:1.4}footer{color:#8a938d;justify-content:space-between;padding:20px 4px 0;font-size:10px;display:flex}.trade-sheet{z-index:20;background:#fffdf8;border:1px solid #e2e2db;border-radius:22px;width:min(560px,100vw - 30px);max-height:78vh;padding:24px;position:absolute;top:54px;right:0;overflow:auto;box-shadow:0 18px 60px #10271f38}.sheet-title{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.sheet-title>span{color:#89928c;font-size:10px}.trade-sheet label{color:#657069;gap:7px;margin-bottom:14px;font-size:11px;font-weight:700;display:grid}.trade-sheet input,.trade-sheet select{width:100%;color:var(--ink);background:#fff;border:1px solid #dfe2dc;border-radius:11px;outline:none;padding:12px}.trade-sheet input:focus,.trade-sheet select:focus{border-color:#739b67;box-shadow:0 0 0 3px #739b671f}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.save-button{background:var(--hero-red);color:#fff;border:0;border-radius:13px;width:100%;margin-top:3px;padding:14px;font-weight:750}.ocr-zone{background:#faf9f4;border:1.5px dashed #cdcfc6;border-radius:13px;margin-bottom:16px;padding:14px}.ocr-zone.has-file{background:#eef6ea;border-style:solid;border-color:#739b67}.ocr-upload{cursor:pointer;color:#5e6b62;background:0 0;border:1px solid #d3d7cf;border-radius:10px;align-items:center;gap:8px;width:100%;padding:10px 12px;font-size:11px;font-weight:700;transition:all .15s;display:flex}.ocr-upload:hover{background:#fff;border-color:#739b67}.ocr-status{color:#7f8884;margin-top:8px;font-size:10px}.ocr-progress{background:#e6e6e0;border-radius:99px;height:4px;margin-top:6px;overflow:hidden}.ocr-progress>i{background:#739b67;height:100%;transition:width .2s;display:block}.ocr-note{color:#3d6b3a;margin-top:8px;font-size:10px;font-weight:600}.saved-banner{color:#24473b;background:#e4f4bc;border-radius:12px;margin:0 0 13px;padding:11px 14px;font-size:12px;font-weight:700}.timeline-wrap,.calendar-wrap{margin-top:34px}.timeline-section{background:var(--card);border:1px solid #14281e12;border-radius:20px;padding:24px}.timeline-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.timeline-actions{align-items:flex-end;gap:22px;display:flex}.timeline-filters{background:#f4f4ef;border:1px solid #e0e3dd;border-radius:13px;align-items:flex-end;gap:6px;padding:6px;display:flex}.timeline-filters label{color:#7d8781;gap:3px;font-size:8px;font-weight:750;display:grid}.timeline-filters select{min-width:96px;color:var(--ink);background:#fff;border:0;border-radius:8px;outline:none;padding:8px 25px 8px 9px;font-size:11px;font-weight:650;box-shadow:0 1px 2px #14281e0d}.timeline-filters .asset-filter select{min-width:205px;max-width:260px}.flow-totals{color:#87918b;gap:20px;font-size:10px;display:flex}.flow-totals span{gap:4px;display:grid}.flow-totals b{color:var(--ink);font-size:14px}.timeline{position:relative}.timeline:before{content:"";background:#dfe2dc;width:1px;position:absolute;top:24px;bottom:24px;left:18px}.timeline-item{border-bottom:1px solid #eeeee9;grid-template-columns:38px 1fr auto;align-items:center;gap:14px;padding:13px 0;display:grid;position:relative}.timeline-item:last-child{border-bottom:0}.timeline-dot{z-index:1;border:5px solid var(--card);color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:10px;font-weight:800;display:grid;position:relative}.timeline-dot.in{background:#356c58}.timeline-dot.out{background:#bf5b4d}.timeline-dot.cancelled{background:#a2aaa5}.timeline-content{min-width:0}.timeline-content>div{color:#8b948f;align-items:center;gap:7px;font-size:10px;display:flex}.timeline-content>div time{white-space:nowrap}.timeline-content>div span{white-space:nowrap;background:#f0f0eb;border-radius:99px;padding:3px 7px}.timeline-content>div .pending-tag{color:#9a6500;background:#fff0c8}.timeline-content>div .cancelled-tag{color:#717a74;background:#eceeec}.timeline-content h3{white-space:nowrap;text-overflow:ellipsis;margin:6px 0 3px;font-size:13px;overflow:hidden}.timeline-content h3 small{color:#929a95;margin-left:8px;font-size:10px;font-weight:500}.timeline-content p{color:#77817b;margin:0;font-size:10px;line-height:1.45}.timeline-amount{text-align:right;white-space:nowrap;gap:4px;display:grid}.timeline-amount b{font-size:13px}.timeline-amount span{color:#929a95;font-size:9px}.timeline-amount.in b{color:#315e4e}.timeline-amount.out b{color:#b64d42}.timeline-amount.cancelled b{color:#929a95;text-decoration:line-through}.timeline-empty{text-align:center;color:#939b96;padding:35px;font-size:12px}.calendar-section{background:var(--card);border:1px solid #14281e12;border-radius:20px;margin-top:34px;padding:24px}.calendar-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.calendar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:22px;display:flex}.calendar-totals{color:#87918b;gap:20px;font-size:10px;display:flex}.calendar-totals span{gap:4px;display:grid}.calendar-totals b{color:var(--ink);font-size:14px}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.calendar-weekday{text-align:center;letter-spacing:.08em;color:#a2aaa5;padding-bottom:4px;font-size:9px;font-weight:800}.calendar-cell{aspect-ratio:16/9;text-align:center;background:#f6f3ed;border:1px solid #0000;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;padding:4px;display:flex}.calendar-cell.blank{background:0 0;border:0}.calendar-cell.has-data.up{background:#d64b3d1f;border-color:#d64b3d38}.calendar-cell.has-data.down{background:#28a47d1f;border-color:#28a47d38}.calendar-cell.future{opacity:.45}.calendar-cell .cell-day{color:#5b635e;font-size:11px;font-weight:700;line-height:1}.calendar-cell.has-data .cell-day{color:var(--ink)}.calendar-cell .cell-amount{white-space:nowrap;margin-top:2px;font-size:9px;font-weight:700;line-height:1}.calendar-cell.has-data.up .cell-amount{color:var(--red)}.calendar-cell.has-data.down .cell-amount{color:var(--green)}@media (width<=720px){.app-shell{padding:19px 15px 18px}.topbar{padding-bottom:17px}.eyebrow{font-size:9px}h1{font-size:25px}.avatar{width:38px;height:38px}.market-grid{grid-template-columns:1fr}.hero-card{border-radius:21px;padding:25px 21px 21px}.hero-number{font-size:40px}.hero-number small{font-size:19px}.status{padding:7px 9px;font-size:9px}.hero-grid{grid-template-columns:repeat(2,1fr);margin-top:22px}.hero-grid div{padding-left:11px}.hero-grid div:nth-child(2){border-right:0}.hero-grid div:nth-child(n+3){border-top:1px solid #ffffff1f;margin-top:12px;padding-top:12px}.hero-grid div:nth-child(3){padding-left:0}.hero-grid strong{font-size:13px}.hero-grid span{font-size:9px}.insight-row{grid-template-columns:1fr;margin-bottom:27px}.risk-card{grid-template-columns:auto 1fr;align-items:center;column-gap:16px;display:grid}.risk-card .section-kicker{grid-column:1/-1}.risk-score{margin:8px 0 0}.risk-card p{margin-top:8px}.legend{grid-template-columns:1fr}.section-title h2{font-size:23px}.add-button{padding:10px 14px;font-size:12px}.holding-list{grid-template-columns:1fr}.holding-card{padding:17px 15px}.asset-value strong{font-size:14px}.holding-metrics{gap:5px}.holding-metrics b{font-size:11px}.annualized-row{flex-wrap:wrap}.annualized-row b{margin-left:auto}.trade-sheet{width:100%;max-height:85vh;padding:25px 18px max(22px,env(safe-area-inset-bottom));border-radius:25px 25px 0 0;position:fixed;top:auto;bottom:0;right:0}.timeline-section{border-radius:18px;padding:18px 13px}.timeline-head{grid-template-columns:minmax(0,1fr);align-items:flex-start;gap:15px;width:100%;display:grid}.timeline-actions{grid-template-columns:minmax(0,1fr);gap:12px;width:auto;min-width:0;display:grid}.timeline-filters{box-sizing:border-box;grid-template-columns:minmax(0,.7fr) minmax(0,.7fr) minmax(0,1.6fr);width:100%;display:grid}.timeline-filters label{min-width:0}.timeline-filters select,.timeline-filters .asset-filter select{width:100%;min-width:0;max-width:none;padding-right:19px;font-size:10px}.flow-totals{gap:24px;display:flex}.timeline-item{grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px;padding:15px 0}.timeline-dot{width:34px;height:34px;margin-top:1px}.timeline-content>div{flex-wrap:wrap;row-gap:5px;font-size:9px}.timeline-content h3{margin-top:7px;font-size:12px}.timeline-content h3 small,.timeline-content p{font-size:9px}.timeline-amount{text-align:left;grid-column:2;align-items:center;gap:9px;margin-top:-3px;display:flex}.timeline-amount b{font-size:12px}.calendar-cell{aspect-ratio:auto;min-height:38px}.calendar-head{margin-bottom:14px}.calendar-actions{flex-direction:column;align-items:flex-start;gap:14px}}@media (width<=390px){.status{display:none}.hero-grid strong{font-size:12px}.asset-icon{width:38px;height:38px}.asset-name h3{max-width:145px}.form-row{grid-template-columns:1fr;gap:0}.timeline-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.timeline-filters .asset-filter{grid-column:1/-1}.flow-totals{justify-content:space-between}.timeline-content>div span:not(.pending-tag):not(.cancelled-tag){display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
