:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#080b10;color:#edf3fb;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#121c2aeb,#080b10),#080b10}button,input,select{font:inherit}.app-shell{width:min(1480px,100%);margin:0 auto;padding:24px}.app-header{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:10px 0 24px;border-bottom:1px solid rgba(139,160,188,.2)}.app-header-top{display:flex;justify-content:space-between;align-items:center;gap:24px;width:100%}.app-header h1{margin:0;font-size:clamp(1rem,2.5vw,2.2rem);line-height:.95;letter-spacing:0}.app-header-tagline{max-width:490px;margin:0;color:#aebbd0;text-align:left}.eyebrow{color:#57f4bd;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.workspace-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;margin-top:18px;align-items:start}.workspace-main{display:grid;gap:18px;min-width:0}.results-grid{display:flex;flex-direction:column;gap:18px;margin-top:18px}.canvas-panel,.settings-panel,.summary-panel,.table-panel,.custom-volume-panel,.ai-prompt-panel{background:#0d121bdb;border:1px solid rgba(129,150,180,.22);border-radius:8px;box-shadow:0 18px 60px #00000038}.canvas-panel,.table-panel,.settings-panel,.summary-panel,.custom-volume-panel,.ai-prompt-panel{padding:16px}.ai-prompt-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.ai-prompt-body{margin-top:4px}.ai-prompt-textarea{width:100%;min-height:320px;resize:vertical;box-sizing:border-box;font-family:ui-monospace,Cascadia Code,Segoe UI Mono,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.5;padding:14px;background:#060a10eb;border:1px solid rgba(129,150,180,.22);border-radius:6px;color:#dbe6f5;white-space:pre;overflow-wrap:normal;overflow-x:auto}.ai-prompt-textarea:focus{outline:1px solid rgba(174,202,255,.42);border-color:#aecaff6b}.ai-prompt-panel.locked .ai-prompt-body{margin-top:8px}.ai-prompt-auth-gate{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:200px;padding:20px;border:1px dashed rgba(129,150,180,.32);border-radius:6px;background:#060a108c}.ai-prompt-auth-title{margin:0;font-size:.95rem;font-weight:600;color:#e8eef8}.ai-prompt-auth-desc{margin:0;max-width:52ch;color:#aebbd0;font-size:.84rem;line-height:1.45}.ai-prompt-auth-actions{margin-top:4px}.panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}h2{margin:0;font-size:1rem;color:#f8fbff}.panel-heading span{color:#8fa0b9;font-size:.86rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.collapse-toggle{display:inline-flex;align-items:center;gap:10px;min-height:32px;border:1px solid rgba(129,150,180,.24);border-radius:6px;background:#080d15b8;color:#edf3fb;padding:0 10px;cursor:pointer}.collapse-toggle:hover{border-color:#aecaff7a;background:#1d2a3ac7}.collapse-toggle span:first-child{color:#8fa0b9}.collapse-toggle span:last-child{color:#edf3fb;font-weight:700}.collapse-icon{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease}.collapse-icon.is-open{transform:rotate(-135deg)}.collapse-icon-horizontal{transform:rotate(-45deg)}.collapse-icon-horizontal.is-open{transform:rotate(135deg)}.settings-panel-heading-actions{display:inline-flex;align-items:center;gap:10px}.settings-panel{position:relative;align-self:start;overflow:hidden;min-width:0;transition:width .28s ease}.settings-panel.expanded{width:min(360px,52vw)}.settings-panel.collapsed{width:32px;min-height:32px;height:32px;padding:0;background:transparent;border:none;box-shadow:none;border-radius:0;overflow:visible}.settings-panel.collapsed .settings-collapse-toggle{top:0;right:0}.settings-panel .panel-heading{margin-bottom:14px;flex-direction:row;align-items:center;padding-right:36px}.settings-panel-drawer{display:flex;flex-direction:column;gap:0;min-width:0;overflow:hidden;opacity:1;transform:translate(0);pointer-events:auto;transition:opacity .22s ease,transform .28s ease}.settings-panel.collapsed .settings-panel-drawer{opacity:0;transform:translate(-16px);pointer-events:none;height:0;overflow:hidden}.settings-panel-body{display:flex;flex-direction:column;gap:14px}.settings-collapse-toggle{position:absolute;top:10px;right:10px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:32px;padding:0;border-radius:6px}.canvas-panel-heading{align-items:center;gap:10px}.canvas-panel-title{flex-shrink:0;min-width:max-content}.canvas-panel-title span{display:block;max-width:220px;font-size:.68rem;line-height:1.3}.canvas-panel-hint-short{display:none}.canvas-summary{display:flex;flex:1;flex-direction:row-reverse;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:thin}.canvas-summary-group{display:grid;gap:3px;flex-shrink:0;padding:4px 5px;border:1px solid rgba(129,150,180,.18);border-radius:4px;background:#080d1580}.canvas-summary-group-title{color:#57f4bd;font-size:.55rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.canvas-summary-group-items{display:flex;flex-direction:row-reverse;flex-wrap:nowrap;gap:4px}.canvas-summary-item{display:grid;gap:1px;min-width:56px;padding:3px 4px;border:1px solid rgba(129,150,180,.14);border-radius:4px;background:#080d159e}.canvas-summary-item span{color:#8fa0b9;font-size:.55rem;line-height:1.15;white-space:nowrap}.canvas-summary-item strong{color:#edf3fb;font-size:.72rem;line-height:1.1;white-space:nowrap}.canvas-frame{position:relative;min-height:560px;border-radius:6px;overflow:hidden;background:linear-gradient(rgba(95,126,170,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(95,126,170,.08) 1px,transparent 1px),#0a0f18;background-size:32px 32px}.canvas-error{position:absolute;inset:auto 16px 16px 16px;border:1px solid rgba(255,115,115,.45);border-radius:6px;background:#401218e6;color:#ffd6d6;padding:12px;font-size:.9rem}.cindy-port,.canvas-frame canvas{display:block;width:100%;height:560px}.cindy-port{position:absolute;top:0;right:0;bottom:0;left:0}.cindy-background-canvas{background:transparent}.price-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:ns-resize;touch-action:none}.grid-line,.order-level{stroke:#708bb238;stroke-width:.18;vector-effect:non-scaling-stroke}.axis-line{stroke:#a6bad8bf;stroke-width:.34;vector-effect:non-scaling-stroke}.measure-line,.measure-tick{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.measure-line{stroke-width:1.3px}.measure-tick{stroke-width:1.1px}.distance-dca .measure-line,.distance-dca .measure-tick{stroke:#7ba7ffe6}.distance-tp .measure-line,.distance-tp .measure-tick{stroke:#57f4bde6}.movement-line{stroke:#8fabe1e6;stroke-width:.48;vector-effect:non-scaling-stroke}.take-profit-move-line{stroke:#57f4bdd1;stroke-dasharray:1.4 1;stroke-width:.42;vector-effect:non-scaling-stroke}.close-to-tp-line{opacity:.78;stroke-linecap:round;stroke-width:1.25px;vector-effect:non-scaling-stroke}.close-to-tp-line.profit{stroke:#57f4bdb8}.close-to-tp-line.loss{stroke:#ff737375}.avg-line{stroke:#ffd15a;stroke-dasharray:1.3 1.1;stroke-width:.38;vector-effect:non-scaling-stroke}.tp-line{stroke:#57f4bd;stroke-dasharray:.9 1;stroke-width:.32;vector-effect:non-scaling-stroke}.current-line{stroke:#ff7373bf;stroke-width:.28;vector-effect:non-scaling-stroke}.price-labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;font-size:.78rem;color:#edf3fb}.price-labels span{position:absolute;transform:translateY(-50%);white-space:nowrap;text-shadow:0 1px 4px #05070c}.measure-label{border-radius:4px;padding:3px 6px;background:#080d15d1;border:1px solid rgba(129,150,180,.24);font-size:.72rem;font-weight:700;letter-spacing:0}.measure-label.dca{color:#aecaff;transform:translateY(-50%) rotate(-90deg);transform-origin:left center}.measure-label.take-profit{color:#b8ffe8;transform:translateY(-50%) rotate(90deg);transform-origin:right center}.point-marker,.order-marker{width:14px;height:14px;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 12px #ffffff29}.point-marker{pointer-events:auto;z-index:4}.point-marker:before{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:50%}.point-marker:after{content:attr(data-drag-label);position:absolute;left:50%;bottom:calc(100% + 9px);transform:translate(-50%);border-radius:4px;padding:4px 7px;background:#080d15f0;border:1px solid rgba(129,150,180,.28);color:#edf3fb;font-size:.72rem;font-weight:700;line-height:1;opacity:0;white-space:nowrap;pointer-events:none;transition:opacity .12s ease,transform .12s ease}.point-marker.draggable{cursor:ns-resize}.point-marker.static{cursor:default}.point-marker:hover,.point-marker:focus-visible{outline:none;transform:translate(-50%,-50%) scale(1.18)}.point-marker.take-profit:hover,.point-marker.take-profit:focus-visible{transform:translate(-50%,-50%) scale(1.18)}.point-marker:hover:after,.point-marker:focus-visible:after{opacity:1;transform:translate(-50%) translateY(-2px)}.point-marker.start{background:#7ba7ff;border:2px solid #e8f0ff}.point-marker.end{background:#ff7373;border:2px solid #ffe0e0}.point-marker.take-profit{background:#57f4bd;border:2px solid #d7fff2}.basket-tp-marker{width:12px;height:12px;border:2px solid #fff2a8;background:#ffd15a;border-radius:3px;transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 14px #ffd15a75;z-index:5}.order-marker{width:8px;height:8px;z-index:2}.order-marker.buy{background:#57f4bd;border:1px solid #c9ffef;box-shadow:0 0 10px #57f4bd6b}.order-marker.sell{background:#ff7373;border:1px solid #ffd6d6;box-shadow:0 0 10px #ff737361}.price-labels .line-label{border-radius:4px;padding:3px 6px;background:#080d15c2;border:1px solid rgba(129,150,180,.22)}.price-labels .avg{left:13%;color:#ffd15a}.price-labels .tp{left:13%;color:#57f4bd}.order-label.buy{color:#b8ffe8}.order-label.sell{color:#ffd0d0}.settings-panel{gap:0}.status-pill{border-radius:999px;padding:5px 9px;font-size:.75rem;font-weight:800}.status-pill.buy,.buy{color:#56f5bc}.status-pill.sell,.sell{color:#ff7373}.segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border:1px solid rgba(129,150,180,.22);border-radius:8px;background:#080d15}.segmented-control button{height:40px;border:0;border-radius:6px;background:transparent;color:#aebbd0;text-transform:capitalize;cursor:pointer}.segmented-control button.active{background:#1d2a3a;color:#fff}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field span{color:#9baac1;font-size:.78rem}.field input,.field select{width:100%;height:40px;border:1px solid rgba(129,150,180,.26);border-radius:6px;background:#080d15;color:#edf3fb;padding:0 10px}.summary-metrics{display:grid;gap:10px;margin-top:14px}.metric{display:flex;justify-content:space-between;gap:14px;padding:12px;border-radius:6px;background:#0a111b;border:1px solid rgba(129,150,180,.16)}.metric span{color:#9baac1}.metric strong{color:#edf3fb}.positive{color:#57f4bd}.negative{color:#ff7373}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:1280px}th,td{padding:12px 10px;border-bottom:1px solid rgba(129,150,180,.14);text-align:right}th{color:#90a2ba;font-weight:600;font-size:.78rem}td{color:#edf3fb}th:nth-child(2),td:nth-child(2),th:nth-child(10),td:nth-child(10){text-align:left}td:nth-child(2){text-transform:capitalize;font-weight:700}@media(max-width:768px){.workspace-grid{grid-template-columns:1fr;position:relative;gap:12px}.settings-panel.expanded{width:100%}.settings-panel.collapsed{position:absolute;top:0;left:0;z-index:10}.workspace-main{width:100%;min-width:0}.canvas-panel-heading{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:8px}.canvas-panel-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.canvas-summary{width:100%;flex-direction:column-reverse;flex-wrap:nowrap;overflow-x:visible;gap:6px}.canvas-summary-group{width:100%}.canvas-summary-group-items{flex-wrap:wrap;justify-content:flex-end}.canvas-panel,.settings-panel,.custom-volume-panel{padding:12px}}@media(max-width:1080px){.panel-heading{flex-direction:column}.ai-prompt-actions{width:100%;justify-content:flex-start}.canvas-panel-heading{flex-direction:column;align-items:stretch;margin-bottom:8px}.canvas-panel-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.canvas-summary{width:100%;justify-content:flex-start;gap:4px}}@media(max-width:680px){.app-shell{padding:16px}.app-header{align-items:start;flex-direction:column}.field-grid{grid-template-columns:1fr}.canvas-frame,.cindy-port,.canvas-frame canvas{height:min(52vh,400px);min-height:280px}.price-labels{font-size:.62rem}.price-labels .line-label{font-size:.58rem}.measure-label{font-size:.58rem;padding:2px 4px}.order-label{display:none}.sl-realized-label{font-size:.58rem}}.custom-volume-button,.primary-button,.ghost-button{min-height:38px;border-radius:6px;cursor:pointer}.custom-volume-button,.primary-button{border:1px solid rgba(87,244,189,.4);background:#57f4bd1f;color:#57f4bd}.custom-volume-button{width:100%;margin-bottom:12px}.ghost-button{border:1px solid rgba(129,150,180,.24);background:#080d15b8;color:#aebbd0}.primary-button{font-weight:600}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:24px;background:#04070cb8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.custom-volume-modal{width:min(860px,100%);max-height:min(88vh,820px);overflow:auto;padding:20px;border-radius:10px;border:1px solid rgba(129,150,180,.24);background:#0d121b;box-shadow:0 24px 80px #00000073}.modal-header{display:flex;justify-content:space-between;gap:16px;align-items:start}.modal-header p{margin:6px 0 0;color:#8fa0b9;font-size:.86rem}.modal-close{width:36px;height:36px;border:1px solid rgba(129,150,180,.24);border-radius:6px;background:#080d15b8;color:#edf3fb;font-size:1.4rem;line-height:1;cursor:pointer}.modal-hint{margin:14px 0;color:#9baac1;font-size:.9rem}.modal-hint code{color:#57f4bd}.panel-hint{margin:0 0 14px;color:#9baac1;font-size:.9rem}.panel-hint strong{color:#edf3fb}.panel-errors{margin:12px 0 0;padding-left:18px;color:#ff8d8d}.panel-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.sheet-toolbar{display:flex;gap:10px;margin-bottom:12px}.custom-volume-sheet-wrap{overflow:auto;border:1px solid rgba(129,150,180,.24);border-radius:8px;background:#080d15}.custom-volume-sheet{width:100%;min-width:640px;border-collapse:collapse}.custom-volume-sheet th,.custom-volume-sheet td{padding:0;border-bottom:1px solid rgba(129,150,180,.14);border-right:1px solid rgba(129,150,180,.1);text-align:left}.custom-volume-sheet thead th{position:sticky;top:0;z-index:1;padding:10px 12px;background:#101722;color:#90a2ba;font-size:.78rem;font-weight:600}.custom-volume-sheet tbody th{width:72px;padding:0 10px;color:#6f819c;font-size:.8rem;font-weight:500;text-align:center;background:#080d15b8}.custom-volume-sheet td{min-width:110px}.custom-volume-sheet td.sheet-preview{padding:10px 12px;color:#8fa0b9;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem}.custom-volume-sheet input{width:100%;min-height:38px;padding:10px 12px;border:0;background:transparent;color:#edf3fb;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem}.custom-volume-sheet input:focus{outline:2px solid rgba(87,244,189,.45);outline-offset:-2px;background:#57f4bd0f}.custom-volume-sheet tr:hover td:not(.sheet-preview){background:#ffffff05}.modal-errors{margin:12px 0 0;padding-left:18px;color:#ff8d8d}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.stop-loss-line{stroke:#ff7373b8;stroke-width:.35;stroke-dasharray:1.4 1}.stop-loss-line.triggered{stroke:#ff5c5cf2;stroke-width:.5}.order-level.stopped{opacity:.35}.order-marker.stopped{opacity:.45;box-shadow:0 0 0 2px #ff7373cc}.order-label.stopped{color:#ff9b9b}.sl-realized-label{position:absolute;transform:translateY(-50%);padding:2px 6px;border-radius:4px;background:#781818d1;color:#ffb4b4;font-size:.72rem;font-weight:700;pointer-events:none;white-space:nowrap}.status-stopped,.stopped-row td{color:#ff9b9b}.status-open{color:#57f4bd}.status-pending{color:#8fa0b9}.auth-gate{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-gate-card{width:min(420px,100%);padding:28px 24px;background:#0d121beb;border:1px solid rgba(129,150,180,.22);border-radius:10px;box-shadow:0 18px 60px #00000047}.auth-gate-card h1{margin:8px 0 10px;font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.05}.auth-gate-card p{margin:0;color:#aebbd0}.auth-gate-card code{font-size:.85em;color:#57f4bd}.auth-gate-actions{margin-top:20px}.feature-auth-gate{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:12px;border:1px solid rgba(129,150,180,.22);border-radius:8px;background:#0d121bb8}.feature-auth-gate p{margin:0;color:#aebbd0;font-size:.86rem}.auth-status-loading{color:#8fa0b9;font-size:.9rem}.btn-google{display:inline-flex;align-items:center;gap:.5rem;min-height:42px;padding:0 14px;border-radius:6px;border:1px solid #d1d5db;background:#fff;color:#1f2937;cursor:pointer;font-weight:600}.btn-google:hover{background:#f3f4f6;color:#111827}.google-icon{width:18px;height:18px;flex-shrink:0}.auth-user{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.auth-user-chip{display:inline-flex;align-items:center;gap:.45rem;max-width:240px;padding:.25rem .5rem .25rem .25rem;border:1px solid rgba(129,150,180,.28);border-radius:999px;background:#080d15b8}.auth-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}.auth-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background:#57f4bd33;color:#57f4bd;font-size:.65rem;font-weight:600}.auth-email{font-size:.78rem;color:#c8d0dc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-sm{min-height:32px;padding:.35rem .65rem;font-size:.8rem}
