 .skip-link{position:absolute;top:-100px;left:50%;transform:translateX(-50%);background:var(--bs-primary);color:#fff;padding:0.75rem 1.5rem;border-radius:0 0 0.5rem 0.5rem;z-index:9999;text-decoration:none;font-weight:600;transition:top 0.2s ease;}.skip-link:focus{top:0;outline:2px solid var(--bs-primary);outline-offset:2px;}@media (prefers-reduced-motion:reduce){.skip-link,.scroll-bottom-btn,.message-bubble,.typing-dots span{transition:none !important;animation:none !important;}}:root{--topbar-h:64px;--chat-top-gap:16px;--chat-max-width:90%;--chat-side-padding:1rem;--chat-bottom-gap:10px;--footer-h:32px;--composer-max-h:40vh;--bubble-radius:16px;--ai-bg:var(--bs-light-bg-subtle,#f5f7fb);--me-bg:var(--bs-primary-bg-subtle,#e7efff);}html,body{height:100%;}body.landing-page{overflow-x:hidden;overflow-y:auto;}.pc-container,.pc-content,.chat-wrapper{min-height:0;overflow:hidden;}.chat-scroll-clip{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;position:relative;border-radius:42px;background:var(--bs-body-bg);}.pc-footer{position:sticky;bottom:0;z-index:5;}.pc-footer{pointer-events:none;}.pc-footer .footer-wrapper,.pc-footer a,.pc-footer button,.pc-footer input,.pc-footer select,.pc-footer label{pointer-events:auto;}.dark-transparent.sidebartoggler{pointer-events:none;}#main-wrapper.show-sidebar .dark-transparent.sidebartoggler{pointer-events:auto;}.pc-container,.pc-content{height:calc(100dvh - var(--topbar-h));overflow:hidden;min-height:0;}.chat-wrapper{display:flex;flex-direction:column;min-height:0;overflow:hidden;max-width:var(--chat-max-width);margin:var(--chat-top-gap) auto var(--chat-bottom-gap);height:calc(100dvh - var(--topbar-h) - var(--footer-h) - var(--chat-top-gap) - var(--chat-bottom-gap));}.chat-wrapper #msg-instructions{margin:0 5% !important;}.container-compact{max-width:var(--chat-max-width);margin:0 auto;}#messages{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;border-radius:0;background:transparent;padding:12px var(--chat-side-padding) 16px !important;}#scroll-bottom-btn.scroll-bottom-btn{position:absolute;left:50%;bottom:12px;width:44px;height:44px;padding:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,0.15);opacity:0;transform:translate(-50%,8px);transition:opacity .18s ease,transform .18s ease;pointer-events:none;z-index:3;}#scroll-bottom-btn.scroll-bottom-btn.is-visible{opacity:1;transform:translate(-50%,0);pointer-events:auto;}#messages{scrollbar-width:thin;scrollbar-color:transparent transparent;scrollbar-gutter:stable both-edges;transition:scrollbar-color 0.2s ease;}#messages:hover{scrollbar-color:rgba(0,0,0,.2) transparent;}#messages::-webkit-scrollbar{width:8px;}#messages::-webkit-scrollbar-thumb{background:transparent;border-radius:21px;transition:background 0.2s ease;}#messages:hover::-webkit-scrollbar-thumb{background:rgba(0,0,0,.12);}#messages::-webkit-scrollbar-track{background:transparent;}.chat-composer{position:sticky;bottom:0;z-index:10;padding:12px 0px 16px 0px !important;border-top:none !important;border-bottom-left-radius:2em;border-bottom-right-radius:2em;}.chat-composer>*{margin:0 auto;}#composer-form{display:flex;gap:0px !important;width:100%;background:var(--bs-body-bg);border-radius:2em;padding:.5rem;transition:border-radius .12s ease;}#composer-form.pill{border-radius:2em;}#composer-form.multiline{border-radius:2em;}#composer{flex:1 1 auto;resize:none;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;min-height:44px;max-height:var(--composer-max-h);border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:0;border-left:none !important;border-right:none !important;padding:.8rem 1rem;line-height:1.35;scrollbar-width:none;-ms-overflow-style:none;}#composer::-webkit-scrollbar{display:none;}#btn-send{flex:1 1 auto;resize:none;overflow:hidden;min-height:44px;max-height:var(--composer-max-h);border-radius:2em;border-top-left-radius:0;border-bottom-left-radius:0;}#btn-attach{min-height:44px;max-height:var(--composer-max-h);border-radius:2em 0 0 2em;border:var(--bs-border-width) solid #aebcc3;border-right:none !important;background:var(--bs-body-bg);color:var(--bs-body-color);display:inline-flex;align-items:center;justify-content:center;padding:0 .9rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,background-color .12s ease,color .12s ease;}#btn-attach:hover,#btn-attach:focus{box-shadow:none;background:var(--bs-tertiary-bg);color:var(--bs-body-color);}[data-bs-theme="dark"] #btn-attach{background:var(--bs-body-bg);border-color:var(--bs-border-color);color:var(--bs-body-color);}[data-bs-theme="dark"] #btn-attach:hover,[data-bs-theme="dark"] #btn-attach:focus{background:var(--bs-tertiary-bg);}[data-bs-theme="light"] #btn-attach:hover,[data-bs-theme="light"] #btn-attach:focus{border-color:#80c2ed;}.attachment-list{display:flex;flex-wrap:wrap;gap:.5rem;}.attachment-list.d-none{display:none !important;}.attachment-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;border-radius:999px;background:var(--bs-body-bg);border:1px solid var(--bs-body-color,rgba(0,0,0,.12));font-size:.85rem;margin:0 5% !important;}.attachment-chip .attachment-name{max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.attachment-chip button{border:none;background:transparent;color:inherit;font-size:1rem;line-height:1;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;}.attachment-chip button:hover{opacity:.7;}#messages>.message-bubble+.message-bubble{margin-top:10px;}@media (max-width:600px){.message-bubble{max-width:92%;}}.message-bubble{max-width:min(80%,780px);border-radius:16px;padding:.75rem .9rem;white-space:normal;overflow-wrap:anywhere;box-shadow:0 1px 1px rgba(0,0,0,.02);}.message-bubble.ai{background:var(--ai-bg);margin-left:3%;margin-right:auto;margin-bottom:1%;border-top-left-radius:8px;}.message-bubble.me{background:var(--me-bg);margin-left:auto;margin-right:3%;margin-bottom:1%;border-top-right-radius:8px;white-space:pre-wrap;}.message-bubble p{margin:0 0 .6rem;}.message-bubble p:last-child{margin-bottom:0;}.message-bubble ul,.message-bubble ol{margin:0 0 .6rem 1.25rem;}.message-bubble ul{list-style:disc !important;list-style-position:outside;padding-left:1.25rem !important;}.message-bubble ol{list-style:decimal !important;list-style-position:outside;padding-left:1.25rem !important;}.message-bubble li{margin:.25rem 0;}.message-bubble code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;background:rgba(0,0,0,.06);padding:0 .25rem;border-radius:.25rem;}.message-bubble pre{background:rgba(0,0,0,.06);padding:.75rem .9rem;border-radius:.5rem;overflow:auto;line-height:1.4;position:relative;}.message-bubble pre code{background:transparent;padding:0;display:block;white-space:pre;}.message-bubble .code-copy-btn{position:absolute;top:8px;right:8px;font-size:.75rem;line-height:1;padding:.25rem .5rem;border-radius:.3rem;border:1px solid rgba(0,0,0,.15);background:rgba(255,255,255,.85);color:inherit;cursor:pointer;}[data-bs-theme="dark"] .message-bubble .code-copy-btn{background:rgba(0,0,0,.35);border-color:rgba(255,255,255,.2);}.message-bubble .code-copy-btn:hover{opacity:.9;}.psygpt-feedback-controls{margin-top:0;margin-left:3%;margin-right:auto;display:inline-flex;gap:.4rem;align-items:center;opacity:0;visibility:hidden;transition:opacity .2s ease;}.psygpt-feedback-controls.visible{opacity:1;visibility:visible;}.psygpt-feedback-controls.waiting{pointer-events:none;}.psygpt-user-controls{margin-top:0;margin-left:auto;margin-right:3%;display:inline-flex;gap:.4rem;align-items:center;}.psygpt-user-controls .chat-action-bg{width:28px;height:28px;background:transparent !important;color:inherit;transition:background-color .15s ease,color .15s ease;}.psygpt-user-controls button:hover .chat-action-bg,.psygpt-user-controls button:focus-visible .chat-action-bg{background:rgba(0,0,0,.08) !important;}[data-bs-theme="dark"] .psygpt-user-controls button:hover .chat-action-bg,[data-bs-theme="dark"] .psygpt-user-controls button:focus-visible .chat-action-bg{background:rgba(255,255,255,.12) !important;}.psygpt-user-controls button:focus-visible .chat-action-bg{outline:2px solid var(--bs-primary);outline-offset:1px;}.psygpt-feedback-controls .chat-action-bg{width:28px;height:28px;background:transparent !important;color:inherit;transition:background-color .15s ease,color .15s ease;}.psygpt-feedback-controls button:hover .chat-action-bg,.psygpt-feedback-controls button:focus-visible .chat-action-bg{background:rgba(0,0,0,.08) !important;}[data-bs-theme="dark"] .psygpt-feedback-controls button:hover .chat-action-bg,[data-bs-theme="dark"] .psygpt-feedback-controls button:focus-visible .chat-action-bg{background:rgba(255,255,255,.12) !important;}.psygpt-feedback-controls button:focus-visible .chat-action-bg{outline:2px solid var(--bs-primary);outline-offset:1px;}.psygpt-feedback-controls .feedback-btn.active .chat-action-bg{}.psygpt-feedback-controls .chat-action-bg.copied{width:auto;height:26px;padding:0 .5rem;border-radius:999px;font-size:.75rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;background:rgba(0,0,0,.08) !important;}[data-bs-theme="dark"] .psygpt-feedback-controls .chat-action-bg.copied{background:rgba(255,255,255,.12) !important;}.psygpt-feedback-toast{position:fixed;bottom:1.5rem;right:1.5rem;background-color:var(--bs-dark);color:#fff;padding:.5rem .75rem;border-radius:999px;box-shadow:0 .5rem 1.5rem rgba(0,0,0,.2);opacity:0;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease;z-index:1080;font-size:.875rem;}.psygpt-feedback-toast.show{opacity:.95;transform:translateY(0);}.psygpt-feedback-toast.error{background-color:var(--bs-danger);}.preloader img.theme-dark{display:none;}[data-bs-theme="dark"] .preloader img.theme-light{display:none;}[data-bs-theme="dark"] .preloader img.theme-dark{display:inline-block;}.preloader.loader-bg{background-color:var(--bs-body-bg) !important;}[data-bs-theme="dark"] .preloader.loader-bg{background-color:var(--bs-body-bg) !important;}.message-bubble.ai.typing{display:inline-flex;align-items:center;gap:8px;color:var(--bs-body-color);}.message-bubble.ai .typing-dots{display:inline-flex;align-items:center;gap:6px;}.message-bubble.ai .typing-dots span{width:6px;height:6px;border-radius:50%;background-color:currentColor;opacity:.35;display:inline-block;animation:typing-blink 1.2s infinite ease-in-out;}.message-bubble.ai .typing-dots span:nth-child(2){animation-delay:.2s;}.message-bubble.ai .typing-dots span:nth-child(3){animation-delay:.4s;}@keyframes typing-blink{0%,80%,100%{transform:translateY(0);opacity:.35;}40%{transform:translateY(-2px);opacity:.9;}}#composer:focus,#composer:focus-visible{border-color:var(--bs-primary) !important;box-shadow:0 -0.25rem 0 0 rgba(var(--bs-primary-rgb),0.25),0 0.25rem 0 0 rgba(var(--bs-primary-rgb),0.25) !important;}#composer-form:has(#composer:focus) #btn-attach,#composer-form:has(#composer:focus-visible) #btn-attach{border-color:var(--bs-primary) !important;box-shadow:-0.25rem 0 0 0 rgba(var(--bs-primary-rgb),0.25),0 -0.25rem 0 0 rgba(var(--bs-primary-rgb),0.25),0 0.25rem 0 0 rgba(var(--bs-primary-rgb),0.25) !important;}#composer-form:has(#composer:focus) #btn-send,#composer-form:has(#composer:focus-visible) #btn-send{box-shadow:0.25rem 0 0 0 rgba(var(--bs-primary-rgb),0.25),0 -0.25rem 0 0 rgba(var(--bs-primary-rgb),0.25),0 0.25rem 0 0 rgba(var(--bs-primary-rgb),0.25) !important;}#settings-modal-wrapper .settings-panel{outline:none;}#settings-modal-wrapper .settings-panels{display:grid;position:relative;}#settings-modal-wrapper .settings-panels .settings-panel{grid-area:1 / 1;width:100%;}#settings-modal-wrapper .settings-panels .settings-panel:not(.active){visibility:hidden;pointer-events:none;}#settingsModal .nav-pills .nav-link{border-radius:.75rem;display:flex;align-items:center;gap:.5rem;}#settingsModal .nav-pills .nav-link:focus-visible{outline:2px solid var(--bs-primary);outline-offset:2px;}#settingsModal .nav-pills{--bs-nav-pills-link-active-bg:var(--bs-primary);--bs-nav-link-hover-color:var(--bs-primary);}#settingsModal [data-settings-save][aria-busy="true"]{position:relative;pointer-events:none;}#settingsModal [data-settings-save][aria-busy="true"]::after{content:"";position:absolute;right:1rem;width:1rem;height:1rem;border-radius:50%;border:2px solid transparent;border-top-color:currentColor;border-left-color:currentColor;animation:settings-spin 0.7s linear infinite;}@keyframes settings-spin{from{transform:rotate(0);}to{transform:rotate(360deg);}}#settings-toast-container{position:fixed;top:1rem;right:1rem;z-index:1080;pointer-events:none;}#settings-toast-container .toast{pointer-events:auto;}.dropup .dropdown-toggle::after{border-bottom-color:transparent !important;border-bottom-style:solid;}#composer-form .btn-attach{border-style:solid;border-width:var(--bs-border-width,1px);border-color:var(--bs-border-color);background-color:var(--bs-body-bg);}[data-bs-theme="light"] #composer-form .btn-attach{border-color:#aebcc3 !important;}[data-bs-theme="dark"] #composer-form .btn-attach{border-color:var(--bs-border-color) !important;}.banner-image{overflow:visible !important;min-width:auto !important;max-width:100% !important;width:100% !important;}.banner-image img{width:100%;height:auto;object-fit:contain;}@keyframes fadeInUp{from{opacity:0;transform:translate3d(0,30px,0);}to{opacity:1;transform:translate3d(0,0,0);}}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@keyframes scaleIn{from{opacity:0;transform:scale(0.95);}to{opacity:1;transform:scale(1);}}.animate-on-scroll{opacity:0;transition:opacity 0.6s ease-out,transform 0.6s ease-out;will-change:opacity,transform;}.animate-on-scroll.visible{opacity:1;transform:none;}.fade-in-up{transform:translate3d(0,30px,0);}.fade-in{}.scale-in{transform:scale(0.95);}.delay-100{transition-delay:100ms;}.delay-200{transition-delay:200ms;}.delay-300{transition-delay:300ms;}.delay-400{transition-delay:400ms;}.delay-500{transition-delay:500ms;}.card{}.feature-icon-wrapper{display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;border-radius:12px;background:rgba(var(--bs-primary-rgb),0.1);margin-bottom:0;transition:transform 0.3s ease;}.feature-icon-img{width:32px;height:32px;object-fit:contain;mix-blend-mode:multiply;}.keyboard-hints{display:flex;align-items:center;flex-wrap:wrap;gap:0.25rem;font-size:0.75rem;}.keyboard-hints kbd{font-size:0.65rem;padding:0.15rem 0.35rem;background:var(--bs-secondary-bg);border:1px solid var(--bs-border-color);border-radius:4px;font-family:inherit;font-weight:500;color:var(--bs-body-color);box-shadow:0 1px 1px rgba(0,0,0,0.05);}[data-bs-theme="dark"] .keyboard-hints kbd{background:var(--bs-dark);border-color:var(--bs-border-color);color:var(--bs-body-color);}#keyboardShortcutsModal kbd{background:var(--bs-secondary-bg) !important;border:1px solid var(--bs-border-color) !important;color:var(--bs-body-color) !important;font-weight:500;}[data-bs-theme="dark"] #keyboardShortcutsModal kbd{background:var(--bs-dark) !important;border-color:var(--bs-border-color) !important;color:var(--bs-body-color) !important;}.keyboard-hints .hint-separator{color:var(--bs-secondary);margin:0 0.15rem;}.keyboard-hints .hint-item{display:inline-flex;align-items:center;gap:0.25rem;color:var(--bs-secondary);}.draft-indicator{opacity:0;transition:opacity 0.3s ease;font-size:0.75rem;}.draft-indicator.show{opacity:1;}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:2rem;}.empty-state-content{text-align:center;}.clinical-templates{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0.75rem;margin-bottom:1.5rem;}.clinical-template-btn{display:flex;flex-direction:column;align-items:flex-start;padding:1rem;text-align:left;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:12px;transition:all 0.2s ease;cursor:pointer;}.clinical-template-btn:hover{border-color:var(--bs-primary);background:rgba(var(--bs-primary-rgb),0.05);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.1);}.clinical-template-btn .template-icon{font-size:1.5rem;color:var(--bs-primary);margin-bottom:0.5rem;}.clinical-template-btn .template-title{font-weight:600;font-size:0.9rem;margin-bottom:0.25rem;}.clinical-template-btn .template-desc{font-size:0.75rem;color:var(--bs-secondary);line-height:1.3;}.pinned-chats-section{margin-bottom:0.5rem;padding-bottom:0.5rem;border-bottom:1px solid var(--bs-border-color);}.pinned-chats-header{display:flex;align-items:center;gap:0.5rem;padding:0.25rem 0.5rem;font-size:0.7rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--bs-secondary);font-weight:600;}.chat-pin-btn{opacity:0;transition:opacity 0.15s ease;}.chat-item:hover .chat-pin-btn{opacity:1;}.chat-item.is-pinned .chat-pin-btn{opacity:1;color:var(--bs-warning);}.onboarding-checklist{position:fixed;bottom:80px;right:20px;width:280px;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,0.15);z-index:1040;overflow:hidden;transition:transform 0.3s ease,opacity 0.3s ease;}.onboarding-checklist.collapsed{transform:translateY(calc(100% - 48px));}.onboarding-checklist-header{display:flex;align-items:center;justify-content:space-between;padding:0.75rem 1rem;background:rgba(var(--bs-primary-rgb),0.1);cursor:pointer;}.onboarding-checklist-header h6{margin:0;font-size:0.85rem;font-weight:600;}.onboarding-progress{display:flex;align-items:center;gap:0.5rem;font-size:0.75rem;color:var(--bs-secondary);}.onboarding-progress-bar{width:60px;height:4px;background:var(--bs-border-color);border-radius:2px;overflow:hidden;}.onboarding-progress-fill{height:100%;background:var(--bs-primary);transition:width 0.3s ease;}.onboarding-checklist-body{padding:1rem;}.onboarding-item{display:flex;align-items:flex-start;gap:0.75rem;padding:0.5rem 0;}.onboarding-item + .onboarding-item{border-top:1px solid var(--bs-border-color-translucent);}.onboarding-check{width:20px;height:20px;min-width:20px;border-radius:50%;border:2px solid var(--bs-border-color);display:flex;align-items:center;justify-content:center;font-size:0.7rem;color:transparent;transition:all 0.2s ease;}.onboarding-item.completed .onboarding-check{background:var(--bs-success);border-color:var(--bs-success);color:white;}.onboarding-item-content{flex:1;}.onboarding-item-title{font-size:0.85rem;font-weight:500;margin-bottom:0.15rem;}.onboarding-item.completed .onboarding-item-title{text-decoration:line-through;color:var(--bs-secondary);}.onboarding-item-desc{font-size:0.7rem;color:var(--bs-secondary);line-height:1.3;}.onboarding-dismiss{text-align:center;padding-top:0.75rem;border-top:1px solid var(--bs-border-color);}@media (max-width:768px){.sidebar-swipe-indicator{position:fixed;left:0;top:50%;transform:translateY(-50%);width:20px;height:80px;background:linear-gradient(to right,rgba(var(--bs-primary-rgb),0.1),transparent);border-radius:0 8px 8px 0;z-index:1039;pointer-events:none;opacity:0;transition:opacity 0.3s ease;}.sidebar-swipe-indicator.visible{opacity:1;}.touch-active{transition:none !important;}}:focus-visible{outline:2px solid var(--bs-primary);outline-offset:2px;}:focus:not(:focus-visible){outline:none;}.btn:focus-visible{outline:2px solid var(--bs-primary);outline-offset:2px;box-shadow:0 0 0 4px rgba(var(--bs-primary-rgb),0.25);}.form-control:focus-visible,.form-select:focus-visible{border-color:var(--bs-primary);box-shadow:0 0 0 3px rgba(var(--bs-primary-rgb),0.15);}a:focus-visible{outline:2px solid var(--bs-primary);outline-offset:2px;border-radius:2px;}.sidebar-link:focus-visible{outline:2px solid var(--bs-primary);outline-offset:-2px;background:rgba(var(--bs-primary-rgb),0.1);}.btn-loading{position:relative;pointer-events:none;color:transparent !important;}.btn-loading::after{content:"";position:absolute;left:50%;top:50%;width:1em;height:1em;margin-left:-0.5em;margin-top:-0.5em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spinner 0.6s linear infinite;}.btn-loading > *{visibility:hidden;}@keyframes btn-spinner{to{transform:rotate(360deg);}}.form-control.is-invalid:focus{border-color:var(--bs-danger);box-shadow:0 0 0 3px rgba(var(--bs-danger-rgb),0.15);}.form-control.is-valid:focus{border-color:var(--bs-success);box-shadow:0 0 0 3px rgba(var(--bs-success-rgb),0.15);}.invalid-feedback{font-size:0.8rem;margin-top:0.35rem;}.valid-feedback{font-size:0.8rem;margin-top:0.35rem;}