*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5}body{margin:0;min-height:100vh;min-height:100dvh;font-family:var(--font-body);font-size:var(--font-size-md);line-height:1.6;color:var(--color-ink);background:var(--color-canvas);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","cv01"}img,picture,video,canvas,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}a{color:inherit;text-decoration:inherit}@media (hover: hover) and (pointer: fine){*{scrollbar-width:thin;scrollbar-color:var(--color-whisper) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--color-whisper);border-radius:999px;border:2px solid var(--color-canvas)}*::-webkit-scrollbar-thumb:hover{background:var(--color-muted)}}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-xs)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root,[data-theme=light]{--color-canvas: #fafaf9;--color-surface: #ffffff;--color-surface-hover: #f5f5f4;--color-surface-sunken: #f5f5f4;--color-surface-overlay: rgba(250, 250, 249, .92);--color-ink: #0c0a09;--color-ink-2: #292524;--color-muted: #57534e;--color-whisper: #a8a29e;--color-hairline: #e7e5e4;--color-border: #d6d3d1;--color-border-strong: #a8a29e;--color-primary: #64748b;--color-primary-hover: #475569;--color-primary-active: #334155;--color-primary-soft: #f1f5f9;--color-primary-tint: #f8fafc;--color-on-primary: #ffffff;--color-success: #16a34a;--color-success-soft: #dcfce7;--color-success-tint: #f0fdf4;--color-on-success: #ffffff;--color-warning: #f59e0b;--color-warning-soft: #fef3c7;--color-warning-tint: #fffbeb;--color-on-warning: #0c0a09;--color-danger: #dc2626;--color-danger-soft: #fee2e2;--color-danger-tint: #fef2f2;--color-on-danger: #ffffff;--color-info: #0891b2;--color-info-soft: #cffafe;--color-info-tint: #ecfeff;--color-on-info: #ffffff;--color-accent: #78716c;--color-accent-soft: #f5f5f4;--color-lang-ja: #be123c;--color-lang-en: #1d4ed8;--color-lang-de: #854d0e;--color-lang-es: #b45309;--color-lang-fr: #6d28d9;--color-lang-ru: #065f46;--color-lang-zh: #9a3412;--color-backdrop: rgba(12, 10, 9, .48);--color-skeleton: linear-gradient( 90deg, var(--color-surface-sunken) 0%, var(--color-hairline) 50%, var(--color-surface-sunken) 100% );color-scheme:light}[data-theme=dark]{--color-canvas: #0c0a09;--color-surface: #1c1917;--color-surface-hover: #292524;--color-surface-sunken: #0c0a09;--color-surface-overlay: rgba(12, 10, 9, .92);--color-ink: #fafaf9;--color-ink-2: #e7e5e4;--color-muted: #a8a29e;--color-whisper: #57534e;--color-hairline: #292524;--color-border: #44403c;--color-border-strong: #78716c;--color-primary: #94a3b8;--color-primary-hover: #cbd5e1;--color-primary-active: #64748b;--color-primary-soft: rgba(148, 163, 184, .15);--color-primary-tint: rgba(148, 163, 184, .08);--color-on-primary: #0c0a09;--color-success: #4ade80;--color-success-soft: rgba(74, 222, 128, .15);--color-success-tint: rgba(74, 222, 128, .08);--color-on-success: #0c0a09;--color-warning: #fbbf24;--color-warning-soft: rgba(251, 191, 36, .15);--color-warning-tint: rgba(251, 191, 36, .08);--color-on-warning: #0c0a09;--color-danger: #f87171;--color-danger-soft: rgba(248, 113, 113, .15);--color-danger-tint: rgba(248, 113, 113, .08);--color-on-danger: #0c0a09;--color-info: #22d3ee;--color-info-soft: rgba(34, 211, 238, .15);--color-info-tint: rgba(34, 211, 238, .08);--color-on-info: #0c0a09;--color-accent: #a8a29e;--color-accent-soft: rgba(168, 162, 158, .15);--color-lang-ja: #fb7185;--color-lang-en: #60a5fa;--color-lang-de: #fbbf24;--color-lang-es: #fb923c;--color-lang-fr: #c4b5fd;--color-lang-ru: #34d399;--color-lang-zh: #f87171;--color-backdrop: rgba(0, 0, 0, .72);color-scheme:dark}[data-theme=eye-care]{--color-canvas: #fef9e7;--color-surface: #fffbeb;--color-surface-hover: #fef3c7;--color-surface-sunken: #fef3c7;--color-surface-overlay: rgba(254, 249, 231, .92);--color-ink: #451a03;--color-ink-2: #78350f;--color-muted: #92400e;--color-whisper: #b45309;--color-hairline: #fde68a;--color-border: #fcd34d;--color-border-strong: #b45309;--color-primary: #b45309;--color-primary-hover: #92400e;--color-primary-active: #78350f;--color-primary-soft: #fef3c7;--color-primary-tint: #fffbeb;--color-on-primary: #fffbeb;--color-success: #65a30d;--color-success-soft: #ecfccb;--color-success-tint: #f7fee7;--color-on-success: #fffbeb;--color-warning: #d97706;--color-warning-soft: #fef3c7;--color-warning-tint: #fffbeb;--color-on-warning: #fffbeb;--color-danger: #b91c1c;--color-danger-soft: #fef2f2;--color-danger-tint: #fef2f2;--color-on-danger: #fffbeb;--color-info: #0e7490;--color-info-soft: #cffafe;--color-info-tint: #ecfeff;--color-on-info: #fffbeb;--color-accent: #0e7490;--color-accent-soft: #cffafe;--color-lang-ja: #9f1239;--color-lang-en: #1e3a8a;--color-lang-de: #713f12;--color-lang-es: #9a3412;--color-lang-fr: #5b21b6;--color-lang-ru: #14532d;--color-lang-zh: #7c2d12;--color-backdrop: rgba(69, 26, 3, .48);color-scheme:light}:root{--font-display: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-body: var(--font-display);--font-mono: "SF Mono", Menlo, Consolas, "Sarasa Mono SC", "JetBrains Mono", monospace;--font-size-micro: .6875rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 3rem;--font-size-4xl: 4rem;--line-tight: 1.1;--line-snug: 1.3;--line-normal: 1.5;--line-relaxed: 1.6;--line-loose: 1.8;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .02em;--tracking-wider: .08em;--tracking-widest: .12em;--weight-light: 300;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800}.text-display{font-family:var(--font-display);font-size:var(--font-size-3xl);line-height:var(--line-tight);letter-spacing:var(--tracking-tight);font-weight:var(--weight-semibold)}.text-editorial{font-family:var(--font-display);font-style:italic;letter-spacing:var(--tracking-tight)}.text-title{font-family:var(--font-body);font-size:var(--font-size-2xl);line-height:var(--line-snug);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight)}.text-subtitle{font-family:var(--font-body);font-size:var(--font-size-xl);line-height:var(--line-snug);font-weight:var(--weight-semibold)}.text-body{font-family:var(--font-body);font-size:var(--font-size-md);line-height:var(--line-relaxed);font-weight:var(--weight-normal)}.text-meta{font-family:var(--font-body);font-size:var(--font-size-sm);line-height:var(--line-normal);color:var(--color-muted)}.text-caption{font-family:var(--font-body);font-size:var(--font-size-xs);line-height:var(--line-normal);color:var(--color-muted);letter-spacing:var(--tracking-wide)}.text-label{font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-muted)}.text-mono{font-family:var(--font-mono);font-size:.9em;font-variant-ligatures:common-ligatures}.text-tabular{font-variant-numeric:tabular-nums}:root{--space-0: 0;--space-px: 1px;--space-s1: 4px;--space-s2: 8px;--space-s3: 12px;--space-s4: 16px;--space-s5: 24px;--space-s6: 32px;--space-s7: 48px;--space-s8: 64px;--container-mobile: 375px;--container-tablet: 768px;--container-desktop: 1280px;--container-desktop-wide: 1440px;--container-max: 1920px;--prose-narrow: 42ch;--prose-normal: 65ch;--prose-wide: 80ch}.stack>*+*{margin-block-start:var(--stack-gap, var(--space-s4))}.stack-tight>*+*{margin-block-start:var(--space-s2)}.stack-loose>*+*{margin-block-start:var(--space-s6)}.cluster{display:flex;flex-wrap:wrap;gap:var(--cluster-gap, var(--space-s2));align-items:center}.center{margin-inline:auto;max-width:var(--container-desktop);padding-inline:var(--space-s4)}:root{--radius-none: 0;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px}:root{--shadow-xs: 0 1px 1px 0 rgba(15, 23, 42, .04);--shadow-sm: 0 1px 2px 0 rgba(15, 23, 42, .05), 0 1px 1px 0 rgba(15, 23, 42, .03);--shadow-md: 0 4px 12px -2px rgba(15, 23, 42, .08), 0 2px 4px -1px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 32px -8px rgba(15, 23, 42, .12), 0 4px 12px -2px rgba(15, 23, 42, .06);--shadow-xl: 0 24px 48px -12px rgba(15, 23, 42, .18), 0 8px 16px -4px rgba(15, 23, 42, .08);--shadow-inset-sm: inset 0 1px 2px 0 rgba(15, 23, 42, .06);--ring-primary: 0 0 0 3px var(--color-primary-soft);--ring-danger: 0 0 0 3px var(--color-danger-soft);--ring-success: 0 0 0 3px var(--color-success-soft)}[data-theme=dark]{--shadow-xs: 0 1px 1px 0 rgba(0, 0, 0, .24);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .32), 0 1px 1px 0 rgba(0, 0, 0, .24);--shadow-md: 0 4px 12px -2px rgba(0, 0, 0, .48), 0 2px 4px -1px rgba(0, 0, 0, .24);--shadow-lg: 0 12px 32px -8px rgba(0, 0, 0, .6), 0 4px 12px -2px rgba(0, 0, 0, .32);--shadow-xl: 0 24px 48px -12px rgba(0, 0, 0, .72), 0 8px 16px -4px rgba(0, 0, 0, .48)}:root{--duration-instant: .1s;--duration-fast: .16s;--duration-normal: .22s;--duration-moderate: .28s;--duration-slow: .4s;--duration-slower: .6s;--ease-linear: linear;--ease-in: cubic-bezier(.55, 0, 1, .45);--ease-out: cubic-bezier(0, .55, .45, 1);--ease-in-out: cubic-bezier(.42, 0, .58, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-emphasis: cubic-bezier(.2, 0, 0, 1);--transition-colors: color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);--transition-transform: transform var(--duration-normal) var(--ease-spring);--transition-shadow: box-shadow var(--duration-normal) var(--ease-out);--transition-opacity: opacity var(--duration-normal) var(--ease-out);--transition-all: all var(--duration-normal) var(--ease-out)}@keyframes didan-fade-in{0%{opacity:0}to{opacity:1}}@keyframes didan-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes didan-scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes didan-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes didan-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes didan-spin{to{transform:rotate(360deg)}}:root{--z-base: 0;--z-raised: 1;--z-sticky: 10;--z-fixed: 20;--z-dropdown: 30;--z-overlay: 40;--z-drawer: 50;--z-modal: 60;--z-popover: 70;--z-toast: 80;--z-tooltip: 90;--z-max: 9999}[data-app=student-k12]{--color-primary: #e8453c;--color-primary-light: #ff6b6b;--color-primary-dark: #c62828;--color-primary-tint: rgba(232, 69, 60, .08);--color-primary-soft: rgba(232, 69, 60, .16);--color-secondary: #ffb84d;--color-secondary-light: #ffd180;--color-secondary-dark: #e8a03d;--color-ember: #f57f17;--color-accent: #4a90d9;--color-canvas: #fff8f0;--color-bg-secondary: #fff0e0;--color-surface: #ffffff;--color-surface-hover: #fff5eb;--color-surface-sunken: #fdf4ea;--color-ink: #2c1810;--color-ink-2: #5a4a40;--color-muted: #888888;--color-whisper: #bbbbbb;--color-hairline: #f0e6d8;--color-border: #f0e6d8;--color-border-light: #f8f0e8;--color-success: #4caf50;--color-warning: #ff9800;--color-danger: #f44336;--color-info: #2196f3;--color-danger-soft: rgba(244, 67, 54, .08);--font-display: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", -apple-system, sans-serif;--font-body: var(--font-display);--font-serif: Georgia, "Noto Serif CJK SC", "Times New Roman", serif;--shadow-card: 0 2px 12px rgba(232, 69, 60, .08);--shadow-card-hover: 0 4px 20px rgba(232, 69, 60, .12)}[data-app=student-k12] body{background:radial-gradient(ellipse 520px 260px at 18% -4%,rgba(255,184,77,.18) 0%,transparent 55%),radial-gradient(ellipse 420px 280px at 96% 16%,rgba(232,69,60,.08) 0%,transparent 55%),radial-gradient(ellipse 500px 360px at 50% 105%,rgba(255,184,77,.14) 0%,transparent 60%),var(--color-canvas);position:relative}[data-app=student-k12] body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/></svg>")}[data-app=teacher]{--color-primary: #2e7d5b;--color-primary-light: #4caf80;--color-primary-dark: #1b5e3b;--color-primary-tint: rgba(46, 125, 91, .08);--color-primary-soft: rgba(46, 125, 91, .16);--color-secondary: #26a69a;--color-secondary-light: #4db6ac;--color-secondary-dark: #00796b;--color-accent: #ff8a65;--color-canvas: #f5faf7;--color-bg-secondary: #e8f5e9;--color-surface: #ffffff;--color-surface-hover: #f0f9f4;--color-surface-sunken: #edf5f0;--color-ink: #2c3e2f;--color-ink-2: #4f6756;--color-muted: #5d7464;--color-whisper: #c0c8c2;--color-hairline: #c8e6c9;--color-border: #c8e6c9;--color-border-light: #dcedc8;--color-success: #43a047;--color-warning: #fb8c00;--color-danger: #e53935;--color-info: #29b6f6;--color-danger-soft: rgba(229, 57, 53, .08);--font-display: "PingFang SC", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-body: var(--font-display);--shadow-card: 0 2px 8px rgba(46, 125, 91, .08);--shadow-card-hover: 0 4px 12px rgba(46, 125, 91, .12)}[data-app=admin]{--color-primary: #1976d2;--color-primary-light: #42a5f5;--color-primary-dark: #0d47a1;--color-primary-tint: rgba(25, 118, 210, .08);--color-primary-soft: rgba(25, 118, 210, .16);--color-secondary: #26a69a;--color-secondary-light: #4db6ac;--color-accent: #ff7043;--color-canvas: #f5f7fa;--color-bg-secondary: #eff2f7;--color-surface: #ffffff;--color-surface-hover: #f0f4ff;--color-surface-sunken: #ebeef5;--color-ink: #303133;--color-ink-2: #4b5563;--color-muted: #5f6673;--color-whisper: #c0c4cc;--color-hairline: #dcdfe6;--color-border: #dcdfe6;--color-border-light: #e4e7ed;--color-sidebar-bg: #304156;--color-sidebar-text: #bfcbd9;--color-sidebar-active-bg: #263445;--color-sidebar-active-text: #ffffff;--color-success: #43a047;--color-warning: #fb8c00;--color-danger: #e53935;--color-info: #1e88e5;--color-danger-soft: rgba(229, 57, 53, .08);--font-display: "PingFang SC", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-body: var(--font-display);--shadow-card: 0 2px 8px rgba(25, 118, 210, .06);--shadow-card-hover: 0 4px 12px rgba(25, 118, 210, .1);--el-color-primary: var(--color-primary);--el-color-primary-light-3: var(--color-primary-light);--el-color-primary-light-5: var(--color-primary-light);--el-color-primary-light-7: var(--color-primary-tint);--el-color-primary-light-9: var(--color-surface-hover);--el-color-primary-dark-2: var(--color-primary-dark);--el-color-success: var(--color-success);--el-color-warning: var(--color-warning);--el-color-danger: var(--color-danger);--el-color-info: var(--color-info);--el-bg-color: var(--color-surface);--el-bg-color-page: var(--color-canvas);--el-text-color-primary: var(--color-ink);--el-text-color-regular: var(--color-ink-2);--el-text-color-secondary: var(--color-muted);--el-border-color: var(--color-border);--el-border-color-light: var(--color-border-light);--el-font-family: var(--font-body)}[data-app=admin][data-role=sales]{--color-accent: #ff7043;--color-accent-soft: rgba(255, 112, 67, .12)}[data-app=admin][data-role=ta]{--color-accent: #26a69a;--color-accent-soft: rgba(38, 166, 154, .12)}[data-app=admin][data-role=academic]{--color-accent: #7c4dff;--color-accent-soft: rgba(124, 77, 255, .12)}[data-app=admin][data-role=finance]{--color-accent: #8d6e63;--color-accent-soft: rgba(141, 110, 99, .12)}[data-app=admin][data-role=researcher]{--color-accent: #f9a825;--color-accent-soft: rgba(249, 168, 37, .12)}[data-app=admin][data-role=hr]{--color-accent: #ec407a;--color-accent-soft: rgba(236, 64, 122, .12)}[data-app=admin][data-role=operator]{--color-accent: #455a64;--color-accent-soft: rgba(69, 90, 100, .12)}[data-app=admin][data-role=super_admin]{--color-accent: #1976d2;--color-accent-soft: rgba(25, 118, 210, .12)}[data-app=admin][data-role=teacher_foreign],[data-app=admin][data-role=teacher_chinese]{--color-accent: #2e7d5b;--color-accent-soft: rgba(46, 125, 91, .12)}[data-app=admin][data-role=student]{--color-accent: #1976d2;--color-accent-soft: rgba(25, 118, 210, .12)}[data-app=student-ribencun],[data-theme=vibrant-soul]{--va-primary: #58cc02;--va-secondary: #00d964;--va-brand-blue: #10a9d2;--va-hero-start: #ff7900;--va-hero-end: #ffb800;--va-streak-start: #8b5cf6;--va-streak-end: #ff3d8c;--va-canvas: #fff8f1;--va-surface: #ffffff;--va-ink: #2d1b0e;--va-ink-muted: #7a6555;--va-border-cream: #ffe8d6;--va-gradient-hero: linear-gradient(135deg, #ff7900 0%, #ffb800 100%);--va-gradient-success: linear-gradient(135deg, #58cc02 0%, #00d964 100%);--va-gradient-streak: linear-gradient(135deg, #8b5cf6 0%, #ff3d8c 100%);--va-gradient-cta: linear-gradient(135deg, #16a34a 0%, #58cc02 50%, #00d964 100%);--va-font-display: "Comfortaa", "Nunito", "PingFang SC", sans-serif;--va-font-body: "Nunito", "PingFang SC", system-ui, sans-serif;--va-font-jp: "Nunito", "M PLUS Rounded 1c", "Hiragino Sans", sans-serif;--va-font-num: "Nunito", "SF Pro Display", monospace;--va-radius-card: 24px;--va-radius-pill: 999px;--va-radius-button: 20px;--va-radius-icon: 16px;--va-space-xs: 4px;--va-space-sm: 8px;--va-space-md: 16px;--va-space-lg: 24px;--va-space-xl: 32px;--va-shadow-card: 0 4px 12px rgba(255, 121, 0, .1), 0 2px 4px rgba(45, 27, 14, .06);--va-shadow-cta: 0 6px 20px rgba(255, 121, 0, .3);--va-shadow-elevated: 0 8px 24px rgba(45, 27, 14, .08);--va-shadow-success: 0 4px 12px rgba(88, 204, 2, .3);--va-ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--va-ease-smooth: cubic-bezier(.4, 0, .2, 1);--va-status-success: #4a7a04;--va-status-warning: #a16207;--va-status-danger: #b91c1c;--va-status-muted: #4b5563;--va-status-accent: #c2410c;--va-status-star: #fbbf24}:root{--k12-cream: #fff8f0;--k12-red: #e8453c;--k12-red-ink: #b83c35;--k12-yellow: #ffb84d;--k12-yellow-ink: #9a5a00;--k12-amber: #f57f17;--k12-ink: #2c1810;--k12-ink-50: rgba(44, 24, 16, .68);--k12-ink-30: rgba(44, 24, 16, .55);--k12-ink-soft: rgba(44, 24, 16, .72);--k12-paper-edge: rgba(244, 212, 160, .5);--k12-halo-yellow: rgba(255, 184, 77, .18);--k12-halo-red: rgba(232, 69, 60, .08);--k12-halo-bottom: rgba(255, 184, 77, .14);--k12-font-zh: "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;--k12-font-serif: Georgia, "Times New Roman", "Noto Serif CJK SC", serif;--k12-font-display: var(--k12-font-zh);--k12-space-section: 24px;--k12-space-card: 16px;--k12-space-inline: 11px;--k12-space-stage-top: 56px;--k12-space-stage-bottom: 32px;--k12-stagger-page-fade: 0s;--k12-stagger-mascot-land: .15s;--k12-stagger-hero-title: .5s;--k12-stagger-hero-cap: .75s;--k12-stagger-card-base: .95s;--k12-stagger-ring: 1.4s;--k12-stagger-cta-main: 2s;--k12-stagger-cta-sub: 2.3s;--k12-stagger-signoff: 2.5s;--k12-ease-standard: cubic-bezier(.22, 1, .36, 1);--k12-ease-bouncy: cubic-bezier(.22, 1.2, .36, 1)}.k12-num{font-variant-numeric:tabular-nums}.k12-paper-shell{background:radial-gradient(ellipse 520px 260px at 18% -4%,var(--k12-halo-yellow) 0%,transparent 55%),radial-gradient(ellipse 420px 280px at 96% 16%,var(--k12-halo-red) 0%,transparent 55%),radial-gradient(ellipse 500px 360px at 50% 105%,var(--k12-halo-bottom) 0%,transparent 60%),var(--k12-cream)}.k12-paper-shell:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;max-width:375px;margin:0 auto;pointer-events:none;z-index:1;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.92' numOctaves='2' seed='7'/><feColorMatrix values='0 0 0 0 0.3  0 0 0 0 0.15  0 0 0 0 0.08  0 0 0 0.07 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");background-size:160px 160px}@keyframes mascot-land{0%{transform:scale(.72) translateY(-12px) rotate(-4deg);opacity:0}62%{transform:scale(1) translateY(2px) rotate(2deg);opacity:1}82%{transform:scale(.98) translateY(-1px) rotate(-1deg)}to{transform:scale(1) translateY(0) rotate(0);opacity:1}}@keyframes mascot-wave{0%,to{transform:rotate(0)}20%{transform:rotate(-6deg)}40%{transform:rotate(6deg)}60%{transform:rotate(-4deg)}80%{transform:rotate(4deg)}}@keyframes halo-pulse{0%,to{transform:scale(.92);opacity:.85}50%{transform:scale(1.08);opacity:1}}@keyframes ring-rotate{to{transform:rotate(360deg)}}@keyframes sparkle-twinkle-1{0%,to{transform:scale(.6) rotate(0);opacity:.4}50%{transform:scale(1.1) rotate(180deg);opacity:1}}@keyframes sparkle-twinkle-2{0%,to{transform:scale(1.1) rotate(180deg);opacity:1}50%{transform:scale(.6) rotate(0);opacity:.4}}@keyframes mascot-mini-float{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.k12-confetti{position:relative;pointer-events:none}.k12-confetti-flake{position:absolute;top:-20px;opacity:0;animation:flake-fall linear forwards}.k12-confetti-flake:nth-child(1){left:8%;background:#e8453c;width:6px;height:10px;animation-duration:4.2s;animation-delay:.1s;transform:rotate(18deg)}.k12-confetti-flake:nth-child(2){left:14%;background:#ffb84d;width:10px;height:4px;animation-duration:5.1s;animation-delay:.6s;border-radius:999px}.k12-confetti-flake:nth-child(3){left:22%;background:#ffd7b8;width:8px;height:8px;animation-duration:4.8s;animation-delay:.3s;border-radius:50%}.k12-confetti-flake:nth-child(4){left:28%;background:#e8453c;width:7px;height:14px;animation-duration:5.4s;animation-delay:1s}.k12-confetti-flake:nth-child(5){left:36%;background:#ffb84d;width:5px;height:9px;animation-duration:4s;animation-delay:.4s}.k12-confetti-flake:nth-child(6){left:44%;background:#f4d4a0;width:12px;height:3px;animation-duration:5.6s;animation-delay:.8s;border-radius:999px}.k12-confetti-flake:nth-child(7){left:52%;background:#e8453c;width:8px;height:8px;animation-duration:4.4s;animation-delay:.2s;border-radius:50%}.k12-confetti-flake:nth-child(8){left:58%;background:#ffb84d;width:6px;height:12px;animation-duration:5.2s;animation-delay:.9s}.k12-confetti-flake:nth-child(9){left:64%;background:#ff9b6a;width:9px;height:4px;animation-duration:4.6s;animation-delay:.5s;border-radius:999px}.k12-confetti-flake:nth-child(10){left:70%;background:#ffe0b8;width:7px;height:11px;animation-duration:5s;animation-delay:1.2s}.k12-confetti-flake:nth-child(11){left:76%;background:#e8453c;width:10px;height:4px;animation-duration:4.3s;animation-delay:.7s;border-radius:999px}.k12-confetti-flake:nth-child(12){left:82%;background:#ffb84d;width:8px;height:8px;animation-duration:5.3s;animation-delay:.1s;border-radius:50%}.k12-confetti-flake:nth-child(13){left:88%;background:#f4d4a0;width:6px;height:10px;animation-duration:4.7s;animation-delay:1.4s}.k12-confetti-flake:nth-child(14){left:12%;background:#ffd7b8;width:5px;height:5px;animation-duration:5.8s;animation-delay:1.7s;border-radius:50%}.k12-confetti-flake:nth-child(15){left:48%;background:#e8453c;width:8px;height:3px;animation-duration:4.9s;animation-delay:1.6s;border-radius:999px}.k12-confetti-flake:nth-child(16){left:68%;background:#ffb84d;width:11px;height:6px;animation-duration:5.5s;animation-delay:2s;border-radius:2px}.k12-confetti-flake:nth-child(17){left:30%;background:#ffe0b8;width:9px;height:9px;animation-duration:4.5s;animation-delay:1.9s;border-radius:50%}.k12-confetti-flake:nth-child(18){left:92%;background:#ff9b6a;width:6px;height:12px;animation-duration:5.7s;animation-delay:1.3s}@keyframes flake-fall{0%{transform:translateY(-20px) rotate(0);opacity:0}10%{opacity:1}to{transform:translateY(120vh) rotate(720deg);opacity:0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.didan-btn[data-v-aa77a3ca]{--_btn-padding-x: var(--space-s4);--_btn-padding-y: var(--space-s3);--_btn-font-size: var(--font-size-md);--_btn-bg: transparent;--_btn-color: var(--color-ink);--_btn-border: transparent;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-s2);padding:var(--_btn-padding-y) var(--_btn-padding-x);font-family:var(--font-body);font-size:var(--_btn-font-size);font-weight:var(--weight-semibold);line-height:1.2;letter-spacing:0;color:var(--_btn-color);background:var(--_btn-bg);border:1px solid var(--_btn-border);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--transition-all);will-change:transform}.didan-btn[data-v-aa77a3ca]:hover:not(.is-disabled){transform:translateY(-1px)}.didan-btn[data-v-aa77a3ca]:active:not(.is-disabled){transform:translateY(0)}.didan-btn[data-v-aa77a3ca]:focus-visible{box-shadow:var(--ring-primary);outline:none}.didan-btn.is-disabled[data-v-aa77a3ca]{cursor:not-allowed;opacity:.55}.didan-btn--block[data-v-aa77a3ca]{width:100%}.didan-btn--sm[data-v-aa77a3ca]{--_btn-padding-x: var(--space-s3);--_btn-padding-y: var(--space-s1);--_btn-font-size: var(--font-size-sm);border-radius:var(--radius-xs)}.didan-btn--lg[data-v-aa77a3ca]{--_btn-padding-x: var(--space-s5);--_btn-padding-y: var(--space-s4);--_btn-font-size: var(--font-size-lg);border-radius:var(--radius-md)}.didan-btn--primary[data-v-aa77a3ca]{--_btn-bg: var(--color-primary);--_btn-color: var(--color-on-primary);--_btn-border: var(--color-primary);box-shadow:var(--shadow-xs)}.didan-btn--primary[data-v-aa77a3ca]:hover:not(.is-disabled){--_btn-bg: var(--color-primary-hover);--_btn-border: var(--color-primary-hover);box-shadow:var(--shadow-sm)}.didan-btn--primary[data-v-aa77a3ca]:active:not(.is-disabled){--_btn-bg: var(--color-primary-active);--_btn-border: var(--color-primary-active)}.didan-btn--secondary[data-v-aa77a3ca]{--_btn-bg: var(--color-surface);--_btn-color: var(--color-ink);--_btn-border: var(--color-border)}.didan-btn--secondary[data-v-aa77a3ca]:hover:not(.is-disabled){--_btn-bg: var(--color-surface-hover);--_btn-border: var(--color-border-strong)}.didan-btn--ghost[data-v-aa77a3ca]{--_btn-bg: transparent;--_btn-color: var(--color-ink-2);--_btn-border: transparent}.didan-btn--ghost[data-v-aa77a3ca]:hover:not(.is-disabled){--_btn-bg: var(--color-surface-hover);--_btn-color: var(--color-ink)}.didan-btn--danger[data-v-aa77a3ca]{--_btn-bg: var(--color-danger);--_btn-color: var(--color-on-danger);--_btn-border: var(--color-danger)}.didan-btn--danger[data-v-aa77a3ca]:focus-visible{box-shadow:var(--ring-danger)}.didan-btn--success[data-v-aa77a3ca]{--_btn-bg: var(--color-success);--_btn-color: var(--color-on-success);--_btn-border: var(--color-success)}.didan-btn--success[data-v-aa77a3ca]:focus-visible{box-shadow:var(--ring-success)}.didan-btn__spinner[data-v-aa77a3ca]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.didan-btn__spinner[data-v-aa77a3ca]:after{content:"";width:1em;height:1em;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:didan-spin .7s linear infinite}.didan-btn__text.is-hidden[data-v-aa77a3ca]{opacity:0}.didan-field[data-v-9a2a1d44]{display:flex;flex-direction:column;gap:var(--space-s1);font-family:var(--font-body)}.didan-field__label[data-v-9a2a1d44]{font-size:var(--font-size-sm);font-weight:var(--weight-medium);color:var(--color-ink-2)}.didan-field__label--sr-only[data-v-9a2a1d44]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.didan-field__control[data-v-9a2a1d44]{display:flex;align-items:center;gap:var(--space-s2);padding:0 var(--space-s3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:var(--transition-all)}.didan-field__control[data-v-9a2a1d44]:focus-within{border-color:var(--color-primary);box-shadow:var(--ring-primary)}.didan-field__input[data-v-9a2a1d44]{flex:1;padding:var(--space-s3) 0;font-size:var(--font-size-md);background:transparent;border:0;outline:0;color:var(--color-ink);font-feature-settings:"tnum" on}.didan-field__input[data-v-9a2a1d44]::placeholder{color:var(--color-whisper)}.didan-field__textarea[data-v-9a2a1d44]{min-height:96px;line-height:1.5;resize:vertical}.didan-field--sm .didan-field__input[data-v-9a2a1d44]{padding:var(--space-s2) 0;font-size:var(--font-size-sm)}.didan-field--lg .didan-field__input[data-v-9a2a1d44]{padding:var(--space-s4) 0;font-size:var(--font-size-lg)}.didan-field__prefix[data-v-9a2a1d44],.didan-field__suffix[data-v-9a2a1d44]{color:var(--color-muted);font-size:var(--font-size-sm)}.didan-field__clear[data-v-9a2a1d44]{width:1.5em;height:1.5em;border-radius:var(--radius-full);background:var(--color-surface-hover);color:var(--color-muted);font-size:1em;line-height:1;cursor:pointer;transition:var(--transition-colors)}.didan-field__clear[data-v-9a2a1d44]:hover{color:var(--color-ink);background:var(--color-hairline)}.didan-field__hint[data-v-9a2a1d44]{font-size:var(--font-size-xs);color:var(--color-muted)}.didan-field__error[data-v-9a2a1d44]{font-size:var(--font-size-xs);color:var(--color-danger)}.didan-field.is-error .didan-field__control[data-v-9a2a1d44]{border-color:var(--color-danger)}.didan-field.is-error .didan-field__control[data-v-9a2a1d44]:focus-within{box-shadow:var(--ring-danger)}.didan-field.is-disabled .didan-field__control[data-v-9a2a1d44]{opacity:.55;pointer-events:none}.didan-select[data-v-65be3be0]{display:flex;flex-direction:column;gap:var(--space-s1);font-family:var(--font-body)}.didan-select__label[data-v-65be3be0]{font-size:var(--font-size-sm);font-weight:var(--weight-medium);color:var(--color-ink-2)}.didan-select__label--sr-only[data-v-65be3be0]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.didan-select__control[data-v-65be3be0]{position:relative;display:flex;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:var(--transition-all)}.didan-select__control[data-v-65be3be0]:focus-within{border-color:var(--color-primary);box-shadow:var(--ring-primary)}.didan-select__native[data-v-65be3be0]{flex:1;padding:var(--space-s3) var(--space-s6) var(--space-s3) var(--space-s3);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;outline:0;font-family:var(--font-body);font-size:var(--font-size-md);color:var(--color-ink)}.didan-select--sm .didan-select__native[data-v-65be3be0]{padding:var(--space-s2) var(--space-s6) var(--space-s2) var(--space-s2);font-size:var(--font-size-sm)}.didan-select--lg .didan-select__native[data-v-65be3be0]{padding:var(--space-s4) var(--space-s7) var(--space-s4) var(--space-s4);font-size:var(--font-size-lg)}.didan-select__caret[data-v-65be3be0]{position:absolute;right:var(--space-s3);pointer-events:none;color:var(--color-muted)}.didan-select.is-disabled[data-v-65be3be0]{opacity:.55;pointer-events:none}.didan-check[data-v-add7b48e]{display:inline-flex;align-items:center;gap:var(--space-s2);font-family:var(--font-body);font-size:var(--font-size-sm);cursor:pointer}.didan-check__box[data-v-add7b48e]{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-xs);color:transparent;transition:var(--transition-all)}.didan-check__native[data-v-add7b48e]{position:absolute;opacity:0;pointer-events:none}.didan-check__box[data-v-add7b48e]:has(.didan-check__native:focus-visible){box-shadow:var(--ring-primary)}.didan-check__box.is-checked[data-v-add7b48e],.didan-check__box.is-indeterminate[data-v-add7b48e]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.didan-check.is-disabled[data-v-add7b48e]{opacity:.55;pointer-events:none}.didan-check__label[data-v-add7b48e]{color:var(--color-ink)}.didan-radio[data-v-e358b905]{display:inline-flex;align-items:center;gap:var(--space-s2);font-family:var(--font-body);font-size:var(--font-size-sm);cursor:pointer}.didan-radio__circle[data-v-e358b905]{width:18px;height:18px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-full);transition:var(--transition-all)}.didan-radio__native[data-v-e358b905]{position:absolute;opacity:0;pointer-events:none}.didan-radio__circle[data-v-e358b905]:has(.didan-radio__native:focus-visible){box-shadow:var(--ring-primary)}.didan-radio__dot[data-v-e358b905]{width:8px;height:8px;border-radius:var(--radius-full);background:transparent;transition:var(--transition-all)}.didan-radio.is-checked .didan-radio__circle[data-v-e358b905]{border-color:var(--color-primary)}.didan-radio.is-checked .didan-radio__dot[data-v-e358b905]{background:var(--color-primary)}.didan-radio.is-disabled[data-v-e358b905]{opacity:.55;pointer-events:none}.didan-switch[data-v-b8a7486c]{display:inline-flex;align-items:center;gap:var(--space-s2);padding:0;border:0;background:none;cursor:pointer;font-family:var(--font-body);font-size:var(--font-size-sm)}.didan-switch[data-v-b8a7486c]:before{content:"";width:36px;height:20px;background:var(--color-border);border-radius:var(--radius-full);transition:var(--transition-all);position:relative}.didan-switch--sm[data-v-b8a7486c]:before{width:28px;height:16px}.didan-switch__thumb[data-v-b8a7486c]{position:absolute;width:16px;height:16px;margin:2px;background:var(--color-surface);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);transition:transform var(--duration-normal) var(--ease-spring)}.didan-switch--sm .didan-switch__thumb[data-v-b8a7486c]{width:12px;height:12px}.didan-switch.is-on[data-v-b8a7486c]:before{background:var(--color-primary)}.didan-switch.is-on .didan-switch__thumb[data-v-b8a7486c]{transform:translate(16px)}.didan-switch--sm.is-on .didan-switch__thumb[data-v-b8a7486c]{transform:translate(12px)}.didan-switch[data-v-b8a7486c]:focus-visible{outline:none}.didan-switch[data-v-b8a7486c]:focus-visible:before{box-shadow:var(--ring-primary)}.didan-switch.is-disabled[data-v-b8a7486c]{opacity:.55;pointer-events:none}.didan-switch__label[data-v-b8a7486c]{color:var(--color-ink)}.didan-datepicker[data-v-cce9e74c]{display:flex;flex-direction:column;gap:var(--space-s1);font-family:var(--font-body)}.didan-datepicker__label[data-v-cce9e74c]{font-size:var(--font-size-sm);font-weight:var(--weight-medium);color:var(--color-ink-2)}.didan-datepicker__label--sr-only[data-v-cce9e74c]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.didan-datepicker__control[data-v-cce9e74c]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:var(--transition-all)}.didan-datepicker__control[data-v-cce9e74c]:focus-within{border-color:var(--color-primary);box-shadow:var(--ring-primary)}.didan-datepicker__input[data-v-cce9e74c]{width:100%;padding:var(--space-s3);background:transparent;border:0;outline:0;font-family:var(--font-body);font-size:var(--font-size-md);color:var(--color-ink);font-feature-settings:"tnum" on}.didan-datepicker--sm .didan-datepicker__input[data-v-cce9e74c]{padding:var(--space-s2);font-size:var(--font-size-sm)}.didan-datepicker--lg .didan-datepicker__input[data-v-cce9e74c]{padding:var(--space-s4);font-size:var(--font-size-lg)}.didan-datepicker.is-disabled[data-v-cce9e74c]{opacity:.55;pointer-events:none}.didan-form[data-v-b4c2f682]{display:flex;flex-direction:column;font-family:var(--font-body)}.didan-form--tight[data-v-b4c2f682]>*+*{margin-block-start:var(--space-s2)}.didan-form--normal[data-v-b4c2f682]>*+*{margin-block-start:var(--space-s4)}.didan-form--loose[data-v-b4c2f682]>*+*{margin-block-start:var(--space-s6)}.didan-card[data-v-c48b2924]{background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);font-family:var(--font-body);overflow:hidden;transition:var(--transition-shadow)}.didan-card.is-hover[data-v-c48b2924]:hover{box-shadow:var(--shadow-md);border-color:var(--color-border)}.didan-card__head[data-v-c48b2924]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-s4) var(--space-s5);border-block-end:1px solid var(--color-hairline)}.didan-card__title[data-v-c48b2924]{margin:0;font-size:var(--font-size-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);color:var(--color-ink)}.didan-card__body[data-v-c48b2924]{padding:0}.didan-card.is-padded .didan-card__body[data-v-c48b2924]{padding:var(--space-s5)}.didan-card__foot[data-v-c48b2924]{padding:var(--space-s4) var(--space-s5);border-block-start:1px solid var(--color-hairline);background:var(--color-surface-sunken)}.didan-modal-root[data-v-34a999ec]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-s4);font-family:var(--font-body)}.didan-modal-mask[data-v-34a999ec]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-backdrop)}.didan-modal-panel[data-v-34a999ec]{position:relative;max-width:100%;max-height:calc(100dvh - var(--space-s8));background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden}.didan-modal__head[data-v-34a999ec]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-s4) var(--space-s5);border-block-end:1px solid var(--color-hairline)}.didan-modal__title[data-v-34a999ec]{margin:0;font-size:var(--font-size-lg);font-weight:var(--weight-semibold);color:var(--color-ink)}.didan-modal__close[data-v-34a999ec]{width:32px;height:32px;border-radius:var(--radius-full);color:var(--color-muted);font-size:24px;line-height:1;transition:var(--transition-colors)}.didan-modal__close[data-v-34a999ec]:hover{background:var(--color-surface-hover);color:var(--color-ink)}.didan-modal__body[data-v-34a999ec]{padding:var(--space-s5);overflow-y:auto}.didan-modal__foot[data-v-34a999ec]{padding:var(--space-s4) var(--space-s5);display:flex;justify-content:flex-end;gap:var(--space-s2);border-block-start:1px solid var(--color-hairline)}.didan-modal-enter-active[data-v-34a999ec],.didan-modal-leave-active[data-v-34a999ec]{transition:opacity var(--duration-normal) var(--ease-out)}.didan-modal-enter-active .didan-modal-panel[data-v-34a999ec],.didan-modal-leave-active .didan-modal-panel[data-v-34a999ec]{transition:transform var(--duration-normal) var(--ease-spring)}.didan-modal-enter-from[data-v-34a999ec],.didan-modal-leave-to[data-v-34a999ec]{opacity:0}.didan-modal-enter-from .didan-modal-panel[data-v-34a999ec],.didan-modal-leave-to .didan-modal-panel[data-v-34a999ec]{transform:translateY(16px) scale(.98)}.didan-tabs[data-v-6e24d343]{font-family:var(--font-body)}.didan-tabs__nav[data-v-6e24d343]{position:relative;display:flex;gap:var(--space-s2)}.didan-tabs__tab[data-v-6e24d343]{padding:var(--space-s3) var(--space-s4);font-size:var(--font-size-sm);font-weight:var(--weight-medium);color:var(--color-muted);background:transparent;border:0;cursor:pointer;transition:var(--transition-colors)}.didan-tabs__tab[data-v-6e24d343]:hover:not(.is-disabled):not(.is-active){color:var(--color-ink-2)}.didan-tabs__tab.is-active[data-v-6e24d343]{color:var(--color-ink);font-weight:var(--weight-semibold)}.didan-tabs__tab.is-disabled[data-v-6e24d343]{opacity:.45;cursor:not-allowed}.didan-tabs--underline .didan-tabs__nav[data-v-6e24d343]{border-block-end:1px solid var(--color-hairline)}.didan-tabs--underline .didan-tabs__indicator[data-v-6e24d343]{position:absolute;bottom:-1px;height:2px;background:var(--color-primary);opacity:0;transition:transform var(--duration-normal) var(--ease-emphasis),width var(--duration-normal) var(--ease-emphasis),opacity var(--duration-fast) var(--ease-standard)}.didan-tabs--underline .didan-tabs__indicator.is-ready[data-v-6e24d343]{opacity:1}.didan-tabs--pill .didan-tabs__tab[data-v-6e24d343]{border-radius:var(--radius-full);background:var(--color-surface-hover)}.didan-tabs--pill .didan-tabs__tab.is-active[data-v-6e24d343]{background:var(--color-primary);color:var(--color-on-primary)}.didan-tabs--segmented .didan-tabs__nav[data-v-6e24d343]{padding:4px;background:var(--color-surface-sunken);border-radius:var(--radius-sm);gap:0}.didan-tabs--segmented .didan-tabs__tab[data-v-6e24d343]{border-radius:var(--radius-xs)}.didan-tabs--segmented .didan-tabs__tab.is-active[data-v-6e24d343]{background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-ink)}.didan-tabs__panel[data-v-6e24d343]{padding-block-start:var(--space-s4)}.didan-nav[data-v-e36598c8]{font-family:var(--font-body)}.didan-nav--horizontal[data-v-e36598c8]{display:flex;align-items:center;gap:var(--space-s3);padding:var(--space-s2) var(--space-s4);background:var(--color-surface);border-block-end:1px solid var(--color-hairline)}.didan-nav--horizontal .didan-nav__item[data-v-e36598c8]{display:inline-flex;align-items:center;gap:var(--space-s2);padding:var(--space-s2) var(--space-s3);font-size:var(--font-size-sm);color:var(--color-muted);border-radius:var(--radius-sm);transition:var(--transition-colors)}.didan-nav--horizontal .didan-nav__item.is-active[data-v-e36598c8]{color:var(--color-primary);background:var(--color-primary-tint);font-weight:var(--weight-semibold)}.didan-nav--horizontal .didan-nav__item[data-v-e36598c8]:hover:not(.is-active):not(.is-disabled){background:var(--color-surface-hover);color:var(--color-ink)}.didan-nav--bottom[data-v-e36598c8]{position:fixed;bottom:0;inset-inline:0;display:flex;justify-content:space-around;padding:var(--space-s2) var(--space-s3) calc(var(--space-s2) + env(safe-area-inset-bottom,0));background:var(--color-surface-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-block-start:1px solid var(--color-hairline);z-index:var(--z-fixed)}.didan-nav--bottom .didan-nav__item[data-v-e36598c8]{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-s1) var(--space-s2);font-size:var(--font-size-xs);color:var(--color-muted)}.didan-nav--bottom .didan-nav__item.is-active[data-v-e36598c8]{color:var(--color-primary)}.didan-nav--bottom .didan-nav__icon[data-v-e36598c8]{font-size:20px;line-height:1}.didan-nav--sidebar[data-v-e36598c8]{display:flex;flex-direction:column;gap:var(--space-s1);padding:var(--space-s3)}.didan-nav--sidebar .didan-nav__item[data-v-e36598c8]{display:inline-flex;align-items:center;gap:var(--space-s2);padding:var(--space-s2) var(--space-s3);border-radius:var(--radius-sm);color:var(--color-ink-2);text-align:left;transition:var(--transition-colors)}.didan-nav--sidebar .didan-nav__item.is-active[data-v-e36598c8]{background:var(--color-primary-tint);color:var(--color-primary);font-weight:var(--weight-semibold)}.didan-nav__badge[data-v-e36598c8]{margin-inline-start:auto;padding:2px 6px;font-size:var(--font-size-micro);font-weight:var(--weight-semibold);background:var(--color-danger);color:var(--color-on-danger);border-radius:var(--radius-full)}.didan-nav__item.is-disabled[data-v-e36598c8]{opacity:.45;pointer-events:none}.didan-list[data-v-4ac62a96]{list-style:none;padding:0;margin:0;font-family:var(--font-body)}.didan-list.is-bordered[data-v-4ac62a96]{background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-md);overflow:hidden}.didan-list.is-divided[data-v-4ac62a96]>:not(:last-child){border-block-end:1px solid var(--color-hairline)}.didan-list-item[data-v-08ccda73]{display:flex;align-items:center;gap:var(--space-s3);padding:var(--space-s3) var(--space-s4);font-family:var(--font-body);transition:var(--transition-colors)}.didan-list-item.is-clickable[data-v-08ccda73]{cursor:pointer}.didan-list-item.is-clickable[data-v-08ccda73]:hover{background:var(--color-surface-hover)}.didan-list-item__leading[data-v-08ccda73]{flex-shrink:0}.didan-list-item__body[data-v-08ccda73]{flex:1;min-width:0}.didan-list-item__title[data-v-08ccda73]{font-size:var(--font-size-md);color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.didan-list-item__meta[data-v-08ccda73]{font-size:var(--font-size-sm);color:var(--color-muted);margin-top:2px}.didan-list-item__trailing[data-v-08ccda73]{flex-shrink:0;color:var(--color-muted)}.didan-toast[data-v-3b8729fa]{display:inline-flex;align-items:center;gap:var(--space-s2);padding:var(--space-s3) var(--space-s4);background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-family:var(--font-body);font-size:var(--font-size-sm);animation:didan-slide-up var(--duration-normal) var(--ease-spring);min-width:240px;max-width:480px}.didan-toast__icon[data-v-3b8729fa]{width:20px;height:20px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-weight:var(--weight-bold);font-size:13px;background:var(--color-surface-hover)}.didan-toast__msg[data-v-3b8729fa]{flex:1}.didan-toast__close[data-v-3b8729fa]{width:20px;height:20px;border-radius:var(--radius-full);color:var(--color-muted);font-size:16px;line-height:1;transition:var(--transition-colors)}.didan-toast__close[data-v-3b8729fa]:hover{background:var(--color-surface-hover);color:var(--color-ink)}.didan-toast--success .didan-toast__icon[data-v-3b8729fa]{background:var(--color-success-soft);color:var(--color-success)}.didan-toast--warning .didan-toast__icon[data-v-3b8729fa]{background:var(--color-warning-soft);color:var(--color-warning)}.didan-toast--danger .didan-toast__icon[data-v-3b8729fa]{background:var(--color-danger-soft);color:var(--color-danger)}.didan-toast--info .didan-toast__icon[data-v-3b8729fa]{background:var(--color-info-soft);color:var(--color-info)}.didan-loading[data-v-203c718e]{display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-s2);font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--color-muted)}.didan-loading__spin[data-v-203c718e]{display:inline-block;border:2px solid var(--color-hairline);border-top-color:var(--color-primary);border-radius:50%;animation:didan-spin .7s linear infinite}.didan-loading.is-overlay[data-v-203c718e]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;background:var(--color-surface-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.didan-empty[data-v-f9cb88f4]{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-s8) var(--space-s4);font-family:var(--font-body);color:var(--color-muted)}.didan-empty__visual[data-v-f9cb88f4]{width:96px;height:96px;margin-block-end:var(--space-s4);display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface-sunken);border-radius:var(--radius-full)}.didan-empty__visual[data-has-illustration=true][data-v-f9cb88f4]{background:transparent;width:auto;height:auto}.didan-empty__illustration[data-v-f9cb88f4]{width:120px;height:120px;object-fit:contain}.didan-empty__icon[data-v-f9cb88f4]{font-family:var(--font-display);font-size:40px;color:var(--color-muted)}.didan-empty__title[data-v-f9cb88f4]{margin:0 0 var(--space-s1);font-size:var(--font-size-lg);font-weight:var(--weight-semibold);color:var(--color-ink)}.didan-empty__desc[data-v-f9cb88f4]{margin:0 0 var(--space-s4);font-size:var(--font-size-sm);color:var(--color-muted);max-width:var(--prose-narrow)}.didan-empty__actions[data-v-f9cb88f4]{display:flex;gap:var(--space-s2)}.didan-badge[data-v-1b8cb8e0]{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;min-width:18px;height:18px;font-family:var(--font-body);font-size:var(--font-size-micro);font-weight:var(--weight-semibold);line-height:1;letter-spacing:var(--tracking-wide);border-radius:var(--radius-full);font-variant-numeric:tabular-nums}.didan-badge.is-dot[data-v-1b8cb8e0]{width:8px;height:8px;min-width:8px;padding:0}.didan-badge--neutral[data-v-1b8cb8e0]{background:var(--color-surface-sunken);color:var(--color-muted)}.didan-badge--primary[data-v-1b8cb8e0]{background:var(--color-primary-soft);color:var(--color-primary-dark, var(--color-primary))}.didan-badge--success[data-v-1b8cb8e0]{background:var(--color-success-soft);color:var(--color-success)}.didan-badge--warning[data-v-1b8cb8e0]{background:var(--color-warning-soft);color:var(--color-warning)}.didan-badge--danger[data-v-1b8cb8e0]{background:var(--color-danger-soft);color:var(--color-danger)}.didan-badge--info[data-v-1b8cb8e0]{background:var(--color-info-soft);color:var(--color-info)}.didan-skeleton-wrap[data-v-0370ae2c]{display:flex;flex-direction:column;gap:var(--space-s2)}.didan-skeleton[data-v-0370ae2c]{display:block;background:var(--color-surface-sunken);background-image:linear-gradient(90deg,transparent 0%,var(--color-hairline) 50%,transparent 100%);background-size:200% 100%;animation:didan-shimmer 1.4s linear infinite}.didan-skeleton--text[data-v-0370ae2c]{height:1em;width:100%;border-radius:var(--radius-xs)}.didan-skeleton--circle[data-v-0370ae2c]{width:40px;height:40px;border-radius:var(--radius-full)}.didan-skeleton--rect[data-v-0370ae2c]{width:100%;height:120px;border-radius:var(--radius-sm)}.didan-avatar[data-v-8a3f9d16]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;font-family:var(--font-body);color:var(--color-ink);-webkit-user-select:none;user-select:none}.didan-avatar--circle[data-v-8a3f9d16]{border-radius:var(--radius-full)}.didan-avatar--square[data-v-8a3f9d16]{border-radius:var(--radius-sm)}.didan-avatar__img[data-v-8a3f9d16]{width:100%;height:100%;object-fit:cover}.didan-avatar__initials[data-v-8a3f9d16]{font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide)}.didan-pager[data-v-a8d7bac0]{display:inline-flex;align-items:center;gap:var(--space-s1);font-family:var(--font-body);font-feature-settings:"tnum" on}.didan-pager__btn[data-v-a8d7bac0]{min-width:32px;height:32px;padding:0 var(--space-s2);font-size:var(--font-size-sm);color:var(--color-ink-2);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-xs);cursor:pointer;transition:var(--transition-colors)}.didan-pager__btn[data-v-a8d7bac0]:hover:not(:disabled):not(.is-active){background:var(--color-surface-hover);border-color:var(--color-border)}.didan-pager__btn.is-active[data-v-a8d7bac0]{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.didan-pager__btn[data-v-a8d7bac0]:disabled{opacity:.45;cursor:not-allowed}.didan-pager__dots[data-v-a8d7bac0]{padding:0 var(--space-s1);color:var(--color-muted)}.didan-table-wrap[data-v-0d5a2992]{overflow-x:auto;font-family:var(--font-body)}.didan-table-wrap.is-bordered[data-v-0d5a2992]{border:1px solid var(--color-hairline);border-radius:var(--radius-md)}.didan-table[data-v-0d5a2992]{width:100%;border-collapse:collapse;font-feature-settings:"tnum" on;table-layout:fixed}.didan-table th[data-v-0d5a2992]{padding:var(--space-s3) var(--space-s4);font-size:var(--font-size-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-muted);text-align:left;background:var(--color-surface-sunken);border-block-end:1px solid var(--color-hairline);white-space:nowrap}.didan-table td[data-v-0d5a2992]{padding:var(--space-s3) var(--space-s4);font-size:var(--font-size-sm);color:var(--color-ink);border-block-end:1px solid var(--color-hairline);vertical-align:middle}.didan-table--sm td[data-v-0d5a2992],.didan-table--sm th[data-v-0d5a2992]{padding:var(--space-s2) var(--space-s3);font-size:var(--font-size-xs)}.didan-table--lg td[data-v-0d5a2992],.didan-table--lg th[data-v-0d5a2992]{padding:var(--space-s4) var(--space-s5);font-size:var(--font-size-md)}.didan-table.is-striped tbody tr:nth-child(2n) td[data-v-0d5a2992]{background:var(--color-surface-sunken)}.didan-table tbody tr:hover td[data-v-0d5a2992]{background:var(--color-surface-hover)}.didan-table__sel-col[data-v-0d5a2992]{width:48px;min-width:48px;text-align:center}.didan-table__sel-col.is-sticky-left[data-v-0d5a2992]{left:0}.didan-table__sel-col input[data-v-0d5a2992]{cursor:pointer}.didan-table th.is-sortable[data-v-0d5a2992]{cursor:pointer;-webkit-user-select:none;user-select:none}.didan-table th.is-sortable[data-v-0d5a2992]:hover{color:var(--color-ink)}.didan-table__sort-ind[data-v-0d5a2992]{margin-inline-start:4px;font-size:var(--font-size-xs);opacity:.7}.didan-table tbody tr.is-selected td[data-v-0d5a2992]{background:var(--color-surface-hover)}.didan-table__cell-inner[data-v-0d5a2992]{min-width:0}.didan-table__cell-inner.is-ellipsis[data-v-0d5a2992]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.didan-table th.is-sticky-left[data-v-0d5a2992],.didan-table td.is-sticky-left[data-v-0d5a2992],.didan-table th.is-sticky-right[data-v-0d5a2992],.didan-table td.is-sticky-right[data-v-0d5a2992]{position:sticky;z-index:1}.didan-table th.is-sticky-left[data-v-0d5a2992],.didan-table th.is-sticky-right[data-v-0d5a2992]{z-index:3}.didan-table td.is-sticky-left[data-v-0d5a2992],.didan-table td.is-sticky-right[data-v-0d5a2992]{background:var(--color-surface)}.didan-table.is-striped tbody tr:nth-child(2n) td.is-sticky-left[data-v-0d5a2992],.didan-table.is-striped tbody tr:nth-child(2n) td.is-sticky-right[data-v-0d5a2992]{background:var(--color-surface-sunken)}.didan-table tbody tr:hover td.is-sticky-left[data-v-0d5a2992],.didan-table tbody tr:hover td.is-sticky-right[data-v-0d5a2992],.didan-table tbody tr.is-selected td.is-sticky-left[data-v-0d5a2992],.didan-table tbody tr.is-selected td.is-sticky-right[data-v-0d5a2992]{background:var(--color-surface-hover)}.didan-table th.is-sticky-left[data-v-0d5a2992],.didan-table td.is-sticky-left[data-v-0d5a2992]{box-shadow:1px 0 0 var(--color-hairline)}.didan-table th.is-sticky-right[data-v-0d5a2992],.didan-table td.is-sticky-right[data-v-0d5a2992]{box-shadow:-1px 0 0 var(--color-hairline)}.didan-theme-toggle[data-v-2f5ec626]{position:fixed;z-index:88;width:44px;height:44px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0;border:1px solid var(--color-hairline);border-radius:50%;background:var(--color-surface);color:var(--color-ink);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 2px 6px #00000014}.didan-theme-toggle.is-inline[data-v-2f5ec626]{position:static;width:auto;height:auto;flex-direction:row;gap:6px;padding:6px 12px;border-radius:999px;font-size:13px;box-shadow:none}.didan-theme-toggle.is-inline[data-v-2f5ec626]:hover{transform:none;background:var(--color-surface-hover, var(--color-surface))}.didan-theme-toggle.is-inline .didan-theme-toggle__label[data-v-2f5ec626]{font-size:11px}.didan-theme-toggle[data-v-2f5ec626]:hover{transform:scale(1.08);box-shadow:0 4px 10px #0000001f}.didan-theme-toggle[data-v-2f5ec626]:active{transform:scale(.95)}.didan-theme-toggle__icon[data-v-2f5ec626]{font-size:16px;line-height:1}.didan-theme-toggle__label[data-v-2f5ec626]{font-size:9px;font-weight:600;letter-spacing:.08em;color:var(--color-muted)}.didan-theme-toast[data-v-2f5ec626]{position:fixed;bottom:calc(30% + env(safe-area-inset-bottom,0));left:50%;transform:translate(-50%);z-index:999;padding:10px 18px;background:#000c;color:#fff;font-size:13px;font-family:var(--font-body);border-radius:20px;pointer-events:none;animation:didan-theme-toast-in-2f5ec626 .3s ease,didan-theme-toast-out-2f5ec626 .3s ease 2.1s forwards;white-space:nowrap;max-width:90vw}@keyframes didan-theme-toast-in-2f5ec626{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@keyframes didan-theme-toast-out-2f5ec626{to{opacity:0;transform:translate(-50%,-10px)}}.mascot-avatar[data-v-d64c12f2]{display:inline-block;object-fit:contain;transition:transform .3s var(--motion-spring, cubic-bezier(.34, 1.56, .64, 1));-webkit-user-select:none;user-select:none}.mascot-avatar[data-v-d64c12f2]:hover{transform:scale(1.05)}.mascot-avatar-wrapper[data-v-d64c12f2]{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.mascot-avatar-halo[data-v-d64c12f2]{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;border-radius:50%;background:radial-gradient(circle,rgba(255,184,77,.5) 0%,rgba(255,184,77,.1) 50%,transparent 72%);filter:blur(2px);z-index:0;animation:halo-pulse 2.8s ease-in-out infinite}.mascot-avatar-ring[data-v-d64c12f2]{position:absolute;top:2%;right:2%;bottom:2%;left:2%;border-radius:50%;border:1px dashed rgba(232,69,60,.22);z-index:1;animation:ring-rotate 30s linear infinite}.mascot-avatar--animated[data-v-d64c12f2]{position:relative;width:80%;height:80%;z-index:2;filter:drop-shadow(0 6px 12px rgba(232,69,60,.18));animation:mascot-land .9s cubic-bezier(.22,1.2,.36,1) .15s both,mascot-wave 3.5s ease-in-out 1.2s infinite}.mascot-avatar-sparkle[data-v-d64c12f2]{position:absolute;font-size:11px;z-index:3}.mascot-avatar-sparkle--1[data-v-d64c12f2]{top:4px;right:2px;color:#ffb84d;animation:sparkle-twinkle-1 1.8s ease-in-out .2s infinite}.mascot-avatar-sparkle--2[data-v-d64c12f2]{bottom:12px;left:-4px;color:#e8453c;animation:sparkle-twinkle-2 1.8s ease-in-out .9s infinite}.mascot-bubble[data-v-20e62bc7]{display:flex;gap:var(--space-s2, 8px);align-items:flex-end}.bubble-body[data-v-20e62bc7]{background:var(--color-surface);border:1px solid var(--color-primary-soft, rgba(100, 116, 139, .2));border-radius:var(--radius-md, 12px);padding:var(--space-s3, 12px) var(--space-s4, 16px);position:relative;max-width:280px}.bubble-text[data-v-20e62bc7]{margin:0;font-size:var(--font-size-sm, 14px);color:var(--color-ink);line-height:var(--line-normal, 1.5)}.bubble-tail[data-v-20e62bc7]{position:absolute;bottom:12px;width:0;height:0;border:8px solid transparent}.mascot-bubble[data-position=left] .bubble-tail[data-v-20e62bc7]{left:-14px;border-right-color:var(--color-surface)}.mascot-bubble[data-position=right] .bubble-tail[data-v-20e62bc7]{right:-14px;border-left-color:var(--color-surface)}.mascot-bubble.animated[data-v-20e62bc7]{animation:bubble-in-20e62bc7 .4s var(--motion-spring, cubic-bezier(.34, 1.56, .64, 1)) both}@keyframes bubble-in-20e62bc7{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.mascot-reaction[data-v-8d997c72]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--color-surface);padding:var(--space-s5, 24px) var(--space-s6, 32px);border-radius:var(--radius-lg, 16px);box-shadow:var(--shadow-lg, 0 16px 40px rgba(0, 0, 0, .18));z-index:9999;display:flex;flex-direction:column;align-items:center;gap:var(--space-s3, 12px)}.reaction-text[data-v-8d997c72]{font-size:var(--font-size-lg, 18px);font-weight:var(--weight-bold, 700);color:var(--color-primary);margin:0}.mascot-reaction-enter-active[data-v-8d997c72]{animation:pop-in-8d997c72 .4s var(--motion-spring, cubic-bezier(.34, 1.56, .64, 1))}.mascot-reaction-leave-active[data-v-8d997c72]{animation:pop-out-8d997c72 .3s ease-in}@keyframes pop-in-8d997c72{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes pop-out-8d997c72{to{opacity:0;transform:translate(-50%,-50%) scale(.9)}}.mascot-progress[data-v-e5c31073]{display:flex;align-items:center;gap:var(--space-s3, 12px)}.progress-body[data-v-e5c31073]{flex:1;display:flex;flex-direction:column;gap:var(--space-s2, 8px)}.progress-label[data-v-e5c31073]{margin:0;font-size:var(--font-size-sm, 14px);color:var(--color-ink);font-weight:var(--weight-semibold, 600)}.progress-bar[data-v-e5c31073]{height:8px;background:var(--color-surface-sunken, #f5f5f4);border-radius:999px;overflow:hidden}.progress-fill[data-v-e5c31073]{height:100%;background:var(--color-primary);border-radius:999px;transition:width .6s var(--motion-spring, cubic-bezier(.34, 1.56, .64, 1))}.mascot-loader[data-v-6ad31b55]{display:flex;flex-direction:column;align-items:center;gap:var(--space-s3, 12px);padding:var(--space-s5, 24px)}.mascot-wobble[data-v-6ad31b55]{animation:wobble-6ad31b55 1.5s ease-in-out infinite}.loader-text[data-v-6ad31b55]{margin:0;font-size:var(--font-size-sm, 14px);color:var(--color-ink-2)}@keyframes wobble-6ad31b55{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}.didan-mascot-fab[data-v-0cf373c7]{position:fixed;z-index:80;padding:0;border:none;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ffffffd9,#ffffffa6 60%,#ffffff73);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 12px #0000001f,0 2px 4px #00000014;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.didan-mascot-fab[data-v-0cf373c7]:hover{transform:scale(1.08);box-shadow:0 6px 16px #00000026,0 3px 6px #0000001a}.didan-mascot-fab[data-v-0cf373c7]:active{transform:scale(.95)}.didan-mascot-fab.is-disabled[data-v-0cf373c7]{opacity:.5;cursor:not-allowed;pointer-events:none}@media (prefers-reduced-motion: reduce){.didan-mascot-fab[data-v-0cf373c7]{transition:none}.didan-mascot-fab[data-v-0cf373c7]:hover,.didan-mascot-fab[data-v-0cf373c7]:active{transform:none}}.k12-hero-editorial-title[data-v-9123d38d]{font-family:var(--k12-font-display)}.k12-hero-editorial-title__kicker[data-v-9123d38d]{margin:0 0 6px;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--k12-red-ink, #b83c35);font-weight:700}.k12-hero-editorial-title__main[data-v-9123d38d]{margin:0;font-size:30px;font-weight:900;letter-spacing:0;line-height:1.15;color:var(--k12-ink)}.k12-hero-editorial-title__main[data-v-9123d38d] em{font-style:normal;color:var(--k12-yellow-ink, #9a5a00);border-bottom:3px solid var(--k12-yellow);padding-bottom:1px}.k12-hero-editorial-title__sub[data-v-9123d38d]{margin:8px 0 0;font-family:var(--k12-font-serif);font-style:italic;font-size:15px;color:var(--k12-ink-soft, var(--k12-ink-50))}.k12-warm-card[data-v-1dddf03f]{background:#fff;border-radius:16px;border:1px solid var(--k12-paper-edge);box-shadow:0 1px 2px #2c18100f,0 8px 20px -8px #e8453c1f;font-family:var(--k12-font-zh)}.k12-warm-card.is-padded[data-v-1dddf03f]{padding:16px}.k12-warm-card.is-clickable[data-v-1dddf03f]{cursor:pointer}.k12-warm-card.is-clickable[data-v-1dddf03f]:focus-visible{outline:2px solid var(--k12-red, #e8453c);outline-offset:2px}.k12-warm-card--parent[data-v-1dddf03f]{border-color:#1e3a8a73;box-shadow:0 1px 2px #2c18100f,0 8px 20px -8px #1e3a8a2e}.k12-wax-seal[data-v-8e4b21ca]{display:grid;grid-template-columns:minmax(44px,52px) minmax(0,1fr) auto;align-items:center;gap:14px;box-sizing:border-box;width:100%;max-width:100%;min-width:0;padding:14px 18px;border:none;border-radius:18px;background:linear-gradient(135deg,#ff6b5e 0%,var(--k12-red) 50%,#c83a32 100%);color:#fff;cursor:pointer;font-family:var(--k12-font-display);position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff59,inset 0 -2px #0000002e,0 12px 28px -8px #e8453c80,0 4px 12px -4px #e8453c4d;transition:transform .18s ease,box-shadow .18s ease}.k12-wax-seal[data-v-8e4b21ca]:hover:not(:disabled){transform:translateY(-1px)}.k12-wax-seal[data-v-8e4b21ca]:active:not(:disabled){transform:translateY(1px)}.k12-wax-seal[data-v-8e4b21ca]:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.k12-wax-seal__seal[data-v-8e4b21ca]{width:52px;height:52px;border-radius:50%;background:#ffffff1f;border:2px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.k12-wax-seal__seal--img[data-v-8e4b21ca]{background:transparent;border:none;overflow:hidden}.k12-wax-seal__seal-img[data-v-8e4b21ca]{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.k12-wax-seal__body[data-v-8e4b21ca]{display:flex;flex-direction:column;text-align:left;gap:2px;min-width:0;overflow:hidden}.k12-wax-seal__title[data-v-8e4b21ca]{font-size:16px;font-weight:800;letter-spacing:0;min-width:0;overflow-wrap:anywhere}.k12-wax-seal__subtitle[data-v-8e4b21ca]{font-size:14px;font-weight:500;opacity:.85;min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.k12-wax-seal__chevron[data-v-8e4b21ca]{font-size:20px;font-weight:700;flex-shrink:0;animation:chevron-nudge-8e4b21ca 1.8s ease-in-out infinite}@keyframes chevron-nudge-8e4b21ca{0%,to{transform:translate(0)}50%{transform:translate(3px)}}.k12-wax-seal.has-shine[data-v-8e4b21ca]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.25) 50%,transparent 70%);transform:translate(-100%);animation:shine-sweep-8e4b21ca 2.8s ease-in-out infinite;pointer-events:none}@keyframes shine-sweep-8e4b21ca{0%,20%{transform:translate(-100%)}60%,to{transform:translate(100%)}}.k12-paper-envelope[data-v-0bdd4f59]{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;background:transparent;border:1px dashed rgba(232,69,60,.35);border-radius:12px;color:var(--k12-ink);font-family:var(--k12-font-zh);font-size:13px;font-weight:600;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.k12-paper-envelope[data-v-0bdd4f59]:hover:not(:disabled){background:var(--k12-halo-yellow);border-color:var(--k12-red);color:var(--k12-red)}.k12-paper-envelope[data-v-0bdd4f59]:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.k12-paper-envelope__icon[data-v-0bdd4f59]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:var(--k12-halo-yellow);font-size:13px}.k12-paper-envelope__icon--img[data-v-0bdd4f59]{width:32px;height:32px;border-radius:9px;background:transparent;overflow:hidden}.k12-paper-envelope__img[data-v-0bdd4f59]{display:block;width:100%;height:100%;object-fit:cover}.k12-paper-envelope__title[data-v-0bdd4f59]{font-size:16px;letter-spacing:0}.k12-reward-ring[data-v-9a23d3e6]{position:relative;display:inline-flex;align-items:center;justify-content:center}.k12-reward-ring__svg[data-v-9a23d3e6]{width:100%;height:100%;transform:rotate(-90deg)}.k12-reward-ring__progress[data-v-9a23d3e6]{animation:ring-grow-9a23d3e6 1.2s cubic-bezier(.22,1,.36,1) both}@keyframes ring-grow-9a23d3e6{0%{stroke-dashoffset:239}}.k12-reward-ring__center[data-v-9a23d3e6]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-family:var(--k12-font-display)}.k12-reward-ring__value[data-v-9a23d3e6]{font-size:22px;font-weight:900;color:var(--k12-ink);letter-spacing:-.5px;line-height:1}.k12-reward-ring__unit[data-v-9a23d3e6]{font-size:10px;color:var(--k12-ink-50);text-transform:uppercase;letter-spacing:1px;font-weight:600}.k12-ip-mascot-stage[data-v-e713c240]{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.k12-ip-mascot-stage__halo[data-v-e713c240]{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;border-radius:50%;background:radial-gradient(circle,rgba(255,184,77,.5) 0%,rgba(255,184,77,.1) 50%,transparent 72%);filter:blur(2px);z-index:0}.k12-ip-mascot-stage.is-animated .k12-ip-mascot-stage__halo[data-v-e713c240]{animation:halo-pulse 2.8s ease-in-out infinite}.k12-ip-mascot-stage__ring[data-v-e713c240]{position:absolute;top:2%;right:2%;bottom:2%;left:2%;border-radius:50%;border:1px dashed rgba(232,69,60,.22);z-index:1}.k12-ip-mascot-stage.is-animated .k12-ip-mascot-stage__ring[data-v-e713c240]{animation:ring-rotate 30s linear infinite}.k12-ip-mascot-stage__img[data-v-e713c240],.k12-ip-mascot-stage__fallback[data-v-e713c240]{position:relative;width:80%;height:80%;object-fit:contain;z-index:2;filter:drop-shadow(0 6px 12px rgba(232,69,60,.18))}.k12-ip-mascot-stage__fallback[data-v-e713c240]{display:flex;align-items:center;justify-content:center;font-size:56px;line-height:1}.k12-ip-mascot-stage.is-animated .k12-ip-mascot-stage__img[data-v-e713c240],.k12-ip-mascot-stage.is-animated .k12-ip-mascot-stage__fallback[data-v-e713c240]{animation:mascot-land .9s cubic-bezier(.22,1.2,.36,1) .15s both,mascot-wave 3.5s ease-in-out 1.2s infinite}.k12-ip-mascot-stage__sparkle[data-v-e713c240]{position:absolute;font-size:13px;z-index:3}.k12-ip-mascot-stage__sparkle--1[data-v-e713c240]{top:4px;right:2px;color:var(--k12-yellow)}.k12-ip-mascot-stage__sparkle--2[data-v-e713c240]{bottom:12px;left:-4px;color:var(--k12-red)}.k12-ip-mascot-stage__sparkle--3[data-v-e713c240]{top:30%;right:-8px;color:var(--k12-yellow)}.k12-ip-mascot-stage.is-animated .k12-ip-mascot-stage__sparkle--1[data-v-e713c240]{animation:sparkle-twinkle-1 1.8s ease-in-out .2s infinite}.k12-ip-mascot-stage.is-animated .k12-ip-mascot-stage__sparkle--2[data-v-e713c240]{animation:sparkle-twinkle-2 1.8s ease-in-out .9s infinite}.k12-ip-mascot-stage.is-animated .k12-ip-mascot-stage__sparkle--3[data-v-e713c240]{animation:sparkle-twinkle-1 1.8s ease-in-out 1.4s infinite}.k12-editorial-signoff[data-v-7a03cd5e]{text-align:center;margin:32px 0 0}.k12-editorial-signoff__chapter[data-v-7a03cd5e]{margin:0 0 4px;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--k12-red-ink, #b83c35);font-weight:600}.k12-editorial-signoff__date[data-v-7a03cd5e]{margin:0;font-family:var(--k12-font-serif);font-style:italic;font-size:11px;color:var(--k12-ink-soft, var(--k12-ink-50))}.xlm-fab[data-v-554174a7]{position:fixed;z-index:1000;font-family:Nunito Sans,sans-serif;touch-action:none;-webkit-user-select:none;user-select:none}.xlm-fab.dragging[data-v-554174a7]{transition:none!important}.xlm-fab.dragging .xlm-fab__trigger[data-v-554174a7]{animation:none}.xlm-fab.is-bottom-nav-docked[data-v-554174a7]{position:relative;touch-action:auto}.xlm-fab.is-bottom-nav-docked .xlm-fab__trigger[data-v-554174a7]{cursor:pointer;animation:none}.xlm-fab.is-bottom-nav-docked .xlm-fab__mascot[data-v-554174a7]{cursor:default;animation:none}.xlm-fab__trigger[data-v-554174a7],.xlm-fab__mascot[data-v-554174a7]{border-radius:50%;border:none;padding:0;cursor:grab;background:linear-gradient(135deg,var(--color-primary, #e8453c),var(--color-secondary, #ffb84d));box-shadow:0 4px 14px #e8453c59;display:flex;align-items:center;justify-content:center;animation:xlm-breathe-554174a7 3s ease-in-out infinite;transition:transform .2s;position:relative;z-index:3}.xlm-fab__mascot[data-v-554174a7]{cursor:default}.xlm-fab__trigger[data-v-554174a7]:active{cursor:grabbing}.xlm-fab__trigger img[data-v-554174a7],.xlm-fab__mascot img[data-v-554174a7]{width:38px;height:38px;border-radius:50%;object-fit:cover;background:#fff;pointer-events:none}@keyframes xlm-breathe-554174a7{0%,to{transform:translateY(0) scale(1);box-shadow:0 4px 14px #e8453c59}50%{transform:translateY(-8px) scale(1.04);box-shadow:0 16px 26px #e8453c66}}.xlm-fab.expanded .xlm-fab__trigger[data-v-554174a7]{animation:none;transform:rotate(45deg)}.xlm-fab__overlay[data-v-554174a7]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000002e;z-index:1;opacity:0;pointer-events:none;transition:opacity .25s}.xlm-fab.expanded .xlm-fab__overlay[data-v-554174a7],.xlm-fab__overlay.is-expanded[data-v-554174a7]{opacity:1;pointer-events:auto}.xlm-fab__overlay.is-viewport-overlay[data-v-554174a7]{z-index:99}.xlm-fab__menu[data-v-554174a7]{position:absolute;bottom:64px;display:flex;flex-direction:column;gap:10px;z-index:2;pointer-events:none}.xlm-fab.is-right-side .xlm-fab__menu[data-v-554174a7]{right:0;align-items:flex-end}.xlm-fab.is-left-side .xlm-fab__menu[data-v-554174a7]{left:0;align-items:flex-start}.xlm-fab.expanded .xlm-fab__menu[data-v-554174a7]{pointer-events:auto}.xlm-fab__item[data-v-554174a7]{display:flex;align-items:center;gap:8px;opacity:0;transform:translateY(16px) scale(.8);transition:opacity .2s,transform .25s cubic-bezier(.34,1.56,.64,1);pointer-events:none;text-decoration:none}.xlm-fab.is-right-side .xlm-fab__item[data-v-554174a7]{flex-direction:row}.xlm-fab.is-left-side .xlm-fab__item[data-v-554174a7]{flex-direction:row-reverse}.xlm-fab.expanded .xlm-fab__item[data-v-554174a7]{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.xlm-fab.expanded .xlm-fab__item[data-v-554174a7]:nth-child(1){transition-delay:.04s}.xlm-fab.expanded .xlm-fab__item[data-v-554174a7]:nth-child(2){transition-delay:.08s}.xlm-fab.expanded .xlm-fab__item[data-v-554174a7]:nth-child(3){transition-delay:.12s}.xlm-fab.expanded .xlm-fab__item[data-v-554174a7]:nth-child(4){transition-delay:.16s}.xlm-fab.expanded .xlm-fab__item[data-v-554174a7]:nth-child(5){transition-delay:.2s}.xlm-fab__label[data-v-554174a7]{background:#fff;color:var(--color-text, #1a1a2e);font-size:13px;font-weight:600;padding:4px 10px;border-radius:8px;box-shadow:0 2px 8px #0000001a;white-space:nowrap}.xlm-fab__btn[data-v-554174a7]{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff;flex-shrink:0;box-shadow:0 2px 8px #00000026;cursor:pointer;overflow:hidden}.xlm-fab__btn-img[data-v-554174a7]{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}@media (prefers-reduced-motion: reduce){.xlm-fab__trigger[data-v-554174a7]{animation:none}.xlm-fab__item[data-v-554174a7]{transition:opacity .1s;transform:translateY(0) scale(1)}}.va-mascot-stage img[data-v-8c19cfeb]{width:100%;height:100%;object-fit:contain}.va-cherry-blossom[data-v-3faee7b2]{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:9999}.va-cherry-blossom__petal[data-v-3faee7b2]{position:absolute;top:-2rem;left:var(--petal-left, 50%);font-size:1.5rem;animation:va-petal-fall-3faee7b2 4s ease-in forwards}@keyframes va-petal-fall-3faee7b2{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:0}}@media (prefers-reduced-motion: reduce){.va-cherry-blossom[data-v-3faee7b2]{display:none}}.ribencun-bottom-nav[data-v-d41939c8]{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;display:flex;justify-content:space-around;align-items:center;background:var(--va-canvas, #fff8f1);border-top:2px solid var(--va-primary-soft, rgba(88, 204, 2, .18));box-shadow:0 -4px 12px var(--va-shadow-card, rgba(255, 154, 60, .08));padding:.5rem 0 calc(.5rem + env(safe-area-inset-bottom,0));z-index:100;font-family:var(--va-font-display, "Comfortaa"),"Noto Sans SC",system-ui,sans-serif}.ribencun-bottom-nav__tab[data-v-d41939c8]{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-decoration:none;color:var(--va-text-muted, #8b6f47);font-size:.72rem;font-weight:500;flex:1;padding:.35rem .25rem;transition:color .18s ease;border-radius:var(--va-radius-card, 14px)}.ribencun-bottom-nav__tab[data-v-d41939c8]:hover{color:var(--va-primary, #58cc02)}.ribencun-bottom-nav__tab.is-active[data-v-d41939c8]{color:var(--va-primary, #58cc02);font-weight:600}.ribencun-bottom-nav__icon[data-v-d41939c8]{width:26px;height:26px;stroke:currentColor}.ribencun-bottom-nav__label[data-v-d41939c8]{font-family:var(--va-font-display, "Comfortaa"),"Noto Sans SC",system-ui,sans-serif;letter-spacing:.02em}
