@import"https://fonts.googleapis.com/css2?family=Geist:wght@100..900&display=swap";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap";:root{--bg-color: #faf9fc;--card-bg: #ffffff;--text-color: #1a1a1a;--border-color: #e8e4ed;--hover-border-color: #a89db8;--focus-border-color: #7c6f8a;--button-bg: #2d2438;--button-hover: #3d3248;--button-active: #1d1428;--button-text: #fafafa;--select-bg: white;--option-hover-bg: #f8f5fb;--option-selected-bg: #2d2438;--option-selected-color: white;--success-color: #080b09;--box-shadow-color: #d8d0e0;--frosted-bg: rgba(252, 250, 255, .75);--frosted-border: #e8e4ed;--paper-details-bg: #f6f4f9;--accent-color: #7c5cbf;--error-color: #dc2626;--error-bg: #ffe5e5}.dark-theme{--bg-color: #0c0a0f;--card-bg: #1c1920;--text-color: #f5f3f7;--border-color: #2a2630;--hover-border-color: #4a4358;--focus-border-color: #8a7da0;--button-bg: #f5f3f7;--button-hover: #e5e2e8;--button-active: #d4d0d8;--button-text: #0c0a0f;--select-bg: #151318;--option-hover-bg: #1c1920;--option-selected-bg: #f5f3f7;--option-selected-color: #0c0a0f;--success-color: #4ade80;--box-shadow-color: #000000;--frosted-bg: rgba(12, 10, 15, .88);--frosted-border: #2a2630;--paper-details-bg: #151318;--accent-color: #a78bfa;--error-color: #f87171;--error-bg: #280000}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);font-family:Geist,sans-serif;transition:background-color .3s ease,color .3s ease;margin:0}pre{font-family:JetBrains Mono,monospace;font-weight:400;opacity:.7;white-space:pre-wrap;word-wrap:break-word;line-height:1.5}.main{display:flex;flex-direction:column;min-height:100vh}.main-content{padding:2rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1;padding-top:calc(86px + 2rem)}.navbar{position:fixed;z-index:999;width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;border-bottom:1px solid var(--border-color);transition:background .3s ease,border-color .3s ease;background:var(--frosted-bg);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.navbar>.navbar-brand div>h1{font-size:1.75rem;font-weight:700;letter-spacing:.5px;color:var(--button-bg);transition:color .3s ease}.navbar-brand{display:flex;gap:1rem;align-items:center}.navbar .navbar-brand>div>h1>span{font-weight:300;color:var(--text-color)}.navbar-logo{width:50px}.subtitle{font-size:.75rem;font-weight:300;opacity:.6}.navbar-actions{display:flex;gap:1rem;align-items:center;justify-content:flex-end}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:.5rem;background:var(--select-bg);border:1px solid var(--border-color);padding:.5rem .75rem;border-radius:8px;cursor:pointer;color:var(--text-color);transition:all .2s ease}.user-menu-trigger:hover{border-color:var(--hover-border-color);background:var(--option-hover-bg)}.user-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--select-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000001a;min-width:200px;z-index:1000;overflow:hidden}.dark-theme .user-dropdown{box-shadow:0 4px 12px #0000004d}button:focus{outline:none!important}.user-info{padding:.75rem 1rem;border-bottom:1px solid var(--border-color)}.user-email{font-size:.875rem;color:var(--text-color);font-weight:500}.dropdown-signout{width:100%;background:none;border:none;padding:.75rem 1rem;text-align:left;color:var(--text-color);cursor:pointer;transition:background-color .2s ease;font-family:inherit}.dropdown-signout:hover{background:var(--option-hover-bg)}.main-container{display:flex;flex-direction:column;align-items:center;padding:3rem;padding-top:0;gap:1rem;width:100%}.session-manager{display:flex;gap:.5rem;align-items:center}.signout-button{background:var(--button-bg);color:var(--bg-color);border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:all .2s ease}.signout-button:hover{background:var(--button-hover)}.github-logo{color:var(--text-color);cursor:pointer;transition:all .2s ease}.github-logo:hover{color:var(--button-bg)}.theme-toggle{background-color:transparent;color:var(--button-bg);border:0;padding:.5rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.theme-toggle:hover{color:var(--button-hover);transform:rotate(20deg)}.upload-button{background:var(--button-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--button-text);border:2px solid var(--border-color);border:none;font-weight:600;padding:1rem 1.75rem;border-radius:1rem;cursor:pointer;transition:all .2s ease;position:fixed;z-index:999;bottom:2rem;right:2rem}.upload-button:hover{background:var(--button-hover)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:flex-start;z-index:1000;padding-top:10%}.modal-content{background:var(--bg-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:3.5rem 2rem 2rem;border-radius:1rem;max-width:500px;width:90%;max-height:90%;overflow-y:auto;color:var(--text-color);position:relative;box-shadow:0 10px 25px var(--box-shadow-color);border:1px solid var(--border-color)}.modal-go-back{position:absolute;top:1rem;left:1rem;background:none;color:var(--text-color);opacity:.7;border:none;padding:0;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:.9rem;transition:opacity .2s ease;display:flex;align-items:center;gap:.25rem}.modal-go-back:hover{opacity:1}.modal-content-inner{min-height:200px;display:flex;flex-direction:column;gap:1.25rem;flex:1}form{display:flex;flex-direction:column;gap:1rem}form div{margin-bottom:0}form label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-color)}form input[type=text],form input[type=file],form input[type=email],form select{width:100%;padding:.65rem;border:1px solid var(--border-color);border-radius:8px;transition:all .2s ease;background:var(--select-bg);color:var(--text-color)}form select{font-family:JetBrains Mono,monospace;font-weight:400;font-size:.8rem;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem;padding-right:2.5rem}form select:hover{border-color:var(--hover-border-color)}form select option{background:var(--select-bg);color:var(--text-color);padding:.5rem;font-family:JetBrains Mono,monospace}form input[type=email]{font-family:JetBrains Mono,monospace;font-weight:400;font-size:.8rem}form input[type=text]{font-family:JetBrains Mono,monospace;font-weight:400;font-size:.9rem}form input[type=text]:focus,form input[type=file]:focus,form input[type=email]:focus,form select:focus{border-color:var(--focus-border-color);outline:none;box-shadow:0 0 0 3px #6b72801a}form button[type=submit]{background-color:var(--button-bg);color:var(--button-text);border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;transition:background-color .2s ease}.form-row{display:flex;gap:1rem;width:100%}.form-field{flex:1;display:flex;flex-direction:column}@media (max-width: 920px){.form-row{flex-direction:column;gap:1rem}.navbar-actions{gap:.25rem;flex-grow:0}.user-menu-trigger,.theme-toggle,.github-logo{text-align:center;padding:.75rem}.upload-button{display:none!important}.mobile-upload-button{display:block!important}.main-container{padding:1rem 1rem 5rem}.responses-container{flex-direction:column!important;gap:1rem;padding-top:1rem;justify-content:flex-start!important}.free-class{width:100%!important;margin:0;flex-grow:0!important}.paper-actions{flex-direction:column;gap:.5rem}.view-button{flex:none}.modal-overlay{padding:0;align-items:stretch;justify-content:stretch}.modal-content{max-width:none;width:100%;height:100%;max-height:none;padding:3.5rem 1rem 1rem;margin:0;border-radius:0;display:flex;flex-direction:column}.modal-content-inner{height:auto;min-height:15vh}form input[type=text],form input[type=file],form input[type=email],form button[type=submit]{padding:.75rem}.footer{margin-bottom:5rem;padding:.75rem;font-size:.85rem}}form button[type=submit]:hover{background-color:var(--button-hover)}form button[type=submit]:active{background-color:var(--button-active)}.error-message{color:var(--error-color);margin-top:.75rem}.success-message{color:var(--success-color);margin-top:.75rem}.responses-container{display:block;column-count:3;column-gap:1.5rem;padding-top:1rem;width:100%}@media (max-width: 1400px){.responses-container{column-count:2}}@media (max-width: 768px){.responses-container{column-count:1}}.free-class{background:var(--card-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:1.5rem;border-radius:1rem;box-shadow:0 6px 18px var(--box-shadow-color);display:flex;flex-direction:column;justify-content:space-between;transition:all .3s ease;border:1px solid var(--border-color);width:100%;break-inside:avoid;margin-bottom:1.5rem}.free-class:hover{transform:translateY(-5px);box-shadow:0 10px 25px #00000014}.free-class h3{font-size:1.25rem;color:var(--text-color)}.free-class a{color:var(--text-color);text-decoration:none;margin-bottom:1rem;font-weight:500}.free-class a:hover{text-decoration:underline}.free-class p{font-size:.9rem;color:var(--text-color)}.free-class button{margin-top:1rem;background:var(--button-bg);color:var(--button-text);border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:all .2s ease}.free-class button:hover{background:var(--button-hover)}.paper-info{display:flex;flex-direction:column;gap:.5rem;height:100%}.paper-header{display:flex;flex-direction:column;gap:.5rem}.paper-badges{display:flex;gap:.5rem;flex-wrap:wrap}.badge{padding:.25rem .5rem;border-radius:.5rem;font-size:.75rem;font-weight:600;font-family:JetBrains Mono,monospace;line-height:1;display:flex;align-items:center}.badge.subject{background:#f0f7ff;color:#1e40af;border:1px solid #bfdbfe}.dark-theme .badge.subject{background:#172033;color:#93c5fd;border:1px solid #1e3a5f}.badge.branch{background:#fefce8;color:#a16207;border:1px solid #facc15}.dark-theme .badge.branch{background:#422006;color:#fde047;border:1px solid #a16207}.badge.verified{color:#21914c}.dark-theme .badge.verified{color:#72d394}.badge.flagged{color:#c14040}.dark-theme .badge.flagged{color:#e55f5f}.paper-details{display:flex;flex-direction:column;gap:.5rem;flex-grow:1;background-color:var(--paper-details-bg);padding:1rem;border-radius:.75rem;font-family:JetBrains Mono,monospace}.paper-details p{margin:0;font-size:.8rem;line-height:1.4}.paper-details strong{color:var(--text-color);font-weight:600}.paper-actions{display:flex;gap:.75rem;margin-top:auto;flex-wrap:wrap}.view-button{background:var(--button-bg);color:var(--button-text)!important;text-decoration:none!important;padding:.5rem 1rem;border-radius:8px;font-weight:500;transition:all .2s ease;flex:1;text-align:center;margin-bottom:0!important}.view-button:hover{background:var(--button-hover);transform:none}.delete-button{background:#dc2626;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:all .2s ease;font-weight:500}.delete-button:hover{background:#b91c1c}.file-info{margin-top:.5rem;padding:.75rem;background:var(--select-bg);border:1px solid var(--border-color);border-radius:8px;font-size:.875rem}.file-info p{margin:0 0 .5rem;color:var(--text-color)}.file-info ul{margin:0;padding-left:1rem;list-style-type:disc}.file-info li{margin:.25rem 0;color:var(--text-color)}.conversion-progress{margin-top:.75rem;padding:.75rem;background:#e0f2fe;border:1px solid #0288d1;border-radius:8px;text-align:center}.dark-theme .conversion-progress{background:#0d47a1;border-color:#42a5f5;color:#e3f2fd}.field-locked{font-family:JetBrains Mono,monospace;font-size:.75rem;color:#6b7280;margin-top:.25rem;font-style:italic}.dark-theme .field-locked{color:#9ca3af}.branch-hint{display:block;font-size:.7rem;color:var(--accent-color);margin-top:.25rem;font-weight:500}.dark-theme .branch-hint{color:var(--accent-color)}.mobile-signout-button{display:none;position:fixed;bottom:1rem;left:50%;transform:translate(-50%);background:var(--button-bg);color:var(--button-text);border:none;padding:.75rem 2rem;border-radius:25px;font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:all .2s ease;z-index:1000;font-family:Geist,sans-serif}.mobile-signout-button:hover{background:var(--button-hover);transform:translate(-50%) translateY(-2px);box-shadow:0 6px 16px #0003}.mobile-upload-button{display:none;position:fixed;bottom:1rem;left:50%;transform:translate(-50%);border:none;padding:1rem 1.5rem;border-radius:25px;font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px var(--box-shadow-color);transition:all .2s ease;z-index:1000;font-family:Geist,sans-serif;width:calc(100vw - 2rem);max-width:400px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--frosted-bg);color:var(--button-bg);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border:1px solid var(--frosted-border)}.mobile-upload-button:hover{transform:translate(-50%) translateY(-2px);box-shadow:0 6px 16px #0003}@media (max-width: 1024px){.modal-content{max-width:600px;width:85%}}@media (max-width: 525px){.free-class{width:100%!important;padding:1rem}.responses-container{column-count:1!important;gap:1rem!important}.paper-header h3{font-size:1.1rem;line-height:1.3}.paper-badges{margin-top:.5rem}.badge{font-size:.7rem;padding:.2rem .4rem}.paper-details p{font-size:.8rem}.modal-overlay{padding:0}.modal-content{width:100%;height:100%;margin:0;border-radius:0;max-height:none;padding:3rem .75rem .75rem}.modal-go-back{top:.5rem;left:.5rem;font-size:.8rem}.modal-content-inner{min-height:100px}}@media (max-width: 480px){.responses-container{column-count:1!important}.free-class{width:100%!important;margin-bottom:1rem}.paper-tile{align-items:flex-start;gap:.5rem}.tile-actions a,.tile-actions button{flex:1;min-width:0}.main-container{padding:.5rem .5rem 5rem}}.footer{text-align:center;padding:1rem;margin-top:auto;border-top:1px solid var(--border-color);background-color:var(--bg-color);color:var(--text-color);opacity:.7;font-size:.9rem}.footer p{margin:0;font-family:Geist,sans-serif}.filters-container{align-self:flex-start;margin-bottom:1.5rem}.filters-container h3{font-size:1.1rem;font-weight:600;margin-bottom:.5rem;color:var(--text-color)}.filters-row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.filter-item{display:flex;align-items:center;gap:.5rem}.filter-item span{font-size:.95rem;color:var(--text-color)}.filter-select{padding:.4rem .6rem;border:1px solid var(--border-color);border-radius:.25rem;background:var(--select-bg);color:var(--text-color);font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:400;cursor:pointer}.filter-select:focus{outline:none;border-color:var(--focus-border-color)}.clear-filters-btn{background:none;border:none;color:var(--text-color);cursor:pointer;font-size:.9rem;text-decoration:underline;padding:0;opacity:.7}.clear-filters-btn:hover{opacity:1}.filter-group{display:flex;align-items:center;gap:.75rem}.pill-selector{position:relative;display:flex;gap:.5rem;background:var(--select-bg);padding:.25rem;border-radius:2rem;border:1px solid var(--border-color);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.pill-selector::-webkit-scrollbar{height:6px}.pill-selector::-webkit-scrollbar-track{background:transparent}.pill-selector::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.pill-selector::-webkit-scrollbar-thumb:hover{background:var(--text-color)}.pill-indicator{position:absolute;height:calc(100% - .5rem);background:var(--button-bg);border-radius:1.5rem;top:.25rem;left:0;transition:width .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #00000026;z-index:0;pointer-events:none;will-change:transform,width}.pill{position:relative;z-index:1;padding:.4rem .8rem;border:none;border-radius:1.5rem;background:transparent;color:var(--text-color);cursor:pointer;font-size:.85rem;font-weight:500;transition:color .3s ease;white-space:nowrap;flex-shrink:0}.pill:hover{color:var(--text-color)}.pill.active{color:var(--button-text)}@media (max-width: 768px){.filters-container{margin-bottom:1rem}.filters-row{flex-direction:column;align-items:stretch;gap:1rem}.filter-item{flex-direction:column;align-items:stretch;gap:.25rem}.filter-item span{font-size:.9rem;font-weight:500}.filter-select{width:100%;padding:.75rem;font-size:1rem;font-size:max(1rem,16px)}.clear-filters-btn{align-self:center;margin-top:.5rem;padding:.5rem;font-size:1rem}}@media (max-width: 480px){.filters-container{margin-bottom:.75rem;padding:1rem;padding-top:0}.filters-container h3{font-size:1rem;margin-bottom:.75rem}.filter-select{padding:.875rem;border-radius:.375rem}.main-content{padding:1rem;padding-top:calc(86px + 2rem)}}@media (max-width: 1300px){.free-class{width:100%}}@media (max-width: 1080px){.free-class{width:100%}}.dev-message{position:fixed;bottom:1rem;right:1rem;max-width:350px;z-index:1000;animation:slideInUp .3s ease-out}.dev-message-content{background:var(--select-bg);border:1px solid var(--border-color);border-radius:.75rem;padding:1rem;box-shadow:0 8px 25px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:flex-start;gap:.75rem}.dev-message-icon{font-size:1.25rem;flex-shrink:0;margin-top:.125rem}.dev-message-text{flex:1;min-width:0}.dev-message-version{display:block;font-size:.75rem;font-family:JetBrains Mono,sans-serif;color:var(--text-color);opacity:.6;font-weight:600;margin-bottom:.25rem;letter-spacing:.5px}.dev-message-body{font-size:.9rem;line-height:1.4;color:var(--text-color);margin:0}.dev-message-close{background:none;border:none;font-size:1.5rem;color:var(--text-color);cursor:pointer;opacity:.5;transition:opacity .2s ease;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dev-message-close:hover{opacity:1}@keyframes slideInUp{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){.dev-message{bottom:.5rem;right:.5rem;left:.5rem;max-width:none}.dev-message-content{padding:.875rem}.dev-message-body{font-size:.85rem}}.filtered-papers-counter{font-size:.9rem;color:var(--text-color);font-family:JetBrains Mono,monospace;opacity:.7;font-weight:400;background-color:var(--border-color);padding:.25rem .75rem;border-radius:.75rem}.main-container>h2{display:flex;align-items:center;gap:.5rem}.error-message{color:var(--error-color);margin-top:.75rem;font-family:JetBrains Mono,monospace;font-size:.8rem;background-color:var(--error-bg);padding:.5rem;border-radius:.25rem}.preferences-info{flex:1}.preferences-info p{margin:0;font-size:.95rem;color:var(--text-color);font-weight:500}.preferences-info strong{color:var(--accent-color);font-weight:600}.change-preferences-btn{background:var(--button-bg);color:var(--button-text);border:none;padding:.5rem 1.25rem;border-radius:.625rem;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease;white-space:nowrap}.change-preferences-btn:hover{background:var(--button-hover)}.preferences-banner{width:100%;background:#7c5cbf15;border:1px solid var(--border-color);border-radius:1rem;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}@media (max-width: 768px){.preferences-banner{flex-direction:column;align-items:stretch;gap:.75rem;padding:.875rem 1rem;margin-bottom:1rem}.preferences-info p{font-size:.9rem}.change-preferences-btn{width:100%;padding:.75rem;font-size:.95rem}}@media (max-width: 480px){.preferences-banner{padding:.75rem .875rem;margin-bottom:.875rem}.preferences-info p{font-size:.85rem}.change-preferences-btn{padding:.625rem 1rem;font-size:.85rem}}.onboarding-overlay{position:fixed;inset:0;background:#0006;display:flex;justify-content:center;align-items:center;z-index:10000;opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.onboarding-overlay.visible{opacity:1}.onboarding-modal{background:var(--card-bg);border-radius:2rem;border:1px solid var(--border-color);max-width:800px;width:90%;max-height:90vh;overflow-y:auto;opacity:1}.onboarding-modal.slide-in{opacity:1}.onboarding-content{padding:3rem;display:flex;flex-direction:column;gap:2.5rem}.onboarding-header{text-align:center}.onboarding-header h1{font-size:2.5rem;font-weight:700;margin-bottom:.75rem;letter-spacing:-.5px}.brand-highlight{color:var(--button-bg)}.onboarding-header p{font-size:1.125rem;color:var(--text-color);opacity:.6;font-weight:400;font-family:JetBrains Mono,monospace;font-weight:200}.onboarding-body{display:flex;flex-direction:column;gap:0}.selection-section{opacity:1}.selection-section+.selection-section{margin-top:2rem}.selection-section.animate-in{opacity:1}.branch-section{overflow:hidden;transition:max-height .25s ease,opacity .2s ease,transform .2s ease,margin .25s ease}.branch-section.collapsed{max-height:0;opacity:0;transform:translateY(-6px);margin:0;pointer-events:none}.branch-section.expanded{max-height:420px;opacity:1;transform:translateY(0);margin-top:2rem}.section-title{font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;color:var(--text-color);letter-spacing:-.3px;font-family:JetBrains Mono,monospace}.year-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.year-container{display:flex;flex-direction:column;gap:.75rem}.semester-container{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;height:100%}.semester-btn{font-family:JetBrains Mono,monospace;background:var(--select-bg);border:1px solid var(--border-color);border-radius:.75rem;padding:.875rem;cursor:pointer;transition:all .15s ease;font-size:.85rem;font-weight:600;color:var(--text-color);display:flex;align-items:center;justify-content:center;flex-direction:column}.semester-btn:hover{border-color:var(--hover-border-color)}.semester-btn.selected{background:var(--button-bg);border-color:#fff;color:var(--bg-color)}.year-card{font-family:JetBrains Mono,monospace;background:var(--select-bg);border:1px solid var(--border-color);border-radius:1.25rem;padding:1.75rem;cursor:pointer;transition:all .15s ease;font-size:1rem;font-weight:600;color:var(--text-color);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.year-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#7c5cbf15,#a78bfa15);opacity:0;transition:opacity .15s ease}.year-card:hover{border-color:var(--hover-border-color)}.year-card.selected{background:#fff;border-color:#fff;color:#000}.branch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.branch-card{font-family:JetBrains Mono,monospace;background:var(--select-bg);border:1px solid var(--border-color);border-radius:1.25rem;padding:1.5rem;cursor:pointer;transition:all .15s ease;font-size:.95rem;font-weight:600;color:var(--text-color);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.branch-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#7c5cbf15,#a78bfa15);opacity:0;transition:opacity .15s ease}.branch-card:hover{border-color:var(--hover-border-color)}.branch-card.selected{background:var(--button-bg);border-color:#fff;color:var(--bg-color)}.branch-label,.year-label{position:relative;z-index:1}.info-message{background:linear-gradient(135deg,#7c5cbf10,#a78bfa10);border:1px solid var(--border-color);border-radius:1rem;padding:1.25rem;text-align:center;overflow:hidden;transition:max-height .25s ease,opacity .2s ease,transform .2s ease,padding .25s ease,border-width .25s ease}.info-message.collapsed{max-height:0;opacity:0;transform:translateY(-6px);margin-top:0;padding-top:0;padding-bottom:0;border-width:0}.info-message.expanded{max-height:120px;opacity:1;transform:translateY(0);margin-top:2rem}.info-message p{color:var(--text-color);font-size:.95rem;font-weight:500;margin:0;font-family:JetBrains Mono,monospace;font-weight:400}.onboarding-footer{display:flex;flex-direction:column;gap:1rem}.continue-button{background:var(--button-bg);color:var(--bg-color);border:none;border-radius:1rem;padding:1rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .15s ease;width:100%}.continue-button:disabled{opacity:.5;cursor:not-allowed}.footer-text{text-align:center;font-size:.875rem;color:var(--text-color);opacity:.6;margin:0}@media (max-width: 768px){.onboarding-content{padding:2rem;gap:2rem}.onboarding-header h1{font-size:1.875rem}.onboarding-header p{font-size:1rem}.section-title{font-size:1.1rem}.year-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem}.year-card{padding:1.25rem;font-size:.9rem;border-radius:1rem}.branch-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem}.branch-card{padding:1.25rem;font-size:.85rem;border-radius:1rem}.continue-button{padding:.875rem 1.5rem;font-size:.95rem}.semester-btn{padding:.75rem;font-size:.8rem}}@media (max-width: 480px){.onboarding-modal{width:95%;border-radius:1.5rem;max-height:85vh}.onboarding-content{padding:1.5rem;gap:1.5rem}.onboarding-header h1{font-size:1.5rem}.onboarding-header p{font-size:.9rem}.section-title{font-size:1rem}.year-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.year-card{padding:1rem;font-size:.8rem}.branch-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.branch-card{padding:1rem;font-size:.75rem}.info-message{padding:1rem}.info-message p{font-size:.85rem}.semester-btn{padding:.75rem;font-size:.8rem}}.grouped-paper-container{padding:0!important;display:flex;flex-direction:column}.grouped-paper-container .paper-header{padding:1.25rem 1.25rem .75rem}.grouped-papers-tiles{display:flex;flex-direction:column;gap:0;background-color:var(--paper-details-bg);border-top:1px solid var(--border-color);border-radius:0 0 .75rem .75rem;overflow:hidden}.paper-tile{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.25rem;border-bottom:1px solid var(--border-color);background-color:var(--paper-details-bg);transition:background-color .15s ease}.paper-tile:last-child{border-bottom:none}.paper-tile:hover{background-color:#7c5cbf08}.dark-theme .paper-tile:hover{background-color:#a78bfa0d}.tile-content{display:flex;flex-direction:column;gap:.3rem;flex:1;min-width:0}.tile-content p{margin:0;font-size:.8rem;line-height:1.4;font-family:JetBrains Mono,monospace}.tile-content strong{color:var(--text-color);font-weight:600}.tile-actions{display:flex;gap:.5rem;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.tile-actions .view-button{display:flex;padding:.6rem .9rem;font-size:.75rem;margin-bottom:0}.tile-actions .delete-button{display:flex;padding:.6rem .9rem;font-size:.75rem}.bi.bi-arrow-up-right{margin-top:1px}
