:root{--bg-primary:#ffffff;--bg-secondary:#f5f5f5;--bg-tertiary:#e8e8e8;--bg-surface:#f0f0f0;--text-primary:#1a1a1a;--text-secondary:#666666;--text-muted:#767676;--accent:#c48a50;--accent-hover:#b07840;--accent-light:rgba(196,138,80,0.12);--user-bg:transparent;--assistant-bg:transparent;--border:#e0e0e0;--border-light:#d0d0d0;--success:#4caf50;--warning:#ff9800;--error:#f44336;--success-bg:rgba(76,175,80,0.12);--success-text:#2e7d32;--error-bg:rgba(244,67,54,0.12);--error-text:#c62828;--warning-bg:rgba(255,152,0,0.12);--warning-text:#e65100;--info-bg:rgba(33,150,243,0.12);--info-text:#1565c0;--info-border:rgba(33,150,243,0.3);--color-on-accent:#ffffff;--radius:12px;--radius-sm:8px;--max-content:80%;--sidebar-width:260px;--input-bg:#f5f5f5;--code-bg:#f0f0f0;--shadow-sm:0 1px 3px rgba(0,0,0,0.08);--shadow-md:0 4px 12px rgba(0,0,0,0.1);--border-subtle:rgba(0,0,0,0.06);--grid-line:#e0e0e0;--slider-rag-on:#3b82f6;--slider-rag-only:#2563eb;--slider-verify-on:#f59e0b;--slider-verify-only:#d97706;--slider-plan-on:#10b981;--slider-plan-only:#059669;--slider-translation-light:#a855f7;--slider-translation-full:#7c3aed;--slider-off:var(--bg-tertiary)}html[data-theme=dark]{--bg-primary:#212121;--bg-secondary:#2f2f2f;--bg-tertiary:#3a3a3a;--bg-surface:#303030;--text-primary:#ececec;--text-secondary:#a8a8a8;--text-muted:#8a8a8a;--accent:#d4a574;--accent-hover:#c49464;--accent-light:rgba(212,165,116,0.15);--user-bg:transparent;--assistant-bg:transparent;--border:#3a3a3a;--border-light:#4a4a4a;--success:#66bb6a;--warning:#ffa726;--error:#ef5350;--success-bg:rgba(102,187,106,0.15);--success-text:#66bb6a;--error-bg:rgba(239,83,80,0.15);--error-text:#ef5350;--warning-bg:rgba(255,167,38,0.15);--warning-text:#ffa726;--info-bg:rgba(66,165,245,0.15);--info-text:#42a5f5;--info-border:rgba(66,165,245,0.3);--color-on-accent:#ffffff;--input-bg:#2f2f2f;--code-bg:#1a1a1a;--shadow-sm:0 1px 3px rgba(0,0,0,0.3);--shadow-md:0 4px 12px rgba(0,0,0,0.4);--border-subtle:rgba(255,255,255,0.04);--grid-line:#3a3a3a;--slider-rag-on:#60a5fa;--slider-rag-only:#3b82f6;--slider-verify-on:#fbbf24;--slider-verify-only:#f59e0b;--slider-plan-on:#34d399;--slider-plan-only:#10b981;--slider-translation-light:#c084fc;--slider-translation-full:#a855f7;--slider-off:var(--bg-tertiary)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,sans-serif;background:var(--bg-primary);color:var(--text-primary);height:100vh;height:100dvh;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;flex-direction:column}#main-content{flex:1 1;min-height:0;display:flex;flex-direction:column}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}.ime-off,input[type=email],input[type=number],input[type=password],input[type=url]{ime-mode:disabled}.skip-to-content{position:absolute;top:-100px;left:16px;z-index:9999;background:var(--accent);color:#fff;padding:8px 16px;border-radius:var(--radius-sm);font-weight:600;text-decoration:none;transition:top .2s}.skip-to-content:focus{top:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (forced-colors:active){:focus-visible{outline:3px solid LinkText}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app-layout{min-height:0}.app-layout,.app-main{display:flex;flex:1 1;height:100%}.app-main{min-width:0}.app,.app-main{flex-direction:column}.app{display:flex;height:100%}.app-header{display:flex;align-items:center;justify-content:center;padding:12px 20px;border-bottom:1px solid var(--border);position:relative;min-height:52px}.app-header h1{font-size:16px;font-weight:600;color:var(--text-primary)}.header-actions{position:absolute;right:20px;display:flex;gap:8px}.new-chat-button{background:transparent;color:var(--text-secondary);border:1px solid var(--border);padding:6px 14px;border-radius:20px;cursor:pointer;font-size:13px;transition:all .2s}.new-chat-button:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-light)}@keyframes spin{to{transform:rotate(1turn)}}.theme-toggle{display:flex;align-items:center;gap:6px;background:transparent;color:var(--text-secondary);border:none;padding:4px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;transition:all .2s}.theme-toggle:hover{color:var(--text-primary);background:var(--bg-tertiary)}.theme-toggle svg{flex-shrink:0}:root code,:root pre,html[data-theme=dark] code,html[data-theme=dark] pre{background:var(--code-bg)}@media (max-width:1024px) and (min-width:769px){:root{--max-content:90%}.app-header{padding:10px 16px}.top-nav-inner{max-width:100%;padding:0 4px}}@media (max-width:768px){:root{--max-content:97%;--font-base:clamp(14px,3.5vw,16px)}.app-header{flex-direction:column;gap:8px;padding:10px 12px;min-height:auto}.app-header h1{font-size:14px}.header-actions{position:static;flex-wrap:wrap;justify-content:center;gap:6px}.modal-content{width:95vw;max-width:none;max-height:85vh;margin:10px}.export-dropdown{right:auto;left:0}.top-nav{padding:0 8px}.top-nav-inner{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;scrollbar-width:none}.top-nav-inner::-webkit-scrollbar{display:none}.top-nav-link{padding:10px 12px;font-size:12px;white-space:nowrap;flex-shrink:0}.doc-attach-button,.file-attachment-button,.image-attachment-button,.settings-button{min-width:44px;min-height:44px;padding:10px}}@media (max-width:480px){:root{--max-content:100%;--font-base:14px}.app-header{padding:8px 10px;gap:6px}.app-header h1{font-size:13px}.header-actions{gap:4px}.modal-content{width:100vw;max-width:100vw;max-height:90vh;margin:0;border-radius:var(--radius) var(--radius) 0 0}.top-nav-link{padding:8px 10px;font-size:11px}.top-nav-badge{min-width:16px;height:16px;font-size:10px}}.settings-button{background:none;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;padding:6px 8px;border-radius:var(--radius-sm);display:flex;align-items:center;transition:all .15s}.settings-button:hover{color:var(--text-primary);border-color:var(--text-muted)}.header-admin-link{text-decoration:none}.preset-selector{display:flex;align-items:center;gap:8px;padding:8px 20px}.preset-selector,.top-nav{border-bottom:1px solid var(--border)}.top-nav{background:var(--bg-secondary);padding:0 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.top-nav-inner{gap:4px;max-width:90%;margin:0 auto}.top-nav-inner,.top-nav-link{display:flex;align-items:center}.top-nav-link{gap:6px;padding:10px 16px;color:var(--text-secondary);text-decoration:none;font-size:13px;border-bottom:2px solid transparent;transition:all .2s}.top-nav-link:hover{color:var(--text-primary)}.top-nav-link--active{color:var(--accent);border-bottom-color:var(--accent)}.top-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--error);color:#fff;font-size:11px;font-weight:600;line-height:1}.image-attachment{display:flex;align-items:center;position:relative}.image-attachment--dragging{outline:2px dashed var(--accent);outline-offset:-2px;border-radius:var(--radius-sm)}.image-attachment-button{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.image-attachment-button:hover:not(:disabled){color:var(--accent);background:var(--accent-light)}.image-attachment-button:disabled{opacity:.3;cursor:not-allowed}.doc-attach-button{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s;flex-shrink:0}.doc-attach-button:hover:not(:disabled){color:var(--accent);background:var(--accent-light)}.doc-attach-button:disabled{opacity:.3;cursor:not-allowed}.doc-attach-error{font-size:11px;color:var(--error);padding:0 4px}.doc-attach-uploading{font-size:11px;color:var(--text-secondary);padding:0 4px}.doc-attach-list{display:flex;gap:6px;flex-wrap:wrap;padding:4px 0}.doc-attach-item{display:flex;align-items:center;gap:4px;padding:2px 6px;background:var(--bg-surface);border:1px solid var(--border);border-radius:4px;font-size:11px}.doc-attach-icon{font-weight:700;font-size:10px;color:var(--accent);background:var(--accent-light);padding:1px 4px;border-radius:3px}.doc-attach-name{color:var(--text-primary);max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-attach-remove,.doc-attach-size{color:var(--text-muted)}.doc-attach-remove{background:none;border:none;cursor:pointer;font-size:12px;padding:0 2px;line-height:1}.doc-attach-remove:hover{color:var(--error)}.file-attachment{display:flex;align-items:center;position:relative}.file-attachment--dragging{outline:2px dashed var(--accent);outline-offset:-2px;border-radius:var(--radius-sm)}.file-attachment-button{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.file-attachment-button:hover:not(:disabled){color:var(--accent);background:var(--accent-light)}.file-attachment-button:disabled{opacity:.3;cursor:not-allowed}.file-attachment-btn-wrap{position:relative;display:inline-flex;align-items:center}.file-attachment-count-badge{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:0 3px;background:var(--accent);color:var(--bg-primary);border-radius:8px;font-size:9px;font-weight:700;line-height:16px;text-align:center;pointer-events:none;z-index:1}.file-attachment-count-badge--limit{background:var(--error,#ef4444)}.file-attachment-btn-wrap--limit .file-attachment-button{color:var(--error,#ef4444)}.file-upload-progress{font-size:.75rem;color:var(--accent);margin-left:4px}.file-upload-error{font-size:.75rem;color:var(--error);margin-left:4px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-drop-overlay{position:absolute;inset:0;background:rgba(var(--accent-rgb),.1);border:2px dashed var(--accent);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--accent);z-index:10}.file-type-counter{display:flex;align-items:center;gap:6px;margin-left:4px;flex-shrink:0}.file-type-counter__item{display:inline-flex;align-items:center;gap:2px;font-size:10px;color:var(--text-muted);line-height:1;white-space:nowrap;cursor:default;transition:color .15s}.file-type-counter__item--limit{color:var(--error,#ef4444);opacity:.8}.file-type-counter__num{font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:480px){.file-type-counter{gap:4px}.file-type-counter__item,.file-type-counter__num{font-size:9px}}.chat-input-images{display:flex;gap:8px;padding:8px 16px 0;overflow-x:auto;max-width:var(--max-content);margin:0 auto}.image-preview-item{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;white-space:nowrap}.image-preview-thumb{width:32px;height:32px;object-fit:cover;border-radius:4px}.image-preview-name{color:var(--text-secondary);max-width:120px;overflow:hidden;text-overflow:ellipsis}.image-preview-remove{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:2px 4px;font-size:14px;line-height:1;border-radius:4px}.image-preview-remove:hover{color:var(--error);background:rgba(239,83,80,.1)}.chat-input-docs{display:flex;gap:8px;padding:8px 16px 0;overflow-x:auto;flex-wrap:wrap;max-width:var(--max-content);margin:0 auto}.doc-preview-item{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;white-space:nowrap}.doc-preview-icon{font-size:16px;line-height:1}.doc-preview-name{color:var(--text-secondary);max-width:160px;overflow:hidden;text-overflow:ellipsis}.doc-preview-size{color:var(--text-muted);font-size:11px}.doc-preview-remove{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:2px 4px;font-size:14px;line-height:1;border-radius:4px}.doc-preview-remove:hover{color:var(--error);background:rgba(239,83,80,.1)}.file-input-hidden{display:none}.nav-lang-badge{font-size:11px;font-weight:600}.image-upload-progress{font-size:12px;color:var(--accent);padding:4px 8px}.image-upload-error{font-size:12px;color:var(--error);padding:4px 8px}.image-drop-overlay{position:absolute;inset:0;background:rgba(212,165,116,.15);border:2px dashed var(--accent);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:14px;font-weight:500;z-index:10;pointer-events:none}.message-content pre code.hljs{background:var(--code-bg);padding:14px 16px}.message-content .katex-display{margin:12px 0;overflow-x:auto}.message-content .katex{font-size:1.05em}@media print{.app-header,.chat-input-area,.empty-state,.export-menu-wrap,.plan-progress,.preset-manager,.profile-editor-overlay,.shortcut-help-overlay,.sidebar,.sidebar-toggle,.status-bar,.streaming-stats,.system-prompt-editor{display:none!important}.app-layout{display:block!important}.app-main{margin-left:0!important}.app,.app-main{padding:0!important}.app{max-width:100%!important}.chat-area{overflow:visible!important;max-height:none!important;padding:0!important}.message{break-inside:avoid;page-break-inside:avoid;border-bottom:1px solid #ccc;padding:12px 0;margin:0}.message-header{margin-bottom:4px}.message-role{font-weight:700;font-size:12px;color:#333}.message-content{font-size:12px;line-height:1.6;color:#000}.feedback-section,.message-actions,.msg-action-btn,.retry-button{display:none!important}.message-content pre{background:#f5f5f5!important;border:1px solid #ddd;padding:8px;font-size:11px;overflow-x:visible;white-space:pre-wrap;word-break:break-all}.message-content code{background:#f0f0f0!important;color:#000!important}.code-copy-btn{display:none!important}.tool-call-card{border:1px solid #ccc;background:#fafafa!important;padding:6px 8px;margin:4px 0;font-size:11px;break-inside:avoid;page-break-inside:avoid}@page{margin:15mm;size:A4}.chat-area:before{content:"LLMCore Agent Chat - 会話エクスポート";display:block;font-size:16px;font-weight:700;text-align:center;padding-bottom:12px;margin-bottom:12px;border-bottom:2px solid #333;color:#000}.app,.app-layout,.app-main,.chat-area,body{background:white!important;color:black!important}:root,html[data-theme=dark]{--bg-primary:#ffffff!important;--bg-secondary:#f5f5f5!important;--text-primary:#000000!important;--text-secondary:#333333!important;--border:#cccccc!important}}.auth-guard_sessionExpiredOverlay__A0Q21{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5)}.auth-guard_sessionExpiredCard__IFCiF{background:var(--bg,#fff);border-radius:.75rem;padding:2rem;max-width:400px;width:90%;box-shadow:0 8px 32px rgba(0,0,0,.2);text-align:center}.auth-guard_lockIcon__9Q_I_{font-size:2rem;margin-bottom:.75rem}.auth-guard_sessionExpiredTitle__tljKC{font-size:1.125rem;font-weight:700;margin-bottom:.75rem}.auth-guard_sessionExpiredDesc__DeKLV{font-size:.875rem;color:var(--text-secondary,#666);margin-bottom:1.5rem}.auth-guard_reloginButton__dEyJ2{padding:.625rem 1.5rem;background:var(--primary,#2196f3);color:#fff;border:none;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:600}.auth-guard_spinnerContainer__GsUR5{display:flex;justify-content:center;align-items:center;height:100vh}.auth-guard_spinner__Zk1qP{width:24px;height:24px;border:3px solid #e0e0e0;border-top-color:#2196f3;border-radius:50%;animation:auth-guard_spin__TwhCE .8s linear infinite}.auth-guard_spinnerLabel___w_Yd{margin-left:8px;color:#888;font-size:14px}@keyframes auth-guard_spin__TwhCE{to{transform:rotate(1turn)}}