.error-boundary{display:flex;min-height:240px;width:100%;box-sizing:border-box;align-items:center;justify-content:center;padding:24px;color:var(--text-primary, #111827);background:var(--bg-primary, #ffffff)}.error-boundary--isolate{min-height:0;height:100%;flex:1;overflow:hidden}.error-boundary__panel{width:min(100%,420px);border:1px solid var(--border-primary, #e5e7eb);border-radius:18px;padding:24px;background:var(--bg-secondary, #f8fafc);box-shadow:0 18px 45px #0f172a14;text-align:center}.error-boundary__title{margin:0;font-size:18px;font-weight:800}.error-boundary__message{margin:10px 0 0;color:var(--text-secondary, #64748b);font-size:14px;line-height:1.5}.error-boundary__button{margin-top:18px;border:none;border-radius:999px;padding:10px 18px;color:#fff;background:var(--accent, #2563eb);font-size:14px;font-weight:700;cursor:pointer}.error-boundary__stack{max-height:180px;margin:18px 0 0;padding:12px;overflow:auto;border-radius:12px;text-align:left;white-space:pre-wrap;color:var(--text-secondary, #475569);background:var(--bg-primary, #ffffff);font-size:12px;line-height:1.45}.pwa-update-prompt{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:2500;display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:10px;background:var(--bg-primary);color:var(--text-primary);box-shadow:0 4px 20px #00000026;max-width:320px;width:calc(100vw - 32px)}.pwa-update-prompt__message{margin:0;font-size:14px;line-height:1.5}.pwa-update-prompt__actions{display:flex;gap:8px;justify-content:flex-end}.pwa-update-prompt__btn{padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;border:none}.pwa-update-prompt__btn--primary{background:#2563eb;color:#fff}.pwa-update-prompt__btn--secondary{background:transparent;color:var(--text-primary);border:1px solid currentColor}#app-shell-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;display:flex;flex-direction:column;background:var(--bg-canvas);color:var(--text-primary)}#app-shell-root .app-shell{display:flex;min-height:100%;flex:1;flex-direction:column}#app-shell-root .app-shell__header{display:flex;height:56px;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--border-primary);background:var(--bg-primary)}#app-shell-root .app-shell__wordmark{color:var(--text-primary);font-family:inherit;font-size:18px;font-weight:700;letter-spacing:-.01em}#app-shell-root .app-shell__icon{width:32px;height:32px;border-radius:10px;background:var(--bg-secondary)}#app-shell-root .app-shell__body{display:flex;min-height:0;flex:1}#app-shell-root .app-shell__side{width:280px;padding:16px;border-right:1px solid var(--border-primary);background:var(--bg-primary)}#app-shell-root .app-shell__main{flex:1;padding:20px}#app-shell-root .app-shell__line{height:14px;margin-bottom:10px;border-radius:6px;background:linear-gradient(90deg,var(--bg-secondary) 0%,var(--border-primary) 50%,var(--bg-secondary) 100%);background-size:200% 100%;animation:app-shell-shimmer 1.6s ease-in-out infinite}#app-shell-root .app-shell__line--title{width:40%;height:20px;margin-bottom:20px}#app-shell-root .app-shell__line--w45{width:45%}#app-shell-root .app-shell__line--w60{width:60%}#app-shell-root .app-shell__line--w64{width:64%}#app-shell-root .app-shell__line--w70{width:70%}#app-shell-root .app-shell__line--w80{width:80%}#app-shell-root .app-shell__line--w88{width:88%}#app-shell-root .app-shell__line--w92{width:92%}#app-shell-root.app-shell--hidden{display:none!important}@keyframes app-shell-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 767px){#app-shell-root .app-shell__side{display:none}#app-shell-root .app-shell__main{padding:16px}}@media (prefers-reduced-motion: reduce){#app-shell-root .app-shell__line{animation:none;background:var(--bg-secondary)}}:root{font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,Helvetica Neue,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,sans-serif;letter-spacing:-.01em;--bg-canvas: #f4f5f7;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--bg-hover: #f3f4f6;--bg-input: #ffffff;--bg-modal: #ffffff;--bg-card: #ffffff;--bg-empty: #f9fafb;--border-primary: #e5e7eb;--border-secondary: #d1d5db;--border-input: #d1d5db;--text-primary: #111827;--text-secondary: #374151;--text-tertiary: #4b5563;--text-muted: #6b7280;--text-placeholder: #9ca3af;--text-disabled: #d1d5db;--shadow-modal: 0 10px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1);--shadow-dropdown: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -2px rgba(0,0,0,.1);--overlay-bg: rgba(17, 24, 39, .4);--accent: #4f46e5;--accent-hover: #4338ca;--accent-light: rgba(37, 99, 235, .08);--accent-rgb: 37, 99, 235;--danger: #ef4444;--success: #10b981;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -2px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1)}[data-theme=dark]{--bg-canvas: #111827;--bg-primary: #1f2937;--bg-secondary: #374151;--bg-tertiary: #4b5563;--bg-hover: #374151;--bg-input: #374151;--bg-modal: #1f2937;--bg-card: #1f2937;--bg-empty: #1f2937;--border-primary: #374151;--border-secondary: #4b5563;--border-input: #4b5563;--text-primary: #f9fafb;--text-secondary: #e5e7eb;--text-tertiary: #d1d5db;--text-muted: #9ca3af;--text-placeholder: #6b7280;--text-disabled: #4b5563;--shadow-modal: 0 10px 25px -5px rgba(0,0,0,.5);--shadow-dropdown: 0 4px 6px -1px rgba(0,0,0,.4);--overlay-bg: rgba(0,0,0,.7);--accent: #6366f1;--accent-hover: #818cf8;--danger: #f87171;--success: #34d399}body{font-family:inherit;margin:0;padding:0;background-color:var(--bg-canvas);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.panel{background-color:var(--bg-primary);border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d;border:1px solid var(--border-primary);transition:box-shadow .2s ease,border-color .2s ease}.btn{transition:all .2s ease;cursor:pointer}.btn:hover{filter:brightness(.96)}.btn:active{transform:scale(.98)}.input-focus{transition:outline .2s ease,border-color .2s ease}.input-focus:focus-within{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-placeholder)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dq-mention{display:inline-block;padding:1px 5px;border-radius:4px;font-weight:600;text-decoration:none!important;margin:0 1px;transition:background-color .2s ease}.dq-chat-content .dq-mention{background-color:var(--accent-light, rgba(37, 99, 235, .08));color:var(--accent, #2563eb)}.bubble-me .dq-chat-content .dq-mention{background-color:#ffffff40;color:#fff}@view-transition{navigation: auto;}::view-transition-old(root),::view-transition-new(root){animation-duration:.2s;animation-timing-function:ease;mix-blend-mode:normal}@media (prefers-reduced-motion: reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:1ms!important;animation-delay:0ms!important}}
