.install-prompt[data-v-a936b88f]{position:fixed;bottom:0;left:0;right:0;z-index:1000;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;padding:0;box-shadow:0 -4px 12px #00000026;transform:translateY(0);transition:transform .3s ease-out}.install-prompt--dismissed[data-v-a936b88f]{transform:translateY(100%)}.install-prompt__content[data-v-a936b88f]{display:flex;align-items:center;gap:1rem;padding:1rem;max-width:100%;position:relative}.install-prompt__icon[data-v-a936b88f]{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:#fff3;border-radius:50%}.install-prompt__text[data-v-a936b88f]{flex:1;min-width:0}.install-prompt__title[data-v-a936b88f]{font-weight:600;font-size:1rem;line-height:1.25;margin-bottom:.25rem}.install-prompt__message[data-v-a936b88f]{font-size:.875rem;line-height:1.25;opacity:.9}.install-prompt__actions[data-v-a936b88f]{display:flex;gap:.5rem;flex-shrink:0}.install-prompt__button[data-v-a936b88f]{padding:.5rem 1rem;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;line-height:1}.install-prompt__button--primary[data-v-a936b88f]{background:#fff;color:#3b82f6}.install-prompt__button--primary[data-v-a936b88f]:hover:not(:disabled){background:#f8fafc;transform:translateY(-1px)}.install-prompt__button--primary[data-v-a936b88f]:disabled{opacity:.5;cursor:not-allowed}.install-prompt__button--secondary[data-v-a936b88f]{background:#fff3;color:#fff}.install-prompt__button--secondary[data-v-a936b88f]:hover{background:#ffffff4d}.install-prompt__close[data-v-a936b88f]{position:absolute;top:.5rem;right:.5rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:background-color .2s ease}.install-prompt__close[data-v-a936b88f]:hover{background:#ffffff4d}.install-prompt__close[data-v-a936b88f]:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.slide-up-enter-active[data-v-a936b88f],.slide-up-leave-active[data-v-a936b88f]{transition:transform .3s ease-out}.slide-up-enter-from[data-v-a936b88f],.slide-up-leave-to[data-v-a936b88f]{transform:translateY(100%)}@media (max-width: 640px){.install-prompt__content[data-v-a936b88f]{padding:.75rem;gap:.75rem}.install-prompt__icon[data-v-a936b88f]{width:2.5rem;height:2.5rem}.install-prompt__title[data-v-a936b88f]{font-size:.875rem}.install-prompt__message[data-v-a936b88f]{font-size:.75rem}.install-prompt__actions[data-v-a936b88f]{flex-direction:column;gap:.375rem}.install-prompt__button[data-v-a936b88f]{padding:.375rem .75rem;font-size:.8125rem}}@media (prefers-color-scheme: dark){.install-prompt[data-v-a936b88f]{background:linear-gradient(135deg,#1e40af,#1e3a8a)}}.update-notification[data-v-8fe7c0c1]{position:fixed;top:0;left:0;right:0;z-index:1000;background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:0;box-shadow:0 4px 12px #00000026;transform:translateY(0);transition:transform .3s ease-out}.update-notification--dismissed[data-v-8fe7c0c1]{transform:translateY(-100%)}.update-notification__content[data-v-8fe7c0c1]{display:flex;align-items:center;gap:1rem;padding:1rem;max-width:100%;position:relative}.update-notification__icon[data-v-8fe7c0c1]{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:#fff3;border-radius:50%}.update-notification__text[data-v-8fe7c0c1]{flex:1;min-width:0}.update-notification__title[data-v-8fe7c0c1]{font-weight:600;font-size:1rem;line-height:1.25;margin-bottom:.25rem}.update-notification__message[data-v-8fe7c0c1]{font-size:.875rem;line-height:1.25;opacity:.9}.update-notification__actions[data-v-8fe7c0c1]{display:flex;gap:.5rem;flex-shrink:0}.update-notification__button[data-v-8fe7c0c1]{padding:.5rem 1rem;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;line-height:1;display:flex;align-items:center;gap:.375rem}.update-notification__button--primary[data-v-8fe7c0c1]{background:#fff;color:#10b981}.update-notification__button--primary[data-v-8fe7c0c1]:hover:not(:disabled){background:#f8fafc;transform:translateY(-1px)}.update-notification__button--primary[data-v-8fe7c0c1]:disabled{opacity:.5;cursor:not-allowed}.update-notification__button--secondary[data-v-8fe7c0c1]{background:#fff3;color:#fff}.update-notification__button--secondary[data-v-8fe7c0c1]:hover{background:#ffffff4d}.update-notification__close[data-v-8fe7c0c1]{position:absolute;top:.5rem;right:.5rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:background-color .2s ease}.update-notification__close[data-v-8fe7c0c1]:hover{background:#ffffff4d}.update-notification__close[data-v-8fe7c0c1]:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.slide-down-enter-active[data-v-8fe7c0c1],.slide-down-leave-active[data-v-8fe7c0c1]{transition:transform .3s ease-out}.slide-down-enter-from[data-v-8fe7c0c1],.slide-down-leave-to[data-v-8fe7c0c1]{transform:translateY(-100%)}.animate-spin[data-v-8fe7c0c1]{animation:spin-8fe7c0c1 1s linear infinite}@keyframes spin-8fe7c0c1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 640px){.update-notification__content[data-v-8fe7c0c1]{padding:.75rem;gap:.75rem}.update-notification__icon[data-v-8fe7c0c1]{width:2rem;height:2rem}.update-notification__title[data-v-8fe7c0c1]{font-size:.875rem}.update-notification__message[data-v-8fe7c0c1]{font-size:.75rem}.update-notification__actions[data-v-8fe7c0c1]{flex-direction:column;gap:.375rem}.update-notification__button[data-v-8fe7c0c1]{padding:.375rem .75rem;font-size:.8125rem}}@media (prefers-color-scheme: dark){.update-notification[data-v-8fe7c0c1]{background:linear-gradient(135deg,#047857,#065f46)}}:root{--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--color-hover: rgba(0, 0, 0, .05);--color-active: rgba(0, 0, 0, .1);--color-focus-ring: rgba(59, 130, 246, .5);--font-heading: "Amaranth", system-ui, -apple-system, sans-serif;--font-body: "Open Sans", system-ui, -apple-system, sans-serif;--font-mono: "Consolas", "Monaco", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--editor-font-size: 18px;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}@supports (-webkit-touch-callout: none){.page-with-fixed-header{padding-top:calc(env(safe-area-inset-top) + 4rem)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-weight:400;line-height:1.6;color:var(--color-text);background:var(--color-background);min-height:100vh;-webkit-overflow-scrolling:touch}#app{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;color:var(--color-text)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}*:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}*:focus:not(:focus-visible){outline:none}::selection{background:var(--color-editor-selection);color:var(--color-text)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.exercise-toast{position:fixed;top:88px;left:50%;transform:translate(-50%);z-index:900;background:var(--color-surface);border:2px solid var(--color-primary);border-radius:var(--radius-lg);padding:.75rem 1.25rem;display:block;box-shadow:var(--shadow-lg);width:auto;max-width:calc(100% - 4rem)}.exercise-toast span{padding-top:2px}.exercise-toast__inner{display:flex;align-items:center;justify-content:center;gap:.5rem}.question-category,.prompt-category{font-size:var(--text-sm);font-weight:600;color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;margin-right:var(--space-sm)}.question-text,.prompt-text{font-size:var(--text-base);font-weight:500;color:var(--color-text);flex:1}.checkmark{color:var(--color-primary);flex-shrink:0;margin-left:var(--space-sm)}.no-toast-transitions .exercise-toast,.no-toast-transitions .exercise-toast__inner,.no-toast-transitions .slide-in-enter-active,.no-toast-transitions .slide-in-leave-active,.no-toast-transitions .toast-enter-active,.no-toast-transitions .toast-leave-active{transition:none!important}@media (max-width: 640px){.exercise-toast{left:1rem;right:1rem;transform:none;width:auto;max-width:none;padding:.5rem 1rem}.exercise-toast.toast-slide-enter-from,.exercise-toast.toast-slide-leave-to{transform:translate(-20px)}.exercise-toast:hover{transform:translateY(-2px)!important}.exercise-toast:active{transform:translateY(0)!important}}:root,.theme-base{--color-primary: #8B5A3C;--color-secondary: #A0522D;--color-background: #ffffff;--color-surface: #f8f9fa;--color-text: #1a1a1a;--color-text-muted: #6b7280;--color-border: #e5e7eb;--color-editor-bg: #ffffff;--color-editor-text: #1a1a1a;--color-editor-cursor: #8B5A3C;--color-editor-selection: rgba(139, 90, 60, .15);--color-primary-hover: #6B4423;--color-primary-light: rgba(139, 90, 60, .1);--color-primary-dark: #5D3A1A}.theme-dark{--color-primary: #60a5fa;--color-secondary: #a78bfa;--color-background: #0f1419;--color-surface: #1a1f2e;--color-text: #e6e6e6;--color-text-muted: #9ca3af;--color-border: #374151;--color-editor-bg: #0f1419;--color-editor-text: #e6e6e6;--color-editor-cursor: #60a5fa;--color-editor-selection: rgba(96, 165, 250, .2);--color-primary-hover: #93c5fd;--color-primary-light: rgba(96, 165, 250, .2);--color-primary-dark: #3b82f6}.theme-sepia{--color-primary: #a67c52;--color-secondary: #8b7355;--color-background: #f4ecd8;--color-surface: #ede2cc;--color-text: #5c4a3a;--color-text-muted: #8b7355;--color-border: #d4c4a8;--color-editor-bg: #f4ecd8;--color-editor-text: #5c4a3a;--color-editor-cursor: #a67c52;--color-editor-selection: rgba(166, 124, 82, .15);--color-primary-hover: #5d4037;--color-primary-light: rgba(166, 124, 82, .15);--color-primary-dark: #3e2723}.theme-nord{--color-primary: #88c0d0;--color-secondary: #81a1c1;--color-background: #2e3440;--color-surface: #3b4252;--color-text: #eceff4;--color-text-muted: #d8dee9;--color-border: #4c566a;--color-editor-bg: #2e3440;--color-editor-text: #eceff4;--color-editor-cursor: #88c0d0;--color-editor-selection: rgba(136, 192, 208, .2);--color-primary-hover: #a3d5e0;--color-primary-light: rgba(136, 192, 208, .2);--color-primary-dark: #5e81ac}.theme-solarized{--color-primary: #268bd2;--color-secondary: #6c71c4;--color-background: #fdf6e3;--color-surface: #eee8d5;--color-text: #657b83;--color-text-muted: #93a1a1;--color-border: #d6cbb3;--color-editor-bg: #fdf6e3;--color-editor-text: #657b83;--color-editor-cursor: #268bd2;--color-editor-selection: rgba(38, 139, 210, .15);--color-primary-hover: #1e74b8;--color-primary-light: rgba(38, 139, 210, .15);--color-primary-dark: #1664a0}.theme-onyx{--color-primary: #666666;--color-secondary: #808080;--color-background: #0a0a0a;--color-surface: #1a1a1a;--color-text: #e0e0e0;--color-text-muted: #888888;--color-border: #2a2a2a;--color-editor-bg: #0a0a0a;--color-editor-text: #e0e0e0;--color-editor-cursor: #999999;--color-editor-selection: rgba(102, 102, 102, .3);--color-primary-hover: #888888;--color-primary-light: rgba(102, 102, 102, .2);--color-primary-dark: #444444}.theme-snow{--color-primary: #6b7280;--color-secondary: #9ca3af;--color-background: #ffffff;--color-surface: #fafafa;--color-text: #111827;--color-text-muted: #6b7280;--color-border: #f3f4f6;--color-editor-bg: #ffffff;--color-editor-text: #111827;--color-editor-cursor: #4b5563;--color-editor-selection: rgba(107, 114, 128, .15);--color-primary-hover: #4b5563;--color-primary-light: rgba(107, 114, 128, .1);--color-primary-dark: #374151}.theme-twilight{--color-primary: #a78bfa;--color-secondary: #c4b5fd;--color-background: #1a0f2e;--color-surface: #2d1b4e;--color-text: #e9d5ff;--color-text-muted: #c4b5fd;--color-border: #3d2966;--color-editor-bg: #1a0f2e;--color-editor-text: #e9d5ff;--color-editor-cursor: #a78bfa;--color-editor-selection: rgba(167, 139, 250, .25);--color-primary-hover: #c4b5fd;--color-primary-light: rgba(167, 139, 250, .2);--color-primary-dark: #8b5cf6}.theme-mocha{--color-primary: #8b7355;--color-secondary: #a0826d;--color-background: #2b2420;--color-surface: #3d342e;--color-text: #e6ddd5;--color-text-muted: #b8a896;--color-border: #4d433a;--color-editor-bg: #2b2420;--color-editor-text: #e6ddd5;--color-editor-cursor: #a0826d;--color-editor-selection: rgba(139, 115, 85, .3);--color-primary-hover: #a0826d;--color-primary-light: rgba(139, 115, 85, .2);--color-primary-dark: #6b5a45}.theme-mint{--color-primary: #10b981;--color-secondary: #34d399;--color-background: #f0fdf4;--color-surface: #dcfce7;--color-text: #064e3b;--color-text-muted: #059669;--color-border: #bbf7d0;--color-editor-bg: #f0fdf4;--color-editor-text: #064e3b;--color-editor-cursor: #10b981;--color-editor-selection: rgba(16, 185, 129, .15);--color-primary-hover: #059669;--color-primary-light: rgba(16, 185, 129, .1);--color-primary-dark: #047857}.theme-honey{--color-primary: #f9b83c;--color-secondary: #f0c88c;--color-background: #fff5e3;--color-surface: #ffe7c8;--color-text: #5c3a1a;--color-text-muted: #8b5a2b;--color-border: #f0c88c;--color-editor-bg: #fff5e3;--color-editor-text: #5c3a1a;--color-editor-cursor: #f9b83c;--color-editor-selection: rgba(249, 184, 60, .15);--color-primary-hover: #e6a52b;--color-primary-light: rgba(249, 184, 60, .1);--color-primary-dark: #8b5a2b}.theme-slate{--color-primary: #6b5b73;--color-secondary: #4a3d4f;--color-background: #e0ddd8;--color-surface: #d3cac5;--color-text: #454046;--color-text-muted: #5d565d;--color-border: #8a7d8f;--color-editor-bg: #e0ddd8;--color-editor-text: #454046;--color-editor-cursor: #4a3d4f;--color-editor-selection: rgba(107, 91, 115, .3);--color-primary-hover: #5a4a62;--color-primary-light: rgba(107, 91, 115, .2);--color-primary-dark: #3a2d3f}.theme-blush{--color-primary: #db2777;--color-secondary: #f472b6;--color-background: #fdf2f8;--color-surface: #fce7f3;--color-text: #831843;--color-text-muted: #9d174d;--color-border: #fbcfe8;--color-editor-bg: #fdf2f8;--color-editor-text: #831843;--color-editor-cursor: #db2777;--color-editor-selection: rgba(219, 39, 119, .15);--color-primary-hover: #be185d;--color-primary-light: rgba(219, 39, 119, .1);--color-primary-dark: #9f1239}.theme-sky{--color-primary: #0284c7;--color-secondary: #0ea5e9;--color-background: #f0f9ff;--color-surface: #e0f2fe;--color-text: #075985;--color-text-muted: #0369a1;--color-border: #bae6fd;--color-editor-bg: #f0f9ff;--color-editor-text: #075985;--color-editor-cursor: #0284c7;--color-editor-selection: rgba(2, 132, 199, .15);--color-primary-hover: #0369a1;--color-primary-light: rgba(2, 132, 199, .1);--color-primary-dark: #075985}.theme-forest{--color-primary: #22c55e;--color-secondary: #4ade80;--color-background: #0a2e1a;--color-surface: #14532d;--color-text: #d1fae5;--color-text-muted: #86efac;--color-border: #15803d;--color-editor-bg: #0a2e1a;--color-editor-text: #d1fae5;--color-editor-cursor: #22c55e;--color-editor-selection: rgba(34, 197, 94, .25);--color-primary-hover: #4ade80;--color-primary-light: rgba(34, 197, 94, .2);--color-primary-dark: #16a34a}.theme-midnight{--color-primary: #3b82f6;--color-secondary: #60a5fa;--color-background: #020617;--color-surface: #0f172a;--color-text: #e2e8f0;--color-text-muted: #94a3b8;--color-border: #1e293b;--color-editor-bg: #020617;--color-editor-text: #e2e8f0;--color-editor-cursor: #3b82f6;--color-editor-selection: rgba(59, 130, 246, .25);--color-primary-hover: #60a5fa;--color-primary-light: rgba(59, 130, 246, .2);--color-primary-dark: #2563eb}.theme-crimson{--color-primary: #f43f5e;--color-secondary: #fb7185;--color-background: #1a0509;--color-surface: #2d0a13;--color-text: #fecdd3;--color-text-muted: #fda4af;--color-border: #450a0a;--color-editor-bg: #1a0509;--color-editor-text: #fecdd3;--color-editor-cursor: #f43f5e;--color-editor-selection: rgba(244, 63, 94, .3);--color-primary-hover: #fb7185;--color-primary-light: rgba(244, 63, 94, .2);--color-primary-dark: #e11d48}.theme-abyss{--color-primary: #14b8a6;--color-secondary: #2dd4bf;--color-background: #042f2e;--color-surface: #0f4746;--color-text: #ccfbf1;--color-text-muted: #5eead4;--color-border: #134e4a;--color-editor-bg: #042f2e;--color-editor-text: #ccfbf1;--color-editor-cursor: #14b8a6;--color-editor-selection: rgba(20, 184, 166, .25);--color-primary-hover: #2dd4bf;--color-primary-light: rgba(20, 184, 166, .2);--color-primary-dark: #0d9488}.theme-dark .app-logo{filter:brightness(1.2) saturate(.8) hue-rotate(180deg)}.theme-nord .app-logo{filter:brightness(1.3) saturate(.9) hue-rotate(160deg)}.theme-onyx .app-logo{filter:brightness(1.5) saturate(0) contrast(.9)}.theme-twilight .app-logo{filter:brightness(1.3) saturate(1.2) hue-rotate(260deg)}.theme-mint .app-logo{filter:brightness(.9) saturate(1.1) hue-rotate(80deg)}.theme-blush .app-logo{filter:brightness(1.1) saturate(1.3) hue-rotate(300deg)}.theme-sky .app-logo{filter:brightness(.9) saturate(1.1) hue-rotate(170deg)}.theme-forest .app-logo{filter:brightness(1.4) saturate(1.2) hue-rotate(90deg)}.theme-midnight .app-logo{filter:brightness(1.3) saturate(1) hue-rotate(190deg)}.theme-crimson .app-logo{filter:brightness(1.3) saturate(1.4) hue-rotate(330deg)}.theme-abyss .app-logo{filter:brightness(1.3) saturate(1.1) hue-rotate(150deg)}*{transition:background-color .2s ease,color .2s ease,border-color .2s ease}.theme-transitioning *{transition:none!important}
