    :root {
      --secondary:#8FCDBD;--accent3:#E63939;--accent3-em:#FF8B8B;
      --warn-bg:var(--warning-bg);--warn-text:var(--warning-text);
    }
    body.light {
      --accent:#8BB8F8;--accent-strong:#5A91E8;
      --secondary:#B8E0D2;--accent3-em:#E63939;
      --line-a:#5A91E8;--line-b:#E63939;--line-c:#2E8B6E;--line-d:#7A4A00;
    }
    *{box-sizing:border-box;min-width:0}
    body{margin:0;font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.5;color:var(--text);background:var(--bg);transition:background 250ms,color 250ms;overflow-x:hidden}
    .container{max-width:1400px;margin:0 auto;padding:24px}
    .card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow)}
    .header{padding:22px 28px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:flex-start}
    .btn-back{text-decoration:none;display:inline-flex;align-items:center;}
    .header-right{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap;align-items:center;}
    h1{margin:0 0 8px;font-size:20px;font-weight:700;letter-spacing:-0.01em}
    h2{margin:0 0 10px;font-size:16px;font-weight:600}
    h3{margin:0 0 8px;font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:0.08em}
    p,.muted{color:var(--muted);line-height:1.55;margin:0}
    .layout{display:grid;grid-template-columns:390px 1fr;gap:18px}
    .controls{padding:0;position:sticky;top:16px;align-self:start;overflow:hidden}
    .ctrl-tabs{display:flex;border-bottom:1px solid var(--border)}
    .ctrl-tab{flex:1;padding:13px 10px;text-align:center;font-weight:600;font-size:14px;cursor:pointer;color:var(--muted);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all 150ms}
    .ctrl-tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}
    .ctrl-panel{display:none;padding:16px 18px 20px}
    .ctrl-panel.active{display:block}
    .slider-block{padding:12px 0 16px;border-top:1px solid var(--border)}
    .slider-block:first-of-type{border-top:none;padding-top:4px}
    .slider-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:7px}
    .slider-label{font-weight:600;font-size:14px}
    .slider-value{color:var(--accent);font-weight:700;font-family:'DM Mono',monospace;font-size:14px}
    input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer}
    .help{color:var(--muted);font-size:12px;margin-top:5px;line-height:1.4}
    .field-row{display:flex;flex-direction:column;gap:5px;padding:10px 0 14px;border-top:1px solid var(--border)}
    .field-row:first-of-type{border-top:none}
    .field-label{font-weight:600;font-size:14px}
    .field-sub{color:var(--muted);font-size:12px;line-height:1.4;margin-top:2px}
    .num-input,.currency-input{background:var(--input-bg);border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;padding:10px 13px;width:100%;outline:none;transition:border-color 150ms}
    .num-input:focus,.currency-input:focus{border-color:var(--accent);background:var(--panel)}
    select.num-input{appearance:auto;cursor:pointer}
    .num-input option{background:#1a2340;color:#e8eefc}
    body.light .num-input option{background:#ffffff;color:#1a2340}
    .sel-input option{background:#1a2340;color:#e8eefc}
    body.light .sel-input option{background:#ffffff;color:#1a2340}
    .btn-theme{background:var(--input-bg);border:1px solid var(--border);color:var(--muted);border-radius:var(--radius-md);padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:all 150ms;white-space:nowrap;}
    .btn-theme:hover{border-color:var(--accent);color:var(--text);}
    .btn-row{display:flex;gap:10px;flex-wrap:wrap;padding:14px 18px 18px;border-top:1px solid var(--border)}
    .btn-primary{background:var(--accent);color:var(--panel);border:none;border-radius:var(--radius-md);padding:11px 22px;font-weight:600;cursor:pointer;font-size:14px;transition:background 150ms,transform 150ms}
    .btn-primary:hover{background:var(--accent-strong)}
    .btn-primary:active{transform:scale(0.97)}
    .btn-secondary{background:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);padding:11px 22px;font-weight:600;cursor:pointer;font-size:14px;transition:border-color 150ms}
    .btn-secondary:hover{border-color:var(--accent)}
    .metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
    .metric{padding:12px 14px;min-height:82px}
    .metric .label{color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:6px}
    .metric .value{font-size:20px;font-weight:700;letter-spacing:-0.01em;font-family:'DM Mono',monospace}
    .metric .sub{color:var(--muted);font-size:11px;margin-top:4px;font-family:'DM Mono',monospace}
    .chart-card{padding:20px}
    .legend{display:flex;gap:16px;flex-wrap:wrap;margin:10px 0 14px;font-size:0.88rem}
    .legend-item{display:flex;align-items:center;gap:8px}
    .dot{width:12px;height:12px;border-radius:999px;flex-shrink:0}
    .canvas-wrap{position:relative;width:100%;height:420px;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:transparent}
    body.light .canvas-wrap{background:transparent}
    .hover-box{margin-top:10px;color:var(--muted);font-size:0.88rem;min-height:22px}
    .summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
    .tile{padding:14px;background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-md)}
    .tile .label{color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:6px;line-height:1.3}
    .tile .value{font-size:15px;font-weight:700;font-family:'DM Mono',monospace}
    table{width:100%;border-collapse:collapse;font-family:'DM Mono',monospace;font-size:12px}
    th,td{padding:9px 7px;border-bottom:1px solid var(--border);text-align:right;white-space:nowrap}
    th:first-child,td:first-child{text-align:left;white-space:normal;font-family:'DM Sans',sans-serif}
    th{color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em}
    .table-wrap{overflow:auto;max-height:400px}
    .table-wrap thead tr:first-child th{position:sticky;top:0;background:var(--panel);z-index:3}
    .table-wrap thead tr:nth-child(2) th{position:sticky;top:34px;background:var(--panel);z-index:2}
    tr:hover td{background:rgba(255,255,255,0.03)}
    body.light tr:hover td{background:rgba(0,0,0,0.03)}
    .detail-section{padding:20px;margin-top:18px}
    .tab-btns{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
    .csv-btn-row{display:flex;justify-content:flex-end;margin-bottom:14px;}
    .tab-btn{padding:8px 16px;border-radius:var(--radius-pill,999px);border:1px solid var(--border);background:var(--input-bg);color:var(--muted);font-weight:600;font-size:12px;cursor:pointer;transition:all 150ms}
    .tab-btn.active{background:var(--accent);color:var(--panel);border-color:var(--accent)}
    .bottom{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
    .info-box{padding:16px 18px;background:var(--info-bg);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:14px;font-size:14px;line-height:1.55;color:var(--info-text)}
    .info-box strong{color:var(--text)}
    .positive{color:var(--positive-em)}
    .negative{color:var(--negative-em)}
    .warning{margin:0 18px 14px;padding:10px 13px;border-radius:var(--radius-md);background:var(--warn-bg);border:1px solid var(--border);color:var(--warn-text);display:none;font-size:14px;line-height:1.5}
    body.light .warning{background:var(--warn-bg);color:var(--warn-text)}
    .bracket-section{padding:10px 0 6px;border-top:1px solid var(--border)}
    .bracket-section-label{font-weight:600;font-size:14px;margin-bottom:10px}
    .bracket-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:6px;align-items:center}
    .bracket-row-header{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:4px}
    .bracket-col-label{font-size:11px;color:var(--muted);font-weight:600;text-align:center;text-transform:uppercase;letter-spacing:0.06em}
    .num-input-sm{background:var(--input-bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:12px;font-weight:500;font-family:'DM Sans',sans-serif;font-variant-numeric:tabular-nums;padding:6px 8px;width:100%;outline:none;transition:border-color 150ms;text-align:right}
    .num-input-sm:focus{border-color:var(--accent)}
    .num-input-sm:disabled{opacity:0.4;cursor:not-allowed}
    .ptkp-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-bottom:8px}
    .ptkp-label-sm{font-size:12px;color:var(--muted)}
    .input-mode-toggle{display:flex;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;margin-bottom:14px}
    .mode-btn{flex:1;padding:8px 6px;text-align:center;font-size:12px;font-weight:600;cursor:pointer;background:transparent;border:none;color:var(--muted);transition:all 150ms;font-family:'DM Sans',sans-serif}
    .mode-btn.active{background:var(--accent);color:var(--panel)}
    .position-card{background:var(--info-bg);border:1px solid var(--border);border-radius:var(--radius-xl);padding:14px 16px;margin-bottom:14px}
    .position-card .pos-title{font-size:11px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:8px}
    .position-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:14px}
    .position-row .pos-label{color:var(--muted)}
    .position-row .pos-val{font-weight:600;font-family:'DM Mono',monospace}
    .tbl-group-header{text-align:center}
    .page-footer{max-width:1400px;margin:0 auto;padding:0 24px 24px}
    .page-footer-info p:last-child{margin-bottom:0}
    @media(max-width:900px){.layout,.bottom,.metrics{grid-template-columns:1fr}.controls{position:static}.canvas-wrap{height:380px!important}.summary-grid{grid-template-columns:repeat(2,1fr)}.header{flex-direction:column;gap:10px;padding:16px 18px}.container{padding:16px}}
    @media(max-width:600px){h1{font-size:1.35rem}.container{padding:10px}.summary-grid{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:1fr}.btn-row{flex-direction:column}.header{padding:14px 16px}}
