@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{--bg: #f3f5f8;--bg-glow-a: rgba(14, 116, 144, .08);--bg-glow-b: rgba(225, 29, 72, .06);--card: #ffffff;--text: #111827;--muted: #6b7280;--faint: #9ca3af;--accent: #0e7490;--accent-soft: #e0f2fe;--rise: #e11d48;--rise-soft: #fff1f2;--fall: #059669;--fall-soft: #ecfdf5;--danger: #b91c1c;--border: rgba(17, 24, 39, .08);--shadow: 0 10px 30px rgba(15, 23, 42, .06);--radius: 16px;--radius-sm: 12px;font-family:DM Sans,Noto Sans SC,system-ui,sans-serif;color:var(--text);background:var(--bg);line-height:1.5}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(110% 70% at 8% -8%,var(--bg-glow-b),transparent 55%),radial-gradient(90% 55% at 100% 0%,var(--bg-glow-a),transparent 50%),var(--bg)}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;border:none;border-radius:10px;padding:.6rem 1.1rem;background:var(--accent);color:#fff;font-weight:600;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px #0e749038}button.secondary{background:#fff;color:var(--text);border:1px solid var(--border);box-shadow:none}button.ghost{background:transparent;color:var(--muted);border:1px solid transparent}button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}input,select,textarea{width:100%;padding:.6rem .8rem;border:1px solid var(--border);border-radius:10px;background:#fff}.shell{max-width:880px;margin:0 auto;padding:.75rem 1rem 5.5rem}.nav{position:sticky;top:0;z-index:20;display:flex;gap:.35rem;flex-wrap:wrap;padding:.85rem .15rem;margin-bottom:.35rem;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav a{padding:.45rem .9rem;border-radius:999px;color:var(--muted);font-weight:500;font-size:.92rem;transition:background .15s ease,color .15s ease}.nav a:hover{color:var(--text);background:#ffffffb3}.nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:700}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.15rem;margin-bottom:.9rem;box-shadow:var(--shadow)}.muted{color:var(--muted)}.faint{color:var(--faint);font-size:.85rem}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.stack{display:grid;gap:.85rem}h1,h2,h3{margin:0 0 .35rem;letter-spacing:-.02em}.error{color:var(--danger)}.eyebrow{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-weight:600}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.25rem}.icon-btn{width:2.6rem;height:2.6rem;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text);font-size:1.15rem;padding:0}.icon-btn.busy{animation:pulse 1.1s ease-in-out infinite;color:var(--rise);background:var(--rise-soft);border-color:#e11d4826}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.96)}}.run-panel{border-radius:var(--radius);border:1px solid rgba(225,29,72,.12);background:linear-gradient(165deg,#fff 0%,var(--rise-soft) 100%);padding:1rem 1.1rem;box-shadow:var(--shadow);animation:fadeUp .35s ease}.run-banner{font-weight:600;color:var(--rise);margin-bottom:.65rem}.run-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600;background:#fffc;border:1px solid var(--border);color:var(--muted)}.chip.live{background:var(--accent-soft);color:var(--accent);border-color:transparent}.thinking-block{border-radius:var(--radius-sm);background:#ffffffb8;border:1px solid var(--border);overflow:hidden}.thinking-head{display:flex;justify-content:space-between;align-items:center;padding:.65rem .85rem;cursor:pointer;-webkit-user-select:none;user-select:none}.thinking-title{font-weight:650;font-size:.92rem}.thinking-toggle{color:var(--muted);font-size:.82rem}.thinking-body{padding:0 .85rem .85rem;white-space:pre-wrap;font-size:.88rem;line-height:1.55;color:#374151;max-height:220px;overflow:auto}.activity-list{margin:.65rem 0 0;padding:0;list-style:none;display:grid;gap:.35rem}.activity-item{font-size:.82rem;color:var(--muted);padding:.35rem .55rem;border-radius:8px;background:#ffffffa6;border:1px solid var(--border)}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:.35rem 0 .15rem}.section-title{font-size:1.05rem;font-weight:700}.section-count{color:var(--faint);font-size:.85rem;font-variant-numeric:tabular-nums}.summary-card{background:linear-gradient(160deg,#fff,#f8fafc);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.15rem;box-shadow:var(--shadow)}.summary-label{font-size:.75rem;letter-spacing:.08em;color:var(--faint);font-weight:700;margin-bottom:.35rem}.summary-text{font-size:1.02rem;font-weight:600;line-height:1.55}.analysis-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;white-space:pre-wrap;line-height:1.6;box-shadow:var(--shadow)}.buy-card,.holding-card{display:grid;gap:.55rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:.95rem 1.05rem;box-shadow:var(--shadow);transition:transform .18s ease}.buy-card:hover,.holding-card:hover{transform:translateY(-1px)}.buy-top{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.stock-name{font-weight:700;font-size:1rem}.stock-code{color:var(--faint);font-size:.82rem;font-variant-numeric:tabular-nums}.buy-tag{display:inline-flex;width:1.6rem;height:1.6rem;border-radius:8px;align-items:center;justify-content:center;background:var(--rise-soft);color:var(--rise);font-size:.75rem;font-weight:700;margin-right:.5rem}.buy-price{font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--rise)}.buy-right{text-align:right;display:grid;gap:.35rem;justify-items:end}.buy-action{margin-top:.15rem;padding:.35rem .85rem;min-height:auto;font-size:.85rem;border-radius:999px;box-shadow:none}.buy-action:hover:not(:disabled){transform:none}.reason{color:var(--muted);font-size:.9rem;line-height:1.5}.buy-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0f172a73;display:grid;place-items:end center;padding:1rem}.buy-sheet{width:min(100%,420px);background:var(--card);border:1px solid var(--border);border-radius:18px 18px 14px 14px;padding:1.15rem 1.2rem 1.25rem;box-shadow:0 -8px 32px #0f172a2e;animation:fadeUp .22s ease}.buy-sheet-title{font-size:1.1rem;font-weight:700}.buy-sheet-sub{color:var(--faint);font-variant-numeric:tabular-nums;margin:.2rem 0 1rem;font-size:.88rem}.buy-field{display:grid;gap:.35rem}.field-label{font-size:.82rem;color:var(--muted);font-weight:600}.price-row,.lots-row{display:flex;align-items:center;gap:.5rem}.price-row input,.lots-row input{flex:1;text-align:center;font-variant-numeric:tabular-nums}.lots-btn{width:2.4rem;min-height:2.4rem;padding:0;border-radius:10px;background:var(--bg);color:var(--text);box-shadow:none}.lots-btn:hover:not(:disabled){transform:none;background:#e8edf5}.lots-unit{color:var(--muted);font-size:.88rem;white-space:nowrap}.buy-sheet-hint{margin:.75rem 0 1rem;font-size:.86rem}.buy-sheet-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:.65rem}@media(min-width:720px){.buy-mask{place-items:center}.buy-sheet{border-radius:16px}}.held-tag{display:inline-block;margin-top:.25rem;font-size:.75rem;padding:.12rem .45rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:600}.action-pill{display:inline-block;padding:.12rem .45rem;border-radius:999px;font-size:.75rem;font-weight:700}.action-pill.hold{background:var(--accent-soft);color:var(--accent)}.action-pill.sell{background:var(--rise-soft);color:var(--rise)}.empty-state{text-align:center;padding:2.5rem 1.25rem;border-radius:var(--radius);background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow)}.empty-orb{width:3.2rem;height:3.2rem;margin:0 auto .85rem;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--rise-soft),var(--accent-soft));color:var(--rise);font-size:1.25rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-page{display:grid;gap:.75rem;min-height:calc(100vh - 6.5rem)}.chat-error{margin:0}.chat-new-btn{padding:.35rem .7rem;font-size:.82rem}.chat-panel{display:grid;grid-template-rows:1fr auto;min-height:min(68vh,640px);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.chat-log{display:flex;flex-direction:column;align-items:stretch;gap:.7rem;min-height:0;overflow:auto;padding:1rem 1rem .5rem;background:radial-gradient(80% 50% at 100% 0%,rgba(14,116,144,.04),transparent 55%),#f8fafc}.chat-empty{margin:auto;text-align:center;padding:1.5rem 1rem 2rem;max-width:420px}.chat-empty .empty-orb{margin-bottom:.75rem}.suggest-row{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;margin-top:.85rem}.suggest-chip{background:#fff;color:var(--text);border:1px solid var(--border);box-shadow:none;font-weight:500;font-size:.82rem;padding:.4rem .7rem;border-radius:999px}.suggest-chip:hover:not(:disabled){background:var(--accent-soft);color:var(--accent);transform:none;box-shadow:none}.bubble{padding:.7rem .9rem;border-radius:14px;white-space:pre-wrap;line-height:1.55;width:fit-content;max-width:min(85%,36rem);animation:fadeUp .25s ease;word-break:break-word}.bubble.user{background:var(--accent-soft);color:var(--text);align-self:flex-end;border-bottom-right-radius:6px}.bubble.assistant{background:#fff;border:1px solid var(--border);align-self:flex-start;border-bottom-left-radius:6px;box-shadow:0 4px 14px #0f172a0a;display:grid;gap:.55rem;white-space:normal}.bubble.system{align-self:center;background:transparent;color:var(--muted);font-size:.85rem;padding:.25rem .5rem}.bubble-text{white-space:pre-wrap}.bubble .thinking-block{margin:0;background:#f8fafc;border:1px solid var(--border);border-radius:10px;overflow:hidden}.bubble .thinking-head{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.45rem .65rem;background:transparent;color:var(--muted);font-weight:600;font-size:.82rem;box-shadow:none;transform:none;border-radius:0}.bubble .thinking-head:hover:not(:disabled){transform:none;box-shadow:none;background:#f1f5f9}.bubble .thinking-title{color:var(--muted)}.bubble .thinking-toggle{color:var(--faint);font-weight:500}.bubble .thinking-body{padding:0 .65rem .65rem;white-space:pre-wrap;font-size:.84rem;line-height:1.5;color:#4b5563;max-height:200px;overflow:auto}.composer{display:flex;align-items:flex-end;gap:.55rem;padding:.75rem .85rem .9rem;border-top:1px solid var(--border);background:#fff}.composer textarea{flex:1;min-width:0;height:2.75rem;min-height:2.75rem;max-height:8rem;margin:0;padding:.7rem .85rem;line-height:1.3;resize:none;border-radius:12px;overflow-y:hidden;box-sizing:border-box}.composer textarea.composer-scroll{overflow-y:auto}.composer button{flex:0 0 auto;box-sizing:border-box;height:2.75rem;min-height:2.75rem;min-width:4.2rem;margin:0;padding:0 1rem;border-radius:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.login-hero{margin-top:2rem;padding:2rem 1.35rem;border-radius:22px;background:linear-gradient(165deg,#fff,#fff7f8 45%,#f8fafc);border:1px solid var(--border);box-shadow:var(--shadow);position:relative;overflow:hidden}.login-hero:after{content:"";position:absolute;width:10rem;height:10rem;right:-2rem;top:-3rem;border-radius:50%;background:radial-gradient(circle,rgba(225,29,72,.14),transparent 70%)}.login-badge{display:inline-block;padding:.25rem .65rem;border-radius:999px;font-size:.75rem;letter-spacing:.08em;color:var(--rise);background:var(--rise-soft);font-weight:700;position:relative}.me-link{display:flex;justify-content:space-between;align-items:center;padding:.85rem 0;border-bottom:1px solid var(--border);color:var(--text);font-weight:550}.me-link:last-child{border-bottom:none}.me-link span{color:var(--faint)}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{text-align:left;padding:.55rem .35rem;border-bottom:1px solid var(--border)}th{color:var(--faint);font-weight:600;font-size:.8rem}@media(max-width:640px){.shell{padding-left:.85rem;padding-right:.85rem}}
