:root{--color-bg:#fafafc;--color-text:#17181c;--color-card:#ffffffb8;--color-muted:#615b76;--color-border:#251c3d24;--color-primary:#7140d8;--color-accent:#d946a8;--color-blue:#19a3e9;--gradient-brand:linear-gradient(120deg, #087db7, #7140d8 50%, #b92a88);--glass-surface:#ffffffad;--glass-sub-surface:#ffffff73;--card-shadow:0 30px 60px -30px #7140d833;--glow-blue:#19a3e942;--glow-pink:#d946a838;--backdrop-mark-opacity:.18;--font-family:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-wordmark:"Baloo 2", cursive, sans-serif;font-family:var(--font-family);color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--color-bg:#120f24;--color-text:#fff;--color-card:#1b1733b8;--color-muted:#a9a4c4;--color-border:#ffffff1f;--color-primary:#8758f5;--color-accent:#d946a8;--color-blue:#19a3e9;--gradient-brand:linear-gradient(120deg, #19a3e9, #8758f5 50%, #d946a8);--glass-surface:#ffffff12;--glass-sub-surface:#ffffff0a;--card-shadow:0 30px 60px -30px #0000008c;--glow-blue:#19a3e952;--glow-pink:#d946a847;--backdrop-mark-opacity:.24}}body{font-family:var(--font-family);background-color:var(--color-bg);color:var(--color-text);margin:0;overflow-x:hidden}*{box-sizing:border-box}button,input,textarea,select{font:inherit}button{cursor:pointer}.fixed-backdrop{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.backdrop-aura{filter:blur(80px);pointer-events:none;background:radial-gradient(circle,#7140d859 0%,#d946a838 42%,#19a3e91f 65%,#0000 75%);border-radius:50%;width:min(520px,65vw);height:min(520px,65vw);animation:10s ease-in-out infinite alternate auraPulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes auraPulse{0%{opacity:.8;transform:translate(-50%,-50%)scale(.94)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.06)}to{opacity:.85;transform:translate(-50%,-50%)scale(.97)}}.backdrop-logo-mark{width:min(540px,65vw);max-height:62vh;opacity:var(--backdrop-mark-opacity,.2);filter:drop-shadow(0 0 35px #7140d8a6)drop-shadow(0 0 75px #d946a873)drop-shadow(0 20px 45px #19a3e959);object-fit:contain;-webkit-user-select:none;user-select:none;transition:opacity .3s;animation:14s ease-in-out infinite alternate floatBackdrop;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes floatBackdrop{0%{transform:translate(-50%,-50%)rotate(0)}50%{transform:translate(-50%,-52%)rotate(.7deg)}to{transform:translate(-50%,-48%)rotate(-.7deg)}}.glow-orb{filter:blur(120px);pointer-events:none;border-radius:50%;animation:16s ease-in-out infinite alternate slowDrift;position:absolute}.glow-top-left{background:radial-gradient(circle, var(--glow-blue) 0%, transparent 70%);width:min(650px,65vw);height:min(650px,65vw);top:-12%;left:-10%}.glow-bottom-right{background:radial-gradient(circle, var(--glow-pink) 0%, transparent 70%);width:min(750px,70vw);height:min(750px,70vw);animation-duration:20s;animation-delay:-6s;bottom:-15%;right:-10%}@keyframes slowDrift{0%{transform:translate(0)scale(1)}50%{transform:translate(30px,25px)scale(1.08)}to{transform:translate(-20px,-20px)scale(.96)}}.glass{background:var(--glass-surface);-webkit-backdrop-filter:blur(20px)saturate(160%);border:1px solid var(--color-border);box-shadow:var(--card-shadow)}.app-shell{min-height:100vh;position:relative;background:0 0!important}@media (width>=901px){.app-shell>aside{z-index:10;position:relative}}.sidebar{background:var(--glass-surface)!important;-webkit-backdrop-filter:blur(24px)saturate(170%)!important;border-right:1px solid var(--color-border)!important}.topbar{background:var(--glass-surface)!important;-webkit-backdrop-filter:blur(24px)saturate(170%)!important;border-bottom:1px solid var(--color-border)!important}.stat-card,.section-card,.class-card,.welcome-banner,.campusmate-card,.card,.modal-card,.modal-content,.search-results-panel,.day-pill-btn,.section-pill-selector,.resource-card,.project-card,.team-card,.skill-card,.auth-card,.notification-popover,.vault-item,.vault-row,.class-item,.project-item,.team-post-card,.help-card,.account-card,.timetable-card,.attendance-card,.slot-card,.hero-mockup-wrap,.landing-feature-card,.companion-card{background:var(--glass-surface)!important;-webkit-backdrop-filter:blur(20px)saturate(160%)!important;border:1px solid var(--color-border)!important;box-shadow:var(--card-shadow)!important}.stat-card:hover,.class-card:hover,.day-pill-btn:hover,.team-post-card:hover,.landing-feature-card:hover{background:var(--glass-sub-surface)!important;border-color:var(--color-primary)!important}.font-wordmark{font-family:var(--font-wordmark)}.text-gradient{background:var(--gradient-brand);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}:root{--ink:var(--color-text,#17181c);--muted:var(--color-muted,#615b76);--line:var(--color-border,#251c3d24);--surface:var(--glass-surface,#ffffffd1);--shadow:var(--card-shadow,0 30px 60px -30px #7140d833)}body{background-color:var(--color-bg,#fafafc);color:var(--ink);font-family:var(--font-body,"Geist", -apple-system, BlinkMacSystemFont, sans-serif);-webkit-font-smoothing:antialiased}.app-shell{min-height:100vh;color:var(--color-text,var(--ink));display:flex;position:relative;background-color:#0000!important;background-image:none!important}@media (width>=901px){.app-shell>aside{z-index:10;position:relative}}.app-shell>main,.app-shell>div:not(.fixed-backdrop){z-index:10;position:relative}.sidebar{background:var(--glass-surface,#ffffffd1);-webkit-backdrop-filter:blur(20px)saturate(160%);border-right:1px solid var(--color-border,#251c3d24);z-index:30;width:250px;height:100vh;box-shadow:var(--card-shadow);flex-direction:column;flex-shrink:0;padding:18px 14px 20px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{letter-spacing:-.6px;height:40px;color:var(--color-text);font-size:20px;font-family:var(--font-wordmark,"Baloo 2", sans-serif);align-items:center;gap:10px;padding:0 10px;font-weight:800;display:flex}.brand strong{font-family:var(--font-wordmark,"Baloo 2", sans-serif);color:#7140d8;font-weight:800}.brand strong span,.mobile-brand span{color:#d946a8}.brand small{color:#19a3e9;background:#19a3e91f;border:1px solid #19a3e933;border-radius:9999px;margin-left:4px;padding:3px 8px;font-size:10px;font-weight:700}.brand-mark{color:#fff;background:var(--gradient-brand);border-radius:10px;place-items:center;width:28px;height:28px;display:grid;box-shadow:0 4px 12px #7140d84d}.nav-label{color:var(--color-muted);letter-spacing:.08em;margin:24px 14px 8px;font-size:10px;font-weight:800}.account-label{margin-top:24px}nav{gap:4px;display:grid}.nav-item{width:100%;color:var(--color-muted);text-align:left;font-size:12px;font-weight:500;font-family:var(--font-body,"Geist", sans-serif);cursor:pointer;background:0 0;border:0;border-radius:9999px;align-items:center;gap:12px;padding:10px 14px;transition:all .18s;display:flex}.nav-item:hover{color:var(--color-text);background:#7140d814}.nav-item.active{color:#fff;background:var(--gradient-brand);font-weight:600;box-shadow:0 4px 16px #7140d859}.nav-item i{color:#fff;background:#d946a8;border-radius:9999px;place-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 4px;font-size:10px;font-style:normal;font-weight:700;display:grid}.campusmate-card{border:1px solid var(--color-border);background:var(--glass-surface);-webkit-backdrop-filter:blur(16px);box-shadow:var(--card-shadow);border-radius:20px;margin-top:auto;padding:16px 14px;font-size:12px}.cm-logo{color:#fff;background:#19a3e9;border-radius:6px;place-items:center;width:20px;height:20px;margin-right:7px;font-size:13px;display:inline-grid}.campusmate-card strong{color:var(--color-text);font-size:13px}.campusmate-card button{color:var(--color-primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin-top:12px;padding:0;font-size:11px;font-weight:700;display:flex}.campusmate-card p{color:var(--color-muted);margin:6px 0 0;font-size:11px;line-height:1.5}body.in-android-shell{-webkit-tap-highlight-color:transparent;touch-action:pan-x pan-y;overscroll-behavior-y:none}body.in-android-shell button,body.in-android-shell a,body.in-android-shell nav,body.in-android-shell [role=tab],body.in-android-shell [role=button]{-webkit-user-select:none;user-select:none}body.in-android-shell .sidebar,body.in-android-shell .mobile-nav-backdrop,body.in-android-shell header,body.in-android-shell footer,body.in-android-shell .site-footer{display:none!important}body.in-android-shell .main-content{width:100%!important;max-width:100%!important;margin-left:0!important;padding-bottom:24px!important}.main-content{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--color-border);background:var(--glass-surface);-webkit-backdrop-filter:blur(20px)saturate(160%);z-index:20;align-items:center;gap:20px;height:60px;padding:0 24px;display:flex;position:sticky;top:0}.search-wrap{background:var(--glass-surface);border:1px solid var(--color-border);max-width:540px;height:38px;color:var(--color-muted);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:9999px;flex:1;align-items:center;gap:10px;padding:0 16px;transition:all .2s;display:flex}.search-wrap input,.vault-search input{min-width:0;color:var(--color-text);background:0 0;border:0;outline:0;flex:1;font-family:inherit;font-size:12px}.search-wrap input::placeholder,.vault-search input::placeholder{color:var(--color-muted)}.search-wrap kbd{border:1px solid var(--color-border);color:var(--color-muted);background:#0000000a;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:600}.top-actions{align-items:center;gap:16px;margin-left:auto;display:flex}.icon-button,.more-button,.close-button{color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:9999px;place-items:center;padding:6px;transition:all .15s;display:grid;position:relative}.icon-button:hover,.more-button:hover,.close-button:hover{color:var(--color-text);background:#0000000d}.icon-button b{border:2px solid var(--color-bg);background:#d946a8;border-radius:50%;width:7px;height:7px;position:absolute;top:4px;right:4px}.user-menu{color:var(--color-text);cursor:pointer;border:1px solid #0000;border-radius:9999px;align-items:center;gap:10px;padding:4px 10px 4px 4px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.user-menu:hover{background:var(--glass-surface);border-color:var(--color-border)}.avatar{background:var(--gradient-brand);color:#fff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:grid;box-shadow:0 2px 8px #7140d84d}.mobile-menu,.mobile-brand{display:none}.page-body{max-width:1260px;margin:0 auto;padding:24px 24px 40px}.welcome-banner{border:1px solid var(--color-border);background:var(--glass-surface);-webkit-backdrop-filter:blur(20px)saturate(160%);min-height:150px;box-shadow:var(--card-shadow);border-radius:24px;justify-content:space-between;padding:28px;display:flex;position:relative;overflow:hidden}.welcome-banner:after{content:"";pointer-events:none;background:radial-gradient(#d946a826,#0000 70%);height:230px;position:absolute;inset:auto -9% -85% 40%}.eyebrow{letter-spacing:.12em;color:var(--color-primary);text-transform:uppercase;margin:0 0 8px;font-size:10px;font-weight:800}.welcome-banner h1,.page-heading h1,.placeholder-page h1{color:var(--color-text);letter-spacing:-.8px;margin:0;font-size:26px;font-weight:800;line-height:1.2}.wave{color:#f7b735;font-size:22px}.welcome-copy{color:var(--color-muted);margin:10px 0 16px;font-size:13px;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:9999px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 18px;font-family:inherit;font-size:12px;font-weight:600;text-decoration:none;transition:all .18s;display:inline-flex}.button.primary{color:#fff;background:var(--gradient-brand);border:none;box-shadow:0 4px 16px #7140d859}.button.primary:hover{opacity:.95;transform:translateY(-1px);box-shadow:0 6px 22px #7140d873}.button.ghost,.button.secondary{background:var(--glass-surface);border:1px solid var(--color-border);color:var(--color-text)}.button.ghost:hover,.button.secondary:hover{background:#0000000d;border-color:#00000026;transform:translateY(-1px)}.hero-art{width:175px;color:var(--color-primary);z-index:1;justify-content:center;align-items:center;display:flex;position:relative}.sun-orb{background:radial-gradient(circle,#19a3e940,#d946a840);border-radius:50%;width:112px;height:112px;position:absolute}.hero-art svg{filter:drop-shadow(4px 6px 12px #7140d840);position:relative;transform:rotate(-8deg)}.book-stack{width:92px;position:absolute;bottom:13px;left:24px;transform:rotate(-7deg)}.book-stack span{border-radius:4px;height:10px;margin-top:3px;display:block;box-shadow:0 3px 6px #7140d826}.book-stack span:first-child{background:#d946a8;width:77px}.book-stack span:nth-child(2){background:#7140d8;width:92px}.book-stack span:nth-child(3){background:#19a3e9;width:70px}.stat-grid{grid-template-columns:repeat(5,1fr);gap:14px;margin:18px 0;display:grid}.stat-card{border:1px solid var(--color-border);background:var(--glass-surface);-webkit-backdrop-filter:blur(20px)saturate(160%);box-shadow:var(--card-shadow);border-radius:20px;justify-content:space-between;align-items:center;padding:16px 18px;transition:transform .2s,box-shadow .2s;display:flex}.stat-card:hover{transform:translateY(-2px)}.stat-card p{color:var(--color-muted);margin:0 0 6px;font-size:11px;font-weight:600}.stat-card strong{letter-spacing:-.8px;color:var(--color-text);font-size:24px;font-weight:800;line-height:1}.stat-card strong.green{color:#10b981}.stat-card strong.blue{color:#19a3e9}.stat-card strong.yellow{color:#f59e0b}.stat-card strong.pink{color:#d946a8}.stat-card strong.mint{color:#059669}.stat-icon,.class-icon,.activity-icon{border-radius:12px;place-items:center;width:36px;height:36px;display:grid}.stat-icon.green,.class-icon.green,.activity-icon.mint{color:#10b981;background:#10b9811f}.stat-icon.blue,.class-icon.blue,.activity-icon.blue{color:#19a3e9;background:#19a3e91f}.stat-icon.yellow,.activity-icon.yellow{color:#f59e0b;background:#f59e0b1f}.stat-icon.pink,.class-icon.pink,.activity-icon.pink{color:#d946a8;background:#d946a81f}.stat-icon.mint{color:#059669;background:#0596691f}.class-icon.violet,.activity-icon.purple{color:#7140d8;background:#7140d81f}.section-card{border:1px solid var(--color-border);background:var(--glass-surface);-webkit-backdrop-filter:blur(20px)saturate(160%);box-shadow:var(--card-shadow);border-radius:24px;padding:22px 20px 20px}.section-header{justify-content:space-between;align-items:center;padding:0 4px 14px;display:flex}.section-header h2{color:var(--color-text);margin:0;font-size:15px;font-weight:700}.section-header button{color:var(--color-primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.class-grid{grid-template-columns:repeat(4,1fr) 110px;gap:12px;display:grid}.class-card{border:1px solid var(--color-border);background:var(--glass-surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:18px;min-width:0;padding:16px;transition:transform .2s,box-shadow .2s}.class-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px -10px #7140d826}.class-card strong{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;margin-top:10px;font-size:12px;display:block;overflow:hidden}.class-card p{color:var(--color-muted);margin:4px 0 10px;font-size:10px}.class-icon{border-radius:10px;width:32px;height:32px}.progress-label{color:var(--color-muted);justify-content:space-between;font-size:9px;font-weight:600;display:flex}.progress{background:#0000000f;border-radius:9999px;height:6px;margin-top:6px;overflow:hidden}.progress i{border-radius:9999px;height:100%;display:block}.progress i.green{background:#10b981}.progress i.blue{background:#19a3e9}.progress i.violet{background:#7140d8}.progress i.pink{background:#d946a8}.create-class{border:1px dashed var(--color-border);background:var(--glass-surface);color:var(--color-primary);cursor:pointer;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:11px;font-weight:600;transition:all .2s;display:flex}.create-class:hover{border-color:var(--color-primary);background:#7140d80d}.lower-grid{grid-template-columns:1.36fr .76fr;gap:14px;margin-top:14px;display:grid}.resource-list,.activity-list{display:grid}.resource-row{border-top:1px solid var(--color-border);align-items:center;gap:12px;min-width:0;padding:10px 6px;transition:background .15s;display:flex}.resource-row:hover{background:#7140d808}.resource-thumb{border-radius:10px;flex:0 0 36px;place-items:center;height:36px;display:grid}.resource-thumb.mint{color:#059669;background:#0596691f}.resource-thumb.blue{color:#19a3e9;background:#19a3e91f}.resource-thumb.yellow{color:#f59e0b;background:#f59e0b1f}.resource-thumb.pink{color:#d946a8;background:#d946a81f}.resource-thumb.purple{color:#7140d8;background:#7140d81f}.resource-main{flex:1;min-width:0}.resource-main strong{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.resource-main p{color:var(--color-muted);margin:2px 0 0;font-size:10px}.views,.rating,.resource-age{color:var(--color-muted);flex-shrink:0;align-items:center;gap:4px;font-size:10px;display:flex}.rating{color:#f59e0b}.activity-item{border-bottom:1px solid var(--color-border);gap:12px;padding:10px 6px;display:flex}.activity-item:last-child{border-bottom:0}.activity-icon{border-radius:50%;flex-shrink:0;width:30px;height:30px}.activity-item strong{color:var(--color-text);font-size:11px;display:block}.activity-item p{color:var(--color-muted);margin:2px 0;font-size:10px}.activity-item small{color:var(--color-muted);opacity:.8;font-size:9px}.page-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin:10px 2px 24px;display:flex}.page-heading h1{font-size:28px}.page-heading>div>p:last-child{color:var(--color-muted);margin:8px 0 0;font-size:13px}.vault-toolbar{gap:10px;margin-bottom:14px;display:flex}.vault-search{background:var(--glass-surface);border:1px solid var(--color-border);max-width:480px;height:40px;color:var(--color-muted);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:9999px;flex:1;align-items:center;gap:10px;padding:0 16px;display:flex}.filter-button{border:1px solid var(--color-border);background:var(--glass-surface);color:var(--color-text);cursor:pointer;border-radius:9999px;align-items:center;gap:12px;padding:0 16px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.filter-button:hover{background:#0000000d;border-color:#0003}.vault-list{border:1px solid var(--color-border);background:var(--glass-surface);-webkit-backdrop-filter:blur(20px)saturate(160%);box-shadow:var(--card-shadow);border-radius:24px;overflow:hidden}.vault-row{border-bottom:1px solid var(--color-border);align-items:center;gap:14px;min-height:70px;padding:12px 18px;transition:background .15s;display:flex}.vault-row:last-child{border-bottom:0}.vault-row:hover{background:#7140d808}.vault-row .resource-thumb{border-radius:12px;width:42px;height:42px}.vault-info{flex:1;min-width:0}.resource-title-line{align-items:center;gap:8px;display:flex}.resource-title-line strong{color:var(--color-text);font-size:13px}.type-pill{color:var(--color-primary);background:#7140d81a;border:1px solid #7140d833;border-radius:9999px;padding:2px 8px;font-size:9px;font-weight:700}.vault-info p{color:var(--color-muted);margin:4px 0 0;font-size:11px}.vault-rating{color:#f59e0b;align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.vault-age{color:var(--color-muted);font-size:11px}.empty-state{min-height:300px;color:var(--color-muted);place-items:center;gap:10px;padding:30px;display:grid}.empty-state strong{color:var(--color-text);font-size:15px}.empty-state p{font-size:12px}.full-class-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.large-card{border-radius:22px;min-height:170px;padding:20px}.large-card strong{font-size:15px}.large-card p{font-size:12px}.create-class.large{border-radius:22px;min-height:170px}.create-class.large span{color:var(--color-muted);font-size:11px}.placeholder-page{text-align:center;place-content:center;justify-items:center;min-height:460px;display:grid}.placeholder-icon{width:64px;height:64px;color:#fff;background:var(--gradient-brand);border-radius:20px;place-items:center;margin-bottom:20px;display:grid;box-shadow:0 8px 24px #7140d84d}.placeholder-page h1{font-size:28px}.placeholder-page>p:not(.eyebrow){max-width:440px;color:var(--color-muted);margin:10px 0 24px;font-size:13px}@media (width<=1024px){.stat-grid{grid-template-columns:repeat(3,1fr)}.class-grid,.full-class-grid{grid-template-columns:repeat(2,1fr)}.lower-grid{grid-template-columns:1fr}}@media (width<=768px){.stat-grid,.class-grid,.full-class-grid{grid-template-columns:1fr}}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#18223e57;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:#fffffffa;border:1px solid #ffffffe6;border-radius:20px;width:min(560px,100vw - 32px);max-height:calc(100vh - 48px);padding:25px;overflow:auto;box-shadow:0 28px 80px #202c5740}.modal-header{border-bottom:1px solid #edf0f6;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:18px;display:flex}.modal-header h2{color:#18233e;letter-spacing:-.5px;margin:0;font-size:21px}.close-button{background:#f4f6fb;border-radius:9px;width:32px;height:32px}.close-button:hover{color:#4a6ce5;background:#e9edfa}.modal-form{gap:16px;padding-top:20px;display:grid}.modal-form label{color:#5e6b84;gap:7px;font-size:11px;font-weight:700;display:grid}.modal-form input,.modal-form textarea,.modal-form select{color:#27334d;background:#fbfcff;border:1px solid #dce2ef;border-radius:10px;outline:0;width:100%;padding:12px 13px;font-size:12px;transition:all .18s}.modal-form input:focus,.modal-form textarea:focus,.modal-form select:focus{background:#fff;border-color:#718cf1;box-shadow:0 0 0 4px #edf1ff}.modal-form textarea{resize:vertical;min-height:92px}.modal-actions{justify-content:flex-end;gap:9px;padding-top:4px;display:flex}.account-page{padding-bottom:30px}.save-status{color:#168c69;background:#e9fbf4;border-radius:8px;margin-bottom:10px;padding:8px 11px;font-size:11px;font-weight:700}.account-layout{grid-template-columns:1.25fr .85fr;gap:14px;display:grid}.account-panel{background:#ffffffd6;border:1px solid #e7eaf3;border-radius:16px;padding:20px;box-shadow:0 14px 35px #37457012}.panel-heading{border-bottom:1px solid #edf0f6;align-items:center;gap:12px;padding-bottom:18px;display:flex}.panel-heading h2{color:#27334d;margin:0;font-size:15px}.panel-heading p{color:#8792a8;margin:4px 0 0;font-size:10px}.profile-avatar{color:#fff;background:linear-gradient(135deg,#438ef5,#a55be8);border-radius:13px;place-items:center;width:42px;height:42px;font-size:12px;font-weight:700;display:grid}.preference-icon{color:#6b63e7;background:#f0edff;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.account-fields{grid-template-columns:1fr 1fr;gap:14px;padding:20px 0;display:grid}.account-fields label{color:#65718a;gap:7px;font-size:11px;font-weight:700;display:grid}.account-fields input{color:#27334d;background:#fbfcff;border:1px solid #dfe4ef;border-radius:9px;outline:0;width:100%;padding:11px 12px;font-size:12px}.account-fields input:focus{border-color:#718cf1;box-shadow:0 0 0 4px #edf1ff}.panel-footer{border-top:1px solid #edf0f6;justify-content:space-between;align-items:center;padding-top:15px;display:flex}.panel-footer span{color:#9aa5b9;font-size:10px}.preference-row{border-bottom:1px solid #edf0f6;justify-content:space-between;align-items:center;gap:12px;padding:17px 0;display:flex}.preference-row strong{color:#35415a;font-size:11px;display:block}.preference-row p{color:#8a95a9;margin:4px 0 0;font-size:10px;line-height:1.4}.toggle{background:#dce2ed;border:0;border-radius:20px;width:38px;height:22px;padding:3px;transition:all .2s}.toggle i{background:#fff;border-radius:50%;width:16px;height:16px;transition:all .2s;display:block;box-shadow:0 1px 3px #1f2c4f2e}.toggle.on{background:linear-gradient(100deg,#4f7bf0,#9b5ee5)}.toggle.on i{transform:translate(16px)}.connected-card{background:#f4f7ff;border:1px solid #e1e9ff;border-radius:11px;align-items:center;gap:9px;margin-top:18px;padding:12px;display:flex}.connected-card .cm-logo{flex-shrink:0}.connected-card strong{color:#39486d;font-size:10px;display:block}.connected-card p{color:#8290aa;margin:3px 0 0;font-size:9px}.connected-dot{background:#32c28e;border-radius:50%;width:7px;height:7px;margin-left:auto;box-shadow:0 0 0 3px #dff8ed}@media (width<=800px){.account-layout{grid-template-columns:1fr}}@media (width<=560px){.modal{border-radius:16px;padding:18px}.account-fields{grid-template-columns:1fr}.panel-footer{flex-direction:column;align-items:flex-start;gap:12px}.page-heading{display:block}.save-status{margin-top:13px;display:inline-block}}.team-page{padding-bottom:30px}.team-intro{background:linear-gradient(105deg,#eef4ff,#fbf0ff);border:1px solid #e0e7ff;border-radius:15px;align-items:center;gap:14px;margin-bottom:20px;padding:17px 19px;display:flex}.team-intro-icon{color:#6f62eb;background:#fff;border-radius:13px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 5px 14px #5b5bb41a}.team-intro strong{color:#263451;font-size:13px;display:block}.team-intro p{color:#7b88a2;margin:4px 0 0;font-size:10px;line-height:1.45}.team-intro .button{flex-shrink:0;margin-left:auto}.team-toolbar{color:#52607b;justify-content:space-between;align-items:center;margin:0 2px 12px;font-size:12px;display:flex}.team-toolbar .filter-button{height:34px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.team-post{background:#ffffffdb;border:1px solid #e5e9f3;border-radius:15px;padding:18px;box-shadow:0 14px 35px #3745700f}.team-post-top{justify-content:space-between;align-items:center;display:flex}.team-status{color:#1fa777;align-items:center;gap:5px;font-size:10px;font-weight:700;display:flex}.team-status:before{content:"";background:#27c18a;border-radius:50%;width:6px;height:6px}.team-post h2{color:#25324d;letter-spacing:-.2px;margin:13px 0 6px;font-size:15px}.team-description{color:#7d89a1;min-height:35px;margin:0;font-size:11px;line-height:1.5}.skill-list{flex-wrap:wrap;gap:6px;margin:15px 0;display:flex}.skill-list span{color:#5c6da9;background:#eef2ff;border-radius:6px;padding:5px 8px;font-size:9px;font-weight:700}.team-post-meta{color:#8591a7;border-top:1px solid #edf0f6;gap:18px;padding:12px 0;font-size:10px;display:flex}.team-post-meta span{align-items:center;gap:5px;display:flex}.team-post-footer{border-top:1px solid #edf0f6;justify-content:space-between;align-items:center;padding-top:12px;display:flex}.team-leader{align-items:center;gap:8px;display:flex}.avatar.small{width:25px;height:25px;font-size:8px}.team-leader strong,.team-leader small{display:block}.team-leader strong{color:#3e4a63;font-size:10px}.team-leader small{color:#9aa5b8;margin-top:2px;font-size:9px}.team-post-footer .button{min-height:29px;padding:0 10px;font-size:9px}.team-empty{text-align:center;color:#8290a8;background:#ffffff73;border:1px dashed #d8dff0;border-radius:15px;place-items:center;gap:8px;min-height:300px;padding:25px;display:grid}.team-empty svg{color:#8063e9}.team-empty strong{color:#43506b;font-size:14px}.team-empty p{margin:0 0 8px;font-size:11px}@media (width<=700px){.team-grid{grid-template-columns:1fr}.team-intro{flex-wrap:wrap;align-items:flex-start}.team-intro .button{margin-left:56px}.team-post-meta{justify-content:space-between;gap:9px}}@media (width<=480px){.team-intro .button{margin-left:0}.team-post-footer{flex-direction:column;align-items:flex-start;gap:10px}.team-post-footer .button{width:100%}}.team-review-notice{border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:13px;font-weight:500}.team-review-notice.notice-success{color:#065f46;background-color:#ecfdf5;border:1px solid #a7f3d0}.team-review-notice.notice-error{color:#9f1239;background-color:#fff1f2;border:1px solid #fecdd3}.team-status.accepted-badge{color:#059669}.team-status.accepted-badge:before{background:#10b981}.team-status.shortlisted-badge{color:#d97706}.team-status.shortlisted-badge:before{background:#f59e0b}.team-status.rejected-badge{color:#dc2626}.team-status.rejected-badge:before{background:#ef4444}.team-application-profile,.team-application-card-header{align-items:center;gap:12px;display:flex}.team-application-profile{background:#f8f9ff;border:1px solid #e5e9f3;border-radius:12px;padding:12px}.team-application-profile strong,.team-application-profile small,.team-application-card-header strong,.team-application-card-header small{display:block}.team-application-profile small,.team-application-card-header small{color:#77839a;margin-top:4px;font-size:11px}.team-application-review{gap:12px;display:grid}.team-application-card{background:#fff;border:1px solid #e4e8f2;border-radius:14px;padding:16px}.team-application-card-header{margin-bottom:12px}.team-application-card-header>div{flex:1}.team-application-card>p{color:#626f87;white-space:pre-wrap;font-size:12px;line-height:1.55}.team-application-card>p strong{color:#34425f}.team-application-facts{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.team-application-facts span{color:#5e6a80;background:#f3f5fc;border-radius:8px;padding:6px 9px;font-size:10px}.team-application-review .post-actions{justify-content:flex-end;margin-top:14px}.help-request-details{color:#69768e;margin-top:8px;font-size:11px}.help-request-details summary{cursor:pointer;color:#6d63cf;font-weight:700}.help-request-details p{white-space:pre-wrap}.lab-card>small{color:#8490a7;margin:8px 0;font-size:10px;display:block}.team-status.full{color:#bd5b67}.team-status.full:before{background:#dc7181}.skills-page{padding-bottom:30px}.market-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px;display:grid}.market-stats>div{background:#fffc;border:1px solid #e6eaf4;border-radius:13px;align-items:center;gap:12px;padding:15px 17px;display:flex;box-shadow:0 12px 30px #3745700d}.market-stats strong{color:#526eea;letter-spacing:-.4px;font-size:20px}.market-stats span{color:#7f8ba3;font-size:10px}.market-toolbar{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.market-toolbar strong{color:#33415f;font-size:13px;display:block}.market-toolbar p{color:#8a95aa;margin:3px 0 0;font-size:10px}.market-toolbar .filter-button{height:34px}.job-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.job-card{background:#ffffffe0;border:1px solid #e5e9f3;border-radius:15px;padding:18px;box-shadow:0 14px 35px #3745700f}.job-card.claimed{background:linear-gradient(145deg,#fff,#f5fcf9);border-color:#d8f0e7}.job-top{justify-content:space-between;align-items:center;display:flex}.job-status{color:#1fa777;align-items:center;gap:5px;font-size:10px;font-weight:700;display:flex}.job-status:before{content:"";background:#27c18a;border-radius:50%;width:6px;height:6px}.job-status.working{color:#6371d9}.job-status.working:before{background:#7583ee}.job-card h2{color:#25324d;letter-spacing:-.2px;margin:13px 0 6px;font-size:15px}.job-description{color:#7d89a1;min-height:37px;margin:0;font-size:11px;line-height:1.5}.job-skill{color:#6559d4;background:#f1efff;border-radius:8px;align-items:center;gap:7px;margin:15px 0 12px;padding:9px 10px;font-size:10px;display:flex}.job-skill svg{color:#8068e9}.job-details{color:#8591a7;border-top:1px solid #edf0f6;flex-wrap:wrap;gap:13px;padding:12px 0;font-size:10px;display:flex}.job-details span{align-items:center;gap:5px;display:flex}.job-footer{border-top:1px solid #edf0f6;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.job-footer strong,.job-footer small{display:block}.job-footer strong{color:#3e4a63;font-size:10px}.job-footer small{color:#9aa5b8;margin-top:3px;font-size:9px}.job-footer .button{min-height:31px;padding:0 10px;font-size:9px}.job-footer .button:disabled{opacity:1;cursor:default}.modal-note{color:#75819a;background:#f5f7fc;border-radius:8px;padding:10px 12px;font-size:10px;line-height:1.45}.job-empty{min-height:270px}@media (width<=700px){.market-stats,.job-grid{grid-template-columns:1fr}.market-toolbar{flex-direction:column;align-items:flex-start;gap:10px}.job-footer{flex-direction:column;align-items:flex-start}.job-footer .button{width:100%}}.campusmate-link{color:#477ef0;align-items:center;gap:9px;margin-top:12px;padding:0;font-size:11px;font-weight:700;text-decoration:none;display:flex}.campusmate-link:hover{text-decoration:underline}.post-actions{align-items:center;gap:7px;display:flex}.icon-danger{color:#d86b86;background:#fff7f9;border:1px solid #f0dfe6;border-radius:8px;place-items:center;width:30px;height:30px;transition:all .18s;display:grid}.icon-danger:hover{color:#c73c62;background:#fff0f4;border-color:#e8b8c6}.job-footer .post-actions{margin-left:auto}.job-footer .post-actions .button{flex-shrink:0}@media (width<=480px){.post-actions{width:100%}.post-actions .button{flex:1}.job-footer .post-actions{margin-left:0}}.user-menu{cursor:pointer;background:0 0;border:0;padding:0}.user-menu:hover{opacity:.82}.notification-control{align-items:center;display:flex;position:relative}.notification-control>.icon-button{position:relative}.notification-indicator{background:#e05a59;border:1px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:5px;right:5px}.notification-count{color:#fff;background:#e05a59;border:1px solid #fff;border-radius:10px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;line-height:1;display:grid;position:absolute;top:-5px;right:-7px}.notification-popover{z-index:30;background:#fff;border:1px solid #e4e8f0;border-radius:12px;width:min(380px,100vw - 28px);position:absolute;top:calc(100% + 12px);right:-8px;overflow:hidden;box-shadow:0 16px 42px #202c5729}.notification-heading{color:#27334d;border-bottom:1px solid #edf0f6;justify-content:space-between;align-items:center;padding:15px 18px;font-size:14px;font-weight:600;display:flex}.notification-heading button{color:#5872d8;cursor:pointer;background:#eff3ff;border:none;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600;transition:background .2s}.notification-heading button:hover{background:#e2e9ff}.notification-heading button:disabled{color:#a2aabc;cursor:default;background:0 0}.notification-list{max-height:400px;overflow:auto}.notification-item{text-align:left;cursor:pointer;background:#f6f9ff;border:none;border-bottom:1px solid #f0f2f7;gap:6px;width:100%;padding:14px 18px 14px 28px;transition:background .2s;display:grid;position:relative}.notification-item:not(.is-read):before{content:"";background:#4e74f4;border-radius:50%;width:8px;height:8px;position:absolute;top:18px;left:12px}.notification-item:hover{background:#eef2fd}.notification-item strong{color:#1e293b;font-size:13px;font-weight:700}.notification-item span{color:#475569;font-size:12px;line-height:1.5}.notification-item small{color:#94a3b8;margin-top:2px;font-size:10px}.notification-item.is-read{background:#fff}.notification-item.is-read:hover{background:#f8fafc}.notification-item.is-read strong{color:#334155;font-weight:600}.notification-empty{color:#64748b;text-align:center;margin:0;padding:32px 20px;font-size:13px}@media (width<=520px){.notification-popover{width:min(340px,100vw - 20px);right:-66px}}.class-workspace{min-width:0}.class-workspace-actions,.class-topic-heading,.class-topic-title,.class-topic-actions{align-items:center;gap:7px;display:flex}.class-workspace-actions{justify-content:flex-end;min-height:34px}.class-topic-section{border-top:1px solid #e8ebf2;min-width:0;padding:12px 2px}.class-topic-heading{color:#34415d;justify-content:space-between;margin-bottom:8px;font-size:12px}.class-topic{border-bottom:1px solid #edf0f5;padding:10px 0}.class-topic-title{color:#35415b;justify-content:space-between;min-width:0;font-size:12px}.class-topic-actions{flex-shrink:0}.class-topic-actions .icon-button,.class-topic-title>.icon-danger,.class-topic>ul li>.icon-danger{width:28px;height:28px}.class-topic-empty{color:#8590a5;margin:8px 0;font-size:11px}.class-topic ul{gap:7px;margin:9px 0;padding:0;list-style:none;display:grid}.class-topic li{color:#56627a;justify-content:space-between;align-items:flex-start;gap:9px;font-size:11px;display:flex}.class-topic li>span{gap:3px;min-width:0;display:grid}.class-topic li small{color:#8993a7;font-size:10px}.class-topic li pre{color:#34415d;white-space:pre-wrap;background:#f4f6fa;border-radius:6px;max-width:100%;max-height:180px;margin:4px 0 0;padding:9px;font-size:10px;overflow:auto}.class-add-material{margin-top:2px}.class-workspace-actions button:disabled,.class-topic-actions button:disabled{opacity:.4;cursor:not-allowed}@media (width<=760px){.class-topic-heading,.class-topic-title{align-items:flex-start}.class-workspace-actions{flex-wrap:wrap;justify-content:flex-start}}.profile-skills{border-top:1px solid #e8ebf2;border-bottom:1px solid #e8ebf2;grid-template-columns:minmax(160px,1fr) minmax(220px,1fr);gap:10px 20px;margin:18px 0;padding:14px 0;display:grid}.profile-skills>div:first-child strong{color:#34415d;font-size:13px}.profile-skills>div:first-child p{color:#8390a7;margin:4px 0;font-size:10px}.profile-skill-form input,.profile-skill-form textarea,.profile-skill-form select,.skill-profile-card input,.skill-profile-card textarea,.skill-profile-card select{color:#27334d;background:#fbfcff;border:1px solid #dce2ef;border-radius:8px;width:100%;margin-top:6px;padding:9px 11px;font-size:11px}.skill-profile-card{border:1px solid #e8ebf2;border-radius:10px;flex-direction:column;gap:10px;margin-top:12px;padding:14px;display:flex}.profile-skills .skill-list{grid-column:1/-1}.profile-skill-tag{align-items:center;gap:5px;display:inline-flex}.profile-skill-tag .icon-danger{width:21px;height:21px}.help-request-list{margin-top:20px}.help-request-row{border-bottom:1px solid #e8ebf2;justify-content:space-between;align-items:center;gap:14px;padding:13px 0;display:flex}.help-request-row>div:first-child{min-width:0}.help-request-row strong{color:#34415d;font-size:12px}.help-request-row p{color:#8390a7;margin:4px 0 0;font-size:10px}.help-request-row .post-actions{flex-wrap:wrap;justify-content:flex-end}.job-card .job-footer{align-items:center}@media (width<=680px){.profile-skills,.profile-skill-form{grid-template-columns:1fr}.profile-skills .skill-list{grid-column:auto}.help-request-row{flex-direction:column;align-items:flex-start}.help-request-row .post-actions{justify-content:flex-start}}.search-wrap{position:relative}.search-wrap:focus-within{border-color:#718cf1;box-shadow:0 0 0 3px #5b70e847}.search-wrap input:focus-visible{box-shadow:none;outline:none}.search-results-panel{z-index:40;text-align:left;background:#fff;border:1px solid #e3e7f0;border-radius:12px;width:min(520px,100vw - 24px);max-height:min(70vh,560px);padding:6px;position:absolute;top:calc(100% + 9px);left:0;overflow:auto;box-shadow:0 18px 48px #202c5729}.search-results-state{color:#77839a;margin:0;padding:18px;font-size:12px}.search-results-state.is-error{color:#b54747}.search-results-group{border-bottom:1px solid #edf0f6;padding:4px 0}.search-results-group:last-child{border-bottom:none}.search-results-group>div{color:#77839a;text-transform:uppercase;justify-content:space-between;align-items:center;padding:6px 14px;font-size:10px;display:flex}.search-results-group>div button{color:#5872d8;cursor:pointer;background:0 0;border:none;outline:none;padding:3px 0;font-size:10px;font-weight:700}.search-result-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;outline:none;align-items:center;gap:12px;width:100%;padding:8px 10px;transition:background .15s;display:flex}.search-result-item:hover{background:#f4f6fa}.search-result-icon{color:#6e7c99;background:#f0f3fa;border-radius:8px;flex:0 0 30px;place-items:center;height:30px;display:grid}.search-result-icon.is-resources{color:#5071df;background:#eff3ff}.search-result-icon.is-projects{color:#d658b4;background:#fcf1fa}.search-result-icon.is-labs{color:#35ac89;background:#eaf8f4}.search-result-icon.is-teamPosts{color:#db8e30;background:#fff5e8}.search-result-icon.is-people{color:#725de5;background:#f0edff}.search-result-avatar{object-fit:cover;border-radius:50%;flex:0 0 30px;height:30px}.search-result-text{flex:1;gap:2px;min-width:0;display:grid}.search-result-item strong{color:#2d3953;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.search-result-item small{color:#8792a7;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}@media (width<=520px){.search-results-panel{width:calc(100vw - 20px);left:auto;right:-54px}}.data-load-warning{color:#8a4c19;background:#fff9f2;border:1px solid #f0c9a4;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;padding:12px 14px;font-size:13px;display:flex}.data-load-loading{color:#77839a;margin:0 0 12px;font-size:12px}.messages-page{background:#ffffffe0;border:1px solid #e5e9f1;border-radius:12px;grid-template-columns:minmax(220px,280px) minmax(0,1fr);min-height:min(72vh,760px);display:grid;overflow:hidden}.conversation-list{background:#fbfcfe;border-right:1px solid #e8ebf2;min-width:0}.conversation-list-heading{border-bottom:1px solid #e8ebf2;padding:17px 15px}.conversation-list-heading h1{color:#27334d;margin:0;font-size:17px}.conversation-list-heading p{color:#8993a7;margin:5px 0 0;font-size:10px}.conversation-list-item{text-align:left;background:0 0;border-bottom:1px solid #edf0f5;gap:5px;width:100%;padding:12px 14px;display:grid;position:relative}.conversation-list-item:hover,.conversation-list-item.active{background:#f0f3fb}.conversation-list-item strong{color:#35415b;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.conversation-list-item small{color:#8993a7;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.conversation-unread{color:#fff;background:#5872d8;border-radius:10px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:9px;display:grid;position:absolute;top:14px;right:12px}.conversation-panel{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.conversation-header{color:#34415d;border-bottom:1px solid #e8ebf2;padding:14px 17px;font-size:13px}.message-history{flex-direction:column;flex:1;gap:10px;min-height:260px;padding:16px;display:flex;overflow:auto}.message-bubble{background:#fff;border:1px solid #e7eaf1;border-radius:10px;align-self:flex-start;max-width:min(78%,560px);padding:10px 12px}.message-bubble.mine{background:#f1f4ff;border-color:#d9e2ff;align-self:flex-end}.message-bubble strong{color:#44516b;font-size:10px}.message-bubble p{color:#29364f;white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0;font-size:12px;line-height:1.5}.message-bubble small{color:#929bb0;font-size:9px}.message-composer{border-top:1px solid #e8ebf2;align-items:flex-end;gap:9px;padding:12px;display:flex}.message-composer textarea{resize:vertical;color:#27334d;min-height:42px;max-height:150px;font:inherit;background:#fbfcff;border:1px solid #dce2ef;border-radius:8px;flex:1;padding:10px;font-size:11px}.conversation-state,.conversation-empty{color:#8993a7;text-align:center;place-items:center;gap:8px;padding:24px;font-size:11px;display:grid}.conversation-empty{flex:1}.conversation-empty strong{color:#43506b;font-size:13px}.conversation-error{color:#b54747;margin:0;padding:8px 12px;font-size:10px}@media (width<=680px){.messages-page{grid-template-columns:minmax(112px,34%) minmax(0,1fr);min-height:70vh}.conversation-list-heading{padding:12px 9px}.conversation-list-heading h1{font-size:14px}.conversation-list-item{padding:10px 8px}.message-history{padding:10px}.message-bubble{max-width:94%}.message-composer{flex-direction:column;align-items:stretch}.message-composer button{align-self:flex-end}}.projects-page{padding-bottom:30px}.projects-tab-bar{border-bottom:1px solid #edf0f6;gap:8px;margin-bottom:18px;padding-bottom:12px;display:flex}.tab-button{color:#67738b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:8px 16px;font-size:12px;font-weight:700;transition:all .18s}.tab-button.active{color:#fff;background:linear-gradient(100deg,#4e74f4,#dd51bd);box-shadow:0 6px 14px #7664e12e}.tab-button:hover:not(.active){color:#35415a;background:#f1f4fa}.project-card{background:#ffffffdb;border:1px solid #e5e9f3;border-radius:15px;flex-direction:column;padding:18px;display:flex;box-shadow:0 14px 35px #3745700f}.project-card h2{color:#25324d;letter-spacing:-.2px;margin:10px 0 6px;font-size:15px}.project-tech{color:#5c6da9;align-items:center;gap:6px;margin:8px 0;font-size:10px;font-weight:700;display:flex}.project-links{gap:12px;margin:10px 0;font-size:11px;display:flex}.project-links a{color:#4975ec;align-items:center;gap:5px;font-weight:600;text-decoration:none;display:inline-flex}.project-links a:hover{text-decoration:underline}.project-files{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.project-files .button{height:26px;padding:3px 8px;font-size:10px}.lab-card{background:#ffffffdb;border:1px solid #e5e9f3;border-radius:15px;margin-bottom:12px;padding:18px;box-shadow:0 14px 35px #3745700f}.lab-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.lab-badge{color:#4975ec;background:#eef2ff;border-radius:6px;padding:3px 8px;font-size:10px;font-weight:800}.lab-card h3{color:#25324d;margin:4px 0 6px;font-size:14px}.lab-card p{color:#6d7b93;margin:4px 0;font-size:11px;line-height:1.5}.lab-code-block{color:#e1e7f5;background:#1e2433;border-radius:8px;max-height:200px;margin:8px 0;padding:12px;font-family:monospace;font-size:11px;overflow-x:auto}.lab-details{border-top:1px dashed #e2e6f0;margin-top:10px;padding-top:10px}.team-role-list,.my-team-applications,.skill-profile-list{gap:10px;margin:14px 0;display:grid}.team-role-item{background:#fafbff;border:1px solid #e5e9f3;border-radius:12px;gap:8px;padding:12px;display:grid}.team-role-item span,.team-role-item small{color:#6d7890;font-size:11px;display:block}.team-role-editor{gap:10px;display:grid}.team-role-editor .panel-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.team-role-editor h3{margin:0}.recruiter-notes{background:#fafbff;border:1px solid #e7e9f1;border-radius:12px;gap:8px;margin:14px 0;padding:12px;display:grid}.recruiter-notes textarea{min-height:72px}.skill-profile-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.skill-profile-card{background:#fff;border:1px solid #e5e9f3;border-radius:12px;gap:9px;padding:14px;display:grid}.skill-profile-heading{justify-content:space-between;align-items:center;display:flex}.skill-profile-card label{color:#66738a;gap:5px;font-size:11px;display:grid}.skill-profile-card textarea{min-height:64px}.public-skill span{text-transform:capitalize;color:#67728a;font-size:12px}.public-skill p{white-space:pre-wrap;margin:0}.public-skill a{align-items:center;gap:5px;display:inline-flex}.profile-skill-form{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;gap:10px;display:grid}.profile-skill-form label{gap:5px;display:grid}.lab-drop-zone{background:#fafbff;border:1px dashed #b8bfd0;border-radius:12px;gap:8px;padding:16px;transition:border-color .15s,background .15s;display:grid}.lab-drop-zone.is-dragging{background:#f3f1ff;border-color:#7668d9}.lab-drop-zone small{color:#737f95;font-size:11px}.lab-selected-file{font-weight:700;color:#45536d!important}.lab-upload-progress{align-items:center;gap:10px;display:flex}.lab-upload-progress progress{accent-color:#6e61cf;flex:1;height:10px}.lab-upload-progress span{color:#5c6880;min-width:82px;font-size:12px}.rating-picker{border:0;gap:8px;padding:0;display:flex}.rating-picker legend{margin-bottom:8px;font-weight:700}.rating-picker label{cursor:pointer;color:#aab1bf;font-size:32px;line-height:1}.rating-picker input{opacity:0;position:absolute}.rating-picker input:checked+span{color:#f2b84b}.rating-picker label:has(input:focus-visible) span{color:#f2b84b}.rating-picker label:hover span{color:#d4d8e0}.rating-picker label:has(input:checked)~label span{color:#d4d8e0}.rating-picker label:has(input:checked) span{color:#f2b84b}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.form-error{color:#b42336;font-size:12px}.review-form>p{color:#58657d;line-height:1.5}.lab-card>small{word-break:break-word}.team-post .team-role-list{padding:0 0 2px}.team-role-item legend{color:#52617a;padding:0 5px;font-size:12px;font-weight:700}:root{--focus-ring:0 0 0 3px #5b70e847}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}:where(.icon-button,.icon-danger,.more-button,.close-button){border-radius:8px;min-width:34px;min-height:34px}:where(button,a,input,textarea,select):focus-visible{box-shadow:var(--focus-ring);outline:none}.studyos-logo-mark{width:34px;height:34px;box-shadow:none;background:0 0;border-radius:0;flex:0 0 34px;place-items:center;display:grid;overflow:visible}.studyos-logo-mark img{object-fit:contain;width:100%;height:100%;display:block}.mobile-nav-backdrop{display:none}.vault-toolbar select{color:#67738b;background:#fff;border:1px solid #e7eaf3;border-radius:9px;min-width:150px;height:38px;padding:0 32px 0 12px;font-size:11px}.session-expired{color:#9b303d;background:#fff5f5;border-color:#e8b7bd}.session-expired .button{flex:none}.action-toast{z-index:60;color:#176d4d;background:#f1fff8;border:1px solid #b9ead6;border-radius:12px;max-width:min(420px,100vw - 32px);padding:13px 17px;font-size:13px;position:fixed;bottom:20px;right:20px;box-shadow:0 12px 34px #202c5729}.settings-unavailable{color:#6e7a91;margin:0;padding:16px 0;font-size:12px;line-height:1.6}.notification-inline-error{color:#8a4c19;background:#fff9f2;border-bottom:1px solid #f0d8bb;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:11px;line-height:1.45;display:flex}.notification-inline-error button{color:#7652b5;background:#fff;border-radius:6px;flex:none;padding:4px 7px;font-size:11px;font-weight:700}.email-verification-banner{color:#854d0e;background:#fefce8;border:1px solid #fef08a;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 16px;font-size:13px;font-weight:500;display:flex}.email-verification-banner .button{color:#713f12;background:#fff;border-color:#facc15;padding:5px 12px;font-size:12px}.dashboard-empty{color:#74809a;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;min-height:92px;padding:10px;font-size:11px;display:flex}.dashboard-empty strong{color:#43506b;font-size:12px}.dashboard-empty .button{margin-top:4px}.search-clear{color:#73809a;background:0 0;border:none;border-radius:6px;flex:none;place-items:center;width:24px;height:24px;display:grid}.search-clear:hover{background:#e7eaf3}.profile-link-button{color:#526bd4;font:inherit;text-align:left;background:0 0;border:0;padding:0;font-weight:700}.profile-link-button:hover{text-decoration:underline}.profile-link-button:disabled{color:inherit;cursor:default;text-decoration:none}.comment-integration-note{color:#64718a;background:#f8faff;border:1px solid #e1e6f1;border-radius:10px;padding:12px 14px;font-size:12px;line-height:1.5}.vault-entry{border-bottom:1px solid #edf0f6}.vault-entry:last-child,.vault-entry .vault-row{border-bottom:0}.resource-discussion{margin-top:5px;padding:0 15px 12px 69px}.discussion-toggle{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;outline:none;align-items:center;gap:6px;padding:5px 11px;font-size:11px;font-weight:600;transition:all .16s;display:inline-flex}.discussion-toggle:hover{color:#2563eb;background:#eff6ff;border-color:#cbd5e1}.discussion-toggle.is-open{color:#2563eb;background:#eff6ff;border-color:#bfdbfe;box-shadow:0 1px 3px #2563eb14}.discussion-toggle .discussion-count{color:#fff;background:#3b82f6;border-radius:9px;place-items:center;min-width:17px;height:17px;padding:0 5px;font-size:10px;font-weight:700;line-height:1;display:inline-grid}.discussion-content{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;gap:12px;margin-top:8px;padding:14px;display:grid}.discussion-comments{gap:9px;display:grid}.discussion-comment{background:#fff;border:1px solid #e8ebf4;border-radius:10px;gap:6px;padding:11px 12px;display:grid}.discussion-comment-heading{color:#46536c;justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.discussion-comment-heading time,.discussion-composer small{color:#8792a7;font-size:10px}.discussion-comment>p{color:#4e5b74;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.55}.discussion-comment textarea,.discussion-composer textarea{resize:vertical;border:1px solid #dce2ef;border-radius:9px;width:100%;min-height:72px;padding:10px 12px}.discussion-composer{gap:7px;display:grid}.discussion-composer label{color:#5e6b84;font-size:11px;font-weight:700}.discussion-composer>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.campassist-title-link{align-items:center;gap:7px;text-decoration:none;transition:opacity .15s;display:inline-flex}.campassist-title-link:hover{opacity:.9}.campassist-logo-img{object-fit:contain;flex-shrink:0;width:24px;height:24px;transition:transform .2s}.campassist-title-link:hover .campassist-logo-img{transform:scale(1.08)}.campassist-title-link .brand-wordmark{-webkit-text-fill-color:transparent;letter-spacing:-.025em;white-space:nowrap;background-image:linear-gradient(90deg,#1d4ed8 0%,#0ea5e9 30%,#8b5cf6 68%,#ec4899 100%);-webkit-background-clip:text;background-clip:text;font-size:16px;font-weight:800;line-height:1.2}.campassist-arrow{color:#94a3b8;margin-left:2px;transition:transform .18s,color .18s}.campassist-title-link:hover .campassist-arrow{color:#ec4899;transform:translate(3px)}@media (width<=900px){.app-shell{width:100%!important;min-width:0!important;max-width:100%!important;display:block!important;overflow-x:hidden!important}.sidebar,.app-shell>aside,.app-shell>aside.sidebar{z-index:9999!important;width:min(280px,100vw - 56px)!important;height:100dvh!important;margin:0!important;transition:transform .2s!important;position:fixed!important;inset:0 auto 0 0!important;transform:translate(-105%)!important;box-shadow:12px 0 35px #202c5724!important}.sidebar.is-open,.app-shell>aside.is-open,.app-shell>aside.sidebar.is-open{transform:translate(0)!important}.mobile-nav-backdrop{z-index:9998!important;-webkit-backdrop-filter:blur(8px)!important;background:#120f24a6!important;border:0!important;width:100vw!important;height:100vh!important;display:block!important;position:fixed!important;inset:0!important}.main-content,.app-shell>main,.app-shell>main.main-content{box-sizing:border-box!important;flex:none!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important}.topbar{gap:12px;box-sizing:border-box!important;width:100%!important;max-width:100%!important}.page-body{box-sizing:border-box!important;width:100%!important;max-width:100%!important}.welcome-banner{box-sizing:border-box!important;width:100%!important;padding:22px 18px!important}.welcome-banner .hero-art{display:none!important}.mobile-menu,.mobile-brand{flex:none;align-items:center;display:flex}.mobile-menu{color:#586681;background:0 0;border:0;border-radius:9px;justify-content:center;width:36px;height:36px}.mobile-brand{color:#15203d;white-space:nowrap;gap:7px}.mobile-brand .brand-mark{overflow:hidden}.mobile-brand strong{font-size:14px}}@media (width<=600px){.topbar{gap:7px;height:56px;padding:0 10px}.search-wrap{gap:5px;min-width:40px;padding:0 8px}.search-wrap input{font-size:10px}.search-wrap kbd,.top-actions .user-menu strong,.top-actions .user-menu>svg{display:none}.top-actions{flex:none;gap:7px}.notification-popover{width:min(360px,100vw - 16px);position:fixed;top:62px;right:8px}.search-results-panel{width:auto;max-height:min(70dvh,560px);position:fixed;top:62px;left:8px;right:8px}.search-wrap:has(.search-results-panel){position:static}.top-actions>.icon-button,.notification-control>.icon-button,.user-menu{justify-content:center;min-width:34px;min-height:34px;padding:0}.user-menu .avatar{width:28px;height:28px}.page-body{padding:15px 12px 28px}.page-heading{flex-direction:column;align-items:flex-start;gap:13px}.page-heading h1{font-size:23px}.page-heading .hero-actions{flex-wrap:wrap;width:100%}.welcome-banner h1{font-size:20px!important;line-height:1.25!important}.welcome-copy{font-size:13px!important;line-height:1.5!important}.welcome-banner .hero-actions{flex-wrap:wrap!important;gap:8px!important;display:flex!important}.welcome-banner .hero-actions .button{flex:130px!important;min-height:38px!important;font-size:12px!important}.vault-toolbar{flex-wrap:wrap}.vault-search{flex:1 0 100%;max-width:none}.vault-toolbar select{flex:140px;min-width:0}.modal-backdrop{place-items:end center;padding:8px}.modal{overscroll-behavior:contain;border-radius:18px 18px 12px 12px;width:min(560px,100%);max-height:calc(100dvh - 16px);padding:18px}.modal-form .form-row{grid-template-columns:minmax(0,1fr)}.data-load-warning{flex-direction:column;align-items:flex-start}.stat-grid,.class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lower-grid{grid-template-columns:minmax(0,1fr)}.vault-row{flex-wrap:wrap;align-items:flex-start;gap:10px}.resource-discussion{padding:0 12px 12px}.vault-info{flex:calc(100% - 54px)}.vault-row .post-actions{flex:1 0 100%;margin-left:0}.action-toast{bottom:12px;right:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.modal-form input[type=radio],.modal-form input[type=checkbox]{accent-color:#4f7bf0;cursor:pointer;border-radius:4px;flex-shrink:0;width:17px!important;min-width:17px!important;height:17px!important;min-height:17px!important;box-shadow:none!important;margin:0!important;padding:0!important}.modal-form input[type=radio]{border-radius:50%}.publish-mode-options{gap:10px;margin:6px 0 14px;display:grid}.publish-mode-card{transition:all .18s;border:1.5px solid var(--color-border)!important;background:var(--glass-surface)!important;cursor:pointer!important;color:var(--color-text)!important;border-radius:12px!important;align-items:center!important;gap:12px!important;padding:12px 14px!important;font-size:13px!important;font-weight:600!important;display:flex!important}.publish-mode-card:hover{background:var(--glass-sub-surface)!important;border-color:#9ab3f5!important}.publish-mode-card.is-selected{box-shadow:0 0 0 1px #4f7bf0;background:var(--glass-sub-surface)!important;border-color:#4f7bf0!important}.publish-mode-label{flex-direction:column;gap:2px;display:flex}.publish-mode-label strong{color:#1e293b;font-size:13px}.publish-mode-label small{color:#64748b;font-size:11px;font-weight:400}.publish-sublist{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;gap:6px;max-height:220px;margin-top:-4px;margin-bottom:12px;padding:8px 10px;display:grid;overflow-y:auto}.publish-subitem{transition:background .15s;background:var(--glass-surface)!important;border:1px solid var(--color-border)!important;cursor:pointer!important;color:var(--color-text)!important;border-radius:8px!important;align-items:center!important;gap:10px!important;padding:8px 10px!important;font-size:12px!important;font-weight:500!important;display:flex!important}.publish-subitem:hover{background:var(--glass-sub-surface)!important}.publish-subitem.is-checked{background:var(--glass-sub-surface)!important;border-color:#bfdbfe!important}.publish-subitem-desc{color:#64748b;font-size:11px}.rating-modal-stars{justify-content:center;align-items:center;gap:10px;padding:16px 0 10px;display:flex}.star-rating-btn{cursor:pointer;color:#cbd5e1;background:0 0;border:none;place-items:center;padding:4px;transition:transform .12s,color .12s;display:grid}.star-rating-btn:hover{transform:scale(1.18)}.star-rating-btn.active{color:#f59e0b}.rating-score-label{text-align:center;color:#475569;min-height:20px;margin-bottom:12px;font-size:13px;font-weight:600}.resource-detail-meta{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;padding:14px;display:grid}.resource-detail-meta-item{flex-direction:column;gap:3px;display:flex}.resource-detail-meta-item strong{text-transform:uppercase;letter-spacing:.5px;color:#64748b;font-size:10px}.resource-detail-meta-item span{color:#1e293b;font-size:13px;font-weight:500}.resource-detail-desc{color:var(--color-text);background:var(--glass-surface);-webkit-backdrop-filter:blur(16px);border:1px solid var(--color-border);white-space:pre-wrap;border-radius:12px;margin-bottom:14px;padding:14px;font-size:13px;line-height:1.6}.resource-detail-files{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.resource-detail-file-card{background:var(--glass-sub-surface);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.account-fields select{color:#27334d;cursor:pointer;background:#fbfcff;border:1px solid #dfe4ef;border-radius:9px;outline:0;width:100%;padding:11px 12px;font-size:12px;transition:all .18s}.account-fields select:focus{border-color:#718cf1;box-shadow:0 0 0 4px #edf1ff}.account-fields textarea{color:#27334d;resize:vertical;background:#fbfcff;border:1px solid #dfe4ef;border-radius:9px;outline:0;width:100%;min-height:80px;padding:11px 12px;font-size:12px;transition:all .18s}.account-fields textarea:focus{border-color:#718cf1;box-shadow:0 0 0 4px #edf1ff}.account-field-full{grid-column:1/-1}.profile-visibility-toggle{border:1px solid var(--color-border);background:var(--glass-surface);cursor:pointer;border-radius:14px;grid-column:1/-1;padding:12px 14px;flex-direction:row!important;align-items:center!important;gap:10px!important;display:flex!important}.profile-visibility-toggle span{color:var(--color-text);font-size:12px;font-weight:600}.account-panel,.team-post,.project-card,.lab-card,.job-card,.team-intro{color:var(--color-text);border:1px solid var(--color-border)!important;background:var(--glass-surface)!important;-webkit-backdrop-filter:blur(20px)saturate(160%)!important;box-shadow:var(--card-shadow)!important;border-radius:24px!important}.team-post h2,.project-card h2,.lab-card h3,.job-card h2,.panel-heading h2{font-weight:700;color:var(--color-text)!important}.team-description,.lab-card p,.job-description,.panel-heading p{color:var(--color-muted)!important}.team-post-meta,.team-post-footer,.panel-heading,.panel-footer,.preference-row{border-color:var(--color-border)!important}.preference-row strong,.team-leader strong{color:var(--color-text)!important}.team-post-meta,.team-leader small,.panel-footer span{color:var(--color-muted)!important}.modal{color:var(--color-text);border:1px solid var(--color-border)!important;background:var(--glass-surface)!important;-webkit-backdrop-filter:blur(24px)saturate(180%)!important;border-radius:28px!important;box-shadow:0 30px 80px -20px #0006!important}.modal-header{border-bottom:1px solid var(--color-border)!important}.modal-header h2{color:var(--color-text)!important}.modal-form label,.account-fields label{color:var(--color-muted)!important}.modal-form input,.modal-form textarea,.modal-form select,.account-fields input,.account-fields textarea,.account-fields select{border:1px solid var(--color-border)!important;background:var(--glass-surface)!important;color:var(--color-text)!important;border-radius:14px!important}.modal-form input:focus,.modal-form textarea:focus,.modal-form select:focus,.account-fields input:focus,.account-fields textarea:focus,.account-fields select:focus{border-color:var(--color-primary)!important;outline:none!important;box-shadow:0 0 0 2px #7140d840!important}.resource-detail-desc,.resource-detail-file-card{border:1px solid var(--color-border)!important;background:var(--glass-surface)!important;color:var(--color-text)!important;border-radius:16px!important}.skill-list span{font-weight:600;color:var(--color-primary)!important;background:#7140d81a!important;border:1px solid #7140d833!important;border-radius:9999px!important;padding:4px 10px!important}.tab-button.active{background:var(--gradient-brand)!important;color:#fff!important;border-radius:9999px!important;box-shadow:0 4px 16px #7140d859!important}.tab-button{font-family:inherit;border-radius:9999px!important}.timetable-card,.attendance-hero-card,.attendance-subject-card,.file-viewer-fallback-card,.publish-mode-card,.publish-subitem,.messages-page,.conversation-list,.conversation-panel,.message-bubble,.notification-popover,.notification-item,.day-pill-btn,.section-pill-selector,.target-pill-btn,.discussion-comment,.vault-row,.dashboard-empty{box-shadow:var(--card-shadow);color:var(--color-text);background:var(--glass-surface)!important;-webkit-backdrop-filter:blur(20px)saturate(160%)!important;border-color:var(--color-border)!important}.day-pill-btn.active,.target-pill-btn.active{background:var(--gradient-brand)!important;color:#fff!important;border-color:#0000!important;box-shadow:0 4px 16px #7140d859!important}@media (prefers-color-scheme:dark){.timetable-card h3,.attendance-subject-card h3,.subject-title-area h3,.timetable-header h1,.attendance-header h1,.progress-center-text .pct-number,.card-top-meta,.card-footer-info strong,.notification-item strong,.notification-heading,.conversation-list-heading h1,.message-bubble strong,.message-bubble p,.publish-mode-label strong,.discussion-comment>p{color:var(--color-text)!important}.time-badge,.hero-friendly-message,.publish-sublist,.session-expired,.action-toast{background:var(--glass-sub-surface)!important;border-color:var(--color-border)!important;color:var(--color-text)!important}.time-badge,.timetable-header p,.attendance-header p,.progress-center-text .pct-label,.target-selector-row span,.notification-item span,.notification-item small,.conversation-list-item small,.message-bubble small,.publish-mode-label small,.discussion-comment-heading{color:var(--color-muted)!important}.circle-bg{stroke:#ffffff1a!important}.timetable-card:before{opacity:.95}.message-bubble.mine{background:#8758f526!important;border-color:#8758f54d!important}select option{background-color:var(--color-card,#1b1733)!important;color:var(--color-text,#fff)!important}}select option{background-color:var(--color-card,#fff);color:var(--color-text,#17181c)}:root{--color-bg:#fafafc;--color-text:#17181c;--color-card:#fff;--color-muted:#615b76;--color-border:#251c3d24;--color-primary:#7140d8;--color-accent:#d946a8;--color-blue:#19a3e9;--gradient-brand:linear-gradient(120deg, #087db7, #7140d8 50%, #b92a88);--glass-surface:#ffffffd1;--card-shadow:0 30px 60px -30px #7140d833;--glow-blue:#19a3e938;--glow-pink:#d946a833;--section-wash:linear-gradient(120deg, #19a3e914 0%, #7140d814 50%, #d946a814 100%);--hero-glows:radial-gradient(55% 60% at 0% 38%, #19a3e947, transparent 70%), radial-gradient(55% 60% at 100% 28%, #d946a83d, transparent 70%), var(--color-bg);--font-family:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-wordmark:"Baloo 2", cursive, sans-serif;--color-ink:var(--color-text);--color-white:#fff;--brand-blue:var(--color-blue);--brand-pink:var(--color-accent);--brand-purple:var(--color-primary)}@media (prefers-color-scheme:dark){:root{--color-bg:#120f24;--color-text:#fff;--color-card:#1b1733;--color-muted:#a9a4c4;--color-border:#ffffff21;--color-primary:#8758f5;--color-accent:#d946a8;--color-blue:#19a3e9;--gradient-brand:linear-gradient(120deg, #19a3e9, #8758f5 50%, #d946a8);--glass-surface:#ffffff12;--card-shadow:0 30px 60px -30px #0000008c;--glow-blue:#19a3e947;--glow-pink:#d946a840;--section-wash:linear-gradient(120deg, #19a3e91f 0%, #8758f51f 50%, #d946a81f 100%);--hero-glows:radial-gradient(55% 60% at 0% 38%, #19a3e952, transparent 70%), radial-gradient(55% 60% at 100% 28%, #d946a847, transparent 70%), #120f24}}.studyos-landing{min-height:100vh;font-family:var(--font-family);color:var(--color-text);-webkit-font-smoothing:antialiased;flex-direction:column;display:flex;position:relative;overflow-x:hidden;background:0 0!important}.studyos-landing>header,.studyos-landing>section,.studyos-landing>footer,.studyos-landing>div:not(.fixed-backdrop):not(.landing-modal-backdrop){z-index:10;position:relative}.studyos-landing :focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.landing-header{z-index:50;background:var(--glass-surface);-webkit-backdrop-filter:blur(20px)saturate(160%);border-bottom:1px solid var(--color-border);box-shadow:var(--card-shadow);transition:all .2s;position:sticky;top:0}.landing-nav-container{justify-content:space-between;align-items:center;gap:20px;max-width:1200px;height:76px;margin:0 auto;padding:0 24px;display:flex}.landing-brand{color:var(--color-text);align-items:center;gap:12px;text-decoration:none;display:flex}.landing-brand-logo{object-fit:contain;filter:drop-shadow(0 2px 8px #7140d840);width:36px;height:36px}.landing-brand strong{font-family:var(--font-wordmark);letter-spacing:-.02em;color:var(--color-primary);font-size:26px;font-weight:800}.landing-brand strong span{color:var(--color-accent)}.landing-badge{color:var(--color-primary);border:1px solid var(--color-border);letter-spacing:.05em;background:#7140d81a;border-radius:9999px;padding:3px 9px;font-size:10px;font-weight:800}.landing-nav-links{align-items:center;gap:32px;display:flex}.landing-nav-links a{color:var(--color-muted);padding:4px 2px;font-size:14px;font-weight:600;text-decoration:none;transition:color .15s}.landing-nav-links a:hover{color:var(--color-primary)}.landing-nav-actions{align-items:center;gap:14px;display:flex}.landing-btn-login{color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:9999px;min-height:44px;padding:8px 18px;font-size:15px;font-weight:700;transition:color .15s,background .15s}.landing-btn-login:hover{color:var(--color-primary);background:var(--glass-surface)}.landing-btn-primary{background:var(--gradient-brand);cursor:pointer;border:none;border-radius:9999px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 24px;font-size:15px;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s,opacity .15s;display:inline-flex;box-shadow:0 4px 20px #7140d859;color:#fff!important}.landing-btn-primary:hover{opacity:.98;transform:translateY(-1px);box-shadow:0 6px 26px #7140d873}.landing-btn-secondary{background:var(--glass-surface);border:1.5px solid var(--color-border);cursor:pointer;min-height:44px;box-shadow:var(--card-shadow);border-radius:9999px;justify-content:center;align-items:center;gap:8px;padding:10px 24px;font-size:15px;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex;color:var(--color-text)!important}.landing-btn-secondary:hover{border-color:var(--color-primary);transform:translateY(-1px);color:var(--color-primary)!important}.landing-btn-login-hero{background:var(--glass-surface);border:1.5px solid var(--color-border);cursor:pointer;min-height:52px;box-shadow:var(--card-shadow);border-radius:9999px;justify-content:center;align-items:center;gap:8px;padding:14px 28px;font-size:16px;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex;color:var(--color-text)!important}.landing-btn-login-hero:hover{border-color:var(--color-primary);transform:translateY(-1px);color:var(--color-primary)!important}.landing-hero{text-align:center;background:var(--hero-glows);flex-direction:column;align-items:center;width:100%;padding:80px 24px 90px;display:flex;position:relative;overflow:hidden}.landing-hero-badge{color:var(--brand-blue);background:#eff6ffd9;border:1px solid #bfdbfecc;border-radius:9999px;align-items:center;gap:8px;margin-bottom:28px;padding:6px 16px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 2px 10px #1a86e01a}.landing-hero h1{letter-spacing:-.035em;color:var(--color-ink);max-width:900px;margin:0 0 24px;font-size:clamp(32px,5.5vw,68px);font-weight:800;line-height:1.1}.landing-hero h1 .text-gradient{background:var(--gradient-brand);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.landing-hero-desc{color:var(--color-muted);max-width:680px;margin:0 auto 38px;font-size:clamp(16px,2.2vw,19px);font-weight:500;line-height:1.65}.landing-hero-cta{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-bottom:64px;display:flex}.landing-hero-cta .landing-btn-primary{border-radius:9999px;min-height:52px;padding:14px 32px;font-size:16px}.landing-hero-cta .landing-btn-secondary{border-radius:9999px;min-height:52px;padding:14px 28px;font-size:16px}.companion-btn{background:var(--glass-surface);color:var(--color-text);border:1.5px solid var(--color-border);min-height:52px;box-shadow:var(--card-shadow);border-radius:9999px;align-items:center;gap:9px;padding:12px 22px;font-size:14px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.companion-btn:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.hero-mockup-wrap{background:var(--glass-surface);border:1px solid var(--color-border);-webkit-backdrop-filter:blur(20px)saturate(160%);border-radius:30px;width:100%;max-width:980px;padding:12px;box-shadow:0 30px 60px -15px #7140d838}.hero-mockup-inner{text-align:left;background:#fff;border:1px solid #f1f5f9;border-radius:20px;grid-template-columns:240px 1fr;display:grid;overflow:hidden}.mockup-sidebar{background:#f8fafc;border-right:1px solid #f1f5f9;flex-direction:column;gap:12px;padding:20px 16px;display:flex}.mockup-sidebar-brand{color:var(--color-ink);align-items:center;gap:10px;margin-bottom:6px;font-size:15px;font-weight:800;display:flex}.mockup-sidebar-item{color:var(--color-muted);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:9px 12px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.mockup-sidebar-item.active{background:var(--gradient-brand);color:#fff;box-shadow:0 4px 14px #d23aa040}.mockup-main{background:#fff;flex-direction:column;gap:18px;padding:24px;display:flex}.mockup-top-search{color:#94a3b8;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:10px;min-width:0;height:42px;padding:0 16px;font-size:13px;display:flex;overflow:hidden}.mockup-top-search span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.mockup-cards-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.mockup-stat-card{background:#fafcff;border:1px solid #f1f5f9;border-radius:16px;padding:16px;box-shadow:0 2px 8px #0f172a08}.mockup-stat-card span{color:var(--color-muted);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.mockup-stat-card strong{color:var(--color-ink);font-size:17px;font-weight:800}.landing-features-section{background:var(--section-wash);width:100%;padding:100px 24px}.landing-features-container{max-width:1200px;margin:0 auto}.section-header-center{text-align:center;max-width:720px;margin:0 auto 64px}.section-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--brand-blue);background:#eff6ff;border:1px solid #dbeafe;border-radius:9999px;margin-bottom:14px;padding:5px 14px;font-size:12px;font-weight:800;display:inline-block}.section-header-center h2{letter-spacing:-.03em;color:var(--color-ink);margin:0 0 16px;font-size:clamp(30px,4.5vw,44px);font-weight:800}.section-header-center p{color:var(--color-muted);margin:0;font-size:17px;line-height:1.65}.features-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px;display:grid}.feature-card{background:var(--glass-surface);-webkit-backdrop-filter:blur(20px)saturate(160%);border:1px solid var(--color-border);box-shadow:var(--card-shadow);border-radius:28px;flex-direction:column;padding:34px 30px;transition:transform .25s,box-shadow .25s;display:flex;position:relative}.feature-card:hover{transform:translateY(-4px);box-shadow:0 20px 50px #7140d82e}.feature-icon-bubble{border-radius:16px;place-items:center;width:52px;height:52px;margin-bottom:20px;display:grid;box-shadow:0 4px 12px #0000000a}.feature-icon-bubble.blue{color:#19a3e9;background:#19a3e926}.feature-icon-bubble.purple{color:#7140d8;background:#7140d826}.feature-icon-bubble.emerald{color:#10b981;background:#10b98126}.feature-icon-bubble.pink{color:#d946a8;background:#d946a826}.feature-icon-bubble.amber{color:#f59e0b;background:#f59e0b26}.feature-icon-bubble.cyan{color:#06b6d4;background:#06b6d426}.feature-card h3{color:var(--color-ink);letter-spacing:-.02em;margin:0 0 10px;font-size:21px;font-weight:800}.feature-card p{color:var(--color-muted);flex:1;margin:0 0 20px;font-size:15px;line-height:1.65}.feature-highlight-tag{color:var(--color-muted);background:var(--glass-surface);border:1px solid var(--color-border);border-radius:9999px;align-self:flex-start;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-flex}.landing-companion-section{background:var(--color-bg);width:100%;padding:60px 24px 100px}.companion-container{max-width:1200px;margin:0 auto}.companion-card{color:#f4f6ff;background:#120f24;border:1px solid #ffffff1f;border-radius:40px;grid-template-columns:1fr auto;align-items:center;gap:48px;padding:56px 48px;display:grid;position:relative;overflow:hidden;box-shadow:0 25px 60px #7140d840}.companion-card:before{content:"";filter:blur(80px);pointer-events:none;background:#19a3e959;border-radius:50%;width:320px;height:320px;position:absolute;bottom:-80px;left:-80px}.companion-card:after{content:"";filter:blur(80px);pointer-events:none;background:#d946a84d;border-radius:50%;width:320px;height:320px;position:absolute;top:-80px;right:-80px}.companion-info{z-index:10;max-width:640px;position:relative}.companion-info h3{letter-spacing:-.025em;color:#fff;margin:14px 0;font-size:clamp(28px,4vw,42px);font-weight:800;line-height:1.15}.companion-info p{color:#94a3b8;margin:0 0 28px;font-size:16px;line-height:1.65}.companion-badge-pill{letter-spacing:.08em;text-transform:uppercase;color:#19a3e9;background:#19a3e926;border:1px solid #19a3e959;border-radius:9999px;padding:5px 14px;font-size:11px;font-weight:800;display:inline-block}.companion-card .companion-btn{color:#17181c;background:#fff;border:none;padding:13px 26px;font-size:15px;box-shadow:0 4px 20px #0003}.companion-card .companion-btn:hover{background:#f1f5f9;transform:translateY(-2px)}.landing-bottom-cta{background:var(--gradient-brand);color:#fff;text-align:center;padding:90px 24px;position:relative;overflow:hidden;box-shadow:0 30px 70px -20px #7140d873}.landing-bottom-cta:before{content:"";filter:blur(60px);pointer-events:none;background:#ffffff1f;border-radius:50%;width:400px;height:400px;position:absolute;top:-100px;right:-100px}.bottom-cta-inner{z-index:10;max-width:720px;margin:0 auto;position:relative}.bottom-cta-inner h2{letter-spacing:-.03em;margin:0 0 18px;font-size:clamp(32px,5vw,48px);font-weight:800;line-height:1.15}.bottom-cta-inner p{color:#ffffffeb;max-width:600px;margin:0 auto 36px;font-size:18px;line-height:1.65}.bottom-cta-inner .landing-btn-primary{background:#fff;min-height:52px;padding:14px 34px;font-size:16px;box-shadow:0 8px 24px #0000002e;color:#17181c!important}.bottom-cta-inner .landing-btn-primary:hover{background:#f8fafc;transform:scale(1.02)}.landing-footer{background:var(--color-bg);border-top:1px solid var(--color-border);padding:44px 24px}.landing-footer-container{max-width:1200px;color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin:0 auto;font-size:14px;display:flex}.landing-modal-backdrop{animation:.2s ease-out modalFadeIn;z-index:99999!important;-webkit-backdrop-filter:blur(10px)saturate(140%)!important;box-sizing:border-box!important;background:#0b1020bf!important;justify-content:center!important;align-items:center!important;width:100vw!important;height:100vh!important;padding:20px!important;display:flex!important;position:fixed!important;inset:0!important;overflow-y:auto!important}.landing-modal-card{background:var(--color-card);border:1px solid var(--color-border);box-sizing:border-box;border-radius:28px;width:min(440px,100%);max-height:calc(100vh - 40px);padding:36px 32px;animation:.25s cubic-bezier(.16,1,.3,1) modalSlideUp;position:relative;overflow-y:auto;box-shadow:0 30px 60px #00000073,0 0 40px #7140d840}.landing-modal-close{background:var(--glass-surface);width:36px;height:36px;color:var(--color-muted);cursor:pointer;border:none;border-radius:9999px;place-items:center;transition:all .15s;display:grid;position:absolute;top:20px;right:20px}.landing-modal-close:hover{color:var(--color-primary);background:#7140d81a}.landing-modal-header{text-align:center;margin-bottom:26px}.landing-modal-logo{object-fit:contain;filter:drop-shadow(0 2px 8px #7140d840);width:48px;height:48px;margin-bottom:12px}.landing-modal-header h2{letter-spacing:-.02em;color:var(--color-ink);margin:0 0 6px;font-size:24px;font-weight:800}.landing-modal-header p{color:var(--color-muted);margin:0;font-size:14px}.landing-modal-form{flex-direction:column;gap:18px;display:flex}.landing-modal-form label{color:var(--color-ink);flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.landing-modal-form input{border:1.5px solid var(--color-border);background:var(--glass-surface);height:46px;color:var(--color-ink);border-radius:12px;outline:none;padding:0 16px;font-size:16px;transition:border-color .15s,box-shadow .15s,background .15s}.landing-modal-form input:focus{background:var(--color-card);border-color:var(--color-primary);box-shadow:0 0 0 3px #7140d82e}.landing-modal-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin:0;padding:10px 14px;font-size:13px;font-weight:600}.landing-modal-submit{background:var(--gradient-brand);color:#fff;cursor:pointer;border:none;border-radius:9999px;justify-content:center;align-items:center;gap:8px;height:48px;margin-top:6px;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .15s,opacity .15s;display:flex;box-shadow:0 4px 20px #7140d859}.landing-modal-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 26px #7140d873}.landing-modal-submit:disabled{opacity:.65;cursor:not-allowed}.password-input-wrap{align-items:center;display:flex;position:relative}.password-input-wrap input{width:100%;padding-right:44px!important}.password-toggle-btn{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;transition:color .15s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-toggle-btn:hover{color:#0f172a}.auth-mode-tabs{background:var(--glass-surface);border:1px solid var(--color-border);border-radius:12px;gap:4px;margin-bottom:20px;padding:4px;display:flex}.auth-mode-tab{color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;padding:8px 12px;font-size:13px;font-weight:700;transition:all .2s}.auth-mode-tab.active{background:var(--color-card);color:var(--color-primary);box-shadow:0 2px 6px #7140d81a}.landing-modal-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;align-items:center;gap:8px;padding:12px 14px;font-size:13px;display:flex}.auth-switch-link{color:var(--brand-blue);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;text-decoration:underline}.auth-password-hints{color:#64748b;margin-top:2px;font-size:12px;line-height:1.4}.landing-modal-footer{color:#94a3b8;text-align:center;margin-top:20px;font-size:12px}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=900px){.landing-nav-links{display:none}.hero-mockup-inner{grid-template-columns:1fr}.mockup-sidebar{display:none}.companion-card{text-align:center;grid-template-columns:1fr;padding:38px 24px}.companion-info{max-width:100%}.landing-hero-cta .landing-btn-primary,.landing-hero-cta .landing-btn-secondary,.landing-hero-cta .landing-btn-login-hero,.companion-btn{justify-content:center;width:100%}}@media (width<=640px){.landing-header{box-shadow:0 2px 10px #0000000d}.landing-nav-container{gap:8px;height:60px;padding:0 14px}.landing-brand{gap:8px}.landing-brand-logo{width:28px;height:28px}.landing-brand strong{font-size:20px}.landing-badge{display:none}.landing-nav-actions{gap:6px}.landing-btn-login{min-height:38px;padding:6px 12px;font-size:13px}.landing-btn-primary{gap:4px;min-height:38px;padding:7px 14px;font-size:13px}.landing-btn-primary svg{width:13px;height:13px}.landing-hero{padding:36px 14px 44px}.landing-hero-badge{margin-bottom:16px;padding:4px 12px;font-size:11px}.landing-hero h1{letter-spacing:-.025em;margin:0 0 16px;font-size:clamp(26px,8vw,38px);line-height:1.15}.landing-hero-desc{margin:0 0 24px;padding:0 4px;font-size:14px;line-height:1.55}.landing-hero-cta{flex-direction:column;gap:10px;width:100%;max-width:320px;margin-bottom:36px;display:flex}.landing-hero-cta .landing-btn-primary,.landing-hero-cta .landing-btn-secondary,.landing-hero-cta .landing-btn-login-hero,.companion-btn{box-sizing:border-box;justify-content:center;width:100%;min-height:46px;padding:11px 20px;font-size:14px}.hero-mockup-wrap{border-radius:18px;padding:6px}.hero-mockup-inner{border-radius:14px;min-height:auto}.mockup-main{gap:12px;padding:14px}.mockup-top-search{gap:6px;min-width:0;height:36px;padding:0 10px;font-size:11px}.mockup-cards-grid{grid-template-columns:1fr;gap:10px}.mockup-stat-card{padding:12px 14px}.landing-features-section{padding:48px 14px}.section-header-center{margin-bottom:32px;padding:0 4px}.section-header-center h2{letter-spacing:-.02em;font-size:24px}.section-header-center p{font-size:14px}.features-grid{grid-template-columns:1fr;gap:14px}.feature-card{border-radius:20px;padding:22px 18px}.feature-card h3{font-size:17px}.feature-card p{font-size:13px}.landing-companion-section{padding:40px 14px 50px}.companion-card{border-radius:24px;gap:20px;padding:28px 16px}.companion-info h3{font-size:22px}.companion-info p{margin-bottom:18px;font-size:14px}.landing-bottom-cta{padding:48px 14px}.bottom-cta-inner h2{font-size:24px}.bottom-cta-inner p{margin-bottom:24px;font-size:14px}.bottom-cta-inner .landing-btn-primary,.bottom-cta-inner .landing-btn-secondary{width:100%;max-width:300px}.landing-footer{padding:30px 14px}.landing-footer-container{text-align:center;flex-direction:column;gap:14px;font-size:12px}.landing-modal-backdrop{align-items:flex-end!important;padding:10px!important}.landing-modal-card{border-radius:24px 24px 16px 16px!important;width:100%!important;max-height:calc(100dvh - 20px)!important;padding:24px 18px 28px!important}.landing-modal-header{margin-bottom:16px}.landing-modal-logo{width:40px;height:40px;margin-bottom:8px}.landing-modal-header h2{font-size:20px}.landing-modal-header p{font-size:12px}.auth-mode-tabs{margin-bottom:14px;padding:3px}.auth-mode-tab{padding:7px 12px;font-size:13px}.landing-modal-form{gap:14px}.landing-modal-form label{gap:4px;font-size:12px}.landing-modal-form input{height:44px;padding:0 14px;font-size:16px!important}.landing-modal-submit{height:46px;font-size:14px}.landing-modal-close{width:32px;height:32px;top:14px;right:14px}}.auth-screen{background:radial-gradient(circle at 75% 15%,#fcdcf6cc,#0000 34%),radial-gradient(circle at 20% 80%,#d7e8ffcc,#0000 35%),#f8f9fd;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe0;border:1px solid #ffffffe6;border-radius:22px;width:min(440px,100%);padding:34px;box-shadow:0 24px 70px #37457021}.auth-brand{color:#18233e;letter-spacing:-.6px;align-items:center;gap:9px;font-size:19px;display:flex}.auth-brand strong span{color:#8355ef}.auth-icon{color:#685fe9;background:linear-gradient(135deg,#e8efff,#f9e9fa);border-radius:14px;place-items:center;width:45px;height:45px;margin:40px 0 17px;display:grid}.auth-icon.pulse{animation:1.5s infinite auth-pulse}.auth-card h1{color:#18233e;letter-spacing:-.8px;margin:0;font-size:25px}.auth-copy{color:#78859f;margin:10px 0 22px;font-size:12px;line-height:1.6}.auth-form{gap:15px;display:grid}.auth-form label{color:#5f6b84;gap:7px;font-size:11px;font-weight:700;display:grid}.auth-form input{color:#27334d;background:#fbfcff;border:1px solid #dce2ef;border-radius:10px;outline:0;width:100%;padding:12px 13px;font-size:12px}.auth-form input:focus{background:#fff;border-color:#718cf1;box-shadow:0 0 0 4px #edf1ff}.auth-form .button{width:100%;margin-top:3px}.auth-error{color:#ba3e5b;background:#fff0f4;border-radius:8px;margin:0;padding:10px 11px;font-size:10px}.auth-note{color:#9aa5b8;border-top:1px solid #edf0f6;margin:18px 0 0;padding-top:15px;font-size:10px;line-height:1.5}.auth-message{text-align:center}.auth-message .auth-icon{margin:40px auto 17px}@keyframes auth-pulse{50%{opacity:.45;transform:scale(.94)}}
