*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;outline:none;-webkit-tap-highlight-color:transparent;}:root{--clr-bg:#f4f6f8;--clr-dots:#d0d0d0;--clr-ink:#111111;--clr-paper:#ffffff;--clr-yellow:#ffde00;--clr-yellow-hover:#ffe838;--clr-mint:#55efc4;--clr-mint-dark:#00b894;--clr-coral:#ff7675;--clr-coral-dark:#d63031;--clr-purple:#a29bfe;--clr-blue:#74b9ff;--clr-orange:#ffeaa7;--clr-muted:#636e72;--border-width:4px;--border-sm:2px solid var(--clr-ink);--border-md:3px solid var(--clr-ink);--border-lg:4px solid var(--clr-ink);--shadow-offset:6px;--shadow-xs:2px 2px 0 var(--clr-ink);--shadow-sm:3px 3px 0 var(--clr-ink);--shadow-md:4px 4px 0 var(--clr-ink);--shadow-lg:6px 6px 0 var(--clr-ink);--shadow-xl:10px 10px 0 var(--clr-ink);--font-header:'Bangers',cursive;--font-body:'Comic Neue',cursive,sans-serif;--transition-fast:0.15s ease;--transition-spring:0.25s cubic-bezier(0.175,0.885,0.32,1.275);}body{min-height:100vh;background-color:var(--clr-bg);background-image:radial-gradient(var(--clr-dots) 14%,transparent 15%),radial-gradient(var(--clr-dots) 14%,transparent 15%);background-size:20px 20px;background-position:0 0,10px 10px;color:var(--clr-ink);font-family:var(--font-body);font-size:16px;line-height:1.5;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px 80px;overflow-x:hidden;}.hidden{display:none !important;}.visually-hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important;}.container{width:100%;max-width:900px;position:relative;z-index:1;display:flex;flex-direction:column;gap:24px;}.header{text-align:center;background:var(--clr-paper);padding:20px;border:var(--border-width) solid var(--clr-ink);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--clr-ink);transform:rotate(-0.5deg);}.logo-text{font-family:var(--font-header);font-size:3.5rem;color:var(--clr-yellow);text-shadow: 2px 2px 0 var(--clr-ink), -2px -2px 0 var(--clr-ink), 2px -2px 0 var(--clr-ink), -2px 2px 0 var(--clr-ink), 4px 4px 0 var(--clr-ink);letter-spacing:2px;}.tagline{font-weight:700;text-transform:uppercase;font-size:1.05rem;color:#555555;margin-top:4px;letter-spacing:0.5px;}.card{background:var(--clr-paper);border:var(--border-width) solid var(--clr-ink);padding:44px 32px 36px;box-shadow:var(--shadow-xl);position:relative;}.card::before{content:'';position:absolute;top:6px;left:6px;right:6px;bottom:6px;border:2px solid var(--clr-ink);pointer-events:none;}.home-link{position:absolute;top:-16px;left:24px;background:var(--clr-paper);border:var(--border-md);padding:5px 16px;text-decoration:none;font-family:var(--font-header);font-size:1.2rem;color:var(--clr-ink);box-shadow:4px 4px 0 var(--clr-ink);z-index:10;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);text-transform:uppercase;cursor:pointer;}.home-link:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--clr-ink);background:var(--clr-yellow);}.home-link:active{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--clr-ink);}.card-title{font-family:var(--font-header);font-size:2.4rem;letter-spacing:1px;text-transform:uppercase;line-height:1.15;margin-bottom:6px;color:var(--clr-ink);}.card-subtitle{font-weight:700;font-size:1.05rem;color:#555555;margin-bottom:24px;line-height:1.4;}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-header);font-size:1.25rem;letter-spacing:1px;text-transform:uppercase;padding:10px 20px;border:var(--border-md);border-radius:0;cursor:pointer;box-shadow:var(--shadow-md);transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);text-decoration:none;user-select:none;}.btn:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:var(--shadow-lg);}.btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:var(--shadow-xs);}.btn:disabled{opacity:0.55;cursor:not-allowed;filter:grayscale(40%);transform:none !important;box-shadow:var(--shadow-sm) !important;}.btn-primary{background:var(--clr-yellow);color:var(--clr-ink);}.btn-primary:hover:not(:disabled){background:var(--clr-yellow-hover);}.btn-secondary{background:var(--clr-paper);color:var(--clr-ink);}.btn-secondary:hover:not(:disabled){background:#f8f9fa;}.btn-large{padding:14px 28px;font-size:1.45rem;box-shadow:var(--shadow-md);}.btn-sm{padding:6px 14px;font-size:1.05rem;box-shadow:var(--shadow-sm);}.btn-back{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-header);font-size:1.1rem;letter-spacing:0.5px;background:var(--clr-paper);color:var(--clr-ink);padding:7px 14px;border:var(--border-md);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast);}.btn-back:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-md);background:var(--clr-yellow);}.btn-back:active{transform:translate(1px,1px);box-shadow:var(--shadow-xs);}.upload-wrapper{display:flex;flex-direction:column;gap:22px;}.tool-controls-container{display:flex;flex-direction:column;gap:14px;align-items:center;}.segmented-control{display:inline-flex;background:var(--clr-bg);border:var(--border-md);padding:4px;gap:6px;box-shadow:var(--shadow-sm);}.mode-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;font-family:var(--font-header);font-size:1.15rem;letter-spacing:1px;color:var(--clr-ink);background:transparent;border:2px solid transparent;cursor:pointer;transition:all var(--transition-fast);}.mode-tab:hover:not(.active){background:rgba(0,0,0,0.05);}.mode-tab.active{background:var(--clr-yellow);border:2px solid var(--clr-ink);box-shadow:var(--shadow-xs);transform:translate(-1px,-1px);}.assessment-options-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;background:#fff8d6;border:var(--border-md);padding:10px 18px;box-shadow:var(--shadow-sm);width:100%;max-width:600px;}.options-label{font-family:var(--font-header);font-size:1.1rem;letter-spacing:0.5px;color:var(--clr-ink);}.count-pill{padding:6px 14px;font-family:var(--font-header);font-size:1rem;letter-spacing:0.5px;background:var(--clr-paper);border:2px solid var(--clr-ink);box-shadow:var(--shadow-xs);cursor:pointer;transition:all var(--transition-fast);}.count-pill.active{background:var(--clr-mint);transform:translate(-1px,-1px);box-shadow:var(--shadow-sm);}.custom-count-wrapper{display:inline-flex;align-items:center;gap:8px;}.scholarly-counter{display:inline-flex;align-items:center;background:var(--clr-paper);border:2px solid var(--clr-ink);box-shadow:var(--shadow-xs);}.counter-step-btn{background:var(--clr-yellow);border:none;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:bold;}.counter-step-btn:hover{background:var(--clr-yellow-hover);}.custom-count-input{width:44px;height:28px;text-align:center;border:none;border-left:2px solid var(--clr-ink);border-right:2px solid var(--clr-ink);font-family:var(--font-header);font-size:1.1rem;}.custom-count-unit{font-weight:700;font-size:0.95rem;}.dropzone{border:4px dashed var(--clr-ink);background:#fdfdfd;padding:40px 20px;text-align:center;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);position:relative;box-shadow:inset 0 0 0 4px #ffffff;}.dropzone:hover,.dropzone.drag-active{background:#fffbe6;border-color:var(--clr-ink);transform:scale(1.01);}.dropzone-idle{display:flex;flex-direction:column;align-items:center;gap:12px;}.upload-icon-circle{width:72px;height:72px;border-radius:50%;background:var(--clr-yellow);border:var(--border-md);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;color:var(--clr-ink);margin-bottom:6px;transition:transform var(--transition-spring);}.dropzone:hover .upload-icon-circle{transform:rotate(-6deg) scale(1.1);}.dropzone-text .primary-prompt{display:block;font-family:var(--font-header);font-size:1.6rem;letter-spacing:1px;color:var(--clr-ink);}.dropzone-text .secondary-prompt{font-size:1.05rem;font-weight:700;color:#555555;}.dropzone-meta{display:flex;align-items:center;gap:8px;font-size:0.95rem;font-weight:700;color:#777777;margin-top:4px;}.dropzone-meta .dot-separator{color:var(--clr-ink);}.file-card{background:var(--clr-paper);border:var(--border-md);box-shadow:var(--shadow-md);padding:16px 20px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;text-align:left;max-width:100%;box-sizing:border-box;overflow:hidden;}.file-card-main{display:flex;align-items:center;gap:14px;flex:1;min-width:0;overflow:hidden;}.file-type-badge{background:var(--clr-coral);color:#ffffff;font-family:var(--font-header);font-size:1.25rem;letter-spacing:1px;padding:8px 12px;border:var(--border-md);box-shadow:var(--shadow-xs);text-shadow:1px 1px 0 var(--clr-ink);flex-shrink:0;}.file-details{flex:1;min-width:0;overflow:hidden;display:flex;flex-direction:column;gap:3px;}.file-name-row{display:flex;align-items:center;gap:10px;min-width:0;width:100%;overflow:hidden;}.file-name{font-family:var(--font-header);font-size:1.25rem;letter-spacing:0.5px;color:var(--clr-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block;}.file-badge{display:none;}.file-info-row{font-size:0.95rem;font-weight:700;color:#555555;display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.file-card-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}.btn-text-action{font-family:var(--font-header);font-size:1.05rem;letter-spacing:0.5px;background:var(--clr-paper);border:var(--border-md);box-shadow:var(--shadow-xs);padding:6px 12px;cursor:pointer;transition:all var(--transition-fast);}.btn-text-action:hover{background:#f1f2f6;transform:translate(-1px,-1px);box-shadow:var(--shadow-sm);}.btn-text-action.btn-danger{background:#ffeaa7;color:var(--clr-ink);}.btn-text-action.btn-danger:hover{background:var(--clr-coral);color:#ffffff;}.action-bar{display:flex;justify-content:center;}.action-bar .btn{min-width:260px;}.loading-container{display:flex;justify-content:center;padding:20px 0;}.loading-card{background:var(--clr-paper);border:var(--border-md);box-shadow:var(--shadow-md);padding:36px 28px;width:100%;max-width:580px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px;}.loading-spinner-wrapper{display:flex;justify-content:center;align-items:center;margin-bottom:8px;}.academic-spinner{width:56px;height:56px;border:6px solid #111111;border-top-color:var(--clr-yellow);border-right-color:var(--clr-mint);border-radius:50%;animation:spinBrutal 0.8s linear infinite;}@keyframes spinBrutal{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}.loading-header h2{font-family:var(--font-header);font-size:2.2rem;letter-spacing:1px;color:var(--clr-ink);margin-bottom:6px;}.loading-subtext{font-weight:700;font-size:1.1rem;color:#555555;}.progress-track-wrapper{width:100%;display:flex;align-items:center;gap:14px;}.progress-bar-bg{flex:1;height:24px;background:var(--clr-bg);border:var(--border-md);box-shadow:var(--shadow-xs);overflow:hidden;position:relative;}.progress-bar-fill{height:100%;width:15%;background:var(--clr-mint);border-right:var(--border-md);transition:width 0.4s ease;background-image:repeating-linear-gradient( 45deg, rgba(255,255,255,0.35), rgba(255,255,255,0.35) 10px, transparent 10px, transparent 20px );}.progress-percent{font-family:var(--font-header);font-size:1.35rem;letter-spacing:1px;min-width:54px;text-align:right;}.process-steps{list-style:none;width:100%;text-align:left;display:flex;flex-direction:column;gap:10px;}.step-item{display:flex;align-items:center;gap:14px;padding:10px 14px;border:2px solid transparent;transition:all var(--transition-fast);}.step-item.active{background:#fff8d6;border:var(--border-md);box-shadow:var(--shadow-xs);}.step-item.completed{background:#e8fdf5;border:2px solid var(--clr-mint-dark);}.step-marker{width:28px;height:28px;border:2px solid var(--clr-ink);background:var(--clr-paper);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-xs);flex-shrink:0;}.step-item.completed .step-marker{background:var(--clr-mint);color:var(--clr-ink);}.step-item.active .step-marker{background:var(--clr-yellow);}.step-text{font-weight:700;font-size:1.05rem;}.loading-footnote{font-size:0.95rem;font-weight:700;color:#777777;}.results-container{display:flex;flex-direction:column;gap:20px;}.results-nav-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}.results-action-group{display:flex;align-items:center;gap:10px;}.doc-header{background:var(--clr-paper);border:var(--border-md);box-shadow:var(--shadow-md);padding:22px 24px;}.doc-meta-pills{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;}.meta-pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-header);font-size:1rem;letter-spacing:0.5px;padding:4px 10px;border:2px solid var(--clr-ink);background:var(--clr-bg);box-shadow:var(--shadow-xs);}.doc-header .module-title{font-family:var(--font-header);font-size:2.3rem;letter-spacing:1px;color:var(--clr-ink);line-height:1.15;margin-bottom:6px;}.doc-header .module-subtitle{font-weight:700;font-size:1.1rem;color:#555555;}.summary-layout{display:grid;grid-template-columns:1fr 310px;gap:20px;align-items:start;}@media (max-width:860px){.summary-layout{grid-template-columns:1fr;}}.summary-main-column{display:flex;flex-direction:column;gap:20px;}.content-block{background:var(--clr-paper);border:var(--border-md);box-shadow:var(--shadow-md);padding:24px;}.block-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:8px;border-bottom:3px solid var(--clr-ink);}.block-number{font-family:var(--font-header);font-size:1.3rem;background:var(--clr-yellow);color:var(--clr-ink);padding:2px 10px;border:2px solid var(--clr-ink);box-shadow:var(--shadow-xs);}.block-header h2{font-family:var(--font-header);font-size:1.7rem;letter-spacing:1px;color:var(--clr-ink);}.summary-text-body p{font-size:1.05rem;line-height:1.6;margin-bottom:14px;}.summary-text-body p:last-child{margin-bottom:0;}.takeaways-list{list-style:none;display:flex;flex-direction:column;gap:10px;}.takeaway-item{position:relative;padding:12px 16px 12px 42px;background:#fdfdfd;border:2px solid var(--clr-ink);box-shadow:var(--shadow-xs);font-size:1.05rem;font-weight:600;line-height:1.5;}.takeaway-item::before{content:'✓';position:absolute;left:12px;top:10px;width:22px;height:22px;background:var(--clr-mint);border:2px solid var(--clr-ink);display:flex;align-items:center;justify-content:center;font-family:var(--font-header);font-size:0.95rem;}.questions-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;}.question-card{border:var(--border-md);box-shadow:var(--shadow-sm);background:var(--clr-paper);overflow:hidden;transition:all var(--transition-fast);}.question-header{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;background:#ffffff;border:none;cursor:pointer;text-align:left;font-family:inherit;}.question-header:hover{background:#fffbe6;}.question-number-badge{width:28px;height:28px;border:2px solid var(--clr-ink);background:var(--clr-yellow);box-shadow:var(--shadow-xs);display:flex;align-items:center;justify-content:center;font-family:var(--font-header);font-size:1.1rem;flex-shrink:0;}.question-title{font-weight:700;font-size:1.05rem;color:var(--clr-ink);flex:1;}.question-toggle-icon{transition:transform 0.2s ease;flex-shrink:0;}.question-card.open .question-toggle-icon{transform:rotate(180deg);}.question-answer{display:none;padding:14px 18px;background:#f9fbfd;border-top:2px dashed var(--clr-ink);font-size:1rem;line-height:1.5;}.question-card.open .question-answer{display:block;}.question-answer strong{display:block;font-family:var(--font-header);font-size:1.1rem;letter-spacing:0.5px;color:var(--clr-ink);margin-bottom:4px;}.quiz-cta-banner{background:#fff8d6;border:var(--border-md);box-shadow:var(--shadow-sm);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;}.quiz-cta-content{display:flex;align-items:center;gap:14px;}.quiz-cta-icon{width:44px;height:44px;background:var(--clr-mint);border:2px solid var(--clr-ink);box-shadow:var(--shadow-xs);display:flex;align-items:center;justify-content:center;flex-shrink:0;}.quiz-cta-title{font-family:var(--font-header);font-size:1.3rem;letter-spacing:0.5px;color:var(--clr-ink);}.quiz-cta-desc{font-size:0.95rem;font-weight:700;color:#555555;}.summary-sidebar{position:sticky;top:20px;}.sidebar-card{background:var(--clr-paper);border:var(--border-md);box-shadow:var(--shadow-md);padding:20px;}.sidebar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}.sidebar-title-row{display:flex;align-items:center;gap:8px;}.sidebar-title-row h3{font-family:var(--font-header);font-size:1.4rem;letter-spacing:1px;}.badge-count{font-family:var(--font-header);font-size:0.95rem;padding:2px 8px;background:var(--clr-mint);border:2px solid var(--clr-ink);box-shadow:var(--shadow-xs);}.sidebar-helptext{font-size:0.95rem;font-weight:700;color:#666666;margin-bottom:14px;}.concepts-container{display:flex;flex-direction:column;gap:10px;}.concept-item{background:#fdfdfd;border:2px solid var(--clr-ink);box-shadow:var(--shadow-xs);padding:12px 14px;}.concept-name{font-family:var(--font-header);font-size:1.15rem;letter-spacing:0.5px;color:var(--clr-ink);margin-bottom:4px;}.concept-def{font-size:0.95rem;line-height:1.45;color:#333333;}.results-footer{background:var(--clr-paper);border:var(--border-md);box-shadow:var(--shadow-md);padding:16px 20px;margin-top:10px;}.results-footer-content{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;}.footer-left{font-weight:700;font-size:1.05rem;}.footer-right{display:flex;align-items:center;gap:12px;}.assessment-container{display:flex;flex-direction:column;gap:20px;}.assessment-nav-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}.nav-btn-text-short{display:none;}@media (max-width:500px){.nav-btn-text-full{display:none;}.nav-btn-text-short{display:inline;}}.score-banner{margin-bottom:10px;}.score-card{background:#fff8d6;border:var(--border-md);box-shadow:var(--shadow-lg);padding:22px 24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;}.score-badge{font-family:var(--font-header);font-size:2.8rem;letter-spacing:2px;background:var(--clr-yellow);color:var(--clr-ink);padding:10px 18px;border:var(--border-lg);box-shadow:var(--shadow-sm);}.score-info{flex:1;}.score-title{font-family:var(--font-header);font-size:1.8rem;letter-spacing:1px;}.score-text{font-size:1.1rem;font-weight:700;color:#444444;}.assessment-questions-container{display:flex;flex-direction:column;gap:18px;}.assessment-question-card{background:var(--clr-paper);border:var(--border-md);box-shadow:var(--shadow-md);padding:24px;transition:all var(--transition-fast);}.assessment-question-card.card-scored-correct{border-color:var(--clr-mint-dark);background:#f4fdf8;}.assessment-question-card.card-scored-incorrect{border-color:var(--clr-coral-dark);background:#fff8f8;}.question-meta-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}.question-number-pill{font-family:var(--font-header);font-size:1rem;letter-spacing:0.5px;background:var(--clr-bg);padding:3px 10px;border:2px solid var(--clr-ink);box-shadow:var(--shadow-xs);}.question-status-badge{font-family:var(--font-header);font-size:1rem;letter-spacing:0.5px;padding:3px 12px;border:2px solid var(--clr-ink);box-shadow:var(--shadow-xs);}.question-status-badge.badge-correct{background:var(--clr-mint);}.question-status-badge.badge-incorrect{background:var(--clr-coral);color:#ffffff;}.question-prompt{font-family:var(--font-body);font-weight:700;font-size:1.2rem;line-height:1.45;color:var(--clr-ink);margin-bottom:18px;}.options-group{display:flex;flex-direction:column;gap:10px;}.quiz-option-card{display:flex;align-items:center;gap:14px;padding:12px 16px;background:var(--clr-paper);border:var(--border-md);box-shadow:var(--shadow-xs);cursor:pointer;transition:all var(--transition-fast);user-select:none;}.quiz-option-card:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow-sm);background:#fffbe6;}.quiz-option-card.selected{background:var(--clr-yellow);box-shadow:var(--shadow-sm);transform:translate(-2px,-2px);}.quiz-option-card.is-correct{background:var(--clr-mint) !important;border-color:var(--clr-ink) !important;}.quiz-option-card.is-incorrect{background:var(--clr-coral) !important;color:#ffffff;}.option-indicator{width:32px;height:32px;border:2px solid var(--clr-ink);background:var(--clr-paper);box-shadow:var(--shadow-xs);display:flex;align-items:center;justify-content:center;flex-shrink:0;}.option-letter{font-family:var(--font-header);font-size:1.2rem;color:var(--clr-ink);}.option-text{flex:1;font-size:1.05rem;font-weight:700;line-height:1.4;}.option-feedback-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}.grounded-explanation{margin-top:16px;background:#fdfae7;border:2px solid var(--clr-ink);box-shadow:var(--shadow-xs);padding:14px 16px;}.explanation-header{display:flex;align-items:center;gap:8px;font-family:var(--font-header);font-size:1.1rem;letter-spacing:0.5px;margin-bottom:6px;color:var(--clr-ink);}.explanation-text{font-size:1rem;line-height:1.5;color:#333333;}.assessment-submit-bar{display:flex;justify-content:center;padding:12px 0 16px;}.chat-floating-btn{position:fixed;bottom:24px;right:24px;z-index:999;background:var(--clr-yellow);color:var(--clr-ink);border:var(--border-lg);box-shadow:var(--shadow-lg);padding:12px 20px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:transform var(--transition-spring),box-shadow var(--transition-spring);}.chat-floating-btn:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-xl);background:var(--clr-yellow-hover);}.chat-floating-btn:active{transform:translate(2px,2px);box-shadow:var(--shadow-xs);}.chat-btn-icon{display:flex;align-items:center;justify-content:center;}.chat-btn-label{font-family:var(--font-header);font-size:1.25rem;letter-spacing:1px;text-transform:uppercase;}.chat-popup{position:fixed;bottom:84px;right:24px;width:400px;max-width:calc(100vw - 36px);height:520px;max-height:calc(100vh - 120px);background:var(--clr-paper);border:var(--border-lg);box-shadow:var(--shadow-xl);z-index:1000;display:flex;flex-direction:column;overflow:hidden;animation:brutalPop 0.2s cubic-bezier(0.175,0.885,0.32,1.275);}@keyframes brutalPop{0%{transform:scale(0.9) translateY(10px);opacity:0;}100%{transform:scale(1) translateY(0);opacity:1;}}.chat-popup-header{background:var(--clr-yellow);border-bottom:var(--border-lg);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;}.chat-header-info{display:flex;align-items:center;gap:10px;}.chat-header-avatar{width:32px;height:32px;background:var(--clr-paper);border:2px solid var(--clr-ink);box-shadow:var(--shadow-xs);display:flex;align-items:center;justify-content:center;}.chat-header-title{font-family:var(--font-header);font-size:1.3rem;letter-spacing:0.5px;line-height:1.1;}.chat-header-badge{font-size:0.8rem;font-weight:700;color:#444444;}.chat-btn-icon-action{background:var(--clr-paper);border:2px solid var(--clr-ink);box-shadow:var(--shadow-xs);width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);}.chat-btn-icon-action:hover{background:var(--clr-coral);color:#ffffff;transform:translate(-1px,-1px);}.chat-messages-scroll{flex:1;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:14px;background:#fdfdfd;}.chat-bubble{display:flex;gap:10px;max-width:90%;}.chat-bubble.assistant{align-self:flex-start;}.chat-bubble.user{align-self:flex-end;flex-direction:row-reverse;}.chat-bubble-avatar{width:28px;height:28px;border:2px solid var(--clr-ink);background:var(--clr-yellow);box-shadow:var(--shadow-xs);display:flex;align-items:center;justify-content:center;font-family:var(--font-header);font-size:0.95rem;flex-shrink:0;}.chat-bubble.user .chat-bubble-avatar{background:var(--clr-mint);}.chat-bubble-content{background:var(--clr-paper);border:2px solid var(--clr-ink);box-shadow:var(--shadow-xs);padding:10px 14px;font-size:0.95rem;line-height:1.45;}.chat-bubble.user .chat-bubble-content{background:#e8fdf5;}.chat-suggestion-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}.chat-chip{background:var(--clr-paper);border:2px solid var(--clr-ink);box-shadow:var(--shadow-xs);padding:5px 10px;font-size:0.85rem;font-weight:700;cursor:pointer;transition:all var(--transition-fast);}.chat-chip:hover{background:var(--clr-yellow);transform:translate(-1px,-1px);}.chat-input-form{display:flex;border-top:var(--border-lg);background:var(--clr-paper);}.chat-input{flex:1;border:none;padding:12px 14px;font-family:var(--font-body);font-size:0.95rem;background:transparent;}.chat-send-btn{background:var(--clr-yellow);border:none;border-left:var(--border-md);padding:0 16px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-fast);}.chat-send-btn:hover{background:var(--clr-yellow-hover);}.toast-container{display:none !important;}@media (max-width:640px){.card{padding:36px 18px 24px;}.card-title{font-size:1.8rem;}.header{padding:14px;}.logo-text{font-size:2.7rem;}.file-card{flex-direction:column;align-items:stretch;padding:14px 14px;gap:12px;}.file-card-main{width:100%;min-width:0;gap:12px;}.file-name{font-size:1.15rem;}.file-info-row{font-size:0.85rem;flex-wrap:wrap;gap:6px;}.file-card-actions{width:100%;display:flex;gap:8px;padding-top:10px;border-top:2px dashed #e0e0e0;}.file-card-actions .btn-text-action{flex:1;text-align:center;padding:8px 6px;font-size:0.95rem;display:flex;align-items:center;justify-content:center;}.doc-header .module-title{font-size:1.8rem;}}