@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/stock-delivery-trading-simulator-app/assets/fraunces-latin-600-normal-BFCDtZfi.woff2) format("woff2"),url(/stock-delivery-trading-simulator-app/assets/fraunces-latin-600-normal-DL5QCzvS.woff) format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/stock-delivery-trading-simulator-app/assets/outfit-latin-400-normal-BGsTXAXT.woff2) format("woff2"),url(/stock-delivery-trading-simulator-app/assets/outfit-latin-400-normal-DMwTpYkH.woff) format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/stock-delivery-trading-simulator-app/assets/outfit-latin-500-normal-DKnIMDSk.woff2) format("woff2"),url(/stock-delivery-trading-simulator-app/assets/outfit-latin-500-normal-ClnHRwRh.woff) format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/stock-delivery-trading-simulator-app/assets/outfit-latin-600-normal-B7SfZ07L.woff2) format("woff2"),url(/stock-delivery-trading-simulator-app/assets/outfit-latin-600-normal-BEfTtDA7.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/stock-delivery-trading-simulator-app/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/stock-delivery-trading-simulator-app/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}:root{--bg: #f3eee4;--ink: #1b1714;--muted: #6d655c;--card: #fffdf8;--line: #e3d9c8;--green: #0e6b52;--green-soft: #e7f5ef;--copper: #a34720;--red: #9f2d2d;--shadow: 0 12px 32px rgba(70, 48, 22, .06);--sans: "Outfit", "Avenir Next", "Segoe UI", sans-serif;--serif: "Fraunces", "Iowan Old Style", Palatino, Georgia, serif;--mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--radius: 18px;color-scheme:light}*{box-sizing:border-box}html,body{max-width:100%}body{margin:0;min-height:100vh;color:var(--ink);background:radial-gradient(900px 320px at 0% -10%,#efe2c8 0%,transparent 55%),var(--bg);font-family:var(--sans);font-size:16px;line-height:1.45;overflow-x:hidden}button,input,textarea{font:inherit;color:inherit}h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.03em}h1{margin:0;font-size:clamp(1.85rem,5vw,2.7rem);line-height:1.02}h2{margin:0;font-size:1.35rem;line-height:1.15}p{margin:0}.shell{width:min(1120px,calc(100% - 28px));margin:0 auto;padding:18px 0 40px}.top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px}.brand{display:flex;gap:12px;align-items:center;min-width:0}.mark{width:46px;height:46px;flex:0 0 auto;border-radius:14px;background:var(--ink);display:grid;place-items:center}.mark svg{width:28px;height:28px}.mark svg rect:nth-child(1){fill:#e7d7b8}.mark svg rect:nth-child(2){fill:#f6f1e7}.mark svg rect:nth-child(3){fill:#1f8a68}.eyebrow{margin:0 0 2px;color:var(--muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.engine{margin:0;padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--muted);font-size:.82rem;white-space:nowrap}.engine-ready{color:var(--green);border-color:#b7dfd0;background:var(--green-soft)}.engine-error{color:var(--red);border-color:#f0c8c4;background:#fdf2f0}.stack{display:grid;gap:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card-head{margin-bottom:14px}.card-head p,.hint{color:var(--muted);font-size:.92rem;margin-top:4px}.card.dimmed{opacity:.72}fieldset{border:0;margin:0 0 8px;padding:0}legend{padding:0;margin:10px 0 8px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.fields{display:grid;grid-template-columns:1fr;gap:12px}.field{display:grid;gap:6px}.field span{font-size:.92rem;font-weight:600}.field small{color:var(--muted);font-size:.8rem}input[type=number],textarea{width:100%;border:1px solid #d9d0c2;background:#fff;border-radius:12px;padding:12px;min-height:46px}textarea{min-height:180px;resize:vertical;font-family:var(--mono);font-size:.82rem;line-height:1.45}input:focus-visible,textarea:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:2px}.check{display:flex;gap:10px;align-items:flex-start;min-height:46px;padding-top:8px}.check input{width:1.15rem;height:1.15rem;margin-top:2px;accent-color:var(--green)}.actions{display:flex;flex-wrap:wrap;gap:8px}.btn,.run{appearance:none;border-radius:999px;border:1px solid transparent;min-height:46px;padding:10px 16px;cursor:pointer;font-weight:600}.btn:disabled,.run:disabled{opacity:.55;cursor:not-allowed}.btn.primary,.btn.run,.run{background:var(--ink);color:#f6f1e7}.btn.ghost{background:transparent;border-color:#d9d0c2;color:var(--ink);position:relative}.btn.ghost input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.file-status{margin-top:12px;padding:12px;border-radius:12px;background:#f7f3eb;display:grid;gap:2px}.file-status.ready{background:var(--green-soft)}.file-status span{color:var(--muted);font-size:.9rem}.advanced summary{cursor:pointer;font-family:var(--serif);font-size:1.2rem;min-height:44px;display:flex;align-items:center}.yaml-label{display:block;margin:10px 0 6px;font-size:.92rem;font-weight:600}.banner{margin:8px 0;padding:10px 12px;border-radius:12px;background:#f8ebe3;color:var(--copper)}.runbar{position:sticky;bottom:0;z-index:2;display:grid;gap:8px;padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--bg) 70%,rgba(243,238,228,0))}.run{width:100%}.text-btn{appearance:none;border:0;background:transparent;color:var(--green);text-decoration:underline;cursor:pointer;min-height:44px}.alert{margin:0;padding:12px;border-radius:12px;background:#fdf2f0;color:var(--red);border:1px solid #f0c8c4;overflow-wrap:anywhere}.report-top{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.report-title{margin:0;font-size:clamp(1.25rem,3vw,1.7rem)}.chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}.chips li{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:.82rem}.kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px;min-width:0}.kpi p{color:var(--muted);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.kpi strong{display:block;margin-top:6px;font-family:var(--mono);font-weight:500;font-size:1.05rem;letter-spacing:-.03em;overflow-wrap:anywhere}.positive{color:var(--green)}.negative{color:var(--red)}.flat{color:var(--ink)}.kpi.positive strong{color:var(--green)}.kpi.negative strong{color:var(--red)}.charts{display:grid;gap:14px;min-width:0}.charts>*{min-width:0}.chart-body{height:250px;width:100%}.legend{list-style:none;display:flex;flex-wrap:wrap;gap:10px 14px;padding:10px 2px 0;margin:0;color:var(--muted);font-size:.82rem}.legend li{display:flex;align-items:center;gap:6px}.swatch{width:12px;height:12px;border-radius:99px;display:inline-block}.swatch.close{background:#1b1714}.swatch.ema-fast{background:#1d6fbf}.swatch.ema-slow{background:#c45c26}.swatch.sma{background:#0e6b52}.swatch.buy{background:#0e6b52;box-shadow:inset 0 0 0 2px #fffdf8,0 0 0 1px #0e6b52}.swatch.sell{background:#a34720}.tip{background:#1b1714;color:#f6f1e7;border-radius:12px;padding:10px 12px;font-size:.82rem;font-family:var(--mono);line-height:1.45}.tip-date{font-family:var(--sans);color:#e7d7b8;margin-bottom:4px}.trade-cards{display:grid;gap:10px}.table-wrap{display:none}.trade-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}.trade-card header{display:flex;align-items:baseline;gap:8px}.trade-card header strong{margin-left:auto;font-family:var(--mono);font-weight:500}.tag{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--green)}.reason{color:var(--muted);font-size:.9rem}.dates{margin:8px 0;color:var(--muted);font-size:.9rem}.trade-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.trade-card dt{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.trade-card dd{margin:2px 0 0;font-family:var(--mono);font-size:.92rem}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;font-weight:600}td{font-variant-numeric:tabular-nums}td.positive,td.negative{font-family:var(--mono)}footer{margin-top:22px;color:var(--muted);font-size:.85rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media(min-width:720px){.shell{width:min(1120px,calc(100% - 48px));padding-top:28px}.fields{grid-template-columns:1fr 1fr}.check{align-items:center;padding-top:28px}.chart-body{height:320px}.kpis{grid-template-columns:repeat(4,1fr)}.trade-cards{display:none}.table-wrap{display:block;overflow-x:auto}.report-top{flex-direction:row;align-items:center}.top{align-items:center}}@media(min-width:960px){.charts{grid-template-columns:1fr 1fr}.card{padding:20px}}.pattern-row{display:grid;gap:.4rem}.buy-explain{display:grid;gap:.3rem;margin:.4rem 0;font-size:.85rem;line-height:1.45}.buy-explain p{margin:0;overflow-wrap:anywhere}.buy-tag{justify-self:start}.explain-row td{border-top:none;padding-top:0;white-space:normal}.field select{font:inherit;padding:.55rem .6rem;border-radius:8px;border:1px solid currentColor;background:transparent;color:inherit}.card>label.field{margin-bottom:.9rem}.source-note{font-size:.8rem;opacity:.85}.stack>*,.card,.fields>*,.field,.pattern-row,fieldset,.charts>*,.kpis>*{min-width:0}.field select,select{width:100%;max-width:100%;min-height:46px;font-size:16px;border-radius:12px;border:1px solid #d9d0c2;background:#fff;padding:10px 12px;text-overflow:ellipsis}input[type=number],textarea,select{font-size:16px}.table-wrap{max-width:100%;-webkit-overflow-scrolling:touch}.check{min-height:44px;cursor:pointer}.check input{width:22px;height:22px;flex:0 0 auto}.chips li{max-width:100%;overflow-wrap:anywhere}.trade-card header{flex-wrap:wrap}.field small,.hint,.file-status span,.buy-explain p{overflow-wrap:anywhere}img,svg,canvas{max-width:100%}.recharts-wrapper,.recharts-surface{max-width:100%}@media(max-width:719px){.top{flex-wrap:wrap}.actions .btn{flex:1 1 140px;text-align:center}}.label-row{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.infotip{display:inline-flex;vertical-align:middle}.infotip-btn{appearance:none;display:inline-grid;place-items:center;width:22px;height:22px;padding:0;border-radius:999px;border:1px solid #cdbfa8;background:#fff;color:var(--muted);font:italic 600 13px/1 var(--serif);cursor:help;position:relative}.infotip-btn:before{content:"";position:absolute;inset:-11px}.infotip-btn:hover,.infotip-btn[aria-expanded=true]{color:var(--ink);border-color:var(--ink)}.infotip>.infotip-pop{position:fixed;left:-9999px;top:0;z-index:50;width:max-content;max-width:min(300px,calc(100vw - 16px));padding:10px 12px;border-radius:12px;background:var(--ink);color:#f6f1e7;font:400 .86rem/1.45 var(--sans);letter-spacing:0;text-transform:none;white-space:normal;overflow-wrap:anywhere;box-shadow:0 10px 28px #1b171440;visibility:hidden;pointer-events:none}.infotip>.infotip-pop.open{visibility:visible;pointer-events:auto}.group-grid{display:grid;grid-template-columns:1fr;gap:12px}.group{min-width:0;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fffaf2}.group .fields{grid-template-columns:1fr}.group-head{display:flex;align-items:center;gap:6px;min-height:44px;margin-bottom:4px}.group-check{min-height:44px;padding-top:0;align-items:center}.group-title{margin:0;font-family:var(--sans);font-size:1rem;font-weight:700;letter-spacing:0}h3.group-title{min-height:44px;display:flex;align-items:center;margin-bottom:4px}.group-state{margin-left:auto;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--green)}.group.off .group-state{color:var(--muted)}.group.off .fields,.group.off>.hint{opacity:.5}input:disabled{background:#f3efe7;cursor:not-allowed}@media(min-width:720px){.group-grid,.group .fields{grid-template-columns:1fr 1fr}}.field{align-content:start}.group .fields{align-items:start}.candle-view{min-width:0}.candle-body{height:340px;width:100%;touch-action:pan-y}.range-btns{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.chip-btn{appearance:none;min-height:40px;min-width:56px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--card);font:600 .85rem var(--sans);color:var(--ink);cursor:pointer}.chip-btn.active{background:var(--ink);color:#f6f1e7;border-color:var(--ink)}.swatch.candle-up{background:#fffdf8;border:1.5px solid #1f8a68;border-radius:2px}.swatch.candle-down{background:#b23b3b;border-radius:2px}.swatch.vol{background:#cdbfa8;border-radius:2px}.arrow-buy{color:#0e6b52}.arrow-sell{color:#a34720}.pattern-key{color:#6b4fa3;font-size:.75rem}.tip-buy{color:#8fe0c2}.tip-sell{color:#f2b08f}.recharts-brush-traveller{cursor:ew-resize}@media(min-width:720px){.candle-body{height:420px}}.chart-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px}.chart-head>div:first-child{flex:1 1 200px;min-width:0}.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px;background:#f7f3eb;flex:0 0 auto}.seg-btn{appearance:none;border:0;background:transparent;border-radius:999px;min-height:40px;min-width:76px;padding:6px 14px;font:600 .88rem var(--sans);color:var(--muted);cursor:pointer}.seg-btn.active{background:var(--ink);color:#f6f1e7}.candle-note{margin:0 0 8px}
