:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;--color-bg-light: #f0f2f5;--color-text-light: #213547;--color-primary-light: #646cff;--glass-bg-light: rgba(255, 255, 255, .7);--glass-border-light: rgba(255, 255, 255, .5);--color-bg-dark: #1a1a1a;--color-text-dark: rgba(255, 255, 255, .87);--color-primary-dark: #646cff;--glass-bg-dark: rgba(30, 30, 30, .6);--glass-border-dark: rgba(255, 255, 255, .1)}html{transition:background-color .3s,color .3s}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background:var(--color-bg-light);color:var(--color-text-light)}body.dark{background:var(--color-bg-dark);color:var(--color-text-dark)}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center;width:100%}.glass-pane{background:var(--glass-bg-light);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border-light);border-radius:16px;box-shadow:0 4px 30px #0000001a;padding:20px}body.dark .glass-pane{background:var(--glass-bg-dark);border-color:var(--glass-border-dark);box-shadow:0 4px 30px #00000080}.btn{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-primary-light);color:#fff;cursor:pointer;transition:border-color .25s}.btn:hover{border-color:#535bf2}.btn:disabled{background-color:#ccc;cursor:not-allowed}input[type=file]{display:block;margin:10px auto}.upload-zone{border:2px dashed #ccc;border-radius:10px;padding:20px;margin:10px;transition:border-color .3s}.upload-zone:hover{border-color:var(--color-primary-light)}.results-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}@media(max-width:900px){.results-grid{grid-template-columns:1fr;gap:30px}}@media(max-width:600px){#root{padding:1rem}h1{font-size:2.2em}.glass-pane{padding:15px}}.graph-container{width:100%;height:400px;margin-top:20px;background:#0000000d;border-radius:12px;padding:10px}@media(max-width:600px){.graph-container{height:300px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease-out}
