:root{--paper: #ebe6d7;--paper-deep: #ddd7c8;--ink: #1e1a16;--muted: #60574a;--line: #8f8575;--panel: #f6f1e4;--accent: #8e260f;--accent-2: #1f4e84;--grid: rgba(60, 54, 46, .18);--up: #f4f0e8;--down: #202020;--volume: #7b6f5f}*{box-sizing:border-box}body{margin:0;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,serif;color:var(--ink);background:linear-gradient(180deg,rgba(255,255,255,.28),transparent 18%),repeating-linear-gradient(90deg,rgba(114,103,86,.05) 0,rgba(114,103,86,.05) 1px,transparent 1px,transparent 34px),var(--paper)}button,input,select{font:inherit}.app-shell{max-width:1600px;margin:0 auto;padding:10px 12px 12px}.masthead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:6px;padding:4px 8px 6px;border:1px solid rgba(143,133,117,.6);background:#ffffff2e}.eyebrow{margin:0 0 2px;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.masthead h1{margin:0;font-size:20px;line-height:1}.control-panel,.chart-area{border:1px solid var(--line);background:var(--panel);box-shadow:inset 0 0 0 1px #ffffff59}.status-strip{list-style:none;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;padding:0;margin:0;font-size:11px;color:var(--muted)}.status-strip li{padding:3px 6px;border:1px solid rgba(143,133,117,.55);background:#ffffff4d}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:12px;align-items:start}.control-panel{padding:10px;position:sticky;top:10px;max-height:calc(100vh - 20px);overflow:auto}.panel-title,.saved-header{display:flex;align-items:center;justify-content:space-between;margin:-10px -10px 10px;padding:7px 10px 6px;border-bottom:1px solid #7c725f;background:linear-gradient(180deg,#e8ddc8,#d9ccb3);font-size:12px;text-transform:uppercase;letter-spacing:.14em}.settings-table{width:100%;border-collapse:collapse;margin-bottom:10px;font-size:13px}.settings-table th,.settings-table td{padding:5px 4px;border-bottom:1px solid rgba(143,133,117,.45);vertical-align:top}.settings-table th{width:82px;text-align:left;color:var(--muted);font-weight:600}.settings-table input,.settings-table select{width:100%;border:1px solid var(--line);padding:5px 6px;background:#fbf7ee}.selector-group{margin-bottom:10px;padding:8px;border:1px solid rgba(143,133,117,.6);background:#ffffff52}.selector-group h2,.saved-panel h2,.chart-heading h2{margin:0 0 6px;font-size:14px}.selector-group label{display:flex;gap:8px;margin-bottom:4px;font-size:13px;align-items:center}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px}.option-grid-single{grid-template-columns:1fr}.button-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:10px}.button-row button,.saved-chart,.quote-box,.status-strip strong{font-family:Avenir Next Condensed,Arial Narrow,sans-serif}.button-row button,.saved-chart{border:1px solid #746957;background:linear-gradient(180deg,#fff8eb,#e4d8bf);padding:7px 8px;text-align:center;cursor:pointer}.button-row button:hover,.saved-chart:hover{background:linear-gradient(180deg,#fffdf6,#ece0c9)}.danger{color:#7a1300}.saved-panel ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}.saved-chart{display:grid;width:100%;gap:2px;text-align:left}.saved-chart span,.empty-state{color:var(--muted);font-size:13px}.chart-area{padding:10px;min-width:0;box-shadow:inset 0 0 0 1px #fff6,0 1px #71665440}.chart-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;align-items:flex-start}.chart-actions{display:flex;gap:8px;align-items:stretch}.refresh-button{border:1px solid #7c705c;background:linear-gradient(180deg,#f8f1e4,#e5d7be);padding:7px 10px;cursor:pointer;white-space:nowrap;min-height:40px;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#3d3428;box-shadow:inset 0 1px #ffffff73}.refresh-button:disabled{cursor:wait;opacity:.7}.chart-meta h2{margin:0 0 4px}.meta-strip{display:flex;flex-wrap:wrap;gap:6px}.meta-strip span{padding:2px 5px;border:1px solid rgba(143,133,117,.55);background:#ffffff57;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.quote-box{display:grid;min-width:145px;padding:8px 10px;border:1px solid #7e735f;background:linear-gradient(180deg,#f7f0e2,#e7dbc4);text-align:right;align-content:center}.quote-box span,.quote-box em{color:var(--muted);font-size:11px;font-style:normal;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;letter-spacing:.03em}.quote-box strong{font-size:26px;line-height:.95;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.chart-shell{overflow:auto;border:1px solid #6f6451;background:#f9f4e8;box-shadow:inset 0 0 0 2px #ffffff73,inset 0 0 0 3px #786d5a59}.message-panel{padding:24px;border:1px dashed var(--line);background:#ffffff57;color:var(--muted)}.error-panel{color:#7a1300}.chart-frame{fill:#f9f4e8;stroke:#655948;stroke-width:1}.chart-pane{fill:#fff6;stroke:#9b917f;stroke-width:1}.chart-grid,.threshold-line{stroke:var(--grid);stroke-width:1}.wick,.ohlc-tick{stroke:#2b2722;stroke-width:1}.candle-up{fill:var(--up);stroke:#2b2722}.candle-down{fill:var(--down);stroke:var(--down)}.price-line{fill:none;stroke:var(--accent-2);stroke-width:1.8}.area-fill{fill:#295b9129;stroke:none}.band-line{fill:none;stroke:#5f5f5ff2;stroke-dasharray:4 3;stroke-width:1}.band-mid{fill:none;stroke:#4a4a4a;stroke-width:1}.volume-bar{fill:var(--volume);opacity:.8}.indicator-line{fill:none;stroke:#7d3006;stroke-width:1.5}.macd-line{fill:none;stroke:#183f77;stroke-width:1.4}.signal-line{fill:none;stroke:#8e260f;stroke-width:1.3}.hist-up{fill:#1e503c8c}.hist-down{fill:#781e148c}.legend-kicker{font-size:9px;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-weight:600;fill:#6a5f50;letter-spacing:.14em}.legend-text{font-size:15px;font-weight:700;fill:#1e1a16;letter-spacing:.01em}.legend-subtext{font-size:10px;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;fill:#62594c;letter-spacing:.08em}.pane-label{font-size:10px;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-weight:600;fill:#5f5547;letter-spacing:.12em;text-transform:uppercase}@media(max-width:1280px){.workspace,.masthead{grid-template-columns:1fr}.status-strip{justify-content:flex-start}.control-panel{position:static}.chart-actions{flex-direction:column;align-items:stretch}}
