:root{--bg:#0a0a0b;--bg-elevated:#121214;--bg-panel:#17171a;--bg-panel-strong:#1d1d21;--line:#26262b;--line-strong:#323238;--text:#f5f5f7;--muted:#9a9aa2;--muted-strong:#c5c5cb;--accent:#c7ff3d;--accent-soft:#c7ff3d1f;--danger:#ff7d93;--success:#8effc1;--shadow:0 24px 72px #0000005c;color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#ffffff08,#0000 30%),linear-gradient(#060607 0%,#0a0a0b 100%);font-family:Inter Variable,Inter,SF Pro Text,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.55}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{letter-spacing:-.01em;min-width:320px}button,input,select,summary{font:inherit}button{cursor:pointer}input,select{border:1px solid var(--line-strong);width:100%;min-height:54px;color:var(--text);background:#101013;border-radius:16px;padding:.9rem 1rem;font-size:.98rem}input::placeholder{color:#6f6f78}input:focus,select:focus{border-color:#c7ff3d99;outline:2px solid #c7ff3d59}.page-shell{padding:28px 20px 52px}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0a0bf5;margin:-28px -20px 20px;padding:14px 20px}.topbar-inner{justify-content:center;align-items:center;width:100%;margin:0;display:flex}.topbar-brand{letter-spacing:.16em;text-transform:uppercase;width:100%;color:var(--accent);text-align:center;font-size:clamp(1.35rem,2.8vw,2rem);font-weight:700;display:block}.app-shell{width:min(1180px,100%);margin:0 auto}.planner-toolbar{justify-content:flex-end;margin-bottom:16px;display:flex}.chooser-card{width:100%}.chooser-heading{text-align:center;justify-items:center}.chooser-heading .section-helper{max-width:62ch}.chooser-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:100%}.chooser-card-option.active{background:linear-gradient(#c7ff3d1f,#101013f5);border-color:#c7ff3d70}.chooser-card-option:hover,.chooser-card-option:focus-visible{background:linear-gradient(#c7ff3d14,#101013f5);border-color:#c7ff3d52}.chooser-card-option[aria-pressed=true] strong{color:var(--accent)}.chooser-card-option{text-align:center;align-content:start;justify-items:center;min-height:124px}.funding-panel{gap:12px;display:grid}.attribution-footer{width:min(1180px,100%);margin:26px auto 0}.attribution-footer-inner{border-top:1px solid #85b7eb2e;justify-items:center;gap:.7rem;padding:18px 22px 8px;display:grid}.attribution-eyebrow{color:#85b7eb;letter-spacing:.2em;text-transform:uppercase;font-size:.72rem;font-weight:700}.attribution-logo{opacity:.96;width:min(320px,100%);height:auto;display:block}.attribution-link{border-radius:18px;justify-content:center;align-items:center;transition:transform .16s,opacity .16s;display:inline-flex}.attribution-link:hover,.attribution-link:focus-visible{opacity:1;transform:translateY(-1px)}.stage-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;display:grid}h1,h2{letter-spacing:-.035em;margin:0;font-family:Inter Variable,Inter,SF Pro Display,Segoe UI,sans-serif;line-height:1.02}h1{font-size:clamp(2.35rem,4.6vw,3.8rem)}h2{font-size:clamp(1.45rem,2.2vw,1.95rem)}h3{margin:0;font-size:1rem;font-weight:700;line-height:1.3}p{margin:0}.section-card,.print-plan{border:1px solid var(--line);background:linear-gradient(180deg, var(--bg-panel-strong), var(--bg-panel));box-shadow:var(--shadow);border-radius:30px}.row-card,.summary-strip,.status-banner,.advanced-panel,.preset-card{border-radius:20px}.section-step{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:.76rem;font-weight:700}.section-card{padding:26px}.stage-main{grid-column:1}.summary-rail{gap:24px;display:grid;position:sticky;top:260px}.compact-card{padding:22px}.summary-rail .section-heading{gap:.3rem;margin-bottom:.9rem}.summary-rail .section-step{letter-spacing:.18em;font-size:.82rem}.section-heading{gap:.55rem;margin-bottom:1.2rem;display:grid}.section-helper,.subtle-note{color:var(--muted);line-height:1.6}.stack{gap:16px;display:grid}.summary-strip,.status-banner,.rail-metrics,.results-panel,.advanced-panel,.row-card{border:1px solid var(--line-strong);background:#101013}.summary-strip,.status-banner,.button-row,.row-card-header,.print-plan-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.summary-strip,.status-banner,.advanced-panel,.row-card,.results-panel{width:100%;min-width:0;padding:18px}.summary-strip>div,.status-banner>div,.rail-metrics>div,.print-summary-grid>div{gap:.22rem;display:grid}.summary-strip>div,.status-banner>div{flex:1 1 0;min-width:0}.summary-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;line-height:1.3}.status-banner.valid{border-color:#8effc13d}.status-banner.pending{border-color:#ffffff1a}.field-grid,.preset-grid,.results-columns,.print-summary-grid{gap:14px;display:grid}.field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.field{gap:.55rem;display:grid}.field span{color:var(--muted-strong);text-align:center;font-weight:600}.row-card-header>h3,.section-heading>h2,.section-heading>p,.compact-card>p,.compact-card>ul,.compact-card>div,.results-panel>h3,.results-panel>p,.results-panel>ul{min-width:0}.button-row{flex-wrap:wrap;row-gap:10px}.action-row{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;display:grid}.action-row-two{grid-template-columns:repeat(2,minmax(0,1fr))}.action-row .button{justify-content:center;align-items:center;width:100%;display:flex}.button{letter-spacing:-.01em;border:1px solid #0000;border-radius:999px;min-height:48px;padding:.84rem 1.2rem;font-weight:700;transition:transform .12s,border-color .12s,background .12s}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.5;cursor:not-allowed;transform:none}.button.primary{background:var(--accent);color:#0a0a0b}.button.secondary{border-color:var(--line-strong);color:var(--text);background:#151518}.button.secondary:hover,.button.secondary:focus-visible,.button.ghost:hover,.button.ghost:focus-visible{background:linear-gradient(#c7ff3d14,#101013f5);border-color:#c7ff3d52}.button.ghost{border-color:var(--line-strong);color:var(--muted-strong);background:0 0}.preset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.preset-card{border:1px solid var(--line-strong);color:var(--text);text-align:left;background:#101013;justify-self:stretch;gap:.5rem;width:100%;min-width:0;min-height:116px;padding:16px;display:grid}.preset-card:hover,.preset-card:focus-visible{background:linear-gradient(#c7ff3d14,#101013f5);border-color:#c7ff3d52}.preset-card span{color:var(--muted);line-height:1.5}.message-list,.trade-sentences,.print-notes{gap:.5rem;margin:0;padding-left:1.1rem;display:grid}.message-list.note,.trade-sentences,.print-notes{color:var(--muted-strong)}.message-list.error,.error-note{color:var(--danger)}.success-note{color:var(--success)}.upload-dropzone{transition:border-color .12s,background .12s,transform .12s}.upload-dropzone.drag-over{background:#c7ff3d14;border-color:#c7ff3d99;transform:translateY(-1px)}.csv-preview-card,.details-card{gap:14px;display:grid}.csv-preview-card{gap:18px}.csv-preview-heading{gap:.8rem;margin-bottom:0}.csv-preview-title-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.csv-preview-title-copy{gap:.35rem;display:grid}.csv-preview-title-copy h3{letter-spacing:-.03em;font-size:1.28rem;line-height:1.05}.csv-preview-format-pill{min-height:34px;color:var(--accent);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;background:#c7ff3d14;border:1px solid #c7ff3d3d;border-radius:999px;align-items:center;padding:.4rem .8rem;font-size:.76rem;font-weight:700;display:inline-flex}.csv-preview-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.csv-preview-metric,.csv-preview-panel,.details-card{border:1px solid var(--line-strong);background:#101013;border-radius:20px;padding:18px}.csv-preview-metric{text-align:center;justify-items:center;gap:.35rem;min-width:0;display:grid}.csv-preview-metric strong,.csv-preview-panel-header h3{letter-spacing:-.02em;font-size:1.1rem;line-height:1.1}.csv-preview-notes,.csv-edit-grid{gap:12px;display:grid}.csv-preview-list{max-height:280px;overflow-y:auto}.csv-preview-ticker,.csv-preview-value{color:var(--text);letter-spacing:-.01em;font-size:1rem;font-weight:700;line-height:1.2}.csv-edit-row{background:linear-gradient(#1d1d21f5,#101013fa)}.csv-edit-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;background:#060607c2;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{width:min(720px,100%);max-height:min(88vh,920px);overflow-y:auto}.csv-edit-modal{gap:16px;display:grid}.details-card summary{min-height:54px;color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;font-weight:700;list-style:none;display:flex}.details-card summary::-webkit-details-marker{display:none}.details-card summary:after{content:"▾";color:var(--text);font-size:.95rem;line-height:1;transition:transform .12s}.details-card[open] summary:after{transform:rotate(180deg)}.csv-mapping-grid{gap:14px;display:grid}.results-columns.split{grid-template-columns:repeat(2,minmax(0,1fr))}.results-panel.sell{border-width:2px;border-color:#ff7d9352}.results-panel.buy{border-width:2px;border-color:#8effc152}.cashflow-results-panel{border-width:2px}.desktop-table-wrap{overflow-x:auto}.trade-table{border-collapse:collapse;width:100%;margin-top:12px;font-size:.95rem}.trade-table th,.trade-table td{border-bottom:1px solid var(--line);text-align:left;padding:.8rem .65rem}.trade-table th{color:var(--muted);font-weight:600}.trade-table .buy{color:var(--success);font-weight:700}.trade-table .sell{color:var(--danger);font-weight:700}.trade-list-block{gap:12px;display:grid}.trade-total{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.trade-total strong{font-size:1.05rem;line-height:1.1}.rail-metrics{border-radius:20px;gap:14px;width:100%;min-width:0;padding:18px;display:grid}.rail-metric-stack,.rail-metric-pair{text-align:left;justify-items:stretch;gap:.22rem;display:grid}.rail-metric-stack{gap:.85rem}.rail-metrics .summary-label{font-size:.74rem}.rail-metrics strong{letter-spacing:-.02em;font-size:1.35rem;line-height:1.1}.allocation-list{border:1px solid var(--line-strong);background:#101013;border-radius:20px;gap:12px;padding:18px;display:grid}.allocation-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.allocation-row .summary-label{font-size:.74rem}.allocation-row strong{color:var(--text);letter-spacing:-.02em;font-size:1.1rem;line-height:1.1}.print-shell{display:none}.print-plan{color:#111;box-shadow:none;background:#fff;border:0;padding:28px;display:none}.print-plan-header{align-items:flex-start;margin-bottom:1.5rem}.print-plan-header p{color:#4c5563}.print-section+.print-section{margin-top:1.5rem}.print-section h3{margin-bottom:.7rem}.print-footer{border-top:1px solid #d7dce2;justify-items:center;gap:.32rem;margin-top:2rem;padding-top:1rem;display:grid}.print-footer-label{color:#4c5563;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;font-weight:700;line-height:1}.print-footer-logo{width:240px;max-width:100%;height:auto;display:block}.screen-only{display:block}@media (width<=1024px){.stage-layout{grid-template-columns:1fr}.summary-rail{position:static;top:auto}}@media (width<=820px){.preset-grid,.chooser-grid,.results-columns.split,.action-row,.field-grid,.csv-preview-metrics,.csv-edit-field-grid{grid-template-columns:1fr}.summary-strip,.status-banner,.button-row,.row-card-header,.print-plan-header,.csv-preview-title-row{flex-direction:column;align-items:flex-start}}@media (width<=720px){.page-shell{padding:14px 12px 34px}.topbar{margin:-14px -12px 16px;padding:12px}.section-card{border-radius:22px;padding:20px}}@media print{:root{color:#000;background:#fff}body{background:#fff}.page-shell{padding:0}.section-card,.summary-rail,.screen-only,.button-row,.advanced-panel,.details-panel{display:none!important}.app-shell{width:100%;max-width:none;display:block}.print-shell,.print-plan{display:block!important}.print-plan{box-shadow:none;background:#fff;border:none;margin:0;padding:0;font-size:14pt}.print-plan-header{border-bottom:2px solid #000;margin-bottom:20px;padding-bottom:12px}.print-plan-header h2,.print-section h3{color:#000}.print-section{break-inside:avoid}.print-section+.print-section{border-top:1px solid #000;margin-top:16px;padding-top:16px}.trade-sentences,.print-notes{color:#000;padding-left:18px}.print-note{color:#000;margin-top:18px;font-size:11pt;line-height:1.5}.print-footer{break-inside:avoid}.print-footer-label{color:#4c5563}}
