@tailwind base;@tailwind components;@tailwind utilities;@layer base{:root{--background: #ffffff;--foreground: #171717;--card: var(--background);--card-foreground: var(--foreground);--popover: var(--background);--popover-foreground: var(--foreground);--primary: #171717;--primary-foreground: #ffffff;--secondary: #f2f2f2;--secondary-foreground: #171717;--muted: #737373;--muted-foreground: #a3a3a3;--accent: #e5e5e5;--accent-foreground: #171717;--destructive: #ef4444;--destructive-foreground: #ffffff;--border: #d4d4d4;--input: #d4d4d4;--ring: #a3a3a3;--radius: .5rem;--app-bg: var(--background);--app-text: var(--foreground);--card-bg: var(--card);--card-border: var(--border);--button-primary-bg: var(--primary);--button-primary-text: var(--primary-foreground);--button-primary-border: var(--primary);--button-secondary-bg: transparent;--button-secondary-text: var(--primary);--button-secondary-border: var(--border);--player-bg-start: #e0e7ff;--player-bg-mid: #c7d2fe;--player-bg-end: #a5b4fc}.dark{--background: #0a0a0a;--foreground: #ededed;--card: var(--background);--card-foreground: var(--foreground);--popover: var(--background);--popover-foreground: var(--foreground);--primary: #ffffff;--primary-foreground: #0a0a0a;--secondary: #1c1c1c;--secondary-foreground: #ededed;--muted: #a3a3a3;--muted-foreground: #737373;--accent: #2e2e2e;--accent-foreground: #ededed;--destructive: #b91c1c;--destructive-foreground: #ffffff;--border: #3f3f3f;--input: #3f3f3f;--ring: #737373;--radius: .5rem;--app-bg: var(--background);--app-text: var(--foreground);--card-bg: #000000;--card-border: var(--border);--button-primary-bg: var(--primary);--button-primary-text: var(--primary-foreground);--button-primary-border: var(--primary);--button-secondary-bg: transparent;--button-secondary-text: var(--primary);--button-secondary-border: var(--border);--player-bg-start: rgb(15 23 42);--player-bg-mid: rgb(88 28 135);--player-bg-end: rgb(15 23 42)}}body{margin:0;font-family:Lato,Inter,Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--app-bg);color:var(--app-text)}#app{width:100%;display:flex;flex-grow:1}*{box-shadow:none!important}.border{border-width:1px!important}.osmo-title{text-align:center}.section-title{font-size:1.15rem;font-weight:500;margin-bottom:.75rem;padding-bottom:.25rem}.file-upload-area{border-radius:.5rem;padding:2rem;text-align:center;margin-bottom:1rem;cursor:pointer;transition:border-color .15s ease-in-out}.file-upload-area p{margin:0;font-size:.9rem}.control-button{width:100%;padding:.625rem 1rem;border-radius:.375rem;font-size:.95rem;margin-bottom:.625rem;box-sizing:border-box;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,color .15s ease-in-out;font-weight:500}.control-button:disabled{cursor:not-allowed}.status-message,.error-message{text-align:center;margin-top:.75rem;padding:.5rem;border-radius:.5rem;font-size:.9rem}.error-message{font-weight:500}.transcript-content{border-radius:.375rem;padding:1rem;max-height:18rem;overflow-y:auto;font-family:Roboto Mono,monospace;font-size:.875rem;white-space:pre-wrap;word-wrap:break-word;line-height:1.5}.transcript-content pre{margin:0}.waveform-container{display:flex;justify-content:center;align-items:flex-end;height:2.5rem;margin-top:.5rem;gap:.25rem}.waveform-bar{width:.25rem;border-radius:9999px;transition:height .1s ease-out}.modal-overlay-animation,.transcript-content-animation,.track-item-animation{transition:opacity .3s ease,transform .3s ease}.modal-overlay-animation.hidden,.transcript-content-animation.hidden,.track-item-animation.hidden{opacity:0;transform:translateY(10px)}.hidden{display:none}.track-action-button{transition:background-color .2s ease-in-out,border-color .2s ease-in-out,color .2s ease-in-out}.track-action-button:disabled{cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;z-index:50}.modal-panel{padding:1.5rem;border-radius:.5rem;min-width:300px;max-width:28rem}.flash-card-container{perspective:1000px}.flash-card{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .6s;cursor:pointer}.flash-card-front,.flash-card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;align-items:center;justify-content:center;border-radius:.5rem;border:1px solid var(--border);background-color:var(--secondary)}.flash-card-back{transform:rotateY(180deg)}.quiz-option.quiz-option-correct{background-color:#16a34a20;border-color:#16a34a}.quiz-option.quiz-option-incorrect{background-color:#dc262620;border-color:#dc2626}.dark .quiz-option.quiz-option-correct{background-color:#22c55e20;border-color:#22c55e}.dark .quiz-option.quiz-option-incorrect{background-color:#ef444420;border-color:#ef4444}@layer utilities{.animate-in{animation-name:fadeIn;animation-duration:.15s}.animate-out{animation-name:fadeOut;animation-duration:.15s}.fade-in-0{animation-name:fadeIn;animation-fill-mode:forwards}.fade-out-0{animation-name:fadeOut;animation-fill-mode:forwards}.zoom-in-95{transform:scale(.95);animation-name:zoomIn;animation-fill-mode:forwards}.zoom-out-95{transform:scale(.95);animation-name:zoomOut;animation-fill-mode:forwards}.slide-in-from-top-2{transform:translateY(-.5rem);animation-name:slideInFromTop;animation-fill-mode:forwards}.slide-in-from-bottom-2{transform:translateY(.5rem);animation-name:slideInFromBottom;animation-fill-mode:forwards}.slide-in-from-left-2{transform:translate(-.5rem);animation-name:slideInFromLeft;animation-fill-mode:forwards}.slide-in-from-right-2{transform:translate(.5rem);animation-name:slideInFromRight;animation-fill-mode:forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes zoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes zoomOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-.5rem)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(.5rem)}to{opacity:1;transform:translate(0)}}}
