.v-btn[data-v-729a9965]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-body);font-weight:400;border:1px solid #ffffff;cursor:pointer;transition:all var(--transition-base);text-decoration:none;position:relative;white-space:nowrap;border-radius:var(--radius-full);box-shadow:var(--shadow-glow-white)}.v-btn--sm[data-v-729a9965]{padding:8px 16px;font-size:var(--text-xs);min-height:36px}.v-btn--md[data-v-729a9965]{padding:12px 24px;font-size:var(--text-sm);min-height:50px}.v-btn--primary[data-v-729a9965]{background:var(--steel-button);color:#fff}.v-btn--primary[data-v-729a9965]:hover:not(:disabled){background:var(--steel-primary)}.v-btn--secondary[data-v-729a9965]{background:var(--surface-steel-alpha-60);color:var(--text-primary)}.v-btn--secondary[data-v-729a9965]:hover:not(:disabled){background:var(--surface-steel-alpha-15)}.v-btn--danger[data-v-729a9965]{background:var(--pink-primary);color:#fff}.v-btn--danger[data-v-729a9965]:hover:not(:disabled){background:var(--pink-primary)}.v-btn--ghost[data-v-729a9965]{background:transparent;color:var(--text-primary)}.v-btn--ghost[data-v-729a9965]:hover:not(:disabled){background:var(--surface-steel-alpha-15)}.v-btn--block[data-v-729a9965]{width:100%}.v-btn[data-v-729a9965]:disabled{opacity:.5;cursor:not-allowed}.v-btn--loading[data-v-729a9965]{cursor:wait}.v-btn__content--hidden[data-v-729a9965]{visibility:hidden}.v-btn__spinner[data-v-729a9965]{position:absolute;width:18px;height:18px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:v-btn-spin-729a9965 .6s linear infinite}@keyframes v-btn-spin-729a9965{to{transform:rotate(360deg)}}.v-input[data-v-3dddb980]{margin-bottom:var(--space-4)}.v-input__label[data-v-3dddb980]{display:block;font-size:var(--text-sm);font-weight:400;color:var(--text-secondary);margin-bottom:var(--space-2)}.v-input__field[data-v-3dddb980]{width:100%;height:40px;padding:0 var(--space-4);font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);background:var(--surface-steel-alpha-15);border:2px solid transparent;border-radius:5px;transition:border-color var(--transition-base)}.v-input__field[data-v-3dddb980]:focus{outline:none;border-color:var(--steel-muted)}.v-input__field[data-v-3dddb980]::placeholder{color:var(--text-muted)}.v-input__field[data-v-3dddb980]:disabled{opacity:.5;cursor:not-allowed;background:var(--surface-subtle)}.v-textarea[data-v-8fe55714]{margin-bottom:var(--space-4)}.v-textarea__label[data-v-8fe55714]{display:block;font-size:var(--text-sm);font-weight:400;color:var(--text-secondary);margin-bottom:var(--space-2)}.v-textarea__field[data-v-8fe55714]{width:100%;padding:10px var(--space-4);font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);background:var(--surface-steel-alpha-15);border:2px solid transparent;border-radius:5px;transition:border-color var(--transition-base);min-height:100px;resize:vertical}.v-textarea__field[data-v-8fe55714]:focus{outline:none;border-color:var(--steel-muted)}.v-textarea__field[data-v-8fe55714]::placeholder{color:var(--text-muted)}.v-textarea__field[data-v-8fe55714]:disabled{opacity:.5;cursor:not-allowed;background:var(--surface-subtle)}.v-textarea--error .v-textarea__field[data-v-8fe55714]{border-color:var(--pink-primary)}.v-textarea__error[data-v-8fe55714]{display:block;font-size:var(--text-xs);color:var(--pink-primary);margin-top:var(--space-1)}.v-select[data-v-c55e5363]{margin-bottom:var(--space-4)}.v-select__label[data-v-c55e5363]{display:block;font-size:var(--text-sm);font-weight:400;color:var(--text-secondary);margin-bottom:var(--space-2)}.v-select__field[data-v-c55e5363]{width:100%;height:40px;padding:0 40px 0 var(--space-4);font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);background:var(--surface-steel-alpha-15);border:2px solid transparent;border-radius:5px;transition:border-color var(--transition-base);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394A3B8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}.v-select__field[data-v-c55e5363]:focus{outline:none;border-color:var(--steel-muted)}.v-select__field[data-v-c55e5363]:disabled{opacity:.5;cursor:not-allowed;background-color:var(--surface-subtle)}.v-select--error .v-select__field[data-v-c55e5363]{border-color:var(--pink-primary)}.v-select__error[data-v-c55e5363]{display:block;font-size:var(--text-xs);color:var(--pink-primary);margin-top:var(--space-1)}.v-badge[data-v-7bb8896c]{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:var(--text-xs);font-weight:400;border-radius:var(--radius-full);white-space:nowrap}.v-badge--success[data-v-7bb8896c]{background:var(--surface-teal-alpha-30);color:var(--teal-500)}.v-badge--warning[data-v-7bb8896c]{background:var(--surface-warm-alpha-40);color:var(--warm-deep)}.v-badge--error[data-v-7bb8896c]{background:var(--pink-50);color:var(--pink-primary)}.v-badge--info[data-v-7bb8896c]{background:var(--surface-teal-alpha-30);color:var(--teal-500)}.v-avatar[data-v-a5994f9a]{border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;background:var(--surface-subtle);color:var(--steel-button);font-weight:400;flex-shrink:0;overflow:hidden}.v-avatar--sm[data-v-a5994f9a]{width:32px;height:32px;font-size:12px}.v-avatar--md[data-v-a5994f9a]{width:40px;height:40px;font-size:14px}.v-avatar--lg[data-v-a5994f9a]{width:64px;height:64px;font-size:22px}.v-avatar--xl[data-v-a5994f9a]{width:80px;height:80px;font-size:28px}.v-avatar__img[data-v-a5994f9a]{width:100%;height:100%;object-fit:cover}.v-avatar__initials[data-v-a5994f9a]{line-height:1}.v-loader[data-v-30bbcf7c]{border-style:solid;border-color:var(--border-strong);border-top-color:var(--steel-button);border-radius:50%;animation:v-loader-spin-30bbcf7c .7s linear infinite}.v-loader--sm[data-v-30bbcf7c]{width:20px;height:20px;border-width:2px}.v-loader--md[data-v-30bbcf7c]{width:32px;height:32px;border-width:3px}.v-loader--lg[data-v-30bbcf7c]{width:48px;height:48px;border-width:4px}@keyframes v-loader-spin-30bbcf7c{to{transform:rotate(360deg)}}.v-empty[data-v-f5215123]{text-align:center;padding:var(--space-8) var(--space-4)}.v-empty__icon[data-v-f5215123]{display:block;font-size:48px;margin-bottom:var(--space-3)}.v-empty__title[data-v-f5215123]{font-size:var(--text-base);font-weight:400;color:var(--text-secondary);margin-bottom:var(--space-1)}.v-empty__desc[data-v-f5215123]{font-size:var(--text-sm);color:var(--text-muted);line-height:1.5}.v-empty__action[data-v-f5215123]{margin-top:var(--space-4)}.v-toast-container[data-v-1609e474]{position:fixed;bottom:80px;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);z-index:var(--z-toast, 500);pointer-events:none}.v-toast[data-v-1609e474]{display:flex;align-items:center;gap:var(--space-2);padding:12px 24px;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:400;max-width:90%;text-align:center;cursor:pointer;pointer-events:auto;box-shadow:0 4px 12px #0000004d}.v-toast--success[data-v-1609e474]{background:var(--teal-primary);color:#fff}.v-toast--error[data-v-1609e474]{background:var(--pink-primary);color:#fff}.v-toast--info[data-v-1609e474]{background:var(--text-primary);color:#fff}.v-toast__icon[data-v-1609e474]{font-size:var(--text-base);flex-shrink:0}.v-toast-enter-active[data-v-1609e474]{transition:all var(--transition-slow)}.v-toast-leave-active[data-v-1609e474]{transition:all var(--transition-base)}.v-toast-enter-from[data-v-1609e474]{transform:translateY(20px);opacity:0}.v-toast-leave-to[data-v-1609e474]{transform:translateY(-10px);opacity:0}.velo-logo[data-v-83101eba]{display:block;object-fit:contain}.v-modal__overlay[data-v-2c176261]{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center;background:#00000080;padding:var(--space-4)}.v-modal__container[data-v-2c176261]{position:relative;width:100%;max-width:420px;max-height:85vh;overflow-y:auto;background:var(--surface-elevated);border:1px solid #ffffff;border-radius:20px 20px 0 0;padding:var(--space-6);box-shadow:var(--shadow-xl)}.v-modal__close[data-v-2c176261]{position:absolute;top:var(--space-4);right:var(--space-4);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:var(--surface-subtle);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.v-modal__close[data-v-2c176261]:hover{background:var(--border-strong);color:var(--text-primary)}.v-modal-enter-active[data-v-2c176261],.v-modal-leave-active[data-v-2c176261]{transition:opacity var(--transition-slow)}.v-modal-enter-active .v-modal__container[data-v-2c176261],.v-modal-leave-active .v-modal__container[data-v-2c176261]{transition:transform var(--transition-slow)}.v-modal-enter-from[data-v-2c176261],.v-modal-leave-to[data-v-2c176261]{opacity:0}.v-modal-enter-from .v-modal__container[data-v-2c176261],.v-modal-leave-to .v-modal__container[data-v-2c176261]{transform:translateY(100%)}@media(min-width:640px){.v-modal__overlay[data-v-2c176261]{align-items:center}.v-modal__container[data-v-2c176261]{border-radius:20px}.v-modal-enter-from .v-modal__container[data-v-2c176261],.v-modal-leave-to .v-modal__container[data-v-2c176261]{transform:translateY(20px)}}.v-accordion[data-v-8dbd345d]{border-bottom:1px solid var(--border-subtle)}.v-accordion__header[data-v-8dbd345d]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-3) 0;font-size:var(--text-sm);color:var(--text-primary);text-align:left}.v-accordion__arrow[data-v-8dbd345d]{font-size:var(--text-lg);color:var(--text-muted);transition:transform var(--transition-fast)}.v-accordion--open .v-accordion__arrow[data-v-8dbd345d]{transform:rotate(90deg)}.v-accordion__body[data-v-8dbd345d]{padding:0 0 var(--space-3);font-size:var(--text-sm);color:var(--text-secondary)}.loading[data-v-c07b8fc1]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;background:transparent;gap:var(--space-4)}.loading__logo[data-v-c07b8fc1]{animation:pulse-c07b8fc1 2s ease-in-out infinite}.loading__title[data-v-c07b8fc1]{font-family:var(--font-body);font-size:var(--text-2xl);font-weight:400;color:var(--text-primary);letter-spacing:.02em;margin:0}.loading__spinner[data-v-c07b8fc1]{width:24px;height:24px;border:2px solid var(--border-subtle);border-top-color:var(--steel-button);border-radius:50%;animation:spin-c07b8fc1 .8s linear infinite;margin-top:var(--space-4)}@keyframes spin-c07b8fc1{to{transform:rotate(360deg)}}@keyframes pulse-c07b8fc1{0%,to{opacity:1}50%{opacity:.7}}.v-header[data-v-30613720]{position:sticky;top:0;z-index:var(--z-sticky, 200);display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background:transparent;min-height:56px}.v-header__left[data-v-30613720]{display:flex;align-items:center;gap:var(--space-3);min-width:0}.v-header__back[data-v-30613720]{display:flex;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-4);background:var(--surface-steel-alpha-15);border:1px solid #ffffff;border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-sm);font-weight:400;color:var(--text-primary);cursor:pointer;transition:opacity var(--transition-fast);flex-shrink:0;white-space:nowrap}.v-header__back[data-v-30613720]:active{opacity:.7}.v-header__title[data-v-30613720]{font-family:var(--font-body);font-size:18px;font-weight:400;color:var(--steel-button);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v-header__badge[data-v-30613720]{background:var(--steel-button);color:#fff;font-size:var(--text-xs);font-weight:400;padding:2px 8px;border-radius:var(--radius-full);flex-shrink:0}.v-header__right[data-v-30613720]{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.v-header__theme[data-v-30613720]{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;color:var(--text-primary);cursor:pointer;border-radius:var(--radius-full);transition:opacity var(--transition-fast)}.v-header__theme[data-v-30613720]:hover{opacity:.75}.v-tabbar[data-v-bddda832]{position:sticky;bottom:0;display:flex;align-items:center;gap:var(--space-2);background:#ffffffd9;padding:var(--space-2) var(--space-3);padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom,0px));z-index:var(--z-sticky, 200)}.v-tabbar__item[data-v-bddda832]{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-1) 0;color:var(--text-muted);background:var(--nav-inactive-bg);border-radius:var(--radius-lg);transition:all var(--transition-fast);position:relative}.v-tabbar__item--active[data-v-bddda832]{background:var(--steel-button);color:#fff}.v-tabbar__icon[data-v-bddda832]{font-size:20px;line-height:1}.v-tabbar__label[data-v-bddda832]{font-size:10px;font-weight:400}.v-tabbar__badge[data-v-bddda832]{position:absolute;top:0;right:50%;transform:translate(16px);min-width:16px;height:16px;padding:0 4px;display:flex;align-items:center;justify-content:center;background:var(--pink-primary);color:#fff;font-size:9px;font-weight:400;border-radius:var(--radius-full)}.mobile-layout[data-v-ca5cfdbb]{display:flex;flex-direction:column;min-height:100dvh;min-height:100vh;background:transparent}.mobile-layout__main[data-v-ca5cfdbb]{flex:1;overflow-y:auto;padding:var(--space-4);-webkit-overflow-scrolling:touch}.admin-layout[data-v-661d7747]{display:flex;flex-direction:column;min-height:100dvh;min-height:100vh;background:transparent}.admin-layout__main[data-v-661d7747]{flex:1;overflow-y:auto;padding:var(--space-4);-webkit-overflow-scrolling:touch}@font-face{font-family:Marmelad;src:url(/fonts/Marmelad-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--neutral-white: #ffffff;--neutral-50: #f5f7fa;--neutral-100: #e2f0fd;--neutral-200: #d6e1ef;--neutral-300: #b0bccd;--neutral-400: #98a3b4;--neutral-500: #7f8b9b;--neutral-600: #677282;--neutral-700: #4f5969;--neutral-800: #364150;--neutral-900: #1e2837;--neutral-950: #141c2a;--neutral-black: #0b111c;--steel-muted: #abbfda;--steel-light: #7f8b9b;--steel-primary: #4c6589;--steel-button: #627a9c;--steel-dark: #364150;--nav-inactive-bg: rgba(98, 122, 156, .15);--surface-steel-alpha-15: rgba(98, 122, 156, .15);--surface-steel-alpha-60: rgba(171, 191, 218, .6);--surface-teal-alpha-30: rgba(118, 221, 230, .3);--surface-teal-alpha-40: rgba(118, 221, 230, .4);--surface-warm-alpha-40: rgba(251, 192, 136, .4);--teal-100: #d6f5f8;--teal-500: #2f9ea8;--teal-primary: #76dde6;--teal-700: #26767d;--teal-800: #1e5a60;--warm-50: #feecdb;--warm-100: #fdf3e2;--warm-primary: #fbc088;--warm-700: #d4863c;--warm-deep: #a16124;--pink-50: #fde2e2;--pink-100: #fddfe3;--pink-primary: #f795a2;--pink-700: #ad3444;--feedback-info: #619cd2;--feedback-success: #2f9ea8;--feedback-warning: #fbc088;--feedback-error: #ad3444;--surface-default: #ffffff;--surface-subtle: #f5f7fa;--surface-muted: #e2f0fd;--surface-elevated: #ffffff;--surface-overlay: #ffffff;--surface-inverse: #1e2837;--text-primary: #4c6589;--text-secondary: #677282;--text-muted: #98a3b4;--text-accent: #26767d;--text-success: #2f9ea8;--text-warning: #d4863c;--text-error: #ad3444;--text-on-accent: #ffffff;--text-on-inverse: #ffffff;--border-default: #e2f0fd;--border-subtle: #e2f0fd;--border-strong: #b0bccd;--border-accent: #2f9ea8;--icon-default: #4c6589;--icon-muted: #98a3b4;--icon-accent: #2f9ea8;--icon-inverse: #ffffff;--accent-teal: #2f9ea8;--accent-pink: #f795a2;--accent-warm: #fbc088;--shadow-sm: 0 1px 2px rgba(30, 40, 55, .04), 0 1px 1px rgba(30, 40, 55, .04);--shadow-md: 0 4px 12px rgba(30, 40, 55, .06), 0 2px 4px rgba(30, 40, 55, .04);--shadow-lg: 0 12px 28px rgba(30, 40, 55, .08), 0 4px 8px rgba(30, 40, 55, .05);--shadow-xl: 0 24px 48px rgba(30, 40, 55, .1), 0 8px 16px rgba(30, 40, 55, .06);--shadow-2xl: 0 40px 80px rgba(30, 40, 55, .14), 0 12px 24px rgba(30, 40, 55, .08);--shadow-glow-white: 0 0 20px 7px rgba(255, 255, 255, 1);--shadow-glow-teal: 0 0 24px 6px rgba(118, 221, 230, .45);--gradient-pink-peach: linear-gradient(135deg, #fddfe3 0%, #feecdb 100%);--gradient-blue-teal: linear-gradient(135deg, #e2f0fd 0%, #d6f5f8 100%);--gradient-mandala-fade: radial-gradient( circle at 50% 45%, rgba(247, 149, 162, .22) 0%, rgba(226, 240, 253, 0) 60% );--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--space-4xl: 96px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 15px;--radius-xl: 24px;--radius-full: 200px;--motion-fast: .15s;--motion-normal: .25s;--motion-slow: .4s;--ease-out: cubic-bezier(.22, .61, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--font-display: "Marmelad", "Open Sans", ui-rounded, system-ui, sans-serif;--type-display-lg-size: 32px;--type-display-lg-lh: 40px;--type-display-sm-size: 24px;--type-display-sm-lh: 32px;--type-h1-size: 20px;--type-h1-lh: 28px;--type-h2-size: 18px;--type-h2-lh: 24px;--type-h3-size: 16px;--type-h3-lh: 22px;--type-body-lg-size: 16px;--type-body-lg-lh: 24px;--type-body-size: 14px;--type-body-lh: 20px;--type-body-sm-size: 12px;--type-body-sm-lh: 18px;--type-label-size: 15px;--type-label-lh: 20px;--type-caption-size: 9px;--type-caption-lh: 14px;color-scheme:light;--size-success-icon: 80px;--size-practice-emoji: 56px;--size-option-btn-min: 90px;--space-1: 4px;--space-2: 8px;--space-3: 14px;--space-4: 16px;--space-5: 24px;--space-6: 24px;--space-8: 33px;--space-10: 48px;--text-xs: 14px;--text-sm: 15px;--text-base: 18px;--text-lg: 20px;--text-xl: 32px;--text-2xl: 50px;--text-3xl: 32px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--font-body: "Marmelad", "Noto Sans", sans-serif;--font-heading: "Marmelad", "Noto Sans", sans-serif;--z-background: -1;--z-content: 1;--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-popup: 400;--z-toast: 500;--velo-success-bg: rgba(118,221,230,.4);--velo-warning-bg: rgba(251,192,136,.4);--velo-warning-bg-hover: #FDE68A;--velo-warning-border: #fbc088;--velo-warning-text-light: #B45309;--velo-error-bg: rgba(253,226,226,.4);--velo-error-bg-subtle: #FFF5F5;--velo-error-border: #f795a2}[data-theme=dark]{--surface-default: #141c2a;--surface-subtle: #1e2837;--surface-muted: #364150;--surface-elevated: #1e2837;--surface-overlay: #4f5969;--surface-inverse: #ffffff;--text-primary: #ffffff;--text-secondary: #98a3b4;--text-muted: #7f8b9b;--text-accent: #76dde6;--text-success: #76dde6;--text-warning: #fbc088;--text-error: #f795a2;--text-on-accent: #141c2a;--text-on-inverse: #1e2837;--border-default: #364150;--border-subtle: #364150;--border-strong: #4f5969;--border-accent: #76dde6;--icon-default: #ffffff;--icon-muted: #98a3b4;--icon-accent: #76dde6;--icon-inverse: #141c2a;--accent-teal: #76dde6;--accent-pink: #f795a2;--accent-warm: #fbc088;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .25);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 28px rgba(0, 0, 0, .4);--shadow-xl: 0 24px 48px rgba(0, 0, 0, .45);--shadow-2xl: 0 40px 80px rgba(0, 0, 0, .55);--shadow-glow-white: 0 0 24px 6px rgba(118, 221, 230, .3);color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--text-base);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;color:var(--text-primary);background:var(--surface-default);overscroll-behavior:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-body);font-weight:400;line-height:1.3;color:var(--text-primary)}a{color:var(--steel-button);text-decoration:none}a:hover{text-decoration:underline}img,svg{display:block;max-width:100%}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;padding:0;color:inherit}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}ul,ol{list-style:none}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}#app{position:relative;z-index:0}#app:before{content:"";position:fixed;inset:0;z-index:-1;background:url(/bg/background.png) center / cover no-repeat;pointer-events:none}
