.offline-banner[data-v-0c52f4c3]{position:fixed;top:0;left:0;right:0;z-index:1000;padding:var(--spacing-sm) var(--spacing-md);color:#fff;background-color:var(--color-error);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center;box-shadow:var(--shadow-md)}.app-icon[data-v-aa67409d]{display:block;flex-shrink:0}.toast-container[data-v-c472acc2]{position:fixed;top:1rem;right:1rem;z-index:1400;pointer-events:none;display:flex;flex-direction:column;gap:0}.toast-list[data-v-c472acc2]{display:flex;flex-direction:column}.toast-inner[data-v-c472acc2]{display:flex;flex-direction:column;gap:.5rem}.toast[data-v-c472acc2]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);background-color:var(--color-surface-elevated);color:var(--color-text-primary);border-left:4px solid var(--color-border);min-width:240px;max-width:420px;pointer-events:auto;word-break:break-word;margin-bottom:.5rem}.toast--success[data-v-c472acc2]{border-left-color:var(--color-success)}.toast--error[data-v-c472acc2]{border-left-color:var(--color-error)}.toast--info[data-v-c472acc2]{border-left-color:var(--color-info);background-color:var(--color-info-bg)}.toast__message[data-v-c472acc2]{flex:1;font-size:var(--font-size-sm);line-height:1.5}.toast__close[data-v-c472acc2]{flex-shrink:0;background:none;border:none;cursor:pointer;font-size:1.25rem;line-height:1;color:var(--color-text-secondary);padding:10px;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:var(--border-radius-sm);transition:background-color var(--transition-fast),color var(--transition-fast)}.toast__close[data-v-c472acc2]:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary)}.toast-enter-active[data-v-c472acc2]{transition:opacity var(--transition-normal),transform var(--transition-normal)}.toast-leave-active[data-v-c472acc2]{transition:opacity var(--transition-fast),transform var(--transition-fast)}.toast-enter-from[data-v-c472acc2],.toast-leave-to[data-v-c472acc2]{opacity:0;transform:translate(2rem)}.toast-move[data-v-c472acc2]{transition:transform var(--transition-normal)}@media (max-width: 600px){.toast-container[data-v-c472acc2]{top:.75rem;right:.75rem;left:.75rem}.toast[data-v-c472acc2]{max-width:100%}.toast-enter-from[data-v-c472acc2],.toast-leave-to[data-v-c472acc2]{transform:translateY(-1rem)}}.confirm-backdrop[data-v-625b42e8]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-backdrop);display:flex;align-items:center;justify-content:center;z-index:1300;pointer-events:auto}.confirm-dialog[data-v-625b42e8]{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);width:420px;max-width:92vw;overflow:hidden}.confirm-header[data-v-625b42e8]{padding:1.25rem 1.5rem 0}.confirm-title[data-v-625b42e8]{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.confirm-body[data-v-625b42e8]{padding:1.25rem 1.5rem}.confirm-message[data-v-625b42e8]{font-size:var(--font-size-md);color:var(--color-text-secondary);margin:0;line-height:1.6}.confirm-footer[data-v-625b42e8]{display:flex;justify-content:flex-end;gap:.75rem;padding:0 1.5rem 1.25rem}.btn[data-v-625b42e8]{padding:.5rem 1.25rem;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;border:1px solid var(--color-border);transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.btn-cancel[data-v-625b42e8]{background-color:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border)}.btn-cancel[data-v-625b42e8]:hover{background-color:var(--color-surface-hover)}.btn-confirm[data-v-625b42e8]{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-confirm[data-v-625b42e8]:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn-confirm--danger[data-v-625b42e8]{background-color:var(--color-error);color:#fff;border-color:var(--color-error)}.btn-confirm--danger[data-v-625b42e8]:hover{opacity:.88}.btn[data-v-625b42e8]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}#app{width:100%;height:100vh;overflow:hidden}html{transition:background-color var(--transition-normal),color var(--transition-normal)}:root{--color-primary: #2f6fed;--color-primary-dark: #2559c7;--color-primary-light: #5a8bff;--color-secondary: #475569;--color-secondary-light: #64748b;--color-background: #f8fafc;--color-surface: #ffffff;--color-surface-muted: #f1f5f9;--color-surface-elevated: #ffffff;--color-surface-hover: #e2e8f0;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-disabled: #94a3b8;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-divider: #cbd5e1;--color-error: #dc2626;--color-success: #16a34a;--color-warning: #f59e0b;--color-info: #2563eb;--color-error-bg: #ffebee;--color-success-bg: #e8f5e9;--color-info-bg: #eff6ff;--color-primary-alpha-low: rgba(47, 111, 237, .08);--color-primary-alpha-mid: rgba(47, 111, 237, .12);--color-primary-alpha-border: rgba(47, 111, 237, .35);--color-primary-focus-ring: rgba(47, 111, 237, .18);--color-overlay: rgba(0, 0, 0, .5);--color-backdrop: rgba(0, 0, 0, .4);--color-danger-hover: rgba(220, 38, 38, .12);--color-user-message: #cfe3ff;--color-assistant-message: #ffffff;--color-code-background: #0f172a;--color-code-text: #e2e8f0;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-xxl: 3rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", "BIZ UDPGothic", "Hiragino Sans", "Yu Gothic UI", "Meiryo", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-xxl: 1.5rem;--font-size-display: 5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--border-radius-sm: .375rem;--border-radius-md: .625rem;--border-radius-lg: .875rem;--border-radius-xl: 1.125rem;--shadow-sm: 0 1px 4px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 8px 18px rgba(15, 23, 42, .1), 0 2px 6px rgba(15, 23, 42, .06);--shadow-lg: 0 18px 34px rgba(15, 23, 42, .14), 0 6px 14px rgba(15, 23, 42, .08);--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out;--sidebar-width: 280px;--header-height: 64px;--max-content-width: 960px}:root[data-theme=dark]{--color-primary: #7aa2ff;--color-primary-dark: #5b82f6;--color-primary-light: #9db8ff;--color-secondary: #94a3b8;--color-secondary-light: #cbd5f5;--color-background: #0b0f14;--color-surface: #111827;--color-surface-muted: #0f172a;--color-surface-elevated: #1f2937;--color-surface-hover: #1f2a3b;--color-text-primary: #e5e7eb;--color-text-secondary: #9ca3af;--color-text-disabled: #6b7280;--color-border: #1f2937;--color-border-strong: #334155;--color-divider: #334155;--color-error: #f87171;--color-success: #4ade80;--color-warning: #fbbf24;--color-info: #93c5fd;--color-error-bg: rgba(220, 38, 38, .15);--color-success-bg: rgba(22, 163, 74, .15);--color-info-bg: rgba(37, 99, 235, .18);--color-primary-alpha-low: rgba(122, 162, 255, .1);--color-primary-alpha-mid: rgba(122, 162, 255, .16);--color-primary-alpha-border: rgba(122, 162, 255, .45);--color-primary-focus-ring: rgba(122, 162, 255, .22);--color-overlay: rgba(0, 0, 0, .6);--color-backdrop: rgba(0, 0, 0, .55);--color-danger-hover: rgba(248, 113, 113, .16);--color-user-message: #1f3b8a;--color-assistant-message: #172033;--color-code-background: #0b1220;--color-code-text: #e2e8f0;--shadow-sm: 0 1px 4px rgba(0, 0, 0, .32);--shadow-md: 0 10px 18px rgba(0, 0, 0, .34);--shadow-lg: 0 18px 28px rgba(0, 0, 0, .38)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:var(--font-family);font-size:var(--font-size-md);line-height:1.6;color:var(--color-text-primary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--border-radius-md)}::-webkit-scrollbar-thumb:hover{background:var(--color-divider)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}button{font-family:inherit;font-size:inherit;border:none;background:none;cursor:pointer;color:inherit}button,a,[role=button]{transition:transform var(--transition-fast),color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}button:active:not(:disabled),a:active,[role=button]:active{transform:scale(.97)}input,textarea{font-family:inherit;font-size:inherit;color:inherit;border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-surface);transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus-ring)}button:focus-visible,a:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}button:active:not(:disabled),a:active,[role=button]:active{transform:none}}.container{max-width:var(--max-content-width);margin:0 auto;padding:0 var(--spacing-md)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-md);background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-primary) 100%)}.auth-card{width:100%;max-width:424px;padding:var(--spacing-xxl);overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-top:4px solid var(--color-primary);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-lg)}.auth-brand{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);color:var(--color-text-primary)}.brand-mark{display:grid;place-items:center;width:48px;height:48px;color:#fff;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md)}.brand-text{min-width:0}.brand-name,.brand-copy{margin:0}.brand-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1.2}.brand-copy{margin-top:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.4}.auth-title{margin:0 0 var(--spacing-xl);color:var(--color-text-primary);font-size:var(--font-size-xxl);font-weight:var(--font-weight-bold);text-align:center}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper .form-input{flex:1;padding-right:calc(var(--spacing-lg) + 2rem)}.form-input{box-sizing:border-box;width:100%;min-height:44px;padding:var(--spacing-md);color:var(--color-text-primary);background-color:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--border-radius-md);font-size:var(--font-size-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.form-input:focus{outline:none;background-color:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus-ring)}.auth-card .btn-toggle-password{position:absolute;right:var(--spacing-sm);display:grid;place-items:center;width:36px;height:36px;padding:0;color:var(--color-text-secondary);border-radius:var(--border-radius-sm);line-height:1}.auth-card .btn-toggle-password:hover{color:var(--color-text-primary);background-color:var(--color-surface-hover)}.auth-card .btn,.settings-view .btn{min-height:44px;padding:0 var(--spacing-lg);border-radius:var(--border-radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.auth-card .btn-primary,.settings-view .btn-primary{color:#fff;background-color:var(--color-primary)}.auth-card .btn-primary:hover:not(:disabled),.settings-view .btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.auth-card .btn-primary:disabled,.settings-view .btn-primary:disabled{cursor:not-allowed;opacity:.6}.auth-card .btn-primary.is-loading{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.auth-card .btn-primary.is-loading:before{width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-left-color:#fff;border-radius:50%;content:"";animation:spin .75s linear infinite}.auth-card .btn-secondary,.settings-view .btn-secondary{color:var(--color-primary);background-color:var(--color-surface);border:1px solid var(--color-primary-alpha-border)}.auth-card .btn-secondary:hover:not(:disabled),.settings-view .btn-secondary:hover:not(:disabled){color:var(--color-primary-dark);background-color:var(--color-primary-alpha-low);border-color:var(--color-primary)}.success-message .btn-secondary{width:100%;margin-top:var(--spacing-sm)}.error-message,.success-message{padding:var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);text-align:center}.error-message{color:var(--color-error);background-color:var(--color-error-bg)}.success-message{color:var(--color-success);background-color:var(--color-success-bg)}.auth-footer{margin-top:var(--spacing-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:center}.auth-link{color:var(--color-primary);font-weight:var(--font-weight-medium);text-decoration:none}.auth-link:hover{text-decoration:underline}@media (max-width: 480px){.auth-card{padding:var(--spacing-xl)}.auth-brand{align-items:flex-start;justify-content:flex-start}}.memo-markdown{line-height:1.7;color:var(--color-text-primary);word-wrap:break-word;overflow-wrap:break-word}.memo-markdown h1,.memo-markdown h2,.memo-markdown h3,.memo-markdown h4,.memo-markdown h5,.memo-markdown h6{position:relative;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md);font-weight:var(--font-weight-bold);line-height:1.3}.memo-markdown h1:hover>.anchor,.memo-markdown h2:hover>.anchor,.memo-markdown h3:hover>.anchor,.memo-markdown h4:hover>.anchor,.memo-markdown h5:hover>.anchor,.memo-markdown h6:hover>.anchor,.memo-markdown h1:focus-within>.anchor,.memo-markdown h2:focus-within>.anchor,.memo-markdown h3:focus-within>.anchor,.memo-markdown h4:focus-within>.anchor,.memo-markdown h5:focus-within>.anchor,.memo-markdown h6:focus-within>.anchor,.memo-markdown .anchor:focus-visible{opacity:1}.memo-markdown .anchor{position:absolute;left:-1.3em;top:50%;transform:translateY(-50%);opacity:0;transition:opacity var(--transition-fast);color:var(--color-primary);text-decoration:none;font-weight:400;font-size:.85em;padding-right:.3em}.memo-markdown .anchor:before{content:"#"}.memo-markdown h1{font-size:var(--font-size-xxl);border-bottom:2px solid var(--color-border-strong);padding-bottom:var(--spacing-sm)}.memo-markdown h2{font-size:var(--font-size-xl);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-xs)}.memo-markdown h3{font-size:var(--font-size-lg)}.memo-markdown p{margin-bottom:var(--spacing-md)}.memo-markdown code{background-color:var(--color-surface-muted);padding:2px 6px;border-radius:var(--border-radius-sm);font-family:Consolas,Monaco,Courier New,monospace;font-size:.9em}.memo-markdown pre{background-color:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-md);overflow-x:auto;margin:var(--spacing-md) 0}.memo-markdown pre code{background-color:transparent;padding:0;border-radius:0}.memo-markdown blockquote{border-left:4px solid var(--color-primary);padding-left:var(--spacing-md);margin:var(--spacing-md) 0;color:var(--color-text-secondary);font-style:italic}.memo-markdown ul,.memo-markdown ol{padding-left:var(--spacing-xl);margin-bottom:var(--spacing-md)}.memo-markdown li{margin-bottom:var(--spacing-xs)}.memo-markdown a{color:var(--color-primary);text-decoration:underline}.memo-markdown a:hover{color:var(--color-primary-dark)}.memo-markdown table{width:100%;border-collapse:collapse;margin:var(--spacing-md) 0}.memo-markdown th,.memo-markdown td{border:1px solid var(--color-border);padding:var(--spacing-sm);text-align:left}.memo-markdown th{background-color:var(--color-surface-muted);font-weight:var(--font-weight-bold)}.memo-markdown img{max-width:100%;height:auto;border-radius:var(--border-radius-md);margin:var(--spacing-md) 0}.memo-markdown hr{border:none;border-top:1px solid var(--color-border);margin:var(--spacing-xl) 0}.memo-markdown .code-block-wrapper{margin:var(--spacing-md) 0;border-radius:var(--border-radius-md);border:1px solid var(--color-border);overflow:hidden}.memo-markdown .code-block-header{display:flex;align-items:center;justify-content:space-between;padding:4px var(--spacing-sm);background-color:var(--color-surface-muted);border-bottom:1px solid var(--color-border)}.memo-markdown .code-lang{font-size:var(--font-size-xs);font-family:Consolas,Monaco,Courier New,monospace;color:var(--color-text-secondary);text-transform:lowercase}.memo-markdown .code-copy-btn{font-size:var(--font-size-xs);padding:2px 8px;border-radius:var(--border-radius-sm);border:1px solid var(--color-border-strong);background-color:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);line-height:1.4}.memo-markdown .code-copy-btn:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary)}.memo-markdown .code-copy-btn.copied{color:var(--color-primary);border-color:var(--color-primary)}.memo-markdown .code-block-wrapper pre{margin:0;border:none;border-radius:0}.memo-markdown .mermaid-diagram{margin:var(--spacing-md) 0;padding:var(--spacing-md);background-color:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--border-radius-md);text-align:center;overflow-x:auto}.memo-markdown .mermaid-loading{color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--spacing-md)}.memo-markdown .mermaid-error{background-color:var(--color-surface-muted);border:1px dashed var(--color-border-strong);border-radius:var(--border-radius-md);padding:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary)}
