:root{color-scheme:light;--ink:#11141c;--accent:#272d37;--muted:#61716d;--line:#f3f4f6;--paper:#fafafa}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b5bbc6;outline-offset:3px}button,.button{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:10px 15px;text-decoration:none;display:inline-flex;gap:8px;align-items:center;justify-content:center;font-size:13px;font-weight:600}button.primary,.button.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}button.quiet{background:transparent}input,select,textarea{background:#fff;color:var(--ink);border:1px solid #d8dce3;padding:10px 12px;min-width:0}label{font-size:12px;display:grid;gap:7px;color:var(--muted)}textarea{width:100%;resize:vertical;line-height:1.7}a{color:inherit}p{line-height:1.65}h1,h2,h3,p{margin-top:0}.mono,small,.eyebrow{font-family:Consolas,'Courier New',monospace}.eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase}.muted{color:var(--muted)}.positive{color:#272d37}.negative{color:#818995}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.span-all{grid-column:1/-1}.stack{display:grid;gap:18px}.empty{padding:36px 20px;border:1px dashed var(--line);color:var(--muted);text-align:center;font-size:13px;line-height:1.7}.notice{padding:12px 16px;background:#f3f4f6;border-left:3px solid var(--accent);font-size:12px;line-height:1.6}.error-box{padding:16px;border:1px solid #818995;background:#fafafa;color:#272d37;font-size:13px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px 10px}th{font-family:Consolas,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:400}td button{font-size:10px;padding:5px 8px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.stat{padding:18px;background:var(--paper)}.stat span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.stat strong{display:block;font-size:23px;font-weight:500;margin-top:10px}.chart{color:var(--accent);min-height:260px}.chart svg{width:100%;display:block;touch-action:pan-y}.price-line{fill:none;stroke:currentColor;stroke-width:2;vector-effect:non-scaling-stroke}.gridline{stroke:currentColor;stroke-opacity:.12}.axis{fill:currentColor;opacity:.7;font-size:10px;font-family:Consolas,monospace}.crosshair{stroke:currentColor;stroke-dasharray:4 4;opacity:.6}.chart-summary,.chart-meta{display:flex;justify-content:space-between;gap:12px;font:11px Consolas,monospace;color:var(--muted)}.chart-summary{margin-bottom:15px}.chart-hover{color:var(--ink)}.chart-meta{font-size:10px;line-height:1.6}.segmented{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--line)}.segmented button{padding:5px 9px;border:0;background:transparent;font:11px Consolas,monospace}.segmented button.active{background:var(--ink);color:var(--paper)}.formula{padding:18px;background:#11141c;color:#d8dce3;font:13px/1.8 Consolas,monospace;overflow:auto;white-space:pre-wrap}.file-button{position:relative;display:inline-flex}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.file-button span{pointer-events:none}.tag{padding:5px 8px;border:1px solid var(--line);font:10px Consolas,monospace;display:inline-block}.link{background:none;border:0;padding:0;text-decoration:underline;color:var(--accent)}#toasts{position:fixed;bottom:65px;right:20px;z-index:10000;display:grid;gap:8px;max-width:min(400px,calc(100vw - 40px))}.toast{background:var(--ink);color:#fff;padding:15px 20px;font-size:13px;line-height:1.5;box-shadow:0 8px 30px #0002;border-left:4px solid #b5bbc6}.toast.error{border-color:#d8dce3}#intro{position:fixed;inset:0;z-index:9000;background:var(--ink);color:var(--paper);display:grid;place-content:center;text-align:center;transition:opacity .3s}#intro[hidden]{display:none}#intro.finished{opacity:0;pointer-events:none}#intro .intro-symbol{font-size:64px;animation:intro-pulse 1s ease-in-out infinite}#intro.paused *{animation-play-state:paused!important}#intro .row{justify-content:center;margin-top:30px}#intro button{background:transparent;color:inherit;border-color:#ffffff50}#intro p{font:12px Consolas,monospace;letter-spacing:.15em;margin-top:20px}@keyframes intro-pulse{50%{transform:scale(1.08);opacity:.6}}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:650px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:1fr}.stat{display:flex;justify-content:space-between;align-items:center}.stat strong{margin:0;font-size:20px}.chart-summary,.chart-meta{flex-direction:column}.chart{min-height:200px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
