:root{--bg: #F4F0E7;--surface: #FFFFFF;--surface-2: #EFE9DC;--surface-subtle: #FAF7F0;--border: #D8D0C2;--border-strong: #BDB3A1;--text: #191714;--text-body: #3E3932;--text-muted: #7A7167;--gold: #A88A5C;--gold-deep: #8E723F;--gold-text: #8E723F;--gold-muted: rgba(168, 138, 92, .14);--gold-ring: rgba(168, 138, 92, .28);--positive: #587A46;--negative: #A45F4E;--warning: #9A761F;--info: #667C91;--shadow-card: 0 1px 0 rgba(25,23,20,.02);--font-serif: "Iowan Old Style", "Apple Garamond", Baskerville, "Times New Roman", "Droid Serif", Times, "Source Serif Pro", serif, "Apple Color Emoji", "Segoe UI Emoji";--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", "IBM Plex Sans", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", "IBM Plex Mono", Menlo, Consolas, monospace;--radius-card: 8px;--radius-button: 4px;--col-chat: 720px;--col-max: 1240px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-7: 32px;--s-8: 40px;--s-9: 48px;--s-10: 64px;--s-11: 96px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-standard: cubic-bezier(.2, 0, 0, 1);--duration-fast: .12s;--duration-normal: .18s;--duration-slow: .24s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}@keyframes auraPageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes auraFadeIn{0%{opacity:0}to{opacity:1}}@keyframes auraMsgIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes auraCardIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes auraDialogIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes auraToastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes auraDotPulse{0%,to{opacity:.35}50%{opacity:1}}[data-theme=dark]{--bg: #0F0F0E;--surface: #161614;--surface-2: #1F1E1B;--surface-subtle: #1A1916;--border: #2A2925;--border-strong: #3A3833;--text: #F2EDDF;--text-body: #CFC7B5;--text-muted: #8E867A;--gold: #A88A5C;--gold-deep: #8E723F;--gold-text: #D8B274;--gold-muted: rgba(168, 138, 92, .16);--gold-ring: rgba(168, 138, 92, .3);--positive: #9CB585;--negative: #C9826F;--warning: #C9A75C;--info: #7A8FA8;--shadow-card: 0 1px 0 rgba(255,255,255,.02)}:root{color-scheme:light}[data-theme=dark]{color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{background:var(--bg)}body{font-family:var(--font-serif);color:var(--text-body);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:16px;line-height:1.55;min-height:100vh;transition:background-color var(--duration-normal) var(--ease-out),color var(--duration-normal) var(--ease-out)}.app,.side,.topbar,.acard,.item-list,.item-row,.history-list,.history-row,.set-card,.set-row,.calc-form,.calc-result .placeholder,.dialog,.modal,.input-dock .wrap,.input-dock textarea,.field input,.field select,.field textarea,.chip,.btn,.nav-item,.badge,.seg,.stale-pill,.empty,.section-band,.readonly-dl,.dialog-section.readonly{transition:background-color var(--duration-normal) var(--ease-out),color var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.btn:active,.chip:active,.send:active,.convo-title:active,.nav-item:active{transform:translateY(1px)}.btn,.chip,.send,.convo-title,.nav-item{transition:transform var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}textarea,input,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--border-strong)}.app{display:grid;grid-template-columns:220px 1fr;height:100vh;min-height:0;overflow:hidden}.side{border-right:1px solid var(--border);background:var(--surface-subtle);display:flex;flex-direction:column;padding:24px 16px;gap:24px;position:sticky;top:0;height:100vh}.side .brand{display:flex;align-items:center;gap:10px;font-family:var(--font-serif);font-weight:600;font-size:18px;color:var(--text);letter-spacing:.005em;padding:0 6px}.side .brand .dot{width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#D8B274 0%,var(--gold) 55%,var(--gold-deep) 100%)}.side .brand small{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;font-weight:400;display:block}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group h5{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin:8px 8px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;font-family:var(--font-ui);font-size:14px;font-weight:500;color:var(--text-body);position:relative;text-align:left;width:100%}.nav-item:hover{background:var(--surface-2)}.nav-item.active{background:var(--surface);color:var(--text)}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:18px;background:var(--gold);border-radius:0 2px 2px 0}.nav-item .icn{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);flex:none}.nav-item.active .icn{color:var(--text)}.side .foot{margin-top:auto;font-family:var(--font-mono);font-size:10.5px;color:var(--text-muted);line-height:1.5;letter-spacing:.02em;padding:0 6px}.main{display:flex;flex-direction:column;min-width:0;height:100vh;min-height:0;background:var(--bg);overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:5}.topbar .title{font-family:var(--font-serif);font-weight:500;font-size:18px;color:var(--text);letter-spacing:-.005em}.topbar .meta{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);display:flex;gap:18px;align-items:center}.topbar .meta .pill{border:1px solid var(--border);border-radius:999px;padding:3px 10px;font-size:10.5px;letter-spacing:.1em;color:var(--text-muted);background:var(--surface)}.page{flex:1;display:flex;flex-direction:column;min-height:0}.page-pad{padding:32px;max-width:var(--col-max);margin:0 auto;width:100%}.btn{font-family:var(--font-ui);font-weight:600;font-size:13.5px;padding:9px 16px;border-radius:var(--radius-button);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);display:inline-flex;align-items:center;gap:8px;line-height:1;transition:background .12s ease,border-color .12s ease,color .12s ease}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--gold);border-color:var(--gold);color:#1a1714}.btn.primary:hover{background:var(--gold-deep);border-color:var(--gold-deep);color:#faf7f0}.btn.ghost{background:transparent;border-color:var(--border)}.btn.ghost:hover{background:var(--surface-2);border-color:var(--border-strong)}.btn.subtle{border-color:transparent;color:var(--text-muted);background:transparent;padding:6px 8px;font-weight:500;font-size:12.5px}.btn.subtle:hover{color:var(--text);background:var(--surface-2)}.btn.danger:hover{color:var(--negative);border-color:var(--negative)}.btn.saved{background:var(--surface-2);border-color:var(--border);color:var(--text-body)}.btn.saved:hover{background:var(--surface)}.btn-row{display:flex;align-items:center;gap:8px}.chat-wrap{flex:1;display:flex;flex-direction:column;min-height:0}.chat-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 32px 0;position:relative}.chat-header-left{position:relative;min-width:0;flex:1}.chat-header-right{flex:none}.convo-title{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:6px 10px;border-radius:6px;font-family:var(--font-serif);font-size:16px;font-weight:500;color:var(--text);letter-spacing:-.005em;line-height:1.2;border:1px solid transparent}.convo-title:hover{background:var(--surface-2)}.convo-title:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.convo-title .ct-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:380px}.convo-title .ct-caret{color:var(--text-muted);font-size:13px}.recent-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:20;width:min(380px,90vw);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:0 12px 36px -12px #19171429,0 2px 6px #1917140f;display:flex;flex-direction:column;max-height:480px;overflow:hidden}.rp-head{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);padding:12px 14px 6px}.rp-empty{padding:6px 14px 12px;font-family:var(--font-serif);font-size:14px;color:var(--text-muted)}.rp-row{display:flex;align-items:center;gap:4px;padding:0 6px;border-top:1px solid var(--border)}.rp-row:hover,.rp-row.active{background:var(--surface-subtle)}.rp-pick{flex:1;min-width:0;text-align:left;padding:10px 8px;display:flex;flex-direction:column;gap:2px}.rp-title{font-family:var(--font-serif);font-size:14.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-meta{font-family:var(--font-mono);font-size:10.5px;color:var(--text-muted);letter-spacing:.02em}.rp-del{width:24px;height:24px;border-radius:4px;color:var(--text-muted);display:flex;align-items:center;justify-content:center}.rp-del:hover{color:var(--negative);background:#a45f4e14}.rp-foot{border-top:1px solid var(--border);padding:10px 12px;display:flex;justify-content:flex-end;background:var(--surface-subtle)}.chat-stream{flex:1;overflow-y:auto;display:flex;justify-content:center;padding:24px 24px 8px}.chat-col{width:100%;max-width:var(--col-chat);display:flex;flex-direction:column;gap:28px}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:48px 24px 32px;animation:auraPageIn var(--duration-slow) var(--ease-out) both}.chat-empty h1{font-family:var(--font-serif);font-weight:500;font-size:34px;line-height:1.15;letter-spacing:-.012em;color:var(--text);margin:0}.chat-empty p{font-family:var(--font-serif);font-size:16.5px;color:var(--text-body);max-width:48ch;margin:0}.chat-empty .trust{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.04em;color:var(--text-muted);margin-top:6px}.chip-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:680px;width:100%;margin-top:24px}.chat-empty .chip-grid .chip{animation:auraMsgIn var(--duration-slow) var(--ease-out) both}.chat-empty .chip-grid .chip:nth-child(1){animation-delay:60ms}.chat-empty .chip-grid .chip:nth-child(2){animation-delay:.1s}.chat-empty .chip-grid .chip:nth-child(3){animation-delay:.14s}.chat-empty .chip-grid .chip:nth-child(4){animation-delay:.18s}.chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:10px 16px;font-family:var(--font-ui);font-size:13.5px;color:var(--text-body);text-align:left;line-height:1.4;transition:background .12s ease,border-color .12s ease}.chip:hover{background:var(--surface-subtle);border-color:var(--border-strong)}.msg{display:flex;flex-direction:column;gap:8px;animation:auraMsgIn .16s var(--ease-out) both}.msg.user{align-items:flex-end}.msg.user .bubble{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:10px 14px;max-width:78%;font-family:var(--font-ui);font-size:14.5px;color:var(--text)}.msg.assistant{align-items:stretch}.msg.assistant .prose{font-family:var(--font-serif);font-size:16.5px;line-height:1.65;color:var(--text-body);max-width:68ch}.msg.assistant .prose em{color:var(--text);font-style:italic}.msg-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}.input-dock{display:flex;justify-content:center;padding:14px 24px calc(28px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border)}.input-dock .wrap{width:100%;max-width:var(--col-chat);background:var(--surface);border:1px solid var(--border);border-radius:12px;display:flex;align-items:flex-end;gap:10px;padding:10px 12px;box-shadow:0 1px #19171405}.input-dock textarea{flex:1;border:0;outline:0;resize:none;background:transparent;font-family:var(--font-serif);font-size:16px;line-height:1.5;color:var(--text);min-height:24px;max-height:120px}.input-dock textarea::placeholder{color:var(--text-muted)}.input-dock .send{width:32px;height:32px;border-radius:6px;background:var(--text);color:var(--bg);display:flex;align-items:center;justify-content:center;flex:none}.input-dock .send:disabled{background:var(--border);color:var(--text-muted)}.input-dock .hint{font-family:var(--font-mono);font-size:10.5px;color:var(--text-muted);letter-spacing:.04em;align-self:center;padding:0 4px}.acard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:26px 28px;max-width:640px;display:flex;flex-direction:column;gap:18px;animation:auraCardIn .2s var(--ease-out) both}.acard .eyebrow{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0}.acard h2{font-family:var(--font-serif);font-weight:500;font-size:24px;line-height:1.2;letter-spacing:-.008em;color:var(--text);margin:-6px 0 0}.acard .card-subtitle{font-family:var(--font-serif);font-size:15px;color:var(--text-muted);margin:-12px 0 0;font-style:italic}.acard .conclusion{font-family:var(--font-serif);font-size:16.5px;line-height:1.55;color:var(--text-body);margin:0}.acard .section-head{font-family:var(--font-ui);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 6px}.acard .section-body{font-family:var(--font-serif);font-size:15.5px;line-height:1.6;color:var(--text-body);margin:0}.acard .section+.section{margin-top:6px}.acard .section dl{margin:0;display:grid;grid-template-columns:140px 1fr;row-gap:4px;column-gap:14px;font-size:14.5px}.acard .section dt{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding-top:2px}.acard .section dd{margin:0;font-family:var(--font-serif);color:var(--text-body)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 24px;padding:16px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.metric{display:flex;flex-direction:column;gap:4px;min-width:0}.metric .l{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.metric .v{font-family:var(--font-serif);font-weight:500;font-size:22px;line-height:1.1;color:var(--text);letter-spacing:-.005em}.metric .v.pos{color:var(--positive)}.metric .v.neg{color:var(--negative)}.source-row{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding-top:14px;border-top:1px dashed var(--border);margin-top:4px}.source-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--gold);flex:1;line-height:1.5}.psum{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:24px 26px;max-width:640px;display:flex;flex-direction:column;gap:14px}.psum h3{font-family:var(--font-serif);font-weight:500;font-size:22px;margin:0;color:var(--text);letter-spacing:-.005em}.psum .bar{height:12px;border-radius:6px;overflow:hidden;display:flex;border:1px solid var(--border)}.psum .bar .lp{background:var(--text)}.psum .bar .au{background:var(--gold)}.psum .legend{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);letter-spacing:.04em}.psum .legend .swatch{display:inline-block;width:8px;height:8px;border-radius:2px;vertical-align:1px;margin-right:6px}.psum .legend .lp{background:var(--text)}.psum .legend .au{background:var(--gold)}.psum .note{font-family:var(--font-mono);font-size:11px;color:var(--gold)}.risk-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.risk-list li{padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-subtle)}.risk-list .rhead{font-family:var(--font-ui);font-weight:600;font-size:13.5px;color:var(--text)}.risk-list .rbody{font-family:var(--font-serif);font-size:14.5px;color:var(--text-body);margin-top:2px}.section-band{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:24px 28px;display:grid;grid-template-columns:1fr 2fr 1fr;gap:24px;align-items:center}.section-band .total .l{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.section-band .total .v{font-family:var(--font-serif);font-weight:500;font-size:34px;color:var(--text);letter-spacing:-.012em}.section-band .alloc{display:flex;flex-direction:column;gap:8px}.section-band .alloc .bar{height:12px;border:1px solid var(--border);border-radius:6px;overflow:hidden;display:flex}.section-band .alloc .bar .lp{background:var(--text)}.section-band .alloc .bar .au{background:var(--gold)}.section-band .split{font-family:var(--font-mono);font-size:11px;text-align:right;color:var(--text-muted);line-height:1.65;letter-spacing:.04em}.item-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden;margin-top:16px}.item-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border)}.item-row:last-child{border-bottom:0}.item-row:hover{background:var(--surface-subtle)}.item-row .title{font-family:var(--font-serif);font-size:15.5px;color:var(--text)}.item-row .sub{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);letter-spacing:.02em;margin-top:2px}.item-row .note{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);letter-spacing:.02em}.item-row .note .note-body{font-family:var(--font-serif);font-style:italic;font-size:13px;color:var(--text-body);flex-basis:100%;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-row .val{font-family:var(--font-mono);font-size:14.5px;color:var(--text);text-align:right}.item-row .actions{display:flex;gap:4px}.badge{font-family:var(--font-mono);font-weight:500;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--border-strong);border-radius:3px;color:var(--text);background:var(--surface);line-height:1.2}.badge.au{border-color:var(--gold);color:var(--gold-text)}.badge.sum{color:var(--text-muted)}.stale-pill{display:inline-flex;align-items:center;gap:8px;background:var(--gold-muted);border:1px solid var(--gold-ring);border-radius:999px;padding:6px 12px;font-family:var(--font-mono);font-size:11px;color:var(--gold-text);letter-spacing:.04em}.stale-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-head h1{font-family:var(--font-serif);font-weight:500;font-size:34px;color:var(--text);letter-spacing:-.012em;margin:0}.page-head .sub{font-family:var(--font-serif);font-size:16px;color:var(--text-muted);margin-top:6px;max-width:62ch}.history-group+.history-group{margin-top:28px}.history-group h4{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin:0 0 10px;font-weight:500}.history-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}.history-row{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:14px;align-items:center;padding:13px 18px;border-bottom:1px solid var(--border)}.history-row:last-child{border-bottom:0}.history-row:hover{background:var(--surface-subtle)}.history-row .title{font-family:var(--font-serif);font-size:15.5px;color:var(--text)}.history-row .result{font-family:var(--font-mono);font-size:12.5px;color:var(--text-body)}.history-row .time{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);letter-spacing:.02em}.set-group+.set-group{margin-top:28px}.set-group h4{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin:0 0 10px;font-weight:500}.set-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}.set-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border)}.set-row:last-child{border-bottom:0}.set-row .l{font-family:var(--font-serif);font-size:15.5px;color:var(--text)}.set-row .l small{display:block;font-family:var(--font-serif);font-size:13.5px;color:var(--text-muted);margin-top:3px}.set-row .status{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:4px 10px;background:var(--surface-subtle)}.disclaimer{margin-top:24px;background:var(--gold-muted);border:1px solid rgba(168,138,92,.28);border-radius:var(--radius-card);padding:16px 20px;font-family:var(--font-serif);font-size:15px;color:var(--text)}.empty{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:64px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;animation:auraCardIn var(--duration-slow) var(--ease-out) both}.empty h2{font-family:var(--font-serif);font-weight:500;font-size:24px;color:var(--text);margin:0;letter-spacing:-.008em}.empty p{font-family:var(--font-serif);font-size:16px;color:var(--text-body);margin:0;max-width:48ch}.empty .actions{margin-top:12px}.calc-grid{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:32px;align-items:flex-start;width:100%}.calc-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:22px 24px;display:flex;flex-direction:column;gap:14px;max-width:100%;min-width:0}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.field .hint{font-family:var(--font-mono);font-size:10.5px;color:var(--text-muted);letter-spacing:.02em;margin-top:-2px}.field input,.field select{width:100%;box-sizing:border-box;min-width:0;border:1px solid var(--border);background:var(--surface-subtle);border-radius:6px;padding:9px 12px;font-family:var(--font-ui);font-size:14px;color:var(--text);outline:0;transition:border-color .12s,background .12s,box-shadow .12s}.field input:focus,.field select:focus{border-color:var(--gold);background:var(--surface);box-shadow:0 0 0 3px var(--gold-ring)}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field-error{font-family:var(--font-mono);font-size:11px;color:var(--negative);letter-spacing:.02em;line-height:1.5;padding:6px 10px;border:1px solid rgba(164,95,78,.3);background:#a45f4e14;border-radius:6px}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--negative)}.calc-result{min-width:0}.calc-result .placeholder{border:1px dashed var(--border-strong);border-radius:var(--radius-card);padding:48px 24px;text-align:center;color:var(--text-muted);font-family:var(--font-serif);font-size:15.5px;background:var(--surface-subtle)}.toast-wrap{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:100;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{background:var(--text);color:var(--bg);font-family:var(--font-ui);font-size:13.5px;padding:10px 14px;border-radius:8px;box-shadow:0 8px 24px #1917142e;display:flex;align-items:center;gap:14px;pointer-events:auto;animation:auraToastIn .22s var(--ease-out) both}.toast .link{color:var(--gold);font-weight:600;cursor:pointer}.toast .link:hover{text-decoration:underline}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#19171459;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;animation:auraFadeIn var(--duration-normal) var(--ease-out) both}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:24px 26px;max-width:440px;width:100%;display:flex;flex-direction:column;gap:14px;animation:auraDialogIn var(--duration-normal) var(--ease-out) both}.modal h3{font-family:var(--font-serif);font-weight:500;font-size:20px;color:var(--text);margin:0}.modal p{font-family:var(--font-serif);font-size:15px;color:var(--text-body);margin:0}.modal .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);max-width:560px;width:100%;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 48px -16px #1917142e,0 2px 8px #19171414;animation:auraDialogIn var(--duration-normal) var(--ease-out) both}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 26px 14px;border-bottom:1px solid var(--border)}.dialog-head h3{font-family:var(--font-serif);font-weight:500;font-size:22px;color:var(--text);margin:0;letter-spacing:-.008em}.dialog-head p{font-family:var(--font-serif);font-size:14.5px;color:var(--text-muted);margin:6px 0 0;line-height:1.5}.dialog-close{width:32px;height:32px;border-radius:6px;color:var(--text-muted);display:flex;align-items:center;justify-content:center;flex:none}.dialog-close:hover{background:var(--surface-2);color:var(--text)}.dialog-body{flex:1;overflow-y:auto;padding:18px 26px 8px;display:flex;flex-direction:column;gap:20px}.dialog-section{display:flex;flex-direction:column;gap:12px}.dialog-section.readonly{background:var(--surface-subtle);border:1px solid var(--border);border-radius:8px;padding:14px 16px;gap:10px}.dialog-section.readonly .readonly-dl{background:var(--surface);border:1px solid var(--border)}.dialog-section .readonly-sub{font-family:var(--font-serif);font-size:14.5px;color:var(--text);font-style:italic}.dialog-section-head{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}.value-preview{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;font-family:var(--font-mono);font-size:13px;color:var(--text);margin-top:2px}.value-preview .hint{font-family:var(--font-mono);font-size:10.5px;color:var(--text-muted);letter-spacing:.02em;text-align:right;max-width:260px;line-height:1.5}.dialog .field textarea{width:100%;box-sizing:border-box;min-width:0;border:1px solid var(--border);background:var(--surface-subtle);border-radius:6px;padding:9px 12px;font-family:var(--font-serif);font-size:14.5px;color:var(--text);outline:0;transition:border-color .12s,background .12s,box-shadow .12s;resize:vertical;min-height:64px}.dialog .field textarea:focus{border-color:var(--gold);background:var(--surface);box-shadow:0 0 0 3px var(--gold-ring)}.edit-helper{font-family:var(--font-mono);font-size:10.5px;color:var(--text-muted);letter-spacing:.02em;line-height:1.6}.readonly-dl{margin:0;display:grid;grid-template-columns:160px 1fr;row-gap:7px;column-gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:6px;background:var(--surface-subtle)}.readonly-dl dt{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding-top:2px}.readonly-dl dd{margin:0;font-family:var(--font-serif);font-size:14.5px;color:var(--text)}.readonly-dl dd.pos{color:var(--positive)}.readonly-dl dd.neg{color:var(--negative)}.readonly-source{font-family:var(--font-mono);font-size:11px;color:var(--gold-text);letter-spacing:.04em;padding-top:2px}.dialog-foot{display:flex;justify-content:flex-end;gap:8px;padding:16px 26px 20px;border-top:1px solid var(--border);background:var(--surface)}@media (max-width: 640px){.modal-back{padding:0;align-items:stretch}.dialog{max-width:100%;max-height:100vh;border-radius:0;border-left:0;border-right:0}.dialog-head,.dialog-body,.dialog-foot{padding-left:18px;padding-right:18px}.readonly-dl{grid-template-columns:1fr;row-gap:2px}.readonly-dl dt{padding-top:8px}.readonly-dl dt:first-child{padding-top:0}}.inline-confirm{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);letter-spacing:.04em}.inline-confirm button{font-family:var(--font-mono);font-size:11px;color:var(--negative);padding:3px 6px;border-radius:3px}.inline-confirm button:hover{background:#a45f4e1a}.inline-confirm .cancel{color:var(--text-muted)}.inline-confirm .cancel:hover{background:var(--surface-2);color:var(--text)}.btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.chip:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.nav-item:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface-subtle)}.seg button{font-family:var(--font-ui);font-weight:500;font-size:13px;color:var(--text-muted);padding:8px 14px;border-right:1px solid var(--border);background:transparent;display:inline-flex;align-items:center;gap:6px}.seg button:last-child{border-right:0}.seg button:hover{color:var(--text);background:var(--surface)}.seg button.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:inset 0 -2px 0 var(--gold)}.seg button:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.provenance{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 32px 14px;font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.page-enter{flex:1;display:flex;flex-direction:column;min-height:0;animation:auraPageIn var(--duration-normal) var(--ease-out) both}.page-chat,.page-chat .page-enter{height:100%;min-height:0;overflow:hidden}.page-scroll{overflow-y:auto}.input-dock .wrap{transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.input-dock .wrap:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-ring)}.dots{animation:auraDotPulse 1.4s ease-in-out infinite}.mobile-tabs{display:none}@media (max-width: 960px){.app{grid-template-columns:1fr}.side{display:none}.mobile-tabs{display:grid;grid-template-columns:repeat(7,1fr);position:sticky;bottom:0;left:0;right:0;z-index:10;background:var(--surface);border-top:1px solid var(--border)}.mobile-tabs .tab{padding:8px 0 10px;text-align:center;font-family:var(--font-ui);font-size:10px;color:var(--text-muted);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:2px}.mobile-tabs .tab:last-child{border-right:0}.mobile-tabs .tab.active{color:var(--text)}.mobile-tabs .tab .dot{display:none;width:5px;height:5px;border-radius:50%;background:var(--gold)}.mobile-tabs .tab.active .dot{display:block}.topbar{padding:14px 18px}.page-pad{padding:18px}.input-dock{padding:12px 18px calc(22px + env(safe-area-inset-bottom))}.input-dock .wrap{border-radius:10px}.chat-stream{padding:14px 14px 4px}.chat-header{padding:10px 14px 0}.convo-title .ct-text{max-width:200px}.chat-header-right .btn{padding:8px 10px}.chip-grid{grid-template-columns:1fr}.chat-empty h1{font-size:26px}.acard{padding:20px;border-radius:6px}.metric-grid{grid-template-columns:1fr 1fr}.section-band{grid-template-columns:1fr;gap:14px}.section-band .split{text-align:left}.item-row{grid-template-columns:auto 1fr;grid-template-areas:"b t" "b s" ". v" ". a";gap:6px 12px}.item-row .badge{grid-area:b;align-self:flex-start}.item-row .title-block{grid-column:2}.calc-grid{grid-template-columns:1fr}.history-row{grid-template-columns:auto 1fr;grid-template-areas:"b t" "b r" ". a";gap:6px 12px}.history-row .badge{grid-area:b}.history-row .title{grid-area:t}.history-row .result-block{grid-column:2;font-family:var(--font-mono);font-size:11.5px;color:var(--text-muted)}.history-row .actions{grid-column:2;justify-self:flex-start}.provenance{flex-direction:column;align-items:flex-start;gap:8px;padding:0 18px 14px}}.dsl{display:inline-flex;align-items:center;gap:6px;line-height:1.5;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--gold)}.dsl .dsl-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.dsl.is-user{color:var(--gold)}.dsl.is-saved{padding:6px 12px;border-radius:999px;background:var(--gold-muted);border:1px solid var(--gold-ring);color:var(--gold-text)}.dsl.is-saved .dsl-dot{background:var(--gold)}.dsl.is-live{color:var(--positive)}.dsl.is-cached{color:var(--amber)}.dsl.is-wallet{color:var(--text)}.dsl.is-quote{color:var(--text-body)}.dsl.is-unavailable{color:var(--negative);border:1px solid rgba(164,95,78,.35);background:#a45f4e0f;padding:2px 8px;border-radius:999px}.source-legend{margin-top:24px;padding:16px 18px;background:var(--surface-subtle);border:1px solid var(--border);border-radius:8px}.source-legend-head{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.source-legend ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.source-legend li{display:grid;grid-template-columns:minmax(180px,max-content) 1fr;gap:14px;align-items:baseline;padding:6px 0;border-top:1px dashed var(--border)}.source-legend li:first-child{border-top:0}.source-legend-body{font-family:var(--font-serif);font-size:13.5px;color:var(--text-body);line-height:1.5}.section-band.band-2col{grid-template-columns:1.2fr 2fr;gap:20px}.section-band .sub-line{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;color:var(--text-muted);margin-top:4px}.section-band .split-line{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--text-muted);margin-top:4px}.item-row-2val{grid-template-columns:auto 1fr auto auto}.val-2col{display:flex;gap:24px;align-items:flex-start;justify-content:flex-end}.val-cell{display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:88px}.val-cell-l{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.val-cell-v{font-family:var(--font-mono);font-size:14.5px;color:var(--text)}.val-cell-v.dim{color:var(--text-muted)}.val-cell-note{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);letter-spacing:.04em}@media (max-width: 640px){.section-band.band-2col{grid-template-columns:1fr;gap:14px}.item-row-2val{grid-template-columns:auto 1fr}.val-2col{grid-column:2;justify-content:flex-start;gap:18px}}.portfolio-group{margin-top:22px}.portfolio-group-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin:0 0 8px;flex-wrap:wrap}.portfolio-group-head h4{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin:0;font-weight:500}.portfolio-group-meta{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);letter-spacing:.02em}.badge.wallet{border-color:var(--border-strong);color:var(--text-body)}.msg-feedback{margin-top:12px;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);padding-top:8px}.feedback-trigger-row{display:flex;align-items:center;gap:12px}.feedback-trigger-row span{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.feedback-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.feedback-btn:hover{background:var(--surface-2);color:var(--text)}.feedback-btn.active-up{color:var(--positive);background:#2e7d321a}.feedback-btn.active-down{color:var(--negative);background:#c628281a}.feedback-box{background:var(--surface-subtle);border:1px solid var(--border);border-radius:6px;padding:12px 14px;display:flex;flex-direction:column;gap:10px;margin-top:4px;animation:auraCardIn .16s var(--ease-out) both}.feedback-box-title{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0}.feedback-box textarea{width:100%;box-sizing:border-box;border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:8px 10px;font-family:var(--font-serif);font-size:13.5px;color:var(--text);outline:0;resize:vertical;min-height:50px;transition:border-color .12s,box-shadow .12s}.feedback-box textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-ring)}.feedback-box .actions{display:flex;justify-content:flex-end;gap:8px}.feedback-disclaimer{font-family:var(--font-serif);font-size:11.5px;color:var(--text-muted);font-style:italic;line-height:1.4}.feedback-thankyou{font-family:var(--font-mono);font-size:11px;color:var(--positive);letter-spacing:.04em;display:flex;align-items:center;gap:6px}
