.error-boundary[data-v-10d81b00]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f5f5f5;padding:1rem}.error-container[data-v-10d81b00]{background:#fff;border-radius:12px;padding:2rem;max-width:500px;width:100%;text-align:center;box-shadow:0 2px 8px #0000001a}.error-icon[data-v-10d81b00]{font-size:3rem;margin-bottom:1rem}.error-container h2[data-v-10d81b00]{color:#d32f2f;margin:0 0 .5rem;font-size:1.5rem}.error-container p[data-v-10d81b00]{color:#666;margin:0 0 1.5rem;font-size:1rem}.error-actions[data-v-10d81b00]{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.reload-btn[data-v-10d81b00],.home-btn[data-v-10d81b00]{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.reload-btn[data-v-10d81b00]{background:#1976d2;color:#fff}.reload-btn[data-v-10d81b00]:hover{background:#1565c0;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.home-btn[data-v-10d81b00]{background:#f5f5f5;color:#666}.home-btn[data-v-10d81b00]:hover{background:#e0e0e0}.error-details[data-v-10d81b00]{margin-top:2rem;text-align:left}.error-details summary[data-v-10d81b00]{cursor:pointer;color:#666;font-size:.875rem;margin-bottom:.5rem}.error-details pre[data-v-10d81b00]{background:#f5f5f5;padding:1rem;border-radius:4px;overflow-x:auto;font-size:.75rem;color:#d32f2f;white-space:pre-wrap;word-break:break-word}@media (max-width: 480px){.error-container[data-v-10d81b00]{padding:1.5rem}.error-actions[data-v-10d81b00]{flex-direction:column}.reload-btn[data-v-10d81b00],.home-btn[data-v-10d81b00]{width:100%}}.session-status[data-v-cf897ffc]{position:fixed;bottom:20px;right:20px;background:#fffffff2;border:1px solid #ddd;border-radius:8px;padding:12px;box-shadow:0 2px 8px #0000001a;font-size:12px;z-index:9999}.status-indicator[data-v-cf897ffc]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.status-dot[data-v-cf897ffc]{width:10px;height:10px;border-radius:50%;display:inline-block}.server-session .status-dot[data-v-cf897ffc]{background-color:#4caf50}.jwt-storage .status-dot[data-v-cf897ffc]{background-color:#ff9800}.status-text[data-v-cf897ffc]{font-weight:700}.session-details[data-v-cf897ffc]{color:#666;font-size:11px}.session-details p[data-v-cf897ffc]{margin:4px 0}.debug-auth[data-v-92a3b69f]{position:fixed;bottom:20px;right:20px;background:#000000b3;color:#fff;border-radius:8px;font-size:12px;z-index:9999;box-shadow:0 2px 8px #0000004d}.debug-auth-toggle[data-v-92a3b69f]{padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none;transition:background-color .2s}.debug-auth-toggle[data-v-92a3b69f]:hover{background:#ffffff1a;border-radius:8px}.toggle-icon[data-v-92a3b69f]{font-size:10px;width:10px;display:inline-block}.toggle-text[data-v-92a3b69f]{font-size:11px;font-weight:500;opacity:.8}.debug-auth-content[data-v-92a3b69f]{padding:12px;border-top:1px solid rgba(255,255,255,.2);max-width:280px}.debug-auth h4[data-v-92a3b69f]{margin:0 0 10px;font-size:13px}.debug-auth-content>div[data-v-92a3b69f]{margin:5px 0;font-size:11px;font-family:monospace}.debug-auth button[data-v-92a3b69f]{margin:8px 5px 0 0;padding:4px 8px;font-size:11px;background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;cursor:pointer;border-radius:4px;transition:background-color .2s}.debug-auth button[data-v-92a3b69f]:hover{background:#ffffff4d}.preview-banner[data-v-13f1e4ab]{position:fixed;bottom:0;left:0;right:0;background-color:#ff6b35;color:#fff;z-index:9999;box-shadow:0 -2px 10px #0000001a}.preview-content[data-v-13f1e4ab]{padding:8px 20px;display:flex;align-items:center;gap:10px;font-size:14px}.preview-icon[data-v-13f1e4ab]{font-size:18px}.preview-text[data-v-13f1e4ab]{font-weight:700}.preview-toggle[data-v-13f1e4ab]{margin-left:auto;background:#fff3;border:1px solid rgba(255,255,255,.5);color:#fff;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color .2s}.preview-toggle[data-v-13f1e4ab]:hover{background:#ffffff4d}.preview-details[data-v-13f1e4ab]{background-color:#0000001a;padding:10px 20px;font-size:12px;border-top:1px solid rgba(255,255,255,.2)}.preview-details p[data-v-13f1e4ab]{margin:4px 0}.preview-details strong[data-v-13f1e4ab]{margin-right:5px}@media (max-width: 640px){.preview-content[data-v-13f1e4ab]{font-size:12px;padding:6px 15px}.preview-icon[data-v-13f1e4ab]{font-size:16px}.preview-toggle[data-v-13f1e4ab]{font-size:11px;padding:3px 8px}}html,body{width:100%!important;max-width:100%!important;margin:0;padding:0}#app{width:100%!important;max-width:100%!important}main[data-v-ef7b00a5]{width:100%;min-height:100vh;display:flex;justify-content:center;align-items:flex-start;font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Hiragino Sans,Hiragino Kaku Gothic ProN,sans-serif}main[data-v-ef7b00a5]>*{width:100%;max-width:750px;margin:0 auto}@media (min-width: 1024px){body[data-v-ef7b00a5]{display:flex}}:root{--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px)}body{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.app-header,.hamburger-menu-overlay{padding-top:var(--safe-area-top)}.practice-navigation,.completion-actions{padding-bottom:var(--safe-area-bottom)}input,select,textarea{font-size:16px!important}:root,:root[data-theme=normal]{--theme-bg: #f5f7fa;--theme-bg-card: #ffffff;--theme-bg-hover: #f0f2f5;--theme-primary: #1976d2;--theme-primary-hover: #1565c0;--theme-primary-light: #e3f2fd;--theme-primary-text: #ffffff;--theme-text: #333333;--theme-text-secondary: #666666;--theme-text-muted: #999999;--theme-border: #e0e0e0;--theme-border-light: #f0f0f0;--theme-success: #4caf50;--theme-success-light: #e8f5e9;--theme-success-bg: #c8e6c9;--theme-error: #f44336;--theme-error-light: #ffebee;--theme-error-bg: #ffcdd2;--theme-warning: #ff9800;--theme-warning-light: #fff3e0;--theme-header-bg: #ffffff;--theme-header-border: rgba(0, 0, 0, .06);--theme-shadow: 0 2px 8px rgba(0, 0, 0, .06);--theme-shadow-lg: 0 4px 16px rgba(0, 0, 0, .1);--theme-menu-bg: #ffffff;--theme-menu-hover: #f0f4fa;--theme-menu-text: #1976d2;--theme-input-bg: #ffffff;--theme-input-border: #ddd;--theme-tab-active: #1976d2;--theme-tab-inactive: #666666}:root[data-theme=light-blue]{--theme-bg: #e3f2fd;--theme-bg-card: #ffffff;--theme-bg-hover: #d6ebfc;--theme-primary: #1976d2;--theme-primary-hover: #1565c0;--theme-primary-light: #bbdefb;--theme-primary-text: #ffffff;--theme-text: #333333;--theme-text-secondary: #555555;--theme-text-muted: #888888;--theme-border: #bbdefb;--theme-border-light: #e3f2fd;--theme-success: #4caf50;--theme-success-light: #e8f5e9;--theme-success-bg: #c8e6c9;--theme-error: #f44336;--theme-error-light: #ffebee;--theme-error-bg: #ffcdd2;--theme-warning: #ff9800;--theme-warning-light: #fff3e0;--theme-header-bg: #ffffff;--theme-header-border: rgba(0, 0, 0, .06);--theme-shadow: 0 2px 8px rgba(0, 0, 0, .06);--theme-shadow-lg: 0 4px 16px rgba(0, 0, 0, .1);--theme-menu-bg: #ffffff;--theme-menu-hover: #e3f2fd;--theme-menu-text: #1976d2;--theme-input-bg: #ffffff;--theme-input-border: #bbdefb;--theme-tab-active: #1976d2;--theme-tab-inactive: #666666}:root[data-theme=light-green]{--theme-bg: #e8f5e9;--theme-bg-card: #ffffff;--theme-bg-hover: #dcedc8;--theme-primary: #2e7d32;--theme-primary-hover: #1b5e20;--theme-primary-light: #c8e6c9;--theme-primary-text: #ffffff;--theme-text: #333333;--theme-text-secondary: #555555;--theme-text-muted: #888888;--theme-border: #c8e6c9;--theme-border-light: #e8f5e9;--theme-success: #4caf50;--theme-success-light: #e8f5e9;--theme-success-bg: #c8e6c9;--theme-error: #f44336;--theme-error-light: #ffebee;--theme-error-bg: #ffcdd2;--theme-warning: #ff9800;--theme-warning-light: #fff3e0;--theme-header-bg: #ffffff;--theme-header-border: rgba(0, 0, 0, .06);--theme-shadow: 0 2px 8px rgba(0, 0, 0, .06);--theme-shadow-lg: 0 4px 16px rgba(0, 0, 0, .1);--theme-menu-bg: #ffffff;--theme-menu-hover: #e8f5e9;--theme-menu-text: #2e7d32;--theme-input-bg: #ffffff;--theme-input-border: #c8e6c9;--theme-tab-active: #2e7d32;--theme-tab-inactive: #666666}:root[data-theme=pink]{--theme-bg: #fce4ec;--theme-bg-card: #ffffff;--theme-bg-hover: #f8bbd0;--theme-primary: #c2185b;--theme-primary-hover: #ad1457;--theme-primary-light: #f8bbd0;--theme-primary-text: #ffffff;--theme-text: #333333;--theme-text-secondary: #555555;--theme-text-muted: #888888;--theme-border: #f8bbd0;--theme-border-light: #fce4ec;--theme-success: #4caf50;--theme-success-light: #e8f5e9;--theme-success-bg: #c8e6c9;--theme-error: #f44336;--theme-error-light: #ffebee;--theme-error-bg: #ffcdd2;--theme-warning: #ff9800;--theme-warning-light: #fff3e0;--theme-header-bg: #ffffff;--theme-header-border: rgba(0, 0, 0, .06);--theme-shadow: 0 2px 8px rgba(0, 0, 0, .06);--theme-shadow-lg: 0 4px 16px rgba(0, 0, 0, .1);--theme-menu-bg: #ffffff;--theme-menu-hover: #fce4ec;--theme-menu-text: #c2185b;--theme-input-bg: #ffffff;--theme-input-border: #f8bbd0;--theme-tab-active: #c2185b;--theme-tab-inactive: #666666}:root[data-theme=yellow]{--theme-bg: #fffde7;--theme-bg-card: #ffffff;--theme-bg-hover: #fff9c4;--theme-primary: #f57f17;--theme-primary-hover: #e65100;--theme-primary-light: #fff59d;--theme-primary-text: #ffffff;--theme-text: #333333;--theme-text-secondary: #555555;--theme-text-muted: #888888;--theme-border: #fff59d;--theme-border-light: #fffde7;--theme-success: #558b2f;--theme-success-light: #e8f5e9;--theme-success-bg: #c8e6c9;--theme-error: #d32f2f;--theme-error-light: #ffebee;--theme-error-bg: #ffcdd2;--theme-warning: #ff9800;--theme-warning-light: #fff3e0;--theme-header-bg: #ffffff;--theme-header-border: rgba(0, 0, 0, .06);--theme-shadow: 0 2px 8px rgba(0, 0, 0, .06);--theme-shadow-lg: 0 4px 16px rgba(0, 0, 0, .1);--theme-menu-bg: #ffffff;--theme-menu-hover: #fffde7;--theme-menu-text: #f57f17;--theme-input-bg: #ffffff;--theme-input-border: #fff59d;--theme-tab-active: #f57f17;--theme-tab-inactive: #666666}:root[data-theme=dark]{--theme-bg: #1a1a2e;--theme-bg-card: #16213e;--theme-bg-hover: #1f2b47;--theme-primary: #64b5f6;--theme-primary-hover: #90caf9;--theme-primary-light: #1e3a5f;--theme-primary-text: #1a1a2e;--theme-text: #e0e0e0;--theme-text-secondary: #b0bec5;--theme-text-muted: #78909c;--theme-border: #333a56;--theme-border-light: #252d45;--theme-success: #66bb6a;--theme-success-light: #1b3a1b;--theme-success-bg: #2e5a2e;--theme-error: #ef5350;--theme-error-light: #3a1b1b;--theme-error-bg: #5a2e2e;--theme-warning: #ffb74d;--theme-warning-light: #3a2e1b;--theme-header-bg: #0f3460;--theme-header-border: rgba(255, 255, 255, .08);--theme-shadow: 0 2px 8px rgba(0, 0, 0, .3);--theme-shadow-lg: 0 4px 16px rgba(0, 0, 0, .4);--theme-menu-bg: #16213e;--theme-menu-hover: #1e3a5f;--theme-menu-text: #64b5f6;--theme-input-bg: #1e3a5f;--theme-input-border: #333a56;--theme-tab-active: #64b5f6;--theme-tab-inactive: #78909c}:root[data-theme=sakura]{--theme-bg: #fdf2f8;--theme-bg-card: #fff1f2;--theme-bg-hover: #fce7f3;--theme-primary: #db2777;--theme-primary-hover: #be185d;--theme-primary-light: #fce7f3;--theme-primary-text: #ffffff;--theme-text: #831843;--theme-text-secondary: #9d174d;--theme-text-muted: #be185d;--theme-border: #fbcfe8;--theme-border-light: #fce7f3;--theme-success: #4caf50;--theme-success-light: #f0fdf4;--theme-success-bg: #bbf7d0;--theme-error: #e11d48;--theme-error-light: #fff1f2;--theme-error-bg: #fecdd3;--theme-warning: #f59e0b;--theme-warning-light: #fffbeb;--theme-header-bg: #fff1f2;--theme-header-border: rgba(219, 39, 119, .1);--theme-shadow: 0 2px 8px rgba(219, 39, 119, .08);--theme-shadow-lg: 0 4px 16px rgba(219, 39, 119, .12);--theme-menu-bg: #fff1f2;--theme-menu-hover: #fce7f3;--theme-menu-text: #db2777;--theme-input-bg: #ffffff;--theme-input-border: #fbcfe8;--theme-tab-active: #db2777;--theme-tab-inactive: #9d174d}:root[data-theme=ocean]{--theme-bg: #ecfeff;--theme-bg-card: #f0fdfa;--theme-bg-hover: #ccfbf1;--theme-primary: #0891b2;--theme-primary-hover: #0e7490;--theme-primary-light: #cffafe;--theme-primary-text: #ffffff;--theme-text: #164e63;--theme-text-secondary: #155e75;--theme-text-muted: #0e7490;--theme-border: #a5f3fc;--theme-border-light: #cffafe;--theme-success: #059669;--theme-success-light: #ecfdf5;--theme-success-bg: #a7f3d0;--theme-error: #dc2626;--theme-error-light: #fef2f2;--theme-error-bg: #fecaca;--theme-warning: #d97706;--theme-warning-light: #fffbeb;--theme-header-bg: #f0fdfa;--theme-header-border: rgba(8, 145, 178, .1);--theme-shadow: 0 2px 8px rgba(8, 145, 178, .08);--theme-shadow-lg: 0 4px 16px rgba(8, 145, 178, .12);--theme-menu-bg: #f0fdfa;--theme-menu-hover: #ccfbf1;--theme-menu-text: #0891b2;--theme-input-bg: #ffffff;--theme-input-border: #a5f3fc;--theme-tab-active: #0891b2;--theme-tab-inactive: #155e75}:root[data-theme=sunset]{--theme-bg: #fff7ed;--theme-bg-card: #fffbeb;--theme-bg-hover: #ffedd5;--theme-primary: #ea580c;--theme-primary-hover: #c2410c;--theme-primary-light: #fed7aa;--theme-primary-text: #ffffff;--theme-text: #7c2d12;--theme-text-secondary: #9a3412;--theme-text-muted: #c2410c;--theme-border: #fed7aa;--theme-border-light: #ffedd5;--theme-success: #16a34a;--theme-success-light: #f0fdf4;--theme-success-bg: #bbf7d0;--theme-error: #dc2626;--theme-error-light: #fef2f2;--theme-error-bg: #fecaca;--theme-warning: #d97706;--theme-warning-light: #fffbeb;--theme-header-bg: #fffbeb;--theme-header-border: rgba(234, 88, 12, .1);--theme-shadow: 0 2px 8px rgba(234, 88, 12, .08);--theme-shadow-lg: 0 4px 16px rgba(234, 88, 12, .12);--theme-menu-bg: #fffbeb;--theme-menu-hover: #ffedd5;--theme-menu-text: #ea580c;--theme-input-bg: #ffffff;--theme-input-border: #fed7aa;--theme-tab-active: #ea580c;--theme-tab-inactive: #9a3412}:root[data-theme=mono]{--theme-bg: #fafafa;--theme-bg-card: #ffffff;--theme-bg-hover: #f5f5f5;--theme-primary: #525252;--theme-primary-hover: #404040;--theme-primary-light: #e5e5e5;--theme-primary-text: #ffffff;--theme-text: #171717;--theme-text-secondary: #404040;--theme-text-muted: #737373;--theme-border: #d4d4d4;--theme-border-light: #e5e5e5;--theme-success: #4caf50;--theme-success-light: #e8f5e9;--theme-success-bg: #c8e6c9;--theme-error: #ef4444;--theme-error-light: #fef2f2;--theme-error-bg: #fecaca;--theme-warning: #a16207;--theme-warning-light: #fefce8;--theme-header-bg: #ffffff;--theme-header-border: rgba(0, 0, 0, .08);--theme-shadow: 0 2px 8px rgba(0, 0, 0, .05);--theme-shadow-lg: 0 4px 16px rgba(0, 0, 0, .08);--theme-menu-bg: #ffffff;--theme-menu-hover: #f5f5f5;--theme-menu-text: #525252;--theme-input-bg: #ffffff;--theme-input-border: #d4d4d4;--theme-tab-active: #171717;--theme-tab-inactive: #737373}
