:root{--bg:#f5f6fa;--surface:#fff;--surface-alt:#e8ecf0;--text:#2c3e50;--text-muted:#7f8c8d;--primary:#1a5276;--primary-light:#d6eaf8;--green:#27ae60;--green-bg:#d5f5e3;--red:#e74c3c;--red-bg:#fadbd8;--border:#dee2e6;--nav-bg:#fff}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);max-width:480px;margin:0 auto;padding-bottom:70px;min-height:100vh}.page{padding:16px}.page-title{font-size:20px;font-weight:700;margin-bottom:16px;color:var(--primary)}.summary-card{background:var(--primary-light);border-radius:12px;padding:16px;margin-bottom:16px}.summary-card .current-value{font-size:26px;font-weight:700;font-family:SF Mono,monospace}.summary-card .label{font-size:12px;color:var(--text-muted);margin-bottom:2px}.summary-row{display:flex;justify-content:space-between;margin-top:12px}.stock-card{background:var(--surface);border-radius:10px;padding:14px;margin-bottom:10px;box-shadow:0 1px 3px rgba(0,0,0,.08)}.stock-card .header{display:flex;justify-content:space-between;align-items:center}.stock-card .symbol{font-weight:700;font-size:15px}.stock-card .name{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.stock-card .row{display:flex;justify-content:space-between;margin-top:8px}.stock-card .mono{font-family:SF Mono,Courier New,monospace;font-size:13px}.stock-card .label{font-size:11px;color:var(--text-muted)}.stock-card .value{font-size:13px;font-weight:500}.day-stats{display:flex;gap:10px}.day-stat{font-size:12px;font-weight:600;font-family:SF Mono,monospace}.day-stat.green{color:var(--green)}.day-stat.red{color:var(--red)}.day-stat.flat{color:var(--text-muted)}.chip{display:inline-flex;align-items:center;padding:3px 8px;border-radius:6px;font-size:13px;font-weight:600;font-family:SF Mono,monospace;gap:2px}.chip.green{background:var(--green-bg);color:var(--green)}.chip.red{background:var(--red-bg);color:var(--red)}.pnl-green{color:var(--green)}.pnl-red{color:var(--red)}.list-item{display:flex;align-items:center;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border);gap:12px}.list-item .rank{width:28px;text-align:center;font-weight:700;color:var(--text-muted);font-size:15px}.list-item .info{flex:1 1;min-width:0}.list-item .info .symbol{font-weight:700;font-size:14px}.list-item .info .name{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-item .price{font-family:SF Mono,monospace;font-size:14px;font-weight:500;text-align:right;margin-right:8px}.list-item-expandable{padding:0 12px;background:var(--surface);border-bottom:1px solid var(--border)}.list-item-expandable .list-item-row{display:flex;align-items:center;padding:10px 0;gap:6px}.list-item-expandable .rank{width:22px;text-align:center;font-weight:700;color:var(--text-muted);font-size:12px;flex-shrink:0}.list-item-expandable .info{flex:1 1;min-width:0}.list-item-expandable .info .symbol{font-weight:700;font-size:13px}.list-item-expandable .info .name{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-item-expandable .price{font-family:SF Mono,monospace;font-size:12px;font-weight:500;text-align:right;margin-right:4px;flex-shrink:0}.list-item-expandable .metrics-panel{padding-bottom:12px}.dropdown{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--surface);color:var(--text)}.dropdown,.tabs{margin-bottom:12px}.tabs{display:flex;border-bottom:2px solid var(--border)}.tab{flex:1 1;padding:10px;text-align:center;font-size:14px;font-weight:500;cursor:pointer;margin-bottom:-2px;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.sell-card{background:var(--surface);border-radius:10px;padding:14px;margin-bottom:10px;box-shadow:0 1px 3px rgba(0,0,0,.08);border-left:4px solid var(--red)}.sell-card.sell-card-green{border-left-color:var(--green)}.sell-card .reason{font-size:13px;color:var(--red);font-weight:500;margin-top:8px}.sell-card.sell-card-green .reason{color:var(--green)}.settings-section{background:var(--surface);border-radius:10px;padding:16px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.08)}.settings-section h3{font-size:15px;color:var(--primary);margin-bottom:12px}.setting-row{margin-bottom:12px}.setting-row label{display:block;font-size:13px;color:var(--text-muted);margin-bottom:4px}.setting-row input[type=range]{width:100%}.setting-row .setting-value{font-size:14px;font-weight:600}.input-clearable{position:relative}.input-clearable input{padding-right:28px}.input-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--red);font-size:16px;cursor:pointer;padding:0 4px;line-height:1}.setting-row input[type=date],.setting-row input[type=number],.setting-row input[type=password],.setting-row input[type=text]{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--surface);color:var(--text)}.empty-state{text-align:center;padding:40px 16px;color:var(--text-muted)}.empty-state .icon{font-size:48px;margin-bottom:12px}.empty-state h3{font-size:16px;color:var(--text);margin-bottom:8px}.loading{text-align:center;padding:60px 16px;color:var(--text-muted)}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}@keyframes spin{to{transform:rotate(1turn)}}.error{text-align:center;padding:40px 16px;color:var(--red)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;display:flex;background:var(--nav-bg);border-top:1px solid var(--border);z-index:100}.nav-item{flex:1 1;display:flex;flex-direction:column;align-items:center;padding:8px 0;font-size:11px;color:var(--text-muted);text-decoration:none;gap:2px;transition:color .2s}.nav-item.active{color:var(--primary)}.nav-item svg{width:22px;height:22px}.segment{display:flex;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:12px}.segment button{flex:1 1;padding:8px;font-size:13px;border:none;background:var(--surface);cursor:pointer;color:var(--text-muted);font-weight:500}.segment button.active{background:var(--primary);color:#fff}.subtitle{font-size:13px;color:var(--text-muted);margin-bottom:12px}.radio-row{display:flex;gap:16px;padding:8px 0;margin-bottom:8px}.radio-label{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--text-muted);cursor:pointer}.radio-label.active{color:var(--primary);font-weight:600}.radio-label input[type=radio]{accent-color:var(--primary)}.section-title{font-size:15px;font-weight:600;margin:12px 0 8px}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center;z-index:200}.modal-card{background:var(--surface);border-radius:16px 16px 0 0;padding:20px;width:100%;max-width:480px;max-height:80vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.modal-close{background:none;border:none;font-size:24px;color:var(--text-muted);cursor:pointer;padding:0 4px;line-height:1}.note-input{width:100%;padding:12px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;background:var(--bg);color:var(--text)}.note-input:focus{outline:none;border-color:var(--primary)}.btn{flex:1 1;padding:10px 16px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-secondary{background:var(--surface-alt);color:var(--text)}.btn-link{color:var(--primary);font-size:13px;font-weight:500;padding:0}.btn-link,.note-btn{background:none;border:none;cursor:pointer}.note-btn{font-size:14px;color:var(--text-muted);padding:0 2px;line-height:1}.note-badge{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--primary);flex-shrink:0}.note-card{background:var(--bg);border-radius:8px;margin-bottom:8px;overflow:hidden}.note-card-header{display:flex;justify-content:space-between;align-items:center;padding:12px;cursor:pointer}.note-card-symbol{font-weight:700;font-size:14px}.note-card-chevron{font-size:10px;color:var(--text-muted)}.note-card-body{padding:0 12px 12px}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:16px}.login-card{background:var(--surface);border-radius:16px;padding:32px 24px;width:100%;max-width:360px;box-shadow:0 2px 12px rgba(0,0,0,.1);text-align:center}.login-title{font-size:28px;font-weight:700;color:var(--primary);margin-bottom:4px}.login-subtitle{font-size:14px;color:var(--text-muted);margin-bottom:24px}.login-input{width:100%;padding:12px;border:1px solid var(--border);border-radius:8px;font-size:15px;margin-bottom:12px;background:var(--bg);color:var(--text)}.login-input:focus{outline:none;border-color:var(--primary)}.login-message{margin-top:16px;font-size:13px;padding:10px;border-radius:8px}.login-message.success{background:var(--green-bg);color:var(--green)}.login-message.error{background:var(--red-bg);color:var(--red)}.metrics-panel{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.metric-item{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:var(--bg);border-radius:6px;font-size:12px}.metric-label{color:var(--text-muted)}.metric-sweet{color:var(--green);font-size:10px}.metric-value{font-weight:600;font-family:SF Mono,monospace}.metric-green{color:var(--green)}.metric-red{color:var(--red)}.metric-yellow{color:#e67e22}.card-expand-hint,.metric-gray{color:var(--text-muted)}.card-expand-hint{text-align:center;font-size:10px;margin-top:4px}.metric-toggle{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.metric-toggle:last-child{border-bottom:none}.metric-toggle-info{flex:1 1;min-width:0}.metric-toggle-label{font-size:13px;font-weight:600}.metric-toggle-desc{font-size:11px;color:var(--text-muted)}.toggle-switch{position:relative;width:40px;height:22px;flex-shrink:0;margin-left:8px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background:var(--border);border-radius:11px;cursor:pointer;transition:.2s}.toggle-slider:before{content:"";position:absolute;width:18px;height:18px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:.2s}.toggle-switch input:checked+.toggle-slider{background:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(18px)}