:root{--bg:#000000;--card:#0b0b0b;--muted:#94a3b8;--accent:#7c3aed;--white:#e6eef8;--controls-height:72px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;background:var(--bg);color:var(--white);-webkit-font-smoothing:antialiased}.container{max-width:960px;margin:6rem auto;padding:2rem}.container.full{max-width:100%;margin:0;padding:0 0 2rem}.card.fullscreen{border-radius:0;margin-top:0;width:100%;height:100%}.chart-area{height:100%;width:100%}.hero{display:flex;align-items:center;justify-content:space-between;gap:1rem}.title{font-size:2.2rem;font-weight:700}.subtitle{color:var(--muted);margin-top:.25rem}.nav{display:flex;gap:1rem}.btn{background:transparent;border:1px solid rgba(255,255,255,.06);padding:.5rem .9rem;border-radius:8px;color:var(--white);text-decoration:none}.card{background:linear-gradient(180deg,rgba(255,255,255,.02),transparent);padding:1.5rem;border-radius:12px;margin-top:2rem;display:flex;flex-direction:column}.muted{color:var(--muted)}.small{font-size:.9rem}.footer{margin-top:3rem;color:var(--muted);font-size:.9rem}body,.card,aside{scrollbar-color:rgba(124,58,237,.6) rgba(11,18,28,.6);scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--accent),#4c1d95);border-radius:999px;border:2px solid rgba(11,18,28,.5)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#9f7aea,#6d28d9)}@media (max-width: 768px){.card{padding:.5rem;border-radius:0;margin-top:0}.card .btn{padding:.75rem 1rem;border-radius:10px;font-size:15px}aside.controls{width:100%;max-width:100%;position:fixed;left:0;top:56px;bottom:0;background:var(--card);z-index:40;padding:12px;transform:translateY(-105%);transition:transform .22s ease;box-shadow:0 8px 30px #0009}aside.controls.open{transform:translateY(0)}.card .menu-toggle{display:flex;align-items:center;gap:8px;padding:8px}.card .menu-toggle .btn{border-radius:8px}.chart-wrap{padding-top:8px}main{padding:8px}.controls input[type=file]{width:100%}.controls label{display:flex;align-items:center;gap:.5rem;padding:8px;border-radius:8px}.controls .muted.small{margin-bottom:6px}.chart-area{height:60vh}}.ecutek-card{padding:12px}.file-drop{border:1px dashed rgba(255,255,255,.06);border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.01),transparent)}.file-drop.dragging{background:linear-gradient(180deg,#7c3aed0f,#7c3aed05);border-color:#7c3aede6}.controls-bottom{padding:12px 0;flex:0 0 auto;border-top:1px solid rgba(255,255,255,.04);background:linear-gradient(180deg,transparent,rgba(255,255,255,.01));transition:height .2s ease,opacity .2s ease,padding .2s ease;position:relative;z-index:1}.controls-bottom.collapsed{height:0!important;padding:0!important;opacity:0;overflow:hidden}.controls-bottom.expanded{height:auto;opacity:1}.chart-wrap{flex:1;min-height:0;display:flex;flex-direction:column}.chart-wrap>div{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;padding-bottom:0}.chart-wrap .chart-bottom-spacer{display:none}.chart-inner{flex:1;display:flex;flex-direction:column;height:calc(100% - var(--controls-height));min-height:200px;overflow:hidden}.chart-inner canvas{height:100%!important;width:100%!important;display:block}.controls-bottom{background:var(--card);box-shadow:0 -6px 20px #0009;border-top:1px solid rgba(255,255,255,.03);position:static;z-index:auto}.chart-wrap canvas{max-height:100%!important;object-fit:contain}.chart-wrap{flex:1;min-height:0;display:flex}.chart-wrap>div{flex:1;min-height:0;display:flex;flex-direction:column}.chart-wrap canvas{width:100%!important;height:100%!important;display:block}@media (max-width: 768px){.chart-wrap{min-height:260px}.chart-inner{max-height:60vh}}@media (max-width: 768px){.file-drop{padding:14px}.controls-bottom{padding:10px}.title{font-size:1.25rem}}@media (min-width: 769px){.ecutek-card,.file-drop{padding:18px}.controls-bottom{padding:12px}}@media (min-width: 769px){aside.controls{position:relative;transform:none;top:auto;left:auto;background:transparent;padding:0}.card .menu-toggle{display:none}}
