@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Poppins:wght@300;400;500;600;700&display=swap";:root{--bg:#edf3ff;--bg-soft:#f8fbff;--surface:#ffffffb8;--surface-strong:#ffffffeb;--text:#2d3748;--muted:#5f6f88;--border:#7c94d62e;--accent:#5b74d6;--accent-strong:#6f55c8;--accent-soft:#5b74d624;--accent-warm:#f08ba8;--accent-warm-soft:#f08ba829;--danger:#d65252;--danger-soft:#d6525224;--success:#2f9a78;--success-soft:#2f9a7824;--warning:#d89b42;--warning-soft:#d89b4224;--shadow:0 24px 60px #667eea24;--shadow-soft:0 16px 40px #764ba21a;--theme-transition:.55s cubic-bezier(.22, 1, .36, 1);--theme-transition-soft:.7s cubic-bezier(.22, 1, .36, 1)}html[data-theme=dark]{--bg:#101726;--bg-soft:#182033;--surface:#182033b8;--surface-strong:#141c2deb;--text:#eef3ff;--muted:#b7c3da;--border:#889cd72e;--accent:#8ca3ff;--accent-strong:#c0a6ff;--accent-soft:#8ca3ff29;--accent-warm:#ff9db5;--accent-warm-soft:#ff9db529;--danger:#ff8585;--danger-soft:#ff858529;--success:#7bd9b8;--success-soft:#7bd9b829;--warning:#ffd081;--warning-soft:#ffd08129;--shadow:0 24px 60px #00000059;--shadow-soft:0 16px 40px #0000003d}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}html.nav-scroll-locked,body.nav-scroll-locked{overflow:hidden}body.nav-menu-open .main,body.nav-menu-open .app-footer,body.nav-menu-open .nav-brand{filter:blur(7px)saturate(.92);-webkit-user-select:none;user-select:none;transition:filter .28s}body.nav-menu-open .main,body.nav-menu-open .app-footer{pointer-events:auto}body.nav-menu-open .nav-brand{opacity:.55}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at top left, #5b74d62e, transparent 28%), radial-gradient(circle at top right, #f08ba829, transparent 32%), radial-gradient(circle at bottom center, #6f55c81f, transparent 30%), linear-gradient(180deg, var(--bg-soft), var(--bg));transition:background var(--theme-transition-soft), color var(--theme-transition), background-color var(--theme-transition);margin:0;font-family:Poppins,sans-serif;overflow-x:hidden}::selection{color:#182033;background:#f08ba857}html[data-theme=dark] ::selection{color:#f8fbff;background:#8ca3ff57}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;-webkit-tap-highlight-color:transparent}button{border:none}#root,.app{min-height:100vh}.app{color:var(--text);transition:color var(--theme-transition), background-color var(--theme-transition), background var(--theme-transition-soft);flex-direction:column;display:flex}.navbar,.hero,.upload-form,.note-content,.note-header,.citation-panel,.review-section,.forum-form,.forum-post,.about-section,.about-card,.summary-card,.profile-hero,.admin-review-card,.auth-card,.search-input,.form-control,.rooms-form input,.rooms-form select,.rooms-form textarea,.upload-form input,.upload-form select,.upload-form textarea,.forum-form input,.forum-form select,.forum-form textarea,.review-form select,.review-form textarea,.auth-form input,.auth-form select,.auth-form textarea,.note-card,.radio-group,.radio-option,.source-section,.subject,.status-pill,.ownership-badge,.card-action-button,.card-link-button,.secondary-button,.reference-button,.nav-links a,.nav-theme-button,.nav-icon-button,.nav-logout-button,.nav-user-chip,.forum-vote-panel,.forum-comment,.profile-empty-state,.upload-popup,.app-modal,.app-footer,.app-footer-inner,.about-step,.demo-credentials,.auth-form,.radio-card-copy{transition:background-color var(--theme-transition), background var(--theme-transition-soft), color var(--theme-transition), border-color var(--theme-transition), box-shadow var(--theme-transition), opacity var(--theme-transition)}.nav-mobile-overlay,.nav-desktop-group{transition:background-color var(--theme-transition), background var(--theme-transition-soft), border-color var(--theme-transition), box-shadow var(--theme-transition), opacity .28s ease, transform .34s ease}@media (prefers-reduced-motion:reduce){:root{--theme-transition:.01ms linear;--theme-transition-soft:.01ms linear}}.navbar{z-index:1000;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);min-height:86px;box-shadow:var(--shadow-soft);background:#ffffff80;align-items:center;gap:1rem;padding:1.1rem 2rem;display:flex;position:sticky;top:0}html[data-theme=dark] .navbar{background:#1219288f}.nav-brand{color:var(--accent);font-size:1.7rem;font-weight:700}.nav-links,.nav-actions{flex-wrap:nowrap;align-items:center;gap:.75rem;display:flex}.nav-actions{flex-shrink:0}.nav-desktop-group,.nav-links{margin-left:auto}.nav-desktop-group{justify-content:flex-end;align-items:center;gap:.75rem;min-width:0;display:flex}.nav-links a,.nav-theme-button,.nav-icon-button,.nav-logout-button,.nav-toggle,.card-action-button,.card-link-button,.reference-button,.secondary-button,.status-pill,.inline-link,.citation-link{transition:all .25s}.nav-links a,.nav-theme-button,.nav-icon-button,.nav-logout-button{color:var(--muted);white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:.45rem;padding:.7rem 1rem;display:inline-flex;position:relative;overflow:hidden}.nav-links{flex:0 auto;min-width:0}.nav-links a{flex-shrink:0;padding:.65rem .85rem;font-size:.95rem}.nav-theme-button{border:1px solid var(--border);appearance:none;isolation:isolate;background:#ffffff42;border-radius:50%;justify-content:center;width:50px;min-width:50px;height:50px;padding:0;overflow:hidden;box-shadow:0 10px 24px #5b74d61f}.nav-icon-button{border:1px solid var(--border);isolation:isolate;background:#ffffff42;border-radius:50%;justify-content:center;width:50px;min-width:50px;height:50px;padding:0;position:relative;overflow:visible;box-shadow:0 10px 24px #5b74d61f}.nav-icon-button svg{width:1.18rem;height:1.18rem}.nav-icon-label{display:none}.nav-theme-icon{font-size:1.1rem;line-height:1}.nav-theme-label{display:none}.nav-links a:hover,.nav-theme-button:hover,.nav-icon-button:hover,.nav-logout-button:hover{background:var(--accent-soft);color:var(--accent-strong);transform:translateY(-2px);box-shadow:0 0 0 1px #6f55c81a,0 10px 22px #5b74d624,0 0 18px #6f55c829}.nav-theme-button:focus,.nav-theme-button:active,.nav-icon-button:focus,.nav-icon-button:active{color:inherit;background:0 0;outline:none;box-shadow:0 10px 24px #5b74d61f}html[data-theme=dark] .nav-theme-button:focus,html[data-theme=dark] .nav-theme-button:active{color:inherit;background:#141b2bdb;border-color:#8ca3ff29;box-shadow:0 10px 24px #00000038}html[data-theme=dark] .nav-icon-button:focus,html[data-theme=dark] .nav-icon-button:active{color:inherit;background:0 0;box-shadow:0 10px 24px #00000038}.nav-theme-button:focus-visible,.nav-icon-button:focus-visible{box-shadow:0 0 0 3px #5b74d62e,0 10px 24px #5b74d61f}.nav-links a:before,.nav-logout-button:before{content:"";background:linear-gradient(90deg,#0000,#ffffff59,#0000);width:120%;transition:left .45s;position:absolute;inset:0 auto 0 -120%}.nav-links a:hover:before,.nav-logout-button:hover:before{left:120%}.nav-user-chip{background:var(--surface);border:1px solid var(--border);border-radius:18px;flex-direction:row;align-items:center;gap:.65rem;padding:.45rem .7rem;display:flex}.nav-user-chip span{font-size:.95rem;font-weight:600;line-height:1.1}.nav-user-chip small{text-transform:capitalize;color:var(--muted);line-height:1.1}.nav-count{background:var(--accent-warm);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 .35rem;font-size:.76rem;font-weight:700;display:inline-flex}.nav-icon-count{z-index:2;min-width:22px;height:22px;padding:0 .34rem;font-size:.72rem;position:absolute;top:-7px;right:-8px;box-shadow:0 8px 18px #f2683742}.nav-toggle{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:.25rem;width:46px;height:46px;padding:0;display:none}.nav-mobile-overlay{display:none}.nav-toggle span{background:var(--text);transform-origin:50%;width:20px;height:2px;transition:transform .28s ease, opacity .22s ease, background-color var(--theme-transition);border-radius:999px;margin:0 auto;display:block}.nav-toggle-open span:first-child{transform:translateY(6px)rotate(45deg)}.nav-toggle-open span:nth-child(2){opacity:0}.nav-toggle-open span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.main{flex:1;width:min(1200px,100% - 2rem);margin:0 auto;padding:2rem 0 3rem}.page{width:100%}.page h1,.hero h1{text-align:center;color:var(--text);margin:0 0 1rem;font-size:clamp(2.4rem,4vw,4rem);line-height:1.05}.page h2{color:var(--text);margin:0 0 1.2rem;font-size:clamp(1.5rem,2vw,2rem)}.page h3{color:var(--text);margin:0 0 .65rem}.hero,.upload-form,.note-content,.note-header,.citation-panel,.review-section,.forum-form,.forum-post,.about-section,.about-card,.summary-card,.profile-hero,.admin-review-card,.auth-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero{text-align:center;border-radius:34px;margin-bottom:2rem;padding:4rem 2.5rem}.hero p{max-width:760px;color:var(--muted);margin:0 auto;font-size:1.1rem}.page-summary-grid,.profile-stat-grid,.about-grid,.about-feature-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.summary-card,.about-card,.about-feature-item{border-radius:24px;padding:1.35rem}.summary-card p{color:var(--muted);margin:0}.summary-card p:last-child{color:var(--accent-strong);font-size:1.6rem;font-weight:700}.dashboard-strip{grid-template-columns:minmax(0,1.35fr) minmax(280px,.95fr);gap:1rem;margin-bottom:2rem;display:grid}.dashboard-strip-card,.dashboard-strip-actions{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:28px;padding:1.35rem 1.45rem}.dashboard-strip-card h3,.dashboard-strip-actions-label{margin:0 0 .45rem}.dashboard-strip-card p,.dashboard-strip-actions p{color:var(--muted);margin:0}.dashboard-strip-label,.dashboard-strip-actions-label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);align-items:center;font-size:.82rem;font-weight:700;display:inline-flex}.dashboard-strip-actions{flex-direction:column;justify-content:center;gap:.95rem;display:flex}.dashboard-action-group{flex-wrap:wrap;gap:.75rem;display:flex}.dashboard-action-link{background:linear-gradient(135deg, var(--accent-soft), #ffffff4d);border:1px solid var(--border);min-height:46px;color:var(--accent-strong);transition:transform .25s ease, box-shadow .25s ease, border-color var(--theme-transition), background var(--theme-transition-soft), color var(--theme-transition);border-radius:18px;justify-content:center;align-items:center;padding:.8rem 1.15rem;font-weight:600;display:inline-flex;box-shadow:0 10px 24px #5b74d61a}.dashboard-action-link:hover{border-color:#6f55c842;transform:translateY(-2px);box-shadow:0 14px 30px #5b74d62e,0 0 18px #6f55c81f}.home-announcements{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:28px;margin-bottom:2rem;padding:1.35rem}.home-section-heading,.home-announcement-modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.home-section-heading{margin-bottom:1rem}.home-section-heading h2,.home-announcement-modal-header h3{margin:.35rem 0 0}.home-announcement-list,.home-announcement-modal-list{gap:.75rem;display:grid}.home-announcement-card{text-align:left;width:100%;color:inherit;cursor:pointer;transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, background var(--theme-transition-soft);background:#ffffff9e;border:1px solid #5b74d624;border-radius:20px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.85rem;padding:.95rem 1rem .95rem 1.1rem;display:grid;position:relative;overflow:hidden}.home-announcement-card:hover,.home-announcement-card:focus-visible,.home-announcement-card-active{border-color:#8ca3ff52;transform:translateY(-2px);box-shadow:0 16px 32px #5b74d624}.home-announcement-card:before{content:"";background:linear-gradient(180deg, var(--accent), var(--accent-warm));opacity:.78;width:4px;position:absolute;inset:0 auto 0 0}.home-announcement-card-read{opacity:.82}.home-announcement-copy{min-width:0}.home-announcement-card strong,.home-announcement-card p,.home-announcements-empty p{margin:0}.home-announcement-card strong{color:var(--text);display:block}.home-announcement-card p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.28rem;line-height:1.45;display:block;overflow:hidden}.home-announcement-card small{color:var(--muted);white-space:nowrap;font-size:.78rem}.home-announcement-open-hint{background:var(--accent-soft);width:fit-content;color:var(--accent-strong);border-radius:999px;grid-column:1/-1;padding:.42rem .66rem;font-size:.72rem;font-weight:700;display:inline-flex}.home-announcements-empty{border:1px dashed var(--border);color:var(--muted);border-radius:18px;padding:.95rem 1rem}.home-announcement-modal-backdrop{z-index:2300;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c101885;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.home-announcement-modal{background:var(--surface-strong);border:1px solid var(--border);width:min(900px,100%);max-height:min(720px,86vh);box-shadow:var(--shadow);border-radius:28px;grid-template-rows:auto minmax(0,1fr);gap:1rem;padding:1.2rem;display:grid;overflow:hidden}.home-announcement-modal-body{gap:1rem;min-height:0;display:grid;overflow:hidden}.home-announcement-modal-body-with-detail{grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);align-items:start}.home-announcement-modal-list{order:1;min-height:0;max-height:100%;padding-right:.2rem;overflow-y:auto}.home-announcement-modal .home-announcement-card p{white-space:nowrap}.home-announcement-detail-panel{background:linear-gradient(135deg, var(--accent-soft), #ffffff6b);border:1px solid var(--border);border-radius:20px;order:2;min-height:0;max-height:100%;padding:1rem;overflow-y:auto}.home-announcement-detail-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.home-announcement-detail-back{display:none}.home-announcement-detail-panel h4,.home-announcement-detail-panel p{margin:0}.home-announcement-detail-panel h4{overflow-wrap:anywhere;font-size:clamp(1.25rem,2.2vw,1.7rem);line-height:1.15}.home-announcement-detail-panel p{color:var(--muted);white-space:pre-wrap;margin-top:.55rem;line-height:1.6}.home-announcement-detail-panel small{color:var(--muted);margin-top:.65rem;display:block}.home-announcement-modal-close{background:var(--accent-soft);width:38px;min-width:38px;height:38px;min-height:38px;color:var(--accent-strong);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-weight:800;display:inline-flex}.upload-subtitle{text-align:center;border:1px solid var(--border);max-width:760px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(135deg,#5b74d624,#f08ba824);border-radius:30px;margin:0 auto 2rem;padding:2rem 2.4rem;position:relative;overflow:hidden}.upload-subtitle:before{content:"";background:radial-gradient(circle,#ffffff52,#0000 65%);width:240px;height:240px;animation:7s ease-in-out infinite floatGlow;position:absolute;inset:-30% auto auto -20%}.upload-subtitle p{z-index:1;letter-spacing:.02em;color:var(--text);margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(1.6rem,3vw,2rem);font-weight:600;position:relative}.upload-subtitle p+p{color:var(--muted);margin-top:.5rem;font-size:1.15rem}@keyframes floatGlow{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(10px)rotate(12deg)}}@keyframes noteHeartPop{0%{transform:scale(.86)}60%{transform:scale(1.18)}to{transform:scale(1)}}.search-container{margin-bottom:1.6rem;position:relative}.search-clear-button{background:var(--accent-soft);width:34px;min-width:34px;height:34px;min-height:34px;color:var(--accent-strong);box-shadow:none;z-index:2;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:.72rem;transform:translateY(-50%)}.search-clear-button:hover,.search-clear-button:focus-visible{filter:brightness(1.06)saturate(1.05);transform:translateY(-50%)scale(1.04);box-shadow:0 10px 22px #5b74d629}.search-clear-button:active{transform:translateY(-50%)scale(.96)}.search-input,.form-control,.rooms-form input,.rooms-form select,.rooms-form textarea,.upload-form input,.upload-form select,.upload-form textarea,.forum-form input,.forum-form select,.forum-form textarea,.review-form select,.review-form textarea,.auth-form input,.auth-form select,.auth-form textarea{border:1px solid var(--border);background:var(--surface-strong);width:100%;color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;appearance:none;border-radius:18px;padding:1rem 1.05rem}.search-container:has(.search-clear-button) .search-input{padding-right:3.4rem}.search-input:focus,.form-control:focus,.rooms-form input:focus,.rooms-form select:focus,.rooms-form textarea:focus,.upload-form input:focus,.upload-form select:focus,.upload-form textarea:focus,.forum-form input:focus,.forum-form select:focus,.forum-form textarea:focus,.review-form select:focus,.review-form textarea:focus,.auth-form input:focus,.auth-form select:focus,.auth-form textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #1d6b5f29}html[data-theme=dark] .search-input,html[data-theme=dark] .form-control,html[data-theme=dark] .rooms-form input,html[data-theme=dark] .rooms-form select,html[data-theme=dark] .rooms-form textarea,html[data-theme=dark] .upload-form input,html[data-theme=dark] .upload-form select,html[data-theme=dark] .upload-form textarea,html[data-theme=dark] .forum-form input,html[data-theme=dark] .forum-form select,html[data-theme=dark] .forum-form textarea,html[data-theme=dark] .review-form select,html[data-theme=dark] .review-form textarea,html[data-theme=dark] .auth-form input,html[data-theme=dark] .auth-form select,html[data-theme=dark] .auth-form textarea{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#131b2aeb}.rooms-form select option,.upload-form select option,.forum-form select option,.review-form select option,.auth-form select option,.profile-edit-panel select option{background:var(--surface-strong);color:var(--text)}html[data-theme=dark] .rooms-form select option,html[data-theme=dark] .upload-form select option,html[data-theme=dark] .forum-form select option,html[data-theme=dark] .review-form select option,html[data-theme=dark] .auth-form select option,html[data-theme=dark] .profile-edit-panel select option{color:#eef3ff;background:#162033}.note-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.note-card{cursor:pointer;border:1px solid var(--border);background:var(--surface);min-height:360px;box-shadow:var(--shadow-soft);border-radius:28px;padding:1.6rem;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s,border-color .3s}.note-card:hover{border-color:#6f55c847;transform:translateY(-8px)scale(1.02);box-shadow:0 22px 46px #5b74d633}html[data-theme=dark] .note-card:hover{border-color:#8ca3ff47;box-shadow:0 0 0 1px #8ca3ff2e,0 20px 48px #00000059,0 0 26px #8ca3ff3d}.note-card-inner{flex-direction:column;height:100%;display:flex}.note-badge-row,.detail-toolbar,.forum-post-meta,.admin-review-header,.review-card-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.note-badge-row{min-height:36px}.note-badge-row-copy{flex-wrap:wrap;align-items:center;gap:.55rem;min-width:0;display:flex}.note-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:3.8rem;margin-bottom:.85rem;display:-webkit-box;overflow:hidden}.ownership-badge,.status-pill,.reference-button,.card-action-button,.card-link-button,.secondary-button{border-radius:999px;justify-content:center;align-items:center;font-size:.84rem;font-weight:600;display:inline-flex}.ownership-badge{padding:.45rem .85rem}.ownership-badge-original{color:var(--success);background:var(--success-soft)}.ownership-badge-referenced{color:var(--accent-warm);background:var(--accent-warm-soft)}.status-pill{text-transform:capitalize;padding:.4rem .8rem}.status-approved{background:var(--success-soft);color:var(--success)}.status-pending{background:var(--warning-soft);color:var(--warning)}.status-rejected{background:var(--danger-soft);color:var(--danger)}.status-neutral{background:var(--accent-soft);color:var(--accent-strong)}.subject{background:var(--accent-soft);width:fit-content;color:var(--accent-strong);border-radius:999px;margin-bottom:1rem;padding:.45rem .85rem;font-weight:600;display:inline-flex}.preview{color:var(--muted);-webkit-line-clamp:4;-webkit-box-orient:vertical;min-height:95px;margin:0 0 1rem;line-height:1.7;display:-webkit-box;overflow:hidden}.note-card-action-row,.note-owner-actions,.admin-review-actions,.form-button-row,.forum-comment-form{flex-wrap:wrap;gap:.75rem;display:flex}.note-card-action-row{align-items:center;min-height:42px;margin-top:auto}.card-action-button,.card-link-button,.secondary-button,.reference-button,.citation-link,.inline-link{background:var(--accent-soft);color:var(--accent-strong);padding:.7rem 1rem}.citation-link{background:linear-gradient(135deg,#5b74d629,#fff9);border:1px solid #6f55c82e;border-radius:16px;justify-content:space-between;align-items:center;gap:.7rem;width:fit-content;min-height:48px;font-weight:700;display:inline-flex;box-shadow:0 12px 24px #5b74d61f}.citation-link:hover{border-color:#6f55c847;transform:translateY(-2px);box-shadow:0 16px 30px #5b74d62e,0 0 0 1px #6f55c81f}.citation-link-icon{width:28px;height:28px;color:var(--accent-strong);background:#ffffffb8;border-radius:50%;justify-content:center;align-items:center;font-size:.95rem;line-height:1;display:inline-flex}html[data-theme=dark] .citation-link{background:linear-gradient(135deg,#8ca3ff29,#ffffff0a);border-color:#8ca3ff33;box-shadow:0 14px 26px #00000038}html[data-theme=dark] .citation-link-icon{color:#cbd7ff;background:#ffffff14}.card-action-button{border:1px solid #0000}.note-like-button{min-width:64px;color:var(--accent-strong);background:#5b74d617;border:1px solid #5b74d624;gap:.42rem}.note-like-button:hover{background:#5b74d621;border-color:#5b74d63d;transform:translateY(-1px)}.note-like-button-active .note-card-button-icon{animation:.24s both noteHeartPop}.note-card-button-icon{flex-shrink:0;justify-content:center;align-items:center;width:1rem;height:1rem;display:inline-flex}.note-card-button-icon svg{width:100%;height:100%}.note-card-button-count{font-weight:800}.card-action-button-active{background:var(--accent);color:#fff}.card-link-button,.secondary-button{border:1px solid var(--border)}.card-link-button-danger{background:var(--danger-soft);color:var(--danger)}.reference-button{border:1px dashed var(--border);background:0 0}.reference-button-hidden{visibility:hidden}.note-owner-actions{align-items:center;min-height:42px;margin-top:.85rem}.card-link-button-placeholder{visibility:hidden}.note-meta{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;gap:.75rem;margin-top:1rem;padding-top:1rem;font-size:.92rem;display:flex}.upload-form,.forum-form,.review-section,.about-section,.auth-card,.note-content,.citation-panel,.note-header{border-radius:30px;padding:1.75rem}.form-group{margin-bottom:1.2rem}.form-group label{margin-bottom:.45rem;font-weight:600;display:block}.field-error{box-shadow:0 0 0 3px #c2413924;border-color:var(--danger)!important}.field-error-text{color:var(--danger);margin:.4rem 0 0;font-size:.9rem}.work-choice-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.work-choice-card{border:1px solid var(--border);background:var(--surface-strong);box-shadow:var(--shadow-soft);cursor:pointer;border-radius:22px;align-items:flex-start;gap:.9rem;padding:1rem 1.05rem;display:flex;position:relative}.work-choice-card input{opacity:0;pointer-events:none;position:absolute}.work-choice-card-selected{background:linear-gradient(135deg, var(--accent-soft), #ffffff7a);border-color:#6f55c842}html[data-theme=dark] .work-choice-card-selected{background:linear-gradient(135deg,#8ca3ff2e,#ffffff0a);border-color:#8ca3ff3d}.work-choice-indicator{background:#ffffffe6;border:2px solid #6f55c857;border-radius:50%;justify-content:center;align-items:center;width:22px;min-width:22px;height:22px;margin-top:.15rem;display:inline-flex}.work-choice-indicator-dot{background:linear-gradient(135deg, var(--accent), var(--accent-warm));border-radius:50%;width:10px;height:10px;transition:transform .22s;transform:scale(0)}.work-choice-card-selected .work-choice-indicator{border-color:var(--accent);box-shadow:0 0 0 4px #5b74d61f}.work-choice-card-selected .work-choice-indicator-dot{transform:scale(1)}html[data-theme=dark] .work-choice-indicator{background:#131b2af0;border-color:#8ca3ff4d}.work-choice-copy{gap:.15rem;display:grid}.work-choice-copy strong{color:var(--text)}.work-choice-copy small{color:var(--muted);line-height:1.55}.attachment-picker{border:1px dashed var(--border);background:var(--surface-strong);color:var(--accent-strong);cursor:pointer;border-radius:20px;gap:.18rem;padding:1rem 1.05rem;display:grid}.attachment-picker-title{font-weight:600;display:block}.attachment-picker-help{margin-top:.15rem;line-height:1.5;display:block}.attachment-picker small{color:var(--muted);font-weight:400}.attachment-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.attachment-list,.attachment-view-list{gap:.75rem;margin-top:.85rem;display:grid}.attachment-chip,.attachment-card,.attachment-panel{background:var(--surface-strong);border:1px solid var(--border);border-radius:20px;padding:.95rem 1rem}.attachment-chip{justify-content:space-between;align-items:center;gap:.9rem;display:flex}.attachment-chip-copy,.attachment-card-copy{gap:.15rem;display:grid}.attachment-chip-copy small,.attachment-card-copy small,.attachment-panel strong+.attachment-view-list{color:var(--muted)}.attachment-remove-button{border:1px solid var(--border);min-width:0;color:var(--danger);box-shadow:none;background:0 0;border-radius:999px;padding:.58rem .85rem;animation:none}.attachment-remove-button:hover{background:var(--danger-soft);box-shadow:none}.attachment-view-button{background:var(--accent-soft);width:fit-content;min-height:44px;color:var(--accent-strong);border:1px solid #6f55c829;border-radius:16px;justify-content:center;align-items:center;padding:.72rem 1rem;font-weight:600;display:inline-flex}.attachment-view-button:hover{transform:translateY(-2px);box-shadow:0 12px 24px #5b74d61f}.attachment-image-preview{object-fit:contain;border:1px solid var(--border);background:#0f172a0f;border-radius:16px;width:100%;max-height:260px;margin:.85rem 0}.radio-group{background:var(--surface-strong);border:1px solid var(--border);border-radius:18px;flex-wrap:wrap;gap:.65rem;padding:.65rem;display:flex}.radio-group-error{border-color:var(--danger)}.radio-option{background:var(--surface);border:1px solid #0000;border-radius:12px;align-items:center;gap:.5rem;min-width:82px;padding:.36rem .56rem;font-size:.9rem;line-height:1.2;transition:background-color .22s,border-color .22s,box-shadow .22s,color .22s;display:inline-flex}.radio-option input{width:auto;margin:0;transform:scale(.96)}.radio-option span{padding-left:0}.radio-card-group{background:0 0;border:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;padding:0;display:grid}.radio-card-option{background:var(--surface-strong);border:1px solid var(--border);min-width:0;box-shadow:var(--shadow-soft);border-radius:22px;align-items:flex-start;gap:.85rem;padding:1rem 1.05rem}.radio-card-option input{opacity:0;pointer-events:none;position:absolute}.radio-indicator{background:#ffffffe6;border:2px solid #6f55c857;border-radius:50%;width:20px;min-width:20px;height:20px;margin-top:.15rem;transition:border-color .22s,background-color .22s,box-shadow .22s,transform .22s;position:relative;box-shadow:inset 0 0 #5b74d6e6}.radio-indicator:after{content:"";background:linear-gradient(135deg, var(--accent), var(--accent-warm));border-radius:50%;transition:transform .22s;position:absolute;inset:3px;transform:scale(0)}.radio-card-copy{gap:.18rem;display:grid}.radio-card-copy strong{color:var(--text)}.radio-card-copy small{color:var(--muted);line-height:1.55}.radio-option:has(input:checked){background:var(--accent-soft);color:var(--accent-strong);border-color:#6f55c83d;box-shadow:0 8px 18px #5b74d61f}html[data-theme=dark] .radio-option:has(input:checked){border-color:#8ca3ff3d;box-shadow:0 10px 20px #0003}.radio-card-option:has(input:checked){background:linear-gradient(135deg, var(--accent-soft), #ffffff6b);border-color:#6f55c847}.radio-card-option:has(input:checked) .radio-indicator{border-color:var(--accent);transform:scale(1.04);box-shadow:inset 0 0 0 4px #5b74d61f,0 0 0 4px #5b74d61f}.radio-card-option:has(input:checked) .radio-indicator:after{transform:scale(1)}html[data-theme=dark] .radio-card-option:has(input:checked){background:linear-gradient(135deg,#8ca3ff2e,#ffffff0a);border-color:#8ca3ff47}html[data-theme=dark] .radio-indicator{background:#131b2af0;border-color:#8ca3ff52}html[data-theme=dark] .radio-card-option:has(input:checked) .radio-indicator{border-color:#9fb3ff;box-shadow:inset 0 0 0 4px #8ca3ff24,0 0 0 4px #8ca3ff1a}.source-section{border:1px dashed var(--border);background:#ffffff38;border-radius:24px;margin-bottom:1.2rem;padding:1.2rem}.form-button-row{justify-content:flex-end}button,.upload-popup-button,.forum-comment-form button{background:linear-gradient(135deg, var(--accent), var(--accent-strong), var(--accent-warm));color:#fff;cursor:pointer;background-size:260% 260%;border-radius:18px;justify-content:center;align-items:center;padding:.95rem 1.35rem;font-weight:700;transition:transform .18s cubic-bezier(.22,1,.36,1),filter .18s,box-shadow .18s,background-position .38s;animation:3.2s infinite buttonFlow;display:inline-flex;box-shadow:0 14px 30px #5b74d642,0 0 #f08ba800}button:hover,.upload-popup-button:hover{filter:brightness(1.08)saturate(1.08);background-position:100%;transform:translateY(-4px)scale(1.03);box-shadow:0 24px 42px #6f55c84d,0 0 22px #f08ba838}button:active,.upload-popup-button:active{filter:brightness(.98);transform:translateY(0)scale(.98);box-shadow:0 10px 20px #6f55c833,0 0 12px #f08ba824}@keyframes buttonFlow{0%,to{background-position:0%}50%{background-position:100%}}.secondary-button{box-shadow:none;background:0 0}.profile-hero{border-radius:28px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:1.5rem;display:flex}.profile-page-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.profile-page-header h1{margin:.15rem 0 0}.profile-back-button{flex-shrink:0;min-width:0}.profile-back-mobile-symbol{display:none}.profile-page-public .profile-hero{background:radial-gradient(circle at 12% 16%, #5b74d629, transparent 34%), radial-gradient(circle at 92% 8%, #f08ba81f, transparent 28%), var(--surface);position:relative;overflow:hidden}.profile-page-public .profile-hero:before{content:"";background:linear-gradient(180deg, var(--accent), var(--accent-warm));opacity:.78;width:5px;position:absolute;inset:0 auto 0 0}.profile-page-public .profile-hero-main{z-index:1;align-items:flex-start;position:relative}.profile-page-public .profile-hero-main h2{margin:0 0 .35rem;font-size:clamp(1.55rem,4vw,2.15rem);line-height:1.05}.profile-page-public .profile-hero-main p{max-width:58ch;color:var(--muted);margin:0;line-height:1.58}.profile-public-badge-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.8rem;display:flex}.profile-page-public .profile-details-panel{z-index:1;align-self:stretch;gap:.55rem;display:grid;position:relative}.profile-page-public .profile-details-panel p{border-bottom:1px solid #5b74d61f;justify-content:space-between;gap:.75rem;min-width:0;margin:0;padding-bottom:.48rem;display:flex}.profile-page-public .profile-details-panel p strong{flex:none}.profile-page-public .profile-details-panel p{overflow-wrap:anywhere;word-break:break-word}.profile-detail-value{text-align:right;min-width:0}.profile-detail-email{max-width:min(100%,30ch);display:inline-block;position:relative;overflow:visible}.profile-detail-email-text{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.profile-detail-email:before,.profile-detail-email:after{opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;position:absolute;right:0}.profile-detail-email:before{content:attr(data-full-value);z-index:12;background:var(--surface-strong);border:1px solid var(--border);width:max-content;max-width:min(340px,70vw);color:var(--text);overflow-wrap:anywhere;text-align:left;white-space:normal;border-radius:14px;padding:.55rem .68rem;font-size:.76rem;font-weight:700;line-height:1.35;bottom:calc(100% + .58rem);transform:translateY(4px);box-shadow:0 16px 34px #5b74d62e}.profile-detail-email:after{content:"";z-index:11;border:.36rem solid #0000;border-top-color:var(--surface-strong);bottom:calc(100% + .24rem);transform:translateY(4px)}.profile-detail-email:hover:before,.profile-detail-email:hover:after,.profile-detail-email:focus-visible:before,.profile-detail-email:focus-visible:after{opacity:1;transform:translateY(0)}.profile-details-panel p.profile-email-detail-row{grid-template-columns:minmax(0,1fr);justify-content:stretch;gap:.24rem;display:grid}.profile-email-detail-row .profile-detail-value{text-align:left;width:100%}.profile-email-detail-row .profile-detail-email{max-width:100%}.profile-email-detail-row .profile-detail-email:before,.profile-email-detail-row .profile-detail-email:after{left:0;right:auto}.profile-page-public .profile-details-panel p:last-child{border-bottom:0;padding-bottom:0}.profile-page-public .profile-public-actions{flex-wrap:wrap;gap:.55rem;display:flex}.profile-avatar-button{min-width:0;color:inherit;cursor:pointer;box-shadow:none;background:0 0;border-radius:28px;justify-content:center;align-items:center;padding:0;transition:transform .22s,box-shadow .22s;display:inline-flex}.profile-avatar-button:hover,.profile-avatar-button:focus-visible{transform:translateY(-2px)scale(1.02);box-shadow:0 16px 34px #5b74d62e}.profile-report-button{background:var(--danger-soft);min-height:46px;color:var(--danger);cursor:pointer;box-shadow:none;border:1px solid #d6525238;border-radius:16px;justify-content:center;align-items:center;gap:.45rem;padding:.8rem 1.05rem;font-weight:800;display:inline-flex}.profile-report-button svg{width:1rem;height:1rem}.profile-report-button:hover,.profile-report-button:focus-visible{transform:translateY(-2px);box-shadow:0 12px 24px #d6525221}.profile-report-icon-button{z-index:2;background:var(--danger-soft);width:46px;min-width:46px;height:46px;color:var(--danger);cursor:pointer;box-shadow:none;transition:transform .22s ease, box-shadow .22s ease, background var(--theme-transition-soft);border:1px solid #d6525238;border-radius:18px;justify-content:center;justify-self:end;align-items:center;padding:0;display:inline-flex}.profile-report-icon-button svg{width:1.08rem;height:1.08rem}.profile-report-icon-button:hover,.profile-report-icon-button:focus-visible{transform:translateY(-2px);box-shadow:0 12px 24px #d6525221}.profile-page-public .profile-details-panel{grid-area:1/2}.profile-avatar-lightbox-overlay{z-index:2400;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c121db8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.profile-avatar-lightbox{background:var(--surface-strong);border:1px solid var(--border);width:min(560px,94vw);max-height:90vh;box-shadow:var(--shadow);border-radius:28px;padding:1rem;overflow:hidden}.profile-avatar-lightbox-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.profile-avatar-lightbox-header h3{margin:.25rem 0 0}.profile-avatar-lightbox-header button{background:var(--accent-soft);width:38px;min-width:38px;height:38px;color:var(--accent-strong);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-weight:900;display:inline-flex}.profile-avatar-lightbox img{object-fit:contain;background:#f0f4ffe6;border-radius:22px;width:100%;max-height:70vh;display:block}.profile-role-badge{background:var(--accent-soft);color:var(--accent-strong);text-transform:capitalize;border-radius:20px;padding:.8rem 1rem;font-weight:700}.profile-admin-danger-zone{background:radial-gradient(circle at top right, #d652521a, transparent 34%), var(--surface);box-shadow:var(--shadow-soft);border:1px solid #d652522e;border-radius:22px;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0;padding:1rem;display:flex}.profile-admin-danger-zone h2,.profile-admin-danger-zone p{margin:0}.profile-admin-danger-zone h2{margin-top:.2rem}.profile-admin-danger-zone p{max-width:62ch;color:var(--muted);line-height:1.55}.profile-admin-danger-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:.55rem;display:flex}.note-header{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.4rem .9rem;margin-bottom:1rem;padding-bottom:1.2rem;display:grid}.back-btn-small{background:var(--accent-soft);width:fit-content;min-width:58px;color:var(--accent-strong);border-radius:14px;justify-content:center;align-items:center;gap:.35rem;padding:.55rem .8rem;font-size:.92rem;line-height:1;display:inline-flex}.back-btn-icon{display:none}.note-title-info{flex:1}.note-title-info h1{text-align:left;margin-bottom:.6rem}.note-info{flex-wrap:wrap;align-items:center;gap:.55rem .8rem;display:flex}.note-info .subject{margin-bottom:0}.author-date{color:var(--muted)}.detail-toolbar{margin-bottom:1rem}.detail-icon-button{gap:.45rem}.detail-action-icon{flex-shrink:0;justify-content:center;align-items:center;width:1.05rem;height:1.05rem;display:inline-flex}.detail-action-icon svg{width:100%;height:100%}.detail-action-count{font-weight:800}.content-wrapper p{white-space:pre-wrap;color:var(--text);margin:0;line-height:1.8}.citation-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.citation-item{background:var(--accent-soft);border-radius:22px;padding:1rem}.citation-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.45rem;font-size:.84rem;display:block}.citation-item-full{grid-column:1/-1}.review-section{margin-top:1rem;padding:1.2rem 1.3rem}.review-summary{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.review-rating-chip{background:var(--accent-warm-soft);color:var(--accent-warm);border-radius:999px;padding:.55rem .85rem;font-size:.9rem;font-weight:700}.review-form-row{grid-template-columns:minmax(220px,auto) 1fr;gap:.85rem;margin-bottom:.85rem;display:grid}.star-rating-picker{background:var(--surface-strong);border:1px solid var(--border);border-radius:18px;flex-wrap:wrap;align-items:center;gap:.25rem;min-height:58px;padding:.7rem .85rem;display:flex}.star-rating-button{color:#f08ba86b;width:40px;min-width:0;height:40px;box-shadow:none;background:0 0;border-radius:12px;padding:0;font-size:1.45rem;line-height:1;animation:none}.star-rating-button:hover{box-shadow:none;background:#f08ba81f;transform:translateY(-1px)scale(1.05)}.star-rating-button-active{color:#f08ba8;text-shadow:0 0 10px #f08ba838}html[data-theme=dark] .star-rating-button{color:#ff9db566}html[data-theme=dark] .star-rating-button-active{color:#ffb1c3;text-shadow:0 0 12px #ffb1c338}.star-rating-value{color:var(--muted);margin-left:.35rem;font-size:.92rem;font-weight:600}.review-list{gap:.7rem;display:grid}.review-card{background:var(--surface-strong);border:1px solid var(--border);border-radius:16px;padding:.85rem 1rem}.review-card p{margin:.35rem 0 .45rem}.review-stars{color:#f08ba8;align-items:center;gap:.45rem;font-size:.95rem;font-weight:700;display:inline-flex}.review-stars small{color:var(--muted);font-size:.8rem}.review-summary-text{color:var(--muted);margin:0;font-size:.92rem}.review-card p,.about-card p,.about-feature-item p,.forum-post p,.admin-review-card p,.auth-copy p{color:var(--muted)}.forum-form{margin-bottom:1.25rem}.forum-form-grid{grid-template-columns:1fr 180px;gap:1rem;margin-bottom:1rem;display:grid}.admin-announcement-grid{grid-template-columns:minmax(0,1fr) minmax(180px,.28fr)}.admin-announcement-recipient{grid-column:1/-1;position:relative}.admin-announcement-recipient input{width:100%}.admin-announcement-user-results{z-index:25;background:var(--surface-strong);border:1px solid var(--border);border-radius:18px;gap:.35rem;max-height:230px;padding:.45rem;display:grid;position:absolute;top:calc(100% + .45rem);left:0;right:0;overflow:hidden auto;box-shadow:0 18px 42px #5b74d629}.admin-announcement-user-option{width:calc(100% - .1rem);min-width:0;min-height:42px;color:var(--text);text-overflow:ellipsis;text-align:left;white-space:nowrap;cursor:pointer;transition:background var(--theme-transition-soft), color var(--theme-transition), transform .18s ease, box-shadow .18s ease;background:0 0;border-radius:14px;justify-content:flex-start;align-items:center;margin:0 auto;padding:.72rem .86rem;font-weight:600;display:flex;overflow:hidden}.admin-announcement-user-option:hover,.admin-announcement-user-option:focus-visible,.admin-announcement-user-option-active{background:var(--accent-soft);color:var(--accent-strong);transform:translateY(-1px);box-shadow:inset 0 0 0 1px #5b74d629}.admin-announcement-user-results p{color:var(--muted);margin:0;padding:.75rem .85rem;font-size:.88rem}.admin-announcement-history{gap:1rem;margin-top:1.1rem;display:grid}.admin-announcement-history-header{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.admin-announcement-history-header h3{margin:.3rem 0 0}.admin-announcement-history-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.admin-announcement-history-actions span{color:var(--muted);white-space:nowrap;font-size:.9rem}.admin-announcement-history-actions button{border-radius:14px;min-height:38px;padding:.55rem .82rem;font-size:.78rem}.admin-announcement-list{gap:.8rem;max-height:420px;padding-right:.2rem;display:grid;overflow-y:auto}.home-announcement-modal-list,.home-announcement-detail-panel,.admin-announcement-user-results,.admin-announcement-list{scrollbar-width:thin;scrollbar-gutter:stable;scrollbar-color:#5b74d6b8 #5b74d614}.home-announcement-modal-list::-webkit-scrollbar{width:10px;height:10px}.home-announcement-detail-panel::-webkit-scrollbar{width:10px;height:10px}.admin-announcement-user-results::-webkit-scrollbar{width:10px;height:10px}.admin-announcement-list::-webkit-scrollbar{width:10px;height:10px}.home-announcement-modal-list::-webkit-scrollbar-track{background:#5b74d614;border-radius:999px}.home-announcement-detail-panel::-webkit-scrollbar-track{background:#5b74d614;border-radius:999px}.admin-announcement-user-results::-webkit-scrollbar-track{background:#5b74d614;border-radius:999px}.admin-announcement-list::-webkit-scrollbar-track{background:#5b74d614;border-radius:999px}.home-announcement-modal-list::-webkit-scrollbar-thumb{background:linear-gradient(#5b74d6bf,#f08ba8ad) padding-box padding-box;border:2px solid #0000;border-radius:999px}.home-announcement-detail-panel::-webkit-scrollbar-thumb{background:linear-gradient(#5b74d6bf,#f08ba8ad) padding-box padding-box;border:2px solid #0000;border-radius:999px}.admin-announcement-user-results::-webkit-scrollbar-thumb{background:linear-gradient(#5b74d6bf,#f08ba8ad) padding-box padding-box;border:2px solid #0000;border-radius:999px}.admin-announcement-list::-webkit-scrollbar-thumb{background:linear-gradient(#5b74d6bf,#f08ba8ad) padding-box padding-box;border:2px solid #0000;border-radius:999px}.home-announcement-modal-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(#6f55c8e6,#f08ba8d1) padding-box padding-box}.home-announcement-detail-panel::-webkit-scrollbar-thumb:hover{background:linear-gradient(#6f55c8e6,#f08ba8d1) padding-box padding-box}.admin-announcement-user-results::-webkit-scrollbar-thumb:hover{background:linear-gradient(#6f55c8e6,#f08ba8d1) padding-box padding-box}.admin-announcement-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(#6f55c8e6,#f08ba8d1) padding-box padding-box}.admin-announcement-card{border:1px solid var(--border);background:#ffffff8a;border-radius:20px;grid-template-columns:minmax(0,1fr) auto;gap:.85rem;padding:1rem;display:grid}.admin-announcement-card-copy{min-width:0}.admin-announcement-card-copy strong,.admin-announcement-card-copy p{margin:0}.admin-announcement-card-copy strong{color:var(--text);display:block}.admin-announcement-card-copy p{color:var(--muted);margin-top:.25rem;line-height:1.45}.admin-announcement-card-copy small{color:var(--muted);margin-top:.45rem;font-size:.78rem;display:block}.admin-announcement-actions{align-items:flex-start;gap:.45rem;display:flex}.admin-announcement-icon-button{background:var(--accent-soft);width:42px;min-width:42px;height:42px;color:var(--accent-strong);cursor:pointer;transition:transform .22s ease, background var(--theme-transition-soft), color var(--theme-transition), box-shadow .22s ease;border-radius:14px;justify-content:center;align-items:center;padding:0;display:inline-flex}.admin-announcement-icon-button:hover,.admin-announcement-icon-button:focus-visible{transform:translateY(-2px);box-shadow:0 12px 24px #5b74d629}.admin-announcement-icon-button svg{width:1.05rem;height:1.05rem}.admin-announcement-icon-button-danger{background:var(--danger-soft);color:var(--danger)}.admin-announcement-edit-form{border-top:1px solid var(--border);grid-column:1/-1;gap:.7rem;padding-top:.85rem;display:grid}.admin-announcement-edit-actions{flex-wrap:wrap;gap:.65rem;display:flex}.admin-announcement-empty{padding:1rem}.forum-list{gap:1rem;display:grid}.forum-post{border-radius:28px;grid-template-columns:90px 1fr;gap:1rem;padding:1.25rem;display:grid}.forum-vote-panel{background:var(--accent-soft);border-radius:22px;flex-direction:column;align-items:center;gap:.55rem;width:72px;padding:.75rem .45rem;display:flex}.forum-vote-panel button{border-radius:12px;width:38px;min-width:38px;height:38px;padding:0;font-size:.95rem}.forum-vote-button{box-shadow:none;flex-direction:column;justify-content:center;align-items:center;gap:.05rem;display:inline-flex}.forum-vote-panel strong{font-size:.95rem}.forum-vote-arrow{font-size:.95rem;line-height:1}.forum-vote-label{text-transform:uppercase;letter-spacing:.04em;font-size:.62rem;line-height:1}.forum-comment-list{gap:.75rem;margin:1rem 0;display:grid}.forum-post-meta-copy{flex-wrap:wrap;align-items:center;gap:.55rem .8rem;min-width:0;display:flex}.forum-post-action-row{flex-shrink:0;justify-content:flex-end;align-items:center;gap:.42rem;display:inline-flex}.forum-delete-button{min-width:0;min-height:38px;color:var(--danger);box-shadow:none;background:#d6525214;border:1px solid #d652522e;border-radius:13px;padding:0 .78rem;font-size:.78rem;font-weight:900}.forum-delete-button:hover{background:var(--danger-soft);transform:translateY(-1px);box-shadow:0 10px 20px #d652521f}.forum-comment-toggle-row{margin-top:.9rem}.forum-comment-toggle{background:var(--accent-soft);min-width:0;color:var(--accent-strong);box-shadow:none;border-radius:14px;padding:.7rem 1rem;animation:none}.forum-comment-toggle:hover{transform:translateY(-1px);box-shadow:0 10px 20px #5b74d61f}.report-icon-button{width:42px;min-width:42px;height:42px;color:var(--danger);box-shadow:none;background:0 0;border:1px solid #d652522e;border-radius:14px;flex-shrink:0;padding:0;animation:none}.report-icon-button svg{width:1.1rem;height:1.1rem}.report-icon-button:hover{background:var(--danger-soft);color:var(--danger);transform:translateY(-1px);box-shadow:0 10px 20px #d652521f}.report-icon-button:active{box-shadow:none;transform:translateY(0)}.forum-comment{background:var(--surface-strong);border:1px solid var(--border);border-radius:18px;padding:.9rem 1rem}.forum-comment-header{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.forum-comment-author-link{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.forum-comment-author-link:hover{color:var(--accent-strong);text-underline-offset:.18rem;text-decoration:underline}.forum-reply-button{min-height:0;color:var(--accent-strong);box-shadow:none;background:#5b74d61a;border-radius:999px;padding:.36rem .62rem;font-size:.78rem}.forum-comment-replies{border-left:2px solid #5b74d62e;gap:.58rem;margin-top:.72rem;padding-left:.85rem;display:grid}.forum-comment-reply{background:#ffffff9e}.forum-comment-replying{width:100%;color:var(--muted);background:#5b74d614;border:1px solid #5b74d629;border-radius:14px;justify-content:space-between;align-items:center;gap:.65rem;padding:.52rem .68rem;font-size:.84rem;display:flex}.forum-comment-replying button{background:var(--surface-strong);min-height:0;color:var(--accent-strong);box-shadow:none;border-radius:999px;padding:.32rem .56rem;font-size:.74rem}.forum-comment-empty{padding:.8rem .95rem}.forum-comment p{margin:.35rem 0 0}.mention-highlight{color:var(--accent-strong);background:#5b74d61f;border-radius:999px;padding:.05rem .24rem;font-weight:800;display:inline}.mention-suggestions{flex-wrap:wrap;gap:.42rem;width:100%;display:flex}.mention-suggestion-button{min-height:0;color:var(--accent-strong);box-shadow:none;background:#ffffffc7;border:1px solid #5b74d62e;border-radius:999px;padding:.42rem .68rem;font-size:.8rem}.forum-comment-form textarea{background:var(--surface-strong);color:var(--text);border:1px solid var(--border);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border-radius:18px;flex:1}html[data-theme=dark] .forum-comment-form textarea{color:#eef3ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#131b2aeb}.admin-review-list{gap:1rem;display:grid}.admin-page{max-width:1180px}.admin-dashboard-hero{border:1px solid var(--border);box-shadow:var(--shadow-soft);background:radial-gradient(circle at 12% 20%,#5b74d633,#0000 34%),radial-gradient(circle at 96% 10%,#f08ba82e,#0000 28%),linear-gradient(160deg,#fffffff2,#f5f9ffe6);border-radius:30px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;margin-bottom:1.2rem;padding:1.45rem;display:grid;overflow:hidden}.admin-dashboard-copy{max-width:720px}.admin-dashboard-copy h1,.admin-dashboard-copy p{margin:0}.admin-dashboard-copy p{color:var(--muted);margin-top:.55rem;line-height:1.7}.admin-dashboard-status{text-align:center;background:#ffffffad;border:1px solid #5b74d629;border-radius:24px;min-width:150px;padding:1rem 1.1rem;box-shadow:inset 0 1px #ffffffb8,0 16px 30px #5b74d61a}.admin-dashboard-status strong{color:var(--accent-strong);font-size:clamp(2rem,4vw,3rem);line-height:.95;display:block}.admin-dashboard-status span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:.35rem;font-size:.82rem;font-weight:800;display:block}.admin-stat-grid{margin-bottom:1.35rem}.admin-stat-card{border-color:#5b74d624;min-height:128px;position:relative;overflow:hidden}.admin-stat-card:after{content:"";opacity:.18;background:var(--accent);border-radius:50%;width:82px;height:82px;position:absolute;inset:auto -18px -24px auto}.admin-stat-card-warning:after{background:#f0b35f}.admin-stat-card-success:after{background:#4fbe8a}.admin-stat-card-muted:after{background:#6f7d9d}.admin-stat-card-danger:after{background:var(--danger)}.admin-review-card{border-radius:28px;padding:1.5rem}.admin-section-block+.admin-section-block{margin-top:2rem}.admin-section-block{border:1px solid var(--border);background:radial-gradient(circle at top right, #5b74d614, transparent 34%), var(--surface);box-shadow:var(--shadow-soft);border-radius:28px;padding:1.35rem 1.45rem}.admin-section-heading{grid-template-columns:minmax(0,1fr) minmax(260px,.9fr) auto;align-items:center;gap:.85rem;margin-bottom:1rem;display:grid}.admin-section-heading h2{margin:.2rem 0 0}.admin-section-note{background:linear-gradient(135deg,#5b74d614,#f08ba814);border:1px solid #5b74d624;border-radius:18px;padding:.82rem .95rem}.admin-section-note p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.42}.admin-section-note p:first-child{color:var(--text);font-weight:800}.admin-section-note p+p{margin-top:.2rem}.admin-section-count{color:var(--accent-strong);white-space:nowrap;background:#5b74d61a;border-radius:999px;justify-self:end;padding:.58rem .8rem;font-size:.8rem;font-weight:900}.admin-queue-toggle{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-bottom:1rem;display:grid}.admin-queue-tab{width:100%;min-height:64px;color:var(--text);text-align:left;background:#ffffffad;border:1px solid #5b74d624;border-radius:20px;justify-content:space-between;align-items:center;gap:.8rem;padding:.9rem 1rem;transition:transform .2s,border-color .2s,box-shadow .2s,background .2s;display:flex;box-shadow:inset 0 1px #ffffffb8,0 12px 26px #5b74d614}.admin-queue-tab span,.admin-queue-tab strong{display:block}.admin-queue-tab span{font-size:.92rem;font-weight:800}.admin-queue-tab strong{color:var(--accent-strong);font-size:1.4rem;line-height:1}.admin-queue-tab:hover{border-color:#5b74d63d;transform:translateY(-2px)}.admin-queue-tab-active{background:linear-gradient(135deg,#5b74d61f,#f08ba81f);border-color:#5b74d647;box-shadow:inset 0 1px #ffffffc7,0 18px 34px #5b74d624}.admin-queue-panel{display:grid}.admin-review-card-compact{background:radial-gradient(circle at top right, #5b74d614, transparent 32%), var(--surface);border-color:#5b74d624;gap:1rem;display:grid}.admin-review-content{white-space:pre-wrap;margin:1rem 0}.admin-review-content-preview{-webkit-line-clamp:4;-webkit-box-orient:vertical;min-height:5.8rem;margin:0;display:-webkit-box;overflow:hidden}.admin-review-meta-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}.admin-review-meta-chip{background:#5b74d614;border:1px solid #5b74d61f;border-radius:18px;padding:.85rem .95rem}.admin-review-meta-chip strong,.admin-review-meta-chip span{display:block}.admin-review-meta-chip span{color:var(--muted);margin-top:.18rem}.admin-review-actions-sticky{align-items:center;padding-top:.25rem}.forum-comment-toggle-danger{color:var(--danger)}.admin-report-list{gap:1rem;display:grid}.admin-report-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:24px;padding:1.35rem 1.45rem}.admin-report-reason{white-space:pre-wrap;margin:.8rem 0 1rem}.notification-header{text-align:center;justify-items:center;gap:1rem;display:grid}.notification-shell{gap:1.35rem;width:min(100%,980px);margin:0 auto;display:grid}.notification-hero{border:1px solid var(--border);box-shadow:var(--shadow-soft);background:radial-gradient(circle at 100% 0,#5b74d624,#0000 36%),linear-gradient(160deg,#ffffffeb,#f5f8ffe0);border-radius:28px;padding:1.35rem 1.45rem}.notification-copy{text-align:center;justify-items:center;gap:.65rem;max-width:640px;display:grid}.notification-copy h1{margin:0}.notification-copy-meta{background:#ffffffc2;border:1px solid #5b74d624;border-radius:20px;gap:.35rem;width:min(100%,560px);padding:.95rem 1.1rem;display:grid;box-shadow:inset 0 1px #ffffff4d}.notification-copy-meta p{margin:0}.notification-copy-meta p:first-child{color:var(--accent-strong);font-weight:700}.notification-copy-meta p:last-child{color:var(--muted);line-height:1.65}.notification-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.15rem;display:grid}.notification-header .secondary-button{justify-self:center}.notification-overview-card{background:#ffffffb8;border:1px solid #5b74d624;border-radius:20px;gap:.2rem;padding:1rem 1.1rem;display:grid}.notification-overview-card strong{font-size:1.55rem;line-height:1}.notification-overview-card span{color:var(--muted);font-size:.94rem}.notification-overview-card-emphasis{background:linear-gradient(135deg,#5b74d624,#eca5441f)}.notification-list{gap:1rem;display:grid}.notification-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:24px;padding:1.3rem 1.4rem;position:relative;overflow:hidden}.notification-card-unread{border-color:#5b74d63d}.notification-card-read{opacity:.88}.notification-delete-button{background:var(--danger-soft);color:var(--danger);border-color:#d6525233}.notification-delete-button:hover{color:var(--danger);background:#d652522e;border-color:#d6525257}.notification-empty-state{width:min(100%,720px);margin:0 auto}.notification-card-accent{background:linear-gradient(180deg, var(--accent), var(--accent-warm));opacity:0;width:5px;position:absolute;inset:0 auto 0 0}.notification-card-unread .notification-card-accent{opacity:1}.notification-meta-row{justify-content:space-between;align-items:center;gap:1rem;margin-top:.9rem;display:flex}.admin-review-source{background:var(--accent-soft);border-radius:18px;margin-bottom:1rem;padding:.9rem 1rem}.about-hero{margin-bottom:1.5rem}.about-step{background:var(--accent-soft);border-radius:20px;align-items:flex-start;gap:1rem;margin-bottom:.85rem;padding:1rem;display:flex}.about-step-number{aspect-ratio:1;background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;min-height:40px;font-weight:700;display:inline-flex}.about-section a,.summary-card a,.inline-link{color:var(--accent);font-weight:600}.auth-shell{justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.auth-card{border-radius:36px;grid-template-columns:1.1fr .9fr;gap:1.5rem;width:min(980px,100%);padding:2rem;display:grid}.auth-copy{flex-direction:column;justify-content:center;padding-right:1rem;display:flex;position:relative;overflow:hidden}.auth-copy-books{pointer-events:auto;z-index:2;width:100%;height:100%;position:absolute;inset:0}.auth-copy-book{color:#6a63d252;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:52px;height:52px;padding:0;animation:7s ease-in-out infinite authBookFloat;display:inline-flex;position:absolute}.auth-copy-book:disabled{cursor:default}.auth-copy-book:focus-visible{outline:3px solid var(--accent-warm);outline-offset:7px;border-radius:999px}.auth-copy-book-popped{pointer-events:none}.auth-copy-book-popped svg{animation:.38s forwards authBookPop}.auth-copy-book svg{width:100%;height:100%}.auth-copy-book-one{color:#4e6ed857;top:16%;right:12%}.auth-copy-book-two{color:#f08ba852;animation-delay:1.4s;top:50%;right:30%}.auth-copy-book-three{color:#f4d39b6b;animation-delay:2.2s;bottom:13%;right:7%}.auth-copy-book-four{color:#5b74d657;animation-delay:3s;top:28%;right:42%}.auth-copy-book-five{color:#f08ba857;animation-delay:3.8s;bottom:7%;right:25%}.auth-copy-book-six{color:#6a63d24d;animation-delay:4.5s;top:64%;right:52%}.auth-copy-book-seven{color:#4e6ed84d;animation-delay:5.2s;top:38%;right:4%}@keyframes authBookFloat{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-10px)rotate(4deg)}}@keyframes authBookPop{0%{opacity:1;filter:drop-shadow(0 14px 22px #5b74d629);transform:scale(1)rotate(0)}58%{opacity:.9;filter:drop-shadow(0 0 26px #f08ba86b);transform:scale(1.55)rotate(14deg)}to{opacity:0;filter:drop-shadow(0 0 #f08ba800);transform:scale(.12)rotate(28deg)}}.auth-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:.5rem;font-size:.85rem}.auth-form,.demo-credentials{background:var(--surface-strong);border:1px solid var(--border);border-radius:26px;padding:1.25rem}.demo-credentials{margin-top:1rem}.auth-form select,.auth-form textarea{background:linear-gradient(#fffffffa,#f1f6ffeb);box-shadow:inset 0 1px #ffffffb8,0 10px 22px #5b74d614}.auth-form textarea{resize:vertical;min-height:120px}.demo-credential-card+.demo-credential-card{margin-top:.8rem}.auth-feedback{color:var(--muted);text-align:center;margin-top:.75rem}.auth-theme-toggle{z-index:5;width:auto;position:fixed;top:1.2rem;right:1.2rem}.auth-theme-toggle-compact{border-radius:999px;width:48px;min-width:48px;height:48px;padding:0}.auth-mode-switch{grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1rem;display:grid}.auth-mode-button{box-shadow:none;background:var(--surface-strong);color:var(--muted);border:1px solid var(--border);z-index:1;position:relative}.auth-mode-button-active{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#fff}.profile-empty-state{background:var(--surface);border:1px dashed var(--border);box-shadow:var(--shadow-soft);border-radius:22px;margin-bottom:1.5rem;padding:1.1rem 1.25rem}.profile-empty-state h3{margin-bottom:.35rem}.profile-empty-state p{color:var(--muted);margin:0}.rooms-shell,.room-hero{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.rooms-panel,.room-hero-card,.room-hero-copy,.room-card,.room-composer-card{background:var(--surface);border:1px solid var(--border);min-width:0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:28px;padding:1.4rem}.rooms-panel-header h2,.rooms-list-header h2,.room-hero-copy h1,.room-hero-card h2{margin:0 0 .45rem}.rooms-panel-header p,.rooms-list-header p,.room-hero-copy p,.room-hero-card p,.room-card p{color:var(--muted);overflow-wrap:anywhere;word-break:break-word;max-width:62ch;margin:0;line-height:1.75}.rooms-form{gap:.9rem;margin-top:1rem;display:grid}.rooms-form input,.rooms-form textarea,.rooms-form select{box-shadow:inset 0 1px #ffffff38,0 8px 20px #5b74d614}html[data-theme=dark] .rooms-form input,html[data-theme=dark] .rooms-form textarea,html[data-theme=dark] .rooms-form select{box-shadow:inset 0 1px #ffffff0a,0 10px 24px #0000003d}.rooms-tip-card,.rooms-feedback{background:var(--accent-soft);color:var(--accent-strong);border:1px solid var(--border);border-radius:20px;padding:1rem 1.1rem}.rooms-tip-card{margin-top:1rem}.rooms-tip-card p,.rooms-feedback{color:var(--accent-strong)}.rooms-feedback{margin-bottom:1.2rem}.room-feedback-inline{margin:.9rem 0 0}.rooms-list-header,.room-card-top,.room-card-meta,.room-hero-meta,.room-hero-tags,.room-card-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.rooms-list-header,.room-card-top,.room-card-meta{justify-content:space-between}.rooms-list-header{border-bottom:1px solid var(--border);align-items:flex-end;margin-bottom:1rem;padding-bottom:.8rem}.rooms-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem;display:grid}.room-card h3{overflow-wrap:anywhere;word-break:break-word;margin:.9rem 0 .55rem}.room-card{flex-direction:column;min-height:250px;display:flex;overflow:hidden}.room-card-link{color:inherit;cursor:pointer;text-decoration:none}.room-card-link:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.room-card-footer{gap:1rem;margin-top:auto;padding-top:1rem;display:grid}.classrooms-page .room-card h3,.classrooms-page .room-card p{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.classrooms-page .room-card h3{-webkit-line-clamp:2}.classrooms-page .room-card p{-webkit-line-clamp:3}.room-member-card{min-height:280px}.room-members-list{gap:.7rem;display:grid}.room-member-row{background:#ffffff75;border:1px solid #5b74d61f;border-radius:18px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.8rem;min-width:0;padding:.72rem;display:grid}.room-member-main{min-width:0;color:inherit;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.72rem;text-decoration:none;display:grid}.room-member-main:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:15px}.room-member-copy,.room-member-name-row{min-width:0}.room-member-copy{gap:.12rem;display:grid}.room-member-name-row{align-items:center;gap:.45rem;display:flex}.room-member-name-row strong,.room-member-copy p,.room-member-copy small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.room-member-name-row strong{font-size:.98rem}.room-member-copy p,.room-member-copy small{color:var(--muted);margin:0}.room-member-copy p{font-size:.82rem}.room-member-copy small{font-size:.74rem}.room-member-badges{justify-content:flex-end;min-width:0;display:flex}.room-card-meta,.room-hero-meta{color:var(--muted);margin-top:1rem;font-size:.92rem}.room-card-actions{margin-top:1rem}.room-card-footer .room-card-meta,.room-card-footer .room-card-actions{margin-top:0}.room-card>.room-card-actions{margin-top:auto;padding-top:1rem}.room-card .status-pill,.room-card .ownership-badge,.room-hero-tags .status-pill,.room-hero-tags .ownership-badge{text-overflow:ellipsis;overflow-wrap:anywhere;min-width:0;max-width:100%;overflow:hidden}.room-member-actions{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;margin-top:0;padding-top:0;display:flex}.room-member-actions .secondary-button,.room-member-actions .card-link-button{border-radius:12px;justify-content:center;align-items:center;gap:.38rem;min-height:34px;padding:.42rem .68rem;font-size:.76rem;display:inline-flex}.room-member-action-icon{flex:none;justify-content:center;align-items:center;width:1rem;height:1rem;display:inline-flex}.room-member-action-icon svg{width:100%;height:100%}.room-member-action-label{line-height:1}.room-toolbar{margin-bottom:1rem}.room-members-toggle{border-radius:14px;width:auto;min-width:0;padding:.72rem 1rem}.room-hero-copy{flex-direction:column;justify-content:center;display:flex;overflow:hidden}.room-hero-titlebar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;margin-bottom:.85rem;display:grid}.room-hero-titlebar .dashboard-strip-label{justify-self:start;min-width:0}.room-hero-titlebar .room-back-button{justify-self:start}.room-hero-titlebar .room-delete-button{justify-self:end}.room-hero-copy h1{overflow-wrap:anywhere;word-break:break-word;max-width:100%}.room-hero-copy p{-webkit-line-clamp:4;-webkit-box-orient:vertical;max-width:100%;display:-webkit-box;overflow:hidden}.room-hero-tags{margin-top:1rem}.room-hero-titlebar .secondary-button,.room-delete-button{justify-content:center;align-items:center;gap:.45rem;display:inline-flex}.room-hero-titlebar .room-back-button,.room-hero-titlebar .room-delete-button{border-radius:18px;min-height:40px;padding:0 .88rem;font-size:.88rem}.room-back-button{text-decoration:none}.room-toolbar-action-icon{flex:none;width:1rem;height:1rem;display:inline-flex}.room-toolbar-action-icon svg{width:100%;height:100%}.room-delete-button{background:var(--danger-soft);min-height:42px;color:var(--danger);box-shadow:none;border:1px solid #d6525233;border-radius:999px;padding:0 1rem;font-weight:900}.room-delete-button:hover{background:#d652522e;transform:translateY(-1px);box-shadow:0 14px 26px #d652521f}.rooms-list-section{margin-top:1.5rem}.room-details-page .room-hero{grid-template-columns:1fr;margin-bottom:2.15rem}.room-overview-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;margin-bottom:.45rem;display:grid}.room-details-page .room-overview-grid .rooms-list-section{height:100%;margin-top:0}.room-access-section{position:sticky;top:1rem}.room-access-actions{flex-wrap:wrap;gap:.65rem;display:flex}.room-access-actions button{width:auto}.room-members-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-left:auto;display:flex}.room-members-header-actions button{white-space:nowrap;border-radius:999px;min-height:38px;padding:0 .85rem}.room-members-header-actions .room-members-toggle{padding-inline:.95rem}.room-details-page .rooms-list-section{background:linear-gradient(145deg,#5b74d614,#f08ba80d),#ffffff80;border:1px solid #5b74d624;border-radius:26px;margin-top:1.65rem;padding:1.15rem;box-shadow:0 18px 38px #2c396e14,inset 0 1px #ffffff42}.room-details-page .rooms-list-header{align-items:flex-start;gap:.35rem;margin-bottom:1rem;padding-bottom:.75rem}.room-details-page .rooms-list-header h2{letter-spacing:-.03em;margin:0;font-size:clamp(1.18rem,2.4vw,1.55rem)}.room-details-page .rooms-list-header p{max-width:38rem;font-size:.95rem;line-height:1.45}.room-details-page .room-section-header{align-items:center;gap:.75rem}.room-details-page .room-section-header>div:first-child{min-width:0}.room-section-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-left:auto;display:flex}.room-section-header-actions button{min-height:38px;box-shadow:none;white-space:nowrap;border-radius:999px;padding:0 .85rem;font-size:.82rem}.room-details-page .room-private-notes-section,.room-details-page .room-private-forum-section{border-radius:22px;padding:1rem}.room-private-notes-section .note-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:.85rem}.room-private-notes-section .note-card{border-radius:20px;min-height:0;padding:.95rem;position:relative;overflow:hidden}.room-private-notes-section .note-card:hover{transform:translateY(-3px)}.room-private-notes-section .note-badge-row{justify-content:flex-start;gap:.4rem;min-height:0;padding-right:5.25rem}.room-private-notes-section .ownership-badge,.room-private-notes-section .status-pill,.room-private-notes-section .card-action-button,.room-private-notes-section .card-link-button{padding:.38rem .6rem;font-size:.7rem}.room-private-notes-section .reference-button,.room-private-notes-section .reference-button-hidden,.room-private-notes-section .card-link-button-placeholder{display:none}.room-private-notes-section .note-card-title{min-height:0;margin:.58rem 0 .45rem;font-size:1rem;line-height:1.25}.room-private-notes-section .subject{margin-bottom:.5rem;padding:.32rem .58rem;font-size:.72rem}.room-private-notes-section .preview{-webkit-line-clamp:2;min-height:0;margin-bottom:.55rem;font-size:.8rem;line-height:1.45}.room-private-notes-section .note-card-action-row,.room-private-notes-section .note-owner-actions{gap:.45rem;min-height:0}.room-private-notes-section .note-card-action-row{margin-top:0}.room-private-notes-section .note-card-action-row .card-action-button{gap:.18rem;width:auto;min-width:44px;height:34px;min-height:34px;padding:0 .5rem}.room-private-notes-section .note-card-button-icon{width:.95rem;height:.95rem}.room-private-notes-section .note-card-button-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.room-private-notes-section .note-card-button-count{font-size:.74rem}.room-private-notes-section .note-owner-actions{z-index:2;margin:0;position:absolute;top:.78rem;right:.78rem}.room-private-notes-section .note-owner-actions .card-link-button{border-radius:999px;gap:0;width:34px;height:34px;min-height:34px;padding:0}.room-private-notes-section .note-meta{flex-direction:row;justify-content:space-between;align-items:center;gap:.55rem;margin-top:.55rem;padding-top:.55rem;font-size:.72rem}.room-private-notes-section .note-meta span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.room-private-forum-section .forum-form{border-radius:20px;margin-bottom:.85rem;padding:.95rem}.room-private-forum-section .forum-form textarea{min-height:92px}.room-private-forum-section .forum-list{gap:.85rem}.room-private-forum-section .forum-post{border-radius:20px;grid-template-columns:64px 1fr;gap:.75rem;padding:.95rem}.room-private-forum-section .forum-vote-panel{border-radius:16px;gap:.35rem;width:54px;padding:.5rem .35rem}.room-private-forum-section .forum-vote-panel button{border-radius:10px;width:30px;min-width:30px;height:30px}.room-private-forum-section .forum-vote-label{display:none}.room-private-forum-section .forum-post-meta{gap:.5rem}.room-private-forum-section .forum-post-meta-copy{gap:.35rem .55rem}.room-private-forum-section .status-pill{padding:.34rem .62rem;font-size:.72rem}.room-private-forum-section .forum-delete-button{border-radius:12px;min-height:34px;padding:0 .66rem;font-size:.72rem}.room-private-forum-section .report-icon-button{border-radius:12px;width:34px;min-width:34px;height:34px}.room-private-forum-section .forum-post-body h3{margin:.55rem 0 .32rem;font-size:1.05rem;line-height:1.25}.room-private-forum-section .forum-post-body>p{margin:0;font-size:.86rem;line-height:1.5}.room-private-forum-section .forum-comment-toggle-row{margin-top:.7rem}.room-private-forum-section .forum-comment-toggle{border-radius:13px;min-height:34px;padding:.5rem .78rem;font-size:.76rem}.room-private-forum-section .forum-comment-list{gap:.52rem;margin:.72rem 0}.room-private-forum-section .forum-comment{border-radius:15px;padding:.68rem .78rem}.room-private-forum-section .forum-comment-form{gap:.55rem}.room-private-forum-section .forum-comment-form textarea{min-height:62px}.room-details-page .room-toolbar{margin:0 0 1.05rem}.room-details-page .rooms-list-section>.profile-empty-state,.room-details-page .rooms-list-section>.forum-form,.room-details-page .rooms-list-section>.room-composer-card,.room-details-page .rooms-list-section>.forum-list,.room-details-page .rooms-list-section>.note-list,.room-details-page .rooms-list-section>.room-members-list,.room-details-page .rooms-list-section>.rooms-grid{margin-top:0}.room-details-page .rooms-list-section>.profile-empty-state{margin-bottom:0}.room-details-page .room-chat-card,.room-details-page .room-composer-card,.room-details-page .forum-form{box-shadow:none}.room-details-page .room-chat-card{background:#ffffff80;border-radius:22px}.room-details-page .messages-composer-footer small{font-size:.78rem}.rooms-list-section>.profile-empty-state,.rooms-list-section>.forum-form,.rooms-list-section>.room-composer-card,.rooms-list-section>.forum-list,.rooms-list-section>.note-list,.rooms-list-section>.rooms-grid{margin-top:.25rem}.room-composer-card{margin-bottom:1.25rem}.room-hero-card,.rooms-panel,.room-card,.room-composer-card{box-shadow:0 18px 40px #5b74d61f,inset 0 1px #ffffff2e}html[data-theme=dark] .room-hero-card,html[data-theme=dark] .rooms-panel,html[data-theme=dark] .room-card,html[data-theme=dark] .room-composer-card{box-shadow:0 22px 46px #00000042,inset 0 1px #ffffff0a}html[data-theme=dark] .room-details-page .rooms-list-section{background:linear-gradient(145deg,#5a74d61f,#f08ba812),#0f172694;border-color:#8ca3ff29;box-shadow:0 20px 42px #00000038,inset 0 1px #ffffff0a}html[data-theme=dark] .room-details-page .room-chat-card{background:#0f17268f}html[data-theme=dark] .room-member-row{background:#0f172680;border-color:#8ca3ff24}@media (width<=860px){.room-details-page .room-hero-titlebar{gap:.55rem}.room-details-page .room-hero-titlebar .secondary-button,.room-details-page .room-hero-titlebar .room-delete-button{border-radius:14px;width:40px;height:40px;min-height:40px;padding:0}.room-details-page .room-hero-titlebar .dashboard-strip-label{justify-self:center}.room-details-page .room-toolbar-action-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width<=720px){.room-overview-grid{grid-template-columns:1fr}.room-members-header-actions{justify-content:flex-start;gap:.38rem;width:100%}.room-members-header-actions button{min-height:34px;padding-inline:.68rem;font-size:.72rem}.room-details-page .room-section-header{align-items:flex-start}.room-section-header-actions{justify-content:flex-start;gap:.38rem;width:100%;margin-left:0}.room-section-header-actions button{min-height:34px;padding-inline:.68rem;font-size:.72rem}.room-private-notes-section .note-list{grid-template-columns:1fr;gap:.68rem}.room-private-notes-section .note-card{border-radius:18px;padding:.82rem}.room-private-forum-section .forum-post{border-radius:18px;grid-template-columns:1fr;gap:.65rem;padding:.82rem}.room-private-forum-section .forum-vote-panel{border-radius:14px;flex-direction:row;justify-content:flex-start;width:100%;padding:.4rem}.room-private-forum-section .forum-post-meta{align-items:flex-start}}@media (width<=420px){.room-members-header-actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.room-members-header-actions button{width:100%;padding-inline:.4rem}.room-section-header-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.room-section-header-actions button{width:100%;padding-inline:.4rem}.room-private-notes-section .note-card{border-radius:16px;padding:.72rem}.room-private-notes-section .note-badge-row{padding-right:4.75rem}.room-private-notes-section .ownership-badge,.room-private-notes-section .status-pill{padding:.3rem .46rem;font-size:.64rem}.room-private-notes-section .note-card-title{-webkit-line-clamp:1;margin:.46rem 0 .32rem;font-size:.92rem}.room-private-notes-section .subject{margin-bottom:.38rem;padding:.26rem .48rem;font-size:.66rem}.room-private-notes-section .preview{-webkit-line-clamp:1;margin-bottom:.4rem;font-size:.74rem}.room-private-notes-section .note-owner-actions{gap:.25rem;top:.62rem;right:.62rem}.room-private-notes-section .note-owner-actions .card-link-button{width:30px;height:30px;min-height:30px}.room-private-forum-section .forum-post{border-radius:16px;padding:.72rem}.room-private-forum-section .forum-post-body h3{font-size:.96rem}.room-private-forum-section .forum-post-body>p{font-size:.8rem}}.upload-popup-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;background:#0f0c0a80;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.upload-popup{background:var(--surface-strong);border:1px solid var(--border);text-align:center;width:min(420px,100%);box-shadow:var(--shadow);border-radius:28px;padding:1.6rem}.upload-popup p{color:var(--muted)}.app-modal-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2200;background:#0c101880;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.app-modal{background:var(--surface-strong);border:1px solid var(--border);width:min(520px,100%);box-shadow:var(--shadow);border-radius:30px;padding:1.55rem}.app-modal-danger{border-color:#d6525238}.app-modal-header{gap:.7rem;margin-bottom:.85rem;display:grid}.app-modal-header h3{margin:0}.app-modal-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;width:fit-content;padding:.45rem .85rem;font-size:.8rem;font-weight:700;display:inline-flex}.app-modal-badge-default,.app-modal-badge-success{background:var(--accent-soft);color:var(--accent-strong)}.app-modal-badge-danger{background:var(--danger-soft);color:var(--danger)}.app-modal-message{color:var(--muted);margin:0 0 1rem;line-height:1.7}.app-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.app-modal-actions button{min-width:138px}.profile-revision-card small{color:var(--accent);margin-top:.65rem;font-weight:600;display:inline-block}.app-footer{background:linear-gradient(#fff0,#ffffff8c),radial-gradient(circle at top,#5b74d61f,#0000 44%);border-top:1px solid #7c94d629;margin-top:1.5rem;padding:1rem 1rem .85rem}.app-footer-inner{justify-content:space-between;align-items:center;gap:1.2rem;width:min(1200px,100% - 2rem);margin:0 auto;padding:0;display:flex}.app-footer strong{margin-bottom:.15rem;font-size:1rem;display:inline-block}.app-footer-brand{max-width:280px}.app-footer p,.app-footer-meta{color:var(--muted);margin:0}.app-footer p{font-size:.88rem;line-height:1.5}.footer-top-button{min-width:0;color:var(--accent-strong);border:1px solid var(--border);box-shadow:none;background:0 0;border-radius:999px;padding:.72rem 1rem;font-size:.88rem;animation:none}.footer-top-button:hover{background:var(--accent-soft);color:var(--accent-strong);box-shadow:0 10px 20px #5b74d61f}html[data-theme=dark] .footer-top-button{border-color:#8ca3ff33}.app-footer-meta{text-align:right;justify-content:flex-end;font-size:.82rem;display:flex}html[data-theme=dark] .app-footer{background:linear-gradient(#10172600,#101726cc),radial-gradient(circle at top,#8ca3ff1f,#0000 42%);border-top-color:#8ca3ff1f}@media (width<=980px){.dashboard-strip,.admin-dashboard-hero,.admin-section-heading{grid-template-columns:1fr}.admin-dashboard-status,.admin-section-count{justify-self:stretch}.rooms-shell,.room-hero,.auth-card,.forum-post{grid-template-columns:1fr}.forum-vote-panel{flex-direction:row;justify-content:flex-start;width:100%}}@media (width<=640px){.navbar{justify-content:space-between;align-items:center;padding:1rem 1.25rem}.nav-brand{flex:1;min-width:0;padding-right:.75rem}.nav-toggle{z-index:1002;align-self:center;margin-left:auto;display:inline-flex}.nav-mobile-overlay{-webkit-backdrop-filter:blur(14px)saturate(120%);backdrop-filter:blur(14px)saturate(120%);opacity:0;pointer-events:none;z-index:1000;background:radial-gradient(circle at 0,#5b74d61f,#0000 34%),#0c111d4d;transition:opacity .28s;display:block;position:fixed;inset:0}.nav-mobile-overlay-open{opacity:1;pointer-events:auto}.nav-desktop-group{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;-webkit-backdrop-filter:blur(28px)saturate(150%);backdrop-filter:blur(28px)saturate(150%);border-left:1px solid var(--border);opacity:0;pointer-events:none;z-index:1001;background:linear-gradient(#ffffffd1,#f8fbffb8),#ffffff9e;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);justify-content:stretch;place-items:stretch stretch;gap:.75rem;width:min(320px,78vw);height:100dvh;max-height:100dvh;margin-left:0;padding:5.1rem .85rem 1rem;transition:transform .34s,opacity .28s;display:grid;position:fixed;top:0;right:0;overflow:hidden;transform:translate(100%);box-shadow:-22px 0 60px #667eea33,inset 0 1px #ffffff47}html[data-theme=dark] .nav-desktop-group{background:linear-gradient(#141c2de0,#101726cc),#121928bd;box-shadow:-22px 0 60px #0006,inset 0 1px #ffffff0d}.nav-desktop-group-open{opacity:1;pointer-events:auto;transform:translate(0)}.nav-links,.nav-actions{flex-direction:column;justify-content:flex-start;align-items:stretch;width:100%;margin-left:0}.nav-links{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-gutter:stable;scrollbar-color:#5b74d68c #5b74d614;justify-content:flex-start;gap:.55rem;min-height:0;padding:.1rem 0 .2rem;overflow-y:auto}.nav-links::-webkit-scrollbar{width:6px}.nav-links::-webkit-scrollbar-track{background:#5b74d614;border-radius:999px}.nav-links::-webkit-scrollbar-thumb{background:#5b74d680;border-radius:999px}.nav-links a{box-sizing:border-box;text-align:left;background:#ffffff2e;border:1px solid #5b74d63d;justify-content:flex-start;width:100%;min-height:48px;padding:.9rem 1rem;box-shadow:inset 0 0 0 1px #ffffff4d,0 10px 24px #5b74d614}html[data-theme=dark] .nav-links a{background:#ffffff0a;border-color:#8ca3ff33;box-shadow:inset 0 0 0 1px #8ca3ff1f,0 10px 24px #00000038}.nav-actions{background:#ffffff2e;border:1px solid #ffffff2e;border-radius:18px;flex:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.45rem;margin-top:0;padding:.65rem;display:grid;position:sticky;bottom:0;box-shadow:inset 0 1px #ffffff38}html[data-theme=dark] .nav-actions{background:#ffffff0a;border-color:#ffffff14;box-shadow:inset 0 1px #ffffff0a}.nav-theme-button,.nav-icon-button{border-radius:14px;justify-content:center;width:100%;min-width:0;min-height:40px;padding:.65rem .55rem;font-size:.8rem}.nav-theme-label,.nav-icon-label{font-size:.82em;line-height:1;display:inline}.nav-icon-count{margin-left:auto;position:static}.nav-user-chip,.nav-logout-button{grid-column:1/-1;width:100%}.nav-user-chip{background:#fff3;border:1px solid #5b74d633;border-radius:15px;gap:.55rem;min-height:44px;padding:.55rem .7rem}.nav-user-chip .user-avatar-sm{border-radius:13px;width:34px;height:34px}.nav-user-chip span{font-size:.88rem}.nav-user-chip small{font-size:.76rem}html[data-theme=dark] .nav-user-chip{background:#ffffff0d;border-color:#8ca3ff29}.nav-logout-button{border-radius:14px;justify-content:center;min-height:38px;padding:.62rem .8rem;font-size:.88rem}.main{width:min(100%,100% - 1rem);padding-top:1.25rem}.hero,.upload-form,.review-section,.forum-form,.forum-post,.about-section,.auth-card,.note-content,.citation-panel,.note-header,.admin-review-card,.profile-hero{padding:1.25rem}.note-header,.profile-hero,.review-summary,.detail-toolbar,.admin-review-header{flex-direction:column;align-items:flex-start}.forum-form-grid,.review-form-row{grid-template-columns:1fr}.note-info{align-items:flex-start}.star-rating-picker{width:100%}.form-button-row{justify-content:stretch}.form-button-row button,.form-button-row .secondary-button{width:100%}.app-footer-inner,.app-footer-meta{text-align:left}.app-footer-inner{flex-direction:column;align-items:stretch;gap:.4rem}.app-footer-meta{text-align:center;justify-content:center}.app-footer-brand{text-align:center;max-width:none}.footer-top-button{width:100%}}@media (width<=540px){.classrooms-page,.room-details-page,.upload-page,.forum-page{gap:.85rem}.classrooms-page h1,.room-details-page h1,.upload-page h1,.forum-page h1{margin-bottom:.6rem;font-size:clamp(1.42rem,7.2vw,1.72rem);line-height:1.12}.classrooms-page .upload-subtitle,.upload-page .upload-subtitle,.forum-page .upload-subtitle{border-radius:18px;margin-bottom:.72rem;padding:.75rem .82rem}.classrooms-page .upload-subtitle p,.upload-page .upload-subtitle p,.forum-page .upload-subtitle p{font-size:.8rem;line-height:1.35}.classrooms-page .upload-subtitle p:first-child,.upload-page .upload-subtitle p:first-child,.forum-page .upload-subtitle p:first-child{font-size:.92rem}.classrooms-page .rooms-shell,.room-details-page .room-hero{gap:.75rem;margin-bottom:1rem}.room-details-page .room-hero{position:relative}.classrooms-page .rooms-panel,.room-details-page .room-hero-copy,.room-details-page .room-hero-card,.room-details-page .room-composer-card,.classrooms-page .room-card,.room-details-page .room-card{border-radius:20px;padding:.9rem}.room-details-page .room-hero-copy{background:linear-gradient(135deg, #5b74d61f, #f08ba814), var(--surface);overflow:hidden}.classrooms-page .rooms-panel-header h2,.room-details-page .room-hero-card h2,.room-details-page .rooms-list-header h2,.classrooms-page .rooms-list-header h2{font-size:1.05rem}.classrooms-page .rooms-panel-header p,.room-details-page .room-hero-copy p,.room-details-page .room-hero-card p,.classrooms-page .room-card p,.room-details-page .room-card p,.classrooms-page .rooms-list-header p,.room-details-page .rooms-list-header p{font-size:.82rem;line-height:1.45}.room-details-page .room-hero-copy h1{-webkit-line-clamp:2;text-wrap:balance;-webkit-box-orient:vertical;max-width:100%;margin-bottom:.45rem;font-size:clamp(1.45rem,8vw,1.85rem);display:-webkit-box;overflow:hidden}.room-details-page .room-hero-copy p{-webkit-line-clamp:3}.room-details-page .room-hero-tags,.room-details-page .room-hero-meta,.classrooms-page .room-card-meta,.room-details-page .room-card-meta,.room-details-page .room-card-actions{gap:.45rem;margin-top:.6rem}.room-details-page .room-hero-tags{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:.12rem;overflow-x:auto}.room-details-page .room-hero-tags::-webkit-scrollbar{display:none}.room-details-page .room-hero-tags>*{flex:none}.room-details-page .room-hero-meta{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;font-size:.7rem;display:grid}.room-details-page .room-hero-meta small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.classrooms-page .status-pill,.classrooms-page .ownership-badge,.room-details-page .status-pill,.room-details-page .ownership-badge{padding:.38rem .62rem;font-size:.7rem}.classrooms-page .room-card{min-height:0}.classrooms-page .room-card h3,.room-details-page .room-card h3{margin:.55rem 0 .35rem;font-size:1rem}.classrooms-page .rooms-form,.room-details-page .rooms-form{gap:.62rem;margin-top:.72rem}.classrooms-page .rooms-form input,.classrooms-page .rooms-form textarea,.room-details-page .rooms-form input,.room-details-page .rooms-form textarea,.room-details-page .rooms-form select{border-radius:14px;min-height:46px;padding:.72rem .82rem;font-size:.84rem}.classrooms-page .rooms-form textarea,.room-details-page .rooms-form textarea{min-height:78px}.classrooms-page .rooms-form button,.room-details-page .rooms-form button{border-radius:14px;min-height:42px;padding:.62rem .85rem;font-size:.82rem}.classrooms-page .rooms-tip-card,.classrooms-page .rooms-feedback,.room-details-page .rooms-feedback{border-radius:16px;padding:.72rem .82rem;font-size:.8rem}.classrooms-page .rooms-list-section,.room-details-page .rooms-list-section{margin-top:1.05rem}.classrooms-page .rooms-list-header,.room-details-page .rooms-list-header{align-items:flex-start;gap:.25rem;margin-bottom:.55rem;padding-bottom:.45rem}.room-details-page .rooms-list-header h2{margin:0}.classrooms-page .rooms-grid,.room-details-page .rooms-grid{gap:.75rem}.classrooms-page .card-link-button,.classrooms-page .secondary-button,.room-details-page .card-link-button,.room-details-page .secondary-button,.room-details-page button:not(.forum-vote-button):not(.report-icon-button){border-radius:13px;min-height:38px;padding:.52rem .78rem;font-size:.76rem}.room-details-page .room-hero-card{gap:.45rem;display:grid}.room-details-page .room-hero-card h2{margin:0;font-size:1rem}.room-details-page .room-hero-card p{font-size:.8rem}.room-details-page .room-hero-card .room-card-actions{grid-template-columns:1fr 1fr;margin-top:.25rem;display:grid}.room-details-page .room-hero-card .room-card-actions button{white-space:nowrap;width:100%}.room-details-page .room-members-toggle{width:auto;min-height:36px;padding:.45rem .72rem}.room-details-page .room-members-list{gap:.52rem}.room-details-page .room-member-row{border-radius:15px;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"member badge actions";align-items:center;gap:.38rem;min-height:58px;padding:.48rem;display:grid}.room-details-page .room-member-main{grid-area:member;align-items:center;gap:.5rem}.room-details-page .room-member-main .user-avatar-sm{border-radius:11px;width:34px;height:34px}.room-details-page .room-member-name-row{gap:.28rem;min-width:0;max-width:100%;display:flex}.room-details-page .room-member-name-row strong{font-size:.8rem}.room-details-page .room-member-name-row .status-pill{display:none}.room-details-page .room-member-badges .ownership-badge{padding:.22rem .38rem;font-size:.56rem}.room-details-page .room-member-copy p{display:none}.room-details-page .room-member-copy small{font-size:.62rem}.room-details-page .room-member-badges{grid-area:badge;align-self:center}.room-details-page .room-member-actions{grid-area:actions;grid-template-columns:repeat(2,30px);justify-content:end;align-self:center;gap:.28rem;padding-left:0;display:grid}.room-details-page .room-member-actions .secondary-button,.room-details-page .room-member-actions .card-link-button{border-radius:10px;width:30px;min-width:30px;height:30px;min-height:30px;padding:0}.room-details-page .room-member-actions .secondary-button:only-child,.room-details-page .room-member-actions .card-link-button:only-child{grid-column:auto}.room-details-page .room-member-action-icon{width:.86rem;height:.86rem}.room-details-page .room-member-action-label{display:none}.room-details-page .profile-empty-state{border-radius:18px;padding:.85rem}.room-details-page .rooms-list-section{border-radius:20px;padding:.9rem}.room-details-page .rooms-list-header{margin-bottom:.75rem;padding-bottom:.58rem}.room-details-page .rooms-list-header p{font-size:.78rem;line-height:1.32}.room-details-page .room-toolbar{margin-bottom:.8rem}.upload-page .upload-form{border-radius:20px;padding:.95rem}.upload-page .form-group{margin-bottom:.8rem}.upload-page .form-group label{margin-bottom:.32rem;font-size:.84rem}.upload-page .form-control,.upload-page .upload-form input,.upload-page .upload-form select,.upload-page .upload-form textarea{border-radius:14px;min-height:46px;padding:.72rem .82rem;font-size:.84rem}.upload-page .upload-form textarea{min-height:108px}.upload-page .work-choice-group,.upload-page .radio-card-group{gap:.55rem}.upload-page .work-choice-card,.upload-page .radio-card-option{border-radius:16px;gap:.58rem;padding:.72rem}.upload-page .work-choice-indicator,.upload-page .radio-indicator{width:18px;min-width:18px;height:18px}.upload-page .work-choice-copy strong,.upload-page .radio-card-copy strong{font-size:.84rem}.upload-page .work-choice-copy small,.upload-page .radio-card-copy small,.upload-page .attachment-picker-help{font-size:.74rem;line-height:1.35}.upload-page .attachment-picker,.upload-page .source-section,.upload-page .attachment-chip{border-radius:16px;padding:.75rem}.upload-page .attachment-list{gap:.5rem;margin-top:.55rem}.upload-page .attachment-chip{flex-direction:row;align-items:center}.upload-page .attachment-remove-button{width:auto;min-height:34px;padding:.42rem .65rem;font-size:.72rem}.upload-page .source-section{margin-bottom:.8rem}.upload-page .source-section h4{margin:0 0 .65rem;font-size:.95rem}.upload-page .upload-form button[type=submit],.forum-page .forum-form button[type=submit],.room-details-page .forum-form button[type=submit]{border-radius:14px;min-height:42px;padding:.65rem .9rem;font-size:.82rem}.forum-page .forum-form,.room-details-page .forum-form{border-radius:20px;margin-bottom:.85rem;padding:.9rem}.forum-page .forum-form-grid,.room-details-page .forum-form-grid{gap:.6rem;margin-bottom:.6rem}.forum-page .forum-form input,.forum-page .forum-form select,.forum-page .forum-form textarea,.room-details-page .forum-form input,.room-details-page .forum-form select,.room-details-page .forum-form textarea{border-radius:14px;min-height:46px;padding:.72rem .82rem;font-size:.84rem}.forum-page .forum-form textarea,.room-details-page .forum-form textarea{min-height:90px}.forum-page .forum-list,.room-details-page .forum-list{gap:.75rem}.forum-page .forum-post,.room-details-page .forum-post{border-radius:20px;gap:.65rem;padding:.85rem}.forum-page .forum-vote-panel,.room-details-page .forum-vote-panel{border-radius:14px;grid-template-columns:auto 1fr 1fr;align-items:center;gap:.32rem;width:100%;padding:.32rem;display:grid}.forum-page .forum-vote-panel button,.room-details-page .forum-vote-panel button{border-radius:10px;width:100%;min-width:0;min-height:30px;padding:.28rem .35rem}.forum-page .forum-vote-label,.forum-page .forum-vote-total,.room-details-page .forum-vote-label,.room-details-page .forum-vote-total{display:none}.forum-page .forum-vote-panel strong,.room-details-page .forum-vote-panel strong{text-align:center;min-width:2.2rem;font-size:.8rem}.forum-page .forum-post-meta,.room-details-page .forum-post-meta{gap:.45rem}.forum-page .forum-post h3,.room-details-page .forum-post h3{margin:.55rem 0 .35rem;font-size:1rem;line-height:1.25}.forum-page .forum-post p,.room-details-page .forum-post p{font-size:.82rem;line-height:1.45}.forum-page .forum-comment-toggle,.room-details-page .forum-comment-toggle{border-radius:12px;min-height:34px;padding:.44rem .7rem;font-size:.74rem}.forum-page .forum-comment-list,.room-details-page .forum-comment-list{gap:.5rem;margin:.7rem 0}.forum-page .forum-comment,.room-details-page .forum-comment{border-radius:14px;padding:.65rem .72rem}.forum-page .forum-comment-header,.room-details-page .forum-comment-header{gap:.45rem}.forum-page .forum-reply-button,.room-details-page .forum-reply-button,.mention-suggestion-button{padding:.32rem .52rem;font-size:.7rem}.forum-page .forum-comment-replies,.room-details-page .forum-comment-replies{gap:.42rem;margin-top:.52rem;padding-left:.58rem}.forum-page .forum-comment-replying,.room-details-page .forum-comment-replying{padding:.42rem .55rem;font-size:.72rem}.forum-page .forum-comment-form,.room-details-page .forum-comment-form{gap:.5rem}.forum-page .forum-comment-form textarea,.room-details-page .forum-comment-form textarea{min-height:62px;font-size:.8rem}.forum-page .forum-comment-form button,.room-details-page .forum-comment-form button{min-height:36px;padding:.5rem .72rem;font-size:.76rem}.app-footer{margin-top:.75rem;padding:.55rem .75rem .45rem}.app-footer-inner{gap:.32rem;width:min(100%,100% - .5rem)}.app-footer-brand .brand-logo{justify-content:center;gap:.5rem}.app-footer-brand .brand-logo-mark{border-radius:10px;width:34px;height:34px}.app-footer-brand .brand-logo-wordmark{font-size:.92rem}.app-footer p{font-size:.74rem;line-height:1.25}.footer-top-button{min-height:34px;padding:.42rem .8rem;font-size:.78rem}.app-footer-meta{font-size:.68rem}.page h1,.hero h1{font-size:2rem}.home-page{gap:1rem}.home-page .hero{border-radius:22px;margin-bottom:1rem;padding:1rem}.home-page .hero-logo-wrap{margin-bottom:.7rem}.home-page .hero p{font-size:.92rem;line-height:1.55}.home-page .dashboard-strip{gap:.7rem;margin-bottom:1rem}.home-page .dashboard-strip-card,.home-page .dashboard-strip-actions,.home-page .summary-card{border-radius:18px;padding:.9rem}.home-page .dashboard-strip-card h3,.home-page .summary-card h3{margin-bottom:.3rem;font-size:.95rem}.home-page .dashboard-strip-card p,.home-page .summary-card p{font-size:.82rem;line-height:1.45}.home-announcements{border-radius:18px;margin-bottom:1rem;padding:.9rem}.home-section-heading{gap:.65rem;margin-bottom:.75rem}.home-section-heading h2{font-size:1.12rem}.home-announcements-view-button{white-space:nowrap;min-height:34px;padding:.45rem .68rem;font-size:.72rem}.home-announcement-card{border-radius:16px;grid-template-columns:1fr;gap:.35rem;padding:.78rem .82rem .78rem .95rem}.home-announcement-card strong{font-size:.88rem}.home-announcement-card p{font-size:.8rem;line-height:1.4}.home-announcement-card small{font-size:.68rem}.home-announcement-open-hint{padding:.34rem .55rem;font-size:.66rem}.home-announcement-modal{border-radius:22px;max-height:84vh;padding:.9rem}.home-announcement-modal-body,.home-announcement-modal-body-with-detail{grid-template-columns:1fr;overflow-y:auto}.home-announcement-modal-body-with-detail .home-announcement-modal-list{display:none}.home-announcement-modal-body-with-detail .home-announcement-detail-panel{order:1}.home-announcement-modal-list,.home-announcement-detail-panel{overflow:visible}.home-announcement-modal-header h3{font-size:1.1rem}.home-announcement-detail-panel{border-radius:16px;padding:.82rem}.home-announcement-detail-header{margin-bottom:.72rem}.home-announcement-detail-back{background:var(--accent-soft);min-height:30px;color:var(--accent-strong);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:.34rem .62rem;font-size:.68rem;font-weight:800;display:inline-flex}.home-announcement-detail-panel h4{font-size:1rem}.home-announcement-detail-panel p{font-size:.8rem;line-height:1.45}.home-announcement-detail-panel small{font-size:.68rem}.home-page .summary-card p:last-child{font-size:1.1rem}.home-page .page-summary-grid{grid-template-columns:1fr;gap:.7rem;margin-bottom:1rem}.home-recent-notes h2{margin-bottom:.75rem;font-size:1.18rem}.upload-subtitle{padding:1.5rem 1.25rem}.upload-subtitle p{font-size:1.45rem}.browse-page h1{margin-bottom:.8rem;font-size:1.75rem;line-height:1.12}.browse-page .upload-subtitle{border-radius:22px;margin-bottom:.9rem;padding:1rem}.browse-page .upload-subtitle p:first-child{font-size:1.15rem}.browse-page .upload-subtitle p:last-child{font-size:.88rem;line-height:1.45}.browse-page .search-input{border-radius:18px;min-height:52px;margin-bottom:0;padding:0 1rem;font-size:.9rem}.browse-page .search-container-sticky{z-index:12;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:20px;margin-bottom:.72rem;padding:.18rem;position:sticky;top:.72rem}.browse-page .search-container:has(.search-clear-button) .search-input{padding-right:3rem}.browse-page .search-clear-button{width:30px;min-width:30px;height:30px;min-height:30px;font-size:.78rem;right:.58rem}.browse-page .browse-filter-row{scrollbar-width:none;flex-wrap:nowrap;gap:.42rem;margin:-.18rem 0 .72rem;padding:.24rem .08rem .34rem;overflow-x:auto}.browse-page .browse-filter-row::-webkit-scrollbar{display:none}.browse-page .browse-filter-chip{flex:none;min-height:32px;padding:.36rem .64rem;font-size:.72rem}.browse-page .user-search-section{margin:.75rem 0 1rem}.browse-page .user-search-section .upload-subtitle{padding:.82rem}.browse-page .user-search-list{grid-template-columns:1fr;gap:.65rem}.browse-page .user-search-card{border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.78rem;display:grid}.browse-page .user-search-card .user-avatar{flex-shrink:0;width:44px;height:44px}.browse-page .user-search-card-copy strong{font-size:.9rem;line-height:1.2;display:block}.browse-page .user-search-card p{font-size:.78rem}.browse-page .user-search-card small{text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;display:block;overflow:hidden}.browse-page .user-search-card-actions{grid-template-columns:repeat(2,auto);align-self:center;gap:.35rem;width:auto}.browse-page .user-search-action-button{border-radius:999px;width:36px;height:36px;min-height:36px;padding:0}.browse-page .user-search-action-icon{width:.95rem;height:.95rem}.browse-page .user-search-action-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.work-choice-group,.radio-card-group{grid-template-columns:1fr}.note-card{min-height:320px;padding:1.25rem}.browse-page .note-list{gap:.9rem}.browse-page .note-card{border-radius:20px;min-height:0;padding:.9rem;position:relative}.browse-page .note-badge-row{min-height:0;padding-right:5.4rem}.browse-page .ownership-badge,.browse-page .status-pill,.browse-page .card-action-button,.browse-page .card-link-button{padding:.38rem .6rem;font-size:.7rem}.browse-page .reference-button,.browse-page .reference-button-hidden,.browse-page .card-link-button-placeholder{display:none}.browse-page .note-card-title{min-height:0;margin:.58rem 0 .45rem;font-size:1rem;line-height:1.25}.browse-page .subject{margin-bottom:.5rem;padding:.32rem .58rem;font-size:.72rem}.browse-page .preview{-webkit-line-clamp:2;min-height:0;margin-bottom:.55rem;font-size:.8rem;line-height:1.45}.browse-page .note-card-action-row{gap:.45rem;min-height:0;margin-top:0}.browse-page .note-card-action-row .card-action-button{border-radius:999px;gap:.18rem;width:auto;min-width:46px;height:36px;min-height:36px;padding:0 .5rem}.browse-page .note-card-button-icon{width:.95rem;height:.95rem}.browse-page .note-card-button-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.browse-page .note-card-button-count{font-size:.74rem}.browse-page .note-owner-actions{z-index:2;gap:.35rem;min-height:0;margin:0;position:absolute;top:.78rem;right:.78rem}.browse-page .note-owner-actions .card-link-button{border-radius:999px;gap:0;width:34px;height:34px;min-height:34px;padding:0}.browse-page .note-meta{flex-direction:row;justify-content:space-between;align-items:center;gap:.55rem;margin-top:.55rem;padding-top:.55rem;font-size:.72rem}.browse-page .note-meta span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.browse-page .browse-empty-state{border-radius:18px;padding:.85rem}.browse-page .browse-empty-state h3{font-size:1rem}.browse-page .browse-empty-state p{font-size:.8rem;line-height:1.4}.browse-page .browse-empty-state button{min-height:36px;padding:.5rem .72rem;font-size:.76rem}.home-recent-notes .note-list{gap:.8rem}.home-recent-notes .note-card{border-radius:20px;min-height:0;padding:.95rem .95rem .85rem;position:relative;overflow:hidden}.home-recent-notes .note-card:before{content:"";background:linear-gradient(180deg, var(--accent), var(--accent-warm));opacity:.78;width:4px;position:absolute;inset:0 auto 0 0}.home-recent-notes .note-card-inner{gap:0}.home-recent-notes .note-badge-row{justify-content:flex-start;gap:.4rem;min-height:0}.home-recent-notes .ownership-badge,.home-recent-notes .status-pill,.home-recent-notes .reference-button,.home-recent-notes .card-action-button,.home-recent-notes .card-link-button{padding:.42rem .64rem;font-size:.72rem}.home-recent-notes .reference-button-hidden,.home-recent-notes .card-link-button-placeholder{display:none}.home-recent-notes .note-card-title{min-height:0;margin:.65rem 0 .5rem;font-size:1rem;line-height:1.25}.home-recent-notes .subject{margin-bottom:.55rem;padding:.36rem .62rem;font-size:.74rem}.home-recent-notes .preview{-webkit-line-clamp:2;min-height:0;margin-bottom:.65rem;font-size:.82rem;line-height:1.45}.home-recent-notes .note-card-action-row,.home-recent-notes .note-owner-actions{gap:.45rem;min-height:0}.home-recent-notes .note-card-action-row{justify-content:flex-start;align-items:center;margin-top:0}.home-recent-notes .reference-button,.home-recent-notes .note-owner-actions{display:none}.home-recent-notes .note-meta{flex-direction:row;justify-content:space-between;align-items:center;gap:.55rem;margin-top:.65rem;padding-top:.65rem;font-size:.74rem}.home-recent-notes .note-meta span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.note-meta{flex-direction:column;align-items:flex-start}.nav-desktop-group{width:min(300px,76vw);max-width:76vw}.app-modal-actions button{width:100%}.attachment-chip{flex-direction:column;align-items:stretch}.attachment-view-button,.attachment-remove-button{width:100%}}@media (width<=390px){.browse-page .note-card{border-radius:16px;padding:.72rem}.browse-page .note-badge-row{padding-right:4.75rem}.browse-page .ownership-badge,.browse-page .status-pill{padding:.3rem .46rem;font-size:.64rem}.browse-page .note-card-title{-webkit-line-clamp:1;margin:.46rem 0 .32rem;font-size:.92rem}.browse-page .subject{margin-bottom:.38rem;padding:.26rem .48rem;font-size:.66rem}.browse-page .preview{-webkit-line-clamp:1;margin-bottom:.4rem;font-size:.74rem}.browse-page .note-owner-actions{gap:.25rem;top:.62rem;right:.62rem}.browse-page .note-owner-actions .card-link-button{width:30px;height:30px;min-height:30px}.browse-page .note-card-action-row .card-action-button{height:32px;min-height:32px}.browse-page .note-meta{margin-top:.42rem;padding-top:.42rem;font-size:.66rem}}@media (width<=540px){.profile-page-own .profile-page-header{margin-bottom:.6rem}.profile-page-own .profile-page-header h1{font-size:clamp(1.45rem,7vw,1.78rem);line-height:1.12}.profile-page-own .profile-hero{border-radius:20px;gap:.75rem;margin-bottom:.75rem;padding:.9rem}.profile-page-own .profile-hero-main{grid-template-columns:auto minmax(0,1fr);gap:.7rem;width:100%;display:grid}.profile-page-own .profile-hero-main .user-avatar-xl{border-radius:20px;width:64px;height:64px}.profile-page-own .profile-hero-main h2{margin:0 0 .2rem;font-size:1.12rem;line-height:1.15}.profile-page-own .profile-hero-main p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.78rem;line-height:1.35;display:-webkit-box;overflow:hidden}.profile-page-own .profile-role-badge{border-radius:999px;width:fit-content;margin-top:.45rem;padding:.32rem .55rem;font-size:.68rem}.profile-page-own .profile-details-panel{border-radius:16px;padding:.72rem}.profile-page-own .profile-details-panel p{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:.42rem;margin:0 0 .38rem;font-size:.74rem;line-height:1.3;display:grid}.profile-page-own .profile-details-panel p.profile-email-detail-row{grid-template-columns:minmax(0,1fr);gap:.22rem}.profile-page-own .profile-details-panel p:last-child{margin-bottom:0}.profile-page-own .profile-details-panel strong{font-size:.7rem}.profile-page-own .profile-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-bottom:.85rem}.profile-page-own .summary-card{border-radius:16px;padding:.68rem}.profile-page-own .summary-card h3{margin-bottom:.22rem;font-size:.74rem;line-height:1.2}.profile-page-own .summary-card p:last-child{font-size:1.12rem}.profile-management-grid{gap:.65rem;margin:.75rem 0 1rem}.profile-edit-panel{border-radius:18px;padding:.82rem}.profile-edit-panel h2{margin-bottom:.62rem;font-size:1.05rem}.profile-form-grid{gap:.62rem}.profile-picture-editor{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.62rem;display:grid}.profile-picture-editor .user-avatar-lg{border-radius:18px;width:58px;height:58px}.profile-picture-editor .attachment-picker{border-radius:14px;min-width:0;padding:.62rem}.profile-picture-editor .attachment-picker-title{font-size:.78rem}.profile-picture-editor .attachment-picker-help{font-size:.68rem;line-height:1.25}.profile-edit-panel .form-group label{margin-bottom:.28rem;font-size:.68rem}.profile-edit-panel input,.profile-edit-panel select,.profile-edit-panel textarea{border-radius:13px;min-height:42px;padding:.62rem .72rem;font-size:.82rem}.profile-edit-panel textarea{min-height:82px}.profile-edit-panel button[type=submit],.profile-secondary-action,.profile-password-drawer button{border-radius:13px;min-height:38px;padding:.52rem .76rem;font-size:.78rem}.profile-password-drawer{border-radius:15px;padding:.72rem}.profile-password-drawer-header{margin-bottom:.58rem}.profile-password-drawer-header h3{font-size:.92rem}.profile-password-drawer-header p{font-size:.74rem;line-height:1.35}.profile-page h2{margin:.85rem 0 .55rem;font-size:1.05rem}.profile-page .profile-empty-state{border-radius:16px;margin-bottom:.75rem;padding:.78rem}.profile-page .profile-empty-state h3{font-size:.92rem}.profile-page .profile-empty-state p{font-size:.78rem;line-height:1.35}.page>.upload-subtitle:not(.recovery-status):not(.room-feedback-inline){border-radius:18px;margin-bottom:.75rem;padding:.78rem .86rem}.page>.upload-subtitle:not(.recovery-status):not(.room-feedback-inline) p{font-size:.82rem;line-height:1.35}.page>.upload-subtitle:not(.recovery-status):not(.room-feedback-inline) p:first-child{font-size:.96rem}}@media (width<=640px){.note-header{border-radius:22px;gap:.75rem;margin-bottom:.75rem;padding:1rem;display:flex}.back-btn-small{border-radius:999px;width:42px;min-width:42px;height:42px;padding:0}.back-btn-icon{border-bottom:2px solid;border-left:2px solid;width:.65rem;height:.65rem;display:block;transform:rotate(45deg)translate(1px,-1px)}.back-btn-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.note-title-info h1{margin-bottom:.5rem;font-size:clamp(1.55rem,7vw,2rem);line-height:1.1}.note-info{gap:.45rem}.note-info .subject{padding:.38rem .68rem;font-size:.76rem}.author-date{font-size:.78rem;line-height:1.45}.note-uploader-link{justify-content:flex-start;width:100%;padding:.55rem .65rem;font-size:.8rem}.detail-toolbar{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 86%, transparent);box-shadow:var(--shadow-soft);border-radius:999px;flex-direction:row;align-items:center;gap:.55rem;margin-bottom:.75rem;padding:.35rem}.detail-toolbar .detail-icon-button{border-radius:999px;gap:0;width:42px;height:42px;min-height:42px;padding:0}.detail-toolbar .detail-action-icon{width:1.12rem;height:1.12rem}.detail-toolbar .detail-action-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.detail-toolbar .detail-action-count{min-width:1.05rem;margin-left:.12rem;font-size:.78rem}.note-content,.citation-panel{border-radius:22px;padding:1rem}.content-wrapper p{font-size:.92rem;line-height:1.7}.citation-grid{grid-template-columns:1fr;gap:.7rem}.citation-item{border-radius:18px;padding:.8rem}html[data-theme=dark] .detail-toolbar{background:#121928db;border-color:#8ca3ff29;box-shadow:0 14px 30px #00000038}}.brand-logo{align-items:center;gap:.8rem;display:inline-flex}.brand-logo-mark{object-fit:contain;filter:drop-shadow(0 14px 28px #5b74d638);width:100%;height:100%}.brand-logo-copy{flex-direction:column;gap:.1rem;display:flex}.brand-logo-copy strong{color:var(--accent);font-size:1.05rem;line-height:1}.brand-logo-copy span{color:var(--muted);font-size:.76rem}.brand-logo-sm .brand-logo-mark{width:42px;height:42px}.brand-logo-lg .brand-logo-mark{width:86px;height:86px}.brand-logo-hero .brand-logo-mark{width:clamp(84px,11vw,132px);height:clamp(84px,11vw,132px)}.nav-brand{align-items:center;display:inline-flex}.hero-logo-wrap{justify-content:center;margin-bottom:1.2rem;display:flex}.app-loading-shell{justify-content:center;align-items:center;padding:2rem}.app-loading-card{text-align:center;background:var(--surface);border:1px solid var(--border);width:min(560px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:32px;padding:2rem}.app-loading-card p{color:var(--muted)}.app-loading-card small{color:var(--muted);margin-top:.8rem;display:block}.app-cloud-error-card{text-align:left;max-width:560px}.app-cloud-error-card .brand-logo{justify-content:flex-start;margin-bottom:.9rem}.app-cloud-error-card h1{margin:.2rem 0 .65rem;font-size:clamp(1.6rem,4vw,2.1rem);line-height:1.08}.app-cloud-error-card p{color:var(--muted);line-height:1.6}.app-cloud-error-detail{word-break:break-word;background:#d652521a;border-radius:16px;padding:.75rem .85rem;font-size:.88rem;font-weight:800;color:var(--danger)!important}.app-cloud-error-card button{margin-top:.4rem}.app-loading-progress{background:#5b74d61f;border:1px solid #5b74d629;border-radius:999px;width:100%;height:14px;margin-top:1rem;overflow:hidden}.app-loading-progress-bar{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-strong), var(--accent-warm));height:100%;transition:width .18s;box-shadow:0 0 22px #6f55c83d}.forum-vote-panel{background:linear-gradient(#5b74d61f,#f08ba81f);gap:.45rem;width:88px;padding:.7rem .45rem}.forum-vote-panel strong{font-size:1rem;line-height:1}.forum-vote-total{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.58rem}.forum-vote-button{background:var(--surface-strong);width:100%;min-width:0;height:auto;color:var(--text);border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;gap:.35rem;padding:.48rem .38rem;display:inline-flex;box-shadow:0 8px 16px #5b74d614}.forum-vote-button:hover{border-color:#5b74d638;transform:translateY(-1px)}.forum-vote-button-active.forum-vote-button-like{color:var(--success);background:#2f9a781f;border-color:#2f9a7840}.forum-vote-button-active.forum-vote-button-dislike{color:var(--danger);background:#d652521f;border-color:#d6525240}.forum-vote-icon,.forum-vote-count{font-size:.72rem;font-weight:700}.forum-vote-icon{font-size:.9rem;line-height:1}.auth-shell{isolation:isolate;--cursor-pull-x:0px;--cursor-pull-y:0px;padding:2rem 1rem;position:relative;overflow:hidden}.auth-background{pointer-events:none;position:absolute;inset:0}.auth-orb,.auth-note-layer,.auth-note{animation-timing-function:ease-in-out;animation-iteration-count:infinite;position:absolute}.auth-orb{filter:blur(6px);opacity:.75;border-radius:999px}.auth-orb-one{background:radial-gradient(circle,#5b74d657,#0000 70%);width:220px;height:220px;animation:11s infinite authFloat;top:10%;left:8%}.auth-orb-two{background:radial-gradient(circle,#f08ba847,#0000 72%);width:280px;height:280px;animation:14s infinite authFloatReverse;top:18%;right:9%}.auth-orb-three{background:radial-gradient(circle,#ffdca347,#0000 72%);width:260px;height:260px;animation:13s infinite authFloat;bottom:6%;left:30%}.auth-note-layer{color:inherit;cursor:pointer;pointer-events:auto;transform:translate(calc(var(--cursor-pull-x) * var(--note-pull-x)), calc(var(--cursor-pull-y) * var(--note-pull-y)));background:0 0;border:0;padding:0;transition:transform .9s cubic-bezier(.22,1,.36,1)}.auth-note-layer:focus-visible{outline:3px solid var(--accent-warm);outline-offset:8px;border-radius:999px}.auth-note-layer-popped{pointer-events:none}.auth-note-layer-popped .auth-note{animation:.38s forwards authBookPop}.auth-note{color:var(--note-color,#5b74d694);text-shadow:0 12px 26px #5b74d629,0 0 1px #ffffffc7;justify-content:center;align-items:center;font-size:clamp(2.35rem,4.6vw,4rem);display:inline-flex;position:relative}.auth-note svg{filter:drop-shadow(0 14px 22px #5b74d629);width:1em;height:1em}.auth-note-desktop{display:none}html[data-theme=dark] .auth-note{color:color-mix(in srgb, var(--note-color,#8ca3ffbf) 78%, white 22%);text-shadow:0 12px 30px #5b74d63d,0 0 12px #ffffff14}.auth-note-one{top:18%;left:10%}.auth-note-two{top:22%;right:12%}.auth-note-three{top:10%;left:47%}.auth-note-four{top:48%;left:8%}.auth-note-five{top:52%;right:9%}.auth-note-six{bottom:10%;left:23%}.auth-note-seven{bottom:8%;right:28%}.auth-note-eight{top:36%;left:66%}.auth-note-nine{top:24%;left:33%}.auth-note-ten{top:12%;right:20%}.auth-note-eleven{bottom:18%;left:12%}.auth-note-twelve{bottom:20%;right:14%}.auth-note-thirteen{top:72%;left:4%}.auth-note-fourteen{top:72%;right:5%}.auth-note-one .auth-note{animation:11s infinite authDrift}.auth-note-two .auth-note{animation:12.5s infinite reverse authDrift}.auth-note-three .auth-note{animation:10.2s infinite authDrift}.auth-note-four .auth-note{animation:9.8s infinite reverse authDrift}.auth-note-five .auth-note{animation:11.8s infinite authDrift}.auth-note-six .auth-note{animation:10.8s infinite reverse authDrift}.auth-note-seven .auth-note{animation:9.6s infinite authDrift}.auth-note-eight .auth-note{animation:12s infinite reverse authDrift}.auth-note-nine .auth-note{animation:10.4s infinite authDrift}.auth-note-ten .auth-note{animation:11.1s infinite reverse authDrift}.auth-note-eleven .auth-note{animation:9.9s infinite authDrift}.auth-note-twelve .auth-note{animation:11.5s infinite reverse authDrift}.auth-note-thirteen .auth-note{animation:10.7s infinite authDrift}.auth-note-fourteen .auth-note{animation:12.2s infinite reverse authDrift}.auth-card{z-index:1;background:linear-gradient(140deg, #ffffff2e, #ffffff0f), var(--surface);grid-template-columns:.95fr 1.05fr;gap:1rem;width:min(940px,100%);padding:1.15rem;position:relative}.auth-copy,.auth-form,.demo-credentials{border-radius:28px}.auth-copy{background:radial-gradient(circle at top left, #5b74d629, transparent 42%), radial-gradient(circle at bottom right, #f08ba824, transparent 38%), var(--surface-strong);border:1px solid var(--border);min-height:100%;padding:1.6rem;position:relative;overflow:hidden}.auth-brand{margin-bottom:1rem}.auth-copy h1{margin-bottom:.75rem}.auth-form,.demo-credentials{box-shadow:inset 0 1px #ffffff38,0 14px 28px #5b74d614}.auth-form{flex-direction:column;justify-content:flex-start;padding:1.15rem;display:flex}.auth-panel-shell{flex-direction:column;display:flex}.auth-panel-shell-game .auth-mode-switch,.auth-panel-shell-game .auth-panels,.auth-panel-shell-game .demo-credentials{display:none}.auth-panels{transition:height .42s cubic-bezier(.22,1,.36,1);position:relative}.classblocks-panel{background:radial-gradient(circle at top left, #5b74d62e, transparent 42%), radial-gradient(circle at bottom right, #f08ba829, transparent 38%), var(--surface-strong);border:1px solid var(--border);border-radius:28px;gap:.9rem;padding:1.15rem;animation:.46s both classblocksFadeIn;display:grid;position:relative;box-shadow:inset 0 1px #ffffff38,0 18px 36px #5b74d624}.classblocks-panel-game-over .classblocks-board{animation:.72s both classblocksBoardGameOver}.classblocks-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.classblocks-header-actions{justify-items:end;gap:.45rem;display:grid}.classblocks-header h2{margin:0;font-size:clamp(1.65rem,4vw,2.2rem)}.classblocks-header strong{text-align:center;color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-strong), var(--accent-warm));border-radius:18px;min-width:74px;padding:.55rem .75rem;box-shadow:0 12px 24px #5b74d638}.classblocks-score-stack{grid-template-columns:auto auto;justify-content:end;align-items:center;gap:.35rem;display:grid}.classblocks-score-stack strong{grid-row:span 2}.classblocks-score-stack small{text-align:center;min-width:36px;color:var(--muted);border:1px solid var(--border);background:#ffffff94;border-radius:999px;padding:.2rem .4rem;font-size:.72rem;font-weight:800}.classblocks-heart{color:#f08ba880;filter:grayscale(.35);opacity:.62;background:#ffffff8a;border:1px solid #f08ba82e;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .24s;display:inline-flex;transform:scale(.9)}.classblocks-heart-active{color:#fff;filter:none;opacity:1;background:linear-gradient(135deg,#ff7eb3,#f08ba8,#b993ff);border-color:#ffffff80;animation:1.15s ease-in-out infinite classblocksHeartBeat;transform:scale(1);box-shadow:0 0 0 4px #f08ba824,0 10px 22px #f08ba852}.classblocks-exit-button{border:1px solid var(--border);width:auto;min-height:0;color:var(--muted);box-shadow:none;background:#ffffffb8;border-radius:14px;padding:.52rem .7rem;font-size:.82rem;font-weight:700}.classblocks-exit-button:hover{color:var(--accent-strong);border-color:color-mix(in srgb, var(--accent) 38%, var(--border));transform:translateY(-2px)}.classblocks-message{z-index:22;width:100%;min-height:1.35rem;color:var(--muted);cursor:help;text-align:left;background:0 0;border:0;margin:-.2rem 0 0;padding:0;font-size:.92rem;line-height:1.35;position:relative;overflow:hidden}.classblocks-message span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.classblocks-message-popover{z-index:35;background:linear-gradient(145deg, #fffffff5, #fffafde6), var(--surface-strong);color:var(--text);pointer-events:none;transform-origin:top;border:1px solid #5b74d629;border-radius:16px;padding:.75rem .85rem;font-size:.9rem;line-height:1.45;animation:.18s both classblocksMessagePopover;position:absolute;top:8.25rem;left:1.15rem;right:1.15rem;box-shadow:0 18px 36px #5b74d629}.classblocks-board{background:linear-gradient(135deg, #ffffffb8, #fff4df7a), var(--surface);border:1px solid var(--border);border-radius:24px;grid-template-columns:repeat(8,minmax(0,1fr));gap:.34rem;padding:.7rem;display:grid;position:relative}.classblocks-start-hint{z-index:3;text-align:center;min-width:150px;color:var(--accent-strong);background:linear-gradient(145deg, #ffffffd6, #fff4f9a8), color-mix(in srgb, var(--surface-strong) 82%, white 18%);pointer-events:none;-webkit-backdrop-filter:blur(16px)saturate(135%);backdrop-filter:blur(16px)saturate(135%);border:1px solid #5b74d62e;border-radius:22px;gap:.08rem;padding:.8rem 1rem;animation:1.8s ease-in-out infinite classblocksStartHint;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 1px #fff6,0 18px 34px #5b74d633}.classblocks-start-hint span{font-weight:900}.classblocks-start-hint small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}.classblocks-game-over{z-index:8;text-align:center;min-width:min(78%,260px);color:var(--text);background:linear-gradient(145deg, #ffffffd1, #fff4f9ad), color-mix(in srgb, var(--surface-strong) 82%, white 18%);pointer-events:auto;-webkit-backdrop-filter:blur(18px)saturate(135%);backdrop-filter:blur(18px)saturate(135%);border:1px solid #f08ba847;border-radius:24px;gap:.22rem;padding:1rem 1.15rem;animation:.74s cubic-bezier(.2,1.2,.28,1) both classblocksGameOver;display:grid;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 1px #ffffff70,0 24px 54px #5b74d647,0 0 38px #f08ba838}.classblocks-game-over span{color:var(--accent-strong);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:900}.classblocks-game-over strong{color:#0000;background:linear-gradient(135deg, var(--accent), var(--accent-strong), var(--accent-warm));-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,7vw,3rem);line-height:1}.classblocks-game-over small{color:var(--muted);font-weight:700}.classblocks-save-score{gap:.45rem;margin-top:.45rem;display:grid}.classblocks-save-score input{width:100%;min-height:40px;color:var(--text);text-align:center;background:#ffffffc7;border:1px solid #5b74d62e;border-radius:14px;padding:.55rem .72rem;font-weight:800}.classblocks-save-score input:focus,.classblocks-save-score button:focus,.classblocks-leaderboard-toggle:focus{outline:none}.classblocks-save-score input:focus-visible,.classblocks-save-score button:focus-visible,.classblocks-leaderboard-toggle:focus-visible{border-color:#5b74d64d;box-shadow:inset 0 1px #ffffff4d,0 0 0 3px #5b74d61f}.classblocks-save-score button,.classblocks-leaderboard-toggle{min-height:40px;color:var(--accent-strong);background:#ffffffb8;border:1px solid #5b74d629;border-radius:14px;font-weight:900;box-shadow:inset 0 1px #ffffff42}.classblocks-save-score button:not(:disabled):hover,.classblocks-leaderboard-toggle:hover{background:#ffffffdb;border-color:#f08ba857;transform:translateY(-2px)}.classblocks-save-score button:disabled{cursor:default;opacity:.72}.classblocks-cell{aspect-ratio:1;background:#ffffffad;border:1px solid #5b74d61f;border-radius:10px;min-height:0;padding:0;box-shadow:inset 0 1px #ffffff5c}.classblocks-cell:hover{border-color:#5b74d65c;transform:translateY(-2px)}.classblocks-cell-filled{background:linear-gradient(145deg, color-mix(in srgb, var(--block-color) 86%, white 14%), var(--block-color));border-color:color-mix(in srgb, var(--block-color) 70%, white 30%);box-shadow:inset 0 1px 0 #ffffff47, 0 8px 14px color-mix(in srgb, var(--block-color) 22%, transparent)}.classblocks-cell-clearing{border-color:#ffffffd9;animation:.52s both classblocksLineClear;box-shadow:0 0 0 2px #ffffffc2,0 0 24px #f08ba87a,0 0 34px #5b74d652}.classblocks-cell-line-preview{background:radial-gradient(circle, #ffffffeb, #f08ba833), color-mix(in srgb, var(--accent) 14%, white 86%);border-color:#f08ba8b3;animation:.95s ease-in-out infinite classblocksLinePreview;box-shadow:inset 0 1px #ffffff8c,0 0 0 2px #f08ba829,0 0 20px #f08ba86b,0 0 28px #5b74d638}.classblocks-pieces{grid-template-columns:repeat(3,1fr);gap:.65rem;display:grid}.classblocks-piece{grid-template-columns:repeat(var(--piece-cols), 18px);grid-template-rows:repeat(var(--piece-rows), 18px);cursor:grab;touch-action:none;min-height:58px;box-shadow:none;background:0 0;border:0;border-radius:14px;place-content:center;gap:.25rem;padding:.35rem;display:grid}.classblocks-piece:not(:disabled):hover,.classblocks-piece-active{box-shadow:none;transform:translateY(-3px)}.classblocks-piece:disabled{cursor:not-allowed;opacity:.58}.classblocks-piece-active{cursor:grabbing;opacity:.22;transform:scale(.96)}.classblocks-panel-game-over .classblocks-piece{opacity:.3;filter:grayscale(.45)}.classblocks-piece-dot,.classblocks-piece-gap{width:18px;height:18px}.classblocks-piece-dot{background:linear-gradient(145deg, color-mix(in srgb, var(--piece-color) 86%, white 14%), var(--piece-color));border-radius:6px}.classblocks-drag-preview{z-index:2500;grid-template-columns:repeat(var(--piece-cols), var(--drag-cell-size,18px));grid-template-rows:repeat(var(--piece-rows), var(--drag-cell-size,18px));gap:var(--drag-gap-size,.25rem);pointer-events:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:18px;padding:0;display:grid;position:fixed}.classblocks-drag-preview .classblocks-piece-dot,.classblocks-drag-preview .classblocks-piece-gap{width:var(--drag-cell-size,18px);height:var(--drag-cell-size,18px)}.classblocks-start{margin-top:.15rem}.classblocks-leaderboard-toggle{width:100%;margin-top:-.2rem}.classblocks-leaderboard{background:linear-gradient(145deg, #ffffffb8, #fff4f980), color-mix(in srgb, var(--surface) 82%, white 18%);border:1px solid var(--border);border-radius:22px;gap:.65rem;margin-top:.1rem;padding:.85rem;display:grid;box-shadow:inset 0 1px #ffffff42}.classblocks-leaderboard-head{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.classblocks-leaderboard-head h3{color:var(--text);margin:0;font-size:1.05rem}.classblocks-player-rank{text-align:center;color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-strong));border-radius:16px;gap:.1rem;min-width:74px;padding:.45rem .6rem;display:grid;box-shadow:0 12px 22px #5b74d633}.classblocks-player-rank span,.classblocks-player-best small{letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:800}.classblocks-player-rank strong{font-size:1.1rem;line-height:1}.classblocks-player-best{background:#ffffffa3;border:1px solid #5b74d624;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.15rem .7rem;padding:.65rem .75rem;display:grid}.classblocks-player-best span{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.classblocks-player-best strong{color:var(--accent-strong);grid-row:span 2;font-size:1.35rem}.classblocks-player-best small{color:var(--muted)}.classblocks-leaderboard-list{gap:.42rem;margin:0;padding:0;list-style:none;display:grid}.classblocks-leaderboard-list li{background:#ffffff85;border:1px solid #5b74d61a;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.52rem .62rem;display:grid}.classblocks-leaderboard-list span{color:var(--accent);font-size:.78rem;font-weight:900}.classblocks-leaderboard-list strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.classblocks-leaderboard-list em{color:var(--accent-strong);font-style:normal;font-weight:900}.classblocks-leaderboard-current{background:linear-gradient(135deg,#5b74d624,#f08ba81f),#ffffffa3!important;border-color:#5b74d63d!important}.classblocks-leaderboard-empty{color:var(--muted);text-align:center;margin:0;font-size:.86rem;font-weight:700}html[data-theme=dark] .classblocks-panel{-webkit-backdrop-filter:blur(24px)saturate(145%);backdrop-filter:blur(24px)saturate(145%);background:radial-gradient(circle at 12% 8%,#8ca3ff3d,#0000 36%),radial-gradient(circle at 92% 18%,#f08ba82e,#0000 32%),linear-gradient(145deg,#161f34d1,#0c1220b8),#111827b3;border-color:#8ca3ff33;box-shadow:inset 0 1px #ffffff14,0 24px 52px #00000057,0 0 42px #5b74d624}html[data-theme=dark] .classblocks-header h2{color:#f8fbfff5;text-shadow:0 10px 28px #5b74d638}html[data-theme=dark] .classblocks-header strong{color:#fff;background:linear-gradient(135deg,#8ca3fff2,#9776e8f2,#f08ba8eb);border:1px solid #ffffff29;box-shadow:inset 0 1px #ffffff38,0 14px 30px #5b74d647,0 0 28px #f08ba824}html[data-theme=dark] .classblocks-score-stack small{color:#e1e8ffd1;background:#ffffff14;border-color:#8ca3ff2e}html[data-theme=dark] .classblocks-heart{color:#f08ba88a;background:#ffffff12;border-color:#f08ba82e}html[data-theme=dark] .classblocks-heart-active{color:#fff;background:linear-gradient(135deg,#ff7eb3,#f08ba8,#a58cff);box-shadow:0 0 0 4px #f08ba81f,0 12px 26px #f08ba83d,0 0 26px #a58cff29}html[data-theme=dark] .classblocks-exit-button{color:#e1e8ffd1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff14;border-color:#8ca3ff2e;box-shadow:inset 0 1px #ffffff14}html[data-theme=dark] .classblocks-exit-button:hover{color:#fff;background:#f08ba81f;border-color:#f08ba861}html[data-theme=dark] .classblocks-message{color:#d9e1f5c7}html[data-theme=dark] .classblocks-message-popover{color:#f8fbfff0;background:linear-gradient(145deg,#161f34f5,#0c1220eb),#111827f0;border-color:#8ca3ff33;box-shadow:inset 0 1px #ffffff14,0 18px 38px #00000052}html[data-theme=dark] .classblocks-board{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:radial-gradient(circle at 0 0,#8ca3ff29,#0000 38%),linear-gradient(145deg,#ffffff17,#ffffff09),#080d199e;border-color:#8ca3ff33;box-shadow:inset 0 1px #ffffff1a,inset 0 -14px 34px #00000038,0 18px 34px #00000047}html[data-theme=dark] .classblocks-start-hint{color:#f8fbfff0;background:radial-gradient(circle at 20% 10%,#8ca3ff3d,#0000 42%),linear-gradient(145deg,#19233ae0,#0c1220c7),#111827d1;border-color:#8ca3ff3d;box-shadow:inset 0 1px #ffffff1f,0 22px 42px #00000057,0 0 26px #8ca3ff1f}html[data-theme=dark] .classblocks-start-hint small{color:#d9e1f5c2}html[data-theme=dark] .classblocks-game-over{color:#f8fbfff5;background:radial-gradient(circle at 24% 12%,#8ca3ff38,#0000 42%),linear-gradient(145deg,#19233ae6,#0c1220d1),#111827d6;border-color:#f08ba847;box-shadow:inset 0 1px #ffffff1f,0 28px 60px #0000006b,0 0 38px #8ca3ff29,0 0 42px #f08ba81f}html[data-theme=dark] .classblocks-game-over small{color:#d9e1f5c7}html[data-theme=dark] .classblocks-save-score input{color:#f8fbfff5;background:#ffffff17;border-color:#8ca3ff38}html[data-theme=dark] .classblocks-save-score button,html[data-theme=dark] .classblocks-leaderboard-toggle{color:#e1e8ffe6;background:#ffffff14;border-color:#8ca3ff2e;box-shadow:inset 0 1px #ffffff14}html[data-theme=dark] .classblocks-save-score button:not(:disabled):hover,html[data-theme=dark] .classblocks-leaderboard-toggle:hover{color:#fff;background:#f08ba81f;border-color:#f08ba861}html[data-theme=dark] .classblocks-cell{background:linear-gradient(145deg,#ffffff1f,#ffffff0e),#131c30b8;border-color:#8ca3ff29;box-shadow:inset 0 1px #ffffff14,0 6px 14px #00000029}html[data-theme=dark] .classblocks-cell:hover{background:linear-gradient(145deg,#8ca3ff2e,#f08ba814),#161f34d1;border-color:#f08ba85c}html[data-theme=dark] .classblocks-cell-filled{background:linear-gradient(145deg, color-mix(in srgb, var(--block-color) 78%, white 22%), var(--block-color));border-color:color-mix(in srgb, var(--block-color) 68%, white 32%);box-shadow:inset 0 1px 0 #ffffff3d, 0 10px 20px color-mix(in srgb, var(--block-color) 32%, transparent), 0 0 18px color-mix(in srgb, var(--block-color) 22%, transparent)}html[data-theme=dark] .classblocks-cell-line-preview{background:radial-gradient(circle,#f08ba833,#8ca3ff1f),#1c2640e6;border-color:#f08ba89e;box-shadow:inset 0 1px #ffffff24,0 0 0 2px #f08ba81f,0 0 20px #f08ba84d,0 0 28px #8ca3ff2e}html[data-theme=dark] .classblocks-piece{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-color:#0000}html[data-theme=dark] .classblocks-piece:not(:disabled):hover,html[data-theme=dark] .classblocks-piece-active{box-shadow:none;background:0 0}html[data-theme=dark] .classblocks-piece-dot{box-shadow:inset 0 1px 0 #ffffff3d, 0 0 14px color-mix(in srgb, var(--piece-color) 32%, transparent)}html[data-theme=dark] .classblocks-drag-preview{box-shadow:none;background:0 0;border-color:#0000}html[data-theme=dark] .classblocks-leaderboard{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(145deg,#ffffff14,#ffffff09),#080d197a;border-color:#8ca3ff2e;box-shadow:inset 0 1px #ffffff14,0 16px 30px #0000002e}html[data-theme=dark] .classblocks-leaderboard-head h3,html[data-theme=dark] .classblocks-player-best span,html[data-theme=dark] .classblocks-leaderboard-list strong{color:#f8fbfff0}html[data-theme=dark] .classblocks-player-rank{background:linear-gradient(135deg,#8ca3fff2,#9776e8f2);box-shadow:inset 0 1px #ffffff2e,0 14px 24px #5b74d62e}html[data-theme=dark] .classblocks-player-best,html[data-theme=dark] .classblocks-leaderboard-list li{background:#ffffff12;border-color:#8ca3ff24}html[data-theme=dark] .classblocks-player-best small,html[data-theme=dark] .classblocks-leaderboard-empty{color:#d9e1f5bd}html[data-theme=dark] .classblocks-leaderboard-current{background:linear-gradient(135deg,#8ca3ff2e,#f08ba81f),#ffffff14!important;border-color:#f08ba838!important}@keyframes classblocksFadeIn{0%{opacity:0;filter:blur(8px);transform:translateY(14px)scale(.98)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes classblocksLineClear{0%{opacity:1;filter:saturate();transform:scale(1)}45%{opacity:1;filter:saturate(1.45)brightness(1.16);transform:scale(1.12)}to{opacity:0;filter:saturate(1.2)brightness(1.4);transform:scale(.28)}}@keyframes classblocksLinePreview{0%,to{filter:brightness()saturate();transform:scale(1)}50%{filter:brightness(1.08)saturate(1.18);transform:scale(1.035)}}@keyframes classblocksGameOver{0%{opacity:0;filter:blur(10px);transform:translate(-50%,-42%)scale(.82)}60%{opacity:1;filter:blur();transform:translate(-50%,-50%)scale(1.04)}to{opacity:1;filter:blur();transform:translate(-50%,-50%)scale(1)}}@keyframes classblocksStartHint{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-54%)scale(1.03)}}@keyframes classblocksMessagePopover{0%{opacity:0;transform:translateY(-.35rem)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes classblocksBoardGameOver{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}@keyframes classblocksHeartBeat{0%,to{transform:scale(1)}45%{transform:scale(1.14)}}.auth-form-panel{will-change:transform, opacity;transition:opacity .34s,transform .42s cubic-bezier(.22,1,.36,1),filter .34s}.auth-form-body{gap:.2rem;display:grid}.auth-form-actions{margin-top:.9rem;padding-top:0}.auth-submit-button{background:linear-gradient(135deg, var(--accent), var(--accent-strong), var(--accent-warm));color:#fff;letter-spacing:.01em;background-size:240% 240%;border-radius:18px;width:100%;min-height:50px;font-weight:700;box-shadow:0 16px 30px #5b74d642,0 0 #f08ba800,inset 0 1px #ffffff2e}.auth-submit-button:hover{background-position:100%;transform:translateY(-5px)scale(1.025);box-shadow:0 26px 44px #5b74d652,0 0 24px #f08ba83d,inset 0 1px #fff3}.auth-form-panel-active{opacity:1;filter:blur();pointer-events:auto;z-index:2;position:relative;transform:none}.auth-form-panel-hidden-left{opacity:0;filter:blur(4px);pointer-events:none;z-index:1;position:absolute;inset:0;transform:translate(-30px)scale(.98)}.auth-form-panel-hidden-right{opacity:0;filter:blur(4px);pointer-events:none;z-index:1;position:absolute;inset:0;transform:translate(30px)scale(.98)}.demo-credentials{background:linear-gradient(135deg,#5b74d61f,#f08ba81a);border-color:#6f55c824;align-self:stretch;width:100%;max-width:100%;margin-top:.8rem;padding:.42rem .58rem}.demo-credentials h3{color:var(--accent-strong);margin:0 0 .32rem;font-size:.8rem}.demo-credential-card{background:linear-gradient(135deg,#ffffff8a,#ddf1ff73);border:1px solid #5b74d629;border-radius:12px;padding:.32rem .46rem;box-shadow:inset 0 1px #ffffff47}.demo-credential-card strong{color:var(--accent-strong);margin-bottom:.08rem;font-size:.78rem;display:inline-block}.demo-credential-card p{color:var(--muted);margin:.02rem 0;font-size:.74rem;line-height:1.22}.recovery-entry-card{background:#ffffff8c;border:1px solid #5b74d629;border-radius:12px;margin-top:.45rem;padding:.5rem .56rem}.recovery-entry-card strong{color:var(--accent-strong);margin-bottom:.12rem;font-size:.8rem;display:inline-block}.recovery-entry-card p,.recovery-intro,.recovery-hint-list p,.recovery-status span,.recovery-restore-panel p{color:var(--muted);margin:.05rem 0;line-height:1.45}.recovery-intro{max-width:62ch;font-size:1rem}.recovery-entry-link,.recovery-link-button,.recovery-secondary-button{min-height:44px;color:var(--accent-strong);background:#ffffffb3;border:1px solid #5b74d629;border-radius:14px;justify-content:center;align-items:center;padding:0 1rem;font-weight:700;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:inline-flex}.recovery-entry-link:hover,.recovery-link-button:hover,.recovery-secondary-button:hover{border-color:#5b74d652;transform:translateY(-1px);box-shadow:0 12px 24px #3546821f}.recovery-entry-link{margin-top:.45rem}.recovery-shell{background:radial-gradient(circle at 12% 8%,#3d6db538,#0000 28%),radial-gradient(circle at 88% 16%,#1599802e,#0000 24%),radial-gradient(circle at 72% 86%,#efb55438,#0000 30%),linear-gradient(135deg,#f2f7f4 0%,#eaf4fb 48%,#fff7ec 100%);place-items:center;min-height:100vh;padding:clamp(1.2rem,3vw,2rem);display:grid;position:relative;overflow:hidden}.recovery-shell:before,.recovery-shell:after{content:"";pointer-events:none;border-radius:999px;position:absolute}.recovery-shell:before{background:linear-gradient(135deg,#2b68911f,#0000),repeating-linear-gradient(45deg,#2b689114 0 2px,#0000 2px 14px);width:34rem;height:34rem;bottom:-18rem;left:-14rem}.recovery-shell:after{border:1px solid #2b689129;width:18rem;height:18rem;top:8rem;right:-5rem;box-shadow:inset 0 0 0 28px #ffffff2e}.recovery-card{z-index:1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#fffffff0,#fffcf6e0),#ffffffe0;border:1px solid #2b689129;border-radius:34px;width:min(980px,100%);padding:clamp(1.35rem,3vw,2.35rem);position:relative;box-shadow:0 34px 90px #243e542e,inset 0 1px #ffffffd9}.recovery-brand{margin-bottom:.65rem}.recovery-brand.brand-logo-md .brand-logo-mark{width:clamp(58px,7vw,82px);height:clamp(58px,7vw,82px)}.recovery-card h1{letter-spacing:-.075em;color:#17344a;max-width:13ch;margin-bottom:.35rem;font-size:clamp(2.15rem,6vw,4.15rem);line-height:.92}.recovery-actions{background:#ebf5f2b8;border:1px solid #2b68911a;border-radius:20px;flex-wrap:wrap;gap:.7rem;margin-top:1.2rem;padding:.6rem;display:flex}.recovery-actions .auth-submit-button,.recovery-actions .recovery-secondary-button,.recovery-actions .recovery-link-button{width:auto}.recovery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.05rem;display:grid}.recovery-panel,.recovery-restore-panel,.recovery-status{background:#ffffffb8;border:1px solid #2b689124;box-shadow:0 14px 32px #253f5614}.recovery-panel,.recovery-restore-panel{border-radius:22px;padding:1rem}.recovery-panel{gap:1rem;display:grid;position:relative;overflow:hidden}.recovery-panel:after{content:"";background:#2b689114;border-radius:999px;width:11rem;height:11rem;position:absolute;inset:auto -3rem -4rem auto}.recovery-panel-heading{z-index:1;align-items:flex-start;gap:.78rem;display:flex;position:relative}.recovery-panel-heading h2{color:#17344a;letter-spacing:-.02em;margin:0;font-size:1.05rem}.recovery-panel-heading p{color:var(--muted);margin:.12rem 0 0;line-height:1.4}.recovery-panel-icon{color:#fff;letter-spacing:.06em;background:linear-gradient(135deg,#17344a,#2b6891);border-radius:16px;flex:none;place-items:center;width:2.65rem;height:2.65rem;font-size:.76rem;font-weight:900;display:inline-grid;box-shadow:0 12px 24px #2b689138}.recovery-panel-icon-warm{background:linear-gradient(135deg,#8f5e18,#d49435);box-shadow:0 12px 24px #8f5e1833}.recovery-metric-grid{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid;position:relative}.recovery-metric{background:#f2f7f4c7;border:1px solid #2b68911a;border-radius:16px;padding:.72rem}.recovery-metric span{color:var(--muted);font-size:.78rem;font-weight:700;display:block}.recovery-metric strong{color:#17344a;margin-top:.14rem;font-size:clamp(1.35rem,4vw,2rem);line-height:1;display:block}.recovery-metric-highlight{background:linear-gradient(135deg,#e2f6edf0,#fff7e4e6);border-color:#20875c38}.recovery-status{border-radius:22px;gap:.2rem;margin-top:1.15rem;padding:1rem 1rem 1rem 3.25rem;display:grid;position:relative}.recovery-status strong{color:#17344a;letter-spacing:-.01em}.recovery-status-orb{background:#d49435;border-radius:999px;width:1.38rem;height:1.38rem;position:absolute;top:1.08rem;left:1rem;box-shadow:0 0 0 7px #d4943524}.recovery-status-good{background:linear-gradient(135deg,#e1f7edeb,#ffffffd1);border-color:#20875c47}.recovery-status-good .recovery-status-orb{background:#20875c;box-shadow:0 0 0 7px #20875c24}.recovery-status-empty{background:linear-gradient(135deg,#fff5e6eb,#ffffffd1);border-color:#b4722933}.recovery-hint-list{background:#ffffff85;border:1px dashed #2b689138;border-radius:22px;gap:.42rem;margin-top:1.05rem;padding:1rem;display:grid}.recovery-hint-list p{padding-left:1.45rem;position:relative}.recovery-hint-list p:before{content:"";background:#2b6891;border-radius:999px;width:.55rem;height:.55rem;position:absolute;top:.55em;left:0;box-shadow:0 0 0 4px #2b68911a}.recovery-restore-panel{color:#fff;background:linear-gradient(135deg,#17344af0,#2b6891e0),#17344a;gap:.7rem;margin-top:1.05rem;display:grid}.recovery-restore-panel p{color:#ffffffc7}.recovery-restore-panel .auth-submit-button{color:#261803;background:linear-gradient(135deg,#f5c66d,#d49435);box-shadow:0 16px 28px #141e282e}.recovery-feedback{border-radius:16px;margin-top:.9rem}html[data-theme=dark] .demo-credentials{background:linear-gradient(135deg,#8ca3ff29,#ff9db51f);border-color:#8ca3ff24}html[data-theme=dark] .demo-credential-card{background:linear-gradient(135deg,#1a2337e0,#271b3acc);border-color:#8ca3ff29;box-shadow:inset 0 1px #ffffff0a,0 8px 18px #0000001f}html[data-theme=dark] .recovery-entry-card,html[data-theme=dark] .recovery-panel,html[data-theme=dark] .recovery-status{background:#141b2bdb;border-color:#8ca3ff29}html[data-theme=dark] .recovery-metric,html[data-theme=dark] .recovery-hint-list,html[data-theme=dark] .recovery-actions{background:#141b2ba8;border-color:#8ca3ff24}html[data-theme=dark] .recovery-entry-link,html[data-theme=dark] .recovery-link-button,html[data-theme=dark] .recovery-secondary-button{background:#141b2bdb;border-color:#8ca3ff33}html[data-theme=dark] .recovery-shell{background:radial-gradient(circle at 14% 10%,#508bbe4d,#0000 30%),radial-gradient(circle at 86% 16%,#43aa8f2e,#0000 24%),radial-gradient(circle at 72% 86%,#d494352e,#0000 30%),linear-gradient(135deg,#070e17fa,#0e1823fa)}html[data-theme=dark] .recovery-card{background:linear-gradient(#0d1520f0,#121821e6),#0d111ce0;border-color:#8ca3ff29;box-shadow:0 24px 64px #00000059}html[data-theme=dark] .recovery-card h1,html[data-theme=dark] .recovery-panel-heading h2,html[data-theme=dark] .recovery-metric strong,html[data-theme=dark] .recovery-status strong{color:#f5f9fff5}html[data-theme=dark] .recovery-status-good{background:linear-gradient(135deg,#14422f85,#141b2bb8);border-color:#4ac08447}html[data-theme=dark] .recovery-status-empty{background:linear-gradient(135deg,#593f146b,#141b2bb8);border-color:#dea15347}@media (width<=720px){.recovery-card h1{max-width:none}.recovery-grid,.recovery-metric-grid{grid-template-columns:1fr}.recovery-actions .auth-submit-button,.recovery-actions .recovery-secondary-button,.recovery-actions .recovery-link-button{width:100%}}.user-avatar{object-fit:cover;background:0 0;border:0;border-radius:24px;flex-shrink:0}.user-avatar-sm{width:40px;height:40px}.user-avatar-md{width:64px;height:64px}.user-avatar-lg{width:96px;height:96px}.user-avatar-xl{width:128px;height:128px}.nav-user-chip{min-height:52px}.nav-user-chip-copy{gap:.12rem;min-width:0;display:grid}.email-shortcut-field{background:#ffffffbd;border:1px solid #5b74d624;border-radius:14px;align-items:center;display:flex;overflow:hidden}.email-shortcut-field input{box-shadow:none;background:0 0;border:0}.email-shortcut-field span{color:var(--muted);white-space:nowrap;padding:0 .9rem;font-size:.92rem}.auth-inline-link{color:var(--accent-strong);text-align:left;background:0 0;border:0;margin-top:.7rem;padding:0;font-weight:700}.auth-recovery-box,.profile-edit-panel,.attachment-details-panel,.user-search-card{background:#ffffffad;border:1px solid #5b74d624;border-radius:18px}.auth-recovery-box{gap:.8rem;margin-top:1rem;padding:1rem;display:grid}.auth-recovery-form,.auth-extra-grid,.profile-form-grid{gap:.9rem;display:grid}.auth-recovery-question{color:var(--text);background:#5b74d614;border-radius:14px;padding:.85rem 1rem}.profile-hero-expanded{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);align-items:start;gap:1rem;display:grid}.profile-hero-main{align-items:center;gap:1rem;display:flex}.profile-details-panel{background:#ffffffad;border:1px solid #5b74d624;border-radius:18px;padding:1rem 1.1rem}.profile-details-panel p,.profile-details-panel strong{color:var(--text)}.profile-management-grid{grid-template-columns:minmax(0,1fr);gap:1rem;margin:1rem 0 1.5rem;display:grid}.profile-edit-panel{background:radial-gradient(circle at 100% 0,#5b74d61f,#0000 34%),linear-gradient(160deg,#ffffffeb,#f7f9ffd1);padding:1.1rem 1.15rem;box-shadow:inset 0 1px #ffffffb8,0 16px 38px #5b74d614}.profile-form-grid-full{grid-column:1/-1}.profile-picture-editor{grid-column:1/-1;align-items:center;gap:1rem;display:flex}.profile-edit-panel h2{margin-bottom:1rem}.profile-update-note{color:var(--muted);background:linear-gradient(135deg,#5b74d61a,#f08ba814),#ffffffa3;border:1px solid #5b74d629;border-radius:18px;margin:-.25rem 0 1rem;padding:.82rem .95rem;font-size:.9rem;line-height:1.45}.profile-edit-panel .form-group{margin-bottom:0}.profile-edit-panel .form-group label{letter-spacing:.01em;text-transform:uppercase;color:var(--accent-strong);margin-bottom:.5rem;font-size:.82rem}.profile-edit-panel input,.profile-edit-panel select,.profile-edit-panel textarea{background:linear-gradient(#fffffffa,#f1f6ffeb);border:1px solid #5b74d624;border-radius:18px;width:100%;box-shadow:inset 0 1px #ffffffbf,0 10px 22px #5b74d614}.profile-edit-panel textarea{resize:vertical;min-height:132px}.profile-edit-panel input:focus,.profile-edit-panel select:focus,.profile-edit-panel textarea:focus{border-color:#6f55c86b;outline:none;transform:translateY(-1px);box-shadow:0 0 0 4px #6f55c81f,0 14px 28px #5b74d61f}.profile-edit-panel button[type=submit]{background:linear-gradient(135deg, var(--accent), var(--accent-strong), var(--accent-warm));color:#fff;border-radius:18px;width:100%;min-height:52px;font-weight:700;box-shadow:0 16px 30px #5b74d63d,inset 0 1px #ffffff2e}.profile-edit-panel button[type=submit]:hover{transform:translateY(-4px)scale(1.01);box-shadow:0 22px 36px #5b74d647,0 0 24px #f08ba829,inset 0 1px #ffffff38}.profile-picture-editor .attachment-picker{min-width:220px;margin:0}.profile-inline-action-row{justify-content:flex-start;display:flex}.profile-secondary-action{min-height:48px;color:var(--accent-strong);background:#ffffffd1;border:1px solid #5b74d629;border-radius:16px;padding:0 1rem;font-weight:700}.profile-password-drawer{background:#f4f7ffe0;border:1px solid #5b74d61f;border-radius:18px;margin-top:.2rem;padding:1rem}.profile-password-drawer-header{margin-bottom:.9rem}.profile-password-drawer-header h3{margin-bottom:.2rem}.profile-password-drawer-header p{color:var(--muted);margin:0}.user-search-section{margin:1rem 0 1.4rem}.browse-filter-row{flex-wrap:wrap;gap:.55rem;margin:-.65rem 0 1.25rem;display:flex}.browse-filter-chip{background:var(--surface-strong);min-width:0;min-height:36px;color:var(--muted);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:999px;padding:.48rem .82rem;font-size:.82rem}.browse-filter-chip-active{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#fff;border-color:#0000}.browse-empty-state{justify-items:start;gap:.5rem;display:grid}.user-search-list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.9rem;display:grid}.user-search-card{color:inherit;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.9rem 1rem;display:grid}.user-search-card-copy{gap:.18rem;min-width:0;display:grid}.user-search-card-copy strong,.user-search-card-copy p{overflow-wrap:anywhere}.user-search-card-copy strong{line-height:1.18}.user-search-card-actions{grid-template-columns:repeat(2,auto);align-self:center;gap:.42rem;display:grid}.user-search-action-button{border-radius:999px;gap:0;width:40px;height:40px;min-height:40px;padding:0}.user-search-action-icon{flex-shrink:0;justify-content:center;align-items:center;width:1rem;height:1rem;display:inline-flex}.user-search-action-icon svg{width:100%;height:100%}.user-search-action-label{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.user-search-card p,.user-search-card small{color:var(--muted);margin:.12rem 0}.profile-public-actions{margin-top:.9rem}.messages-shell{grid-template-columns:minmax(0,760px);justify-content:center;align-items:start;gap:1.1rem;display:grid}.messages-sidebar,.messages-panel,.room-chat-card{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow-soft);border-radius:28px}.messages-sidebar{align-content:start;gap:.9rem;padding:1rem;display:grid}.messages-intro-card,.about-hero-card{border:1px solid var(--border);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:radial-gradient(circle at 12% 18%,#5b74d62e,#0000 32%),linear-gradient(135deg,#ffffffc7,#ffffff80);position:relative;overflow:hidden}.messages-intro-card{border-radius:24px;padding:1.15rem}.messages-page-header{text-align:center;width:min(100%,760px);margin:0 auto 1.15rem}.page-description-box{text-align:center;border:1px solid var(--border);width:min(100%,760px);box-shadow:var(--shadow-soft);color:var(--text);letter-spacing:.02em;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(135deg,#5b74d624,#f08ba824);border-radius:30px;margin:1rem auto 0;padding:2rem 2.4rem;font-family:Cormorant Garamond,serif;font-size:clamp(1.6rem,3vw,2rem);font-weight:600;line-height:1.2;position:relative;overflow:hidden}.page-description-box:before{content:"";background:radial-gradient(circle,#ffffff52,#0000 65%);width:240px;height:240px;animation:7s ease-in-out infinite floatGlow;position:absolute;inset:-30% auto auto -20%}.messages-intro-card .page-description-box{border-radius:22px;margin:.8rem 0 0;padding:1.15rem 1.25rem;font-size:clamp(1.05rem,1.8vw,1.2rem);line-height:1.28}.messages-list-section{gap:.75rem;min-width:0;display:grid}.messages-list-section-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.messages-list-section-header strong{letter-spacing:.01em;font-size:.92rem}.messages-sidebar-eyebrow{width:fit-content;color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;background:#5b74d61f;border-radius:999px;align-items:center;padding:.35rem .72rem;font-size:.72rem;font-weight:700;display:inline-flex}.messages-sidebar-header h1,.messages-sidebar-header p,.messages-page-header h1,.messages-page-header p,.messages-panel-user p{margin:0}.messages-sidebar-header p,.messages-page-header p,.messages-panel-user p{color:var(--muted)}.messages-sidebar-header h1,.messages-page-header h1{letter-spacing:-.04em;margin-top:.45rem;font-size:clamp(2rem,3vw,2.8rem);line-height:1}.messages-sidebar-header p{max-width:28ch;margin-top:.5rem;line-height:1.55}.messages-page-header .messages-sidebar-eyebrow{margin:0 auto}.messages-page-header .page-description-box{margin:1rem auto 0}.messages-search-input{background:var(--surface-strong);width:100%;color:var(--text);border:1px solid #5b74d624;border-radius:18px;padding:.88rem 1rem;box-shadow:inset 0 1px #ffffffa6,0 10px 24px #5b74d60f}.messages-search-input:focus{border-color:#6f55c852;outline:none;box-shadow:0 0 0 4px #6f55c81a,0 12px 28px #5b74d614}.messages-sidebar-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.messages-sidebar-stat,.room-chat-summary-chip{background:#ffffffb8;border:1px solid #5b74d624;border-radius:18px;gap:.15rem;padding:.72rem .85rem;display:grid}.messages-sidebar-stat strong,.room-chat-summary-chip strong{font-size:1.18rem;line-height:1}.messages-sidebar-stat span,.room-chat-summary-chip span{color:var(--muted);font-size:.9rem}.messages-contact-list{gap:.55rem;max-height:none;padding-right:0;display:grid;overflow:visible}.messages-thread::-webkit-scrollbar{width:10px}.room-chat-thread::-webkit-scrollbar{width:10px}.messages-thread::-webkit-scrollbar-track{background:#5b74d614;border-radius:999px}.room-chat-thread::-webkit-scrollbar-track{background:#5b74d614;border-radius:999px}.messages-thread::-webkit-scrollbar-thumb{background:linear-gradient(#5b74d6b3,#eca5449e) padding-box padding-box;border:2px solid #0000;border-radius:999px}.room-chat-thread::-webkit-scrollbar-thumb{background:linear-gradient(#5b74d6b3,#eca5449e) padding-box padding-box;border:2px solid #0000;border-radius:999px}.messages-contact-card{background:var(--surface-strong);border:1px solid var(--border);width:100%;color:inherit;box-shadow:none;text-align:left;filter:none;background-position:0 0;border-radius:18px;align-items:flex-start;gap:.72rem;padding:.72rem .78rem;animation:none;display:flex}.messages-contact-card:hover{filter:none;background-position:0 0;transform:translateY(-1px);box-shadow:0 14px 28px #5b74d61a}.messages-contact-card:active{filter:none;transform:translateY(0);box-shadow:0 8px 18px #5b74d614}.messages-contact-card-active{background:linear-gradient(135deg,#5b74d61f,#ffffffc2);border-color:#6f55c83d}.messages-contact-copy{flex:1;gap:.18rem;min-width:0;display:grid}.messages-contact-topline{justify-content:space-between;align-items:baseline;gap:.7rem;display:flex}.messages-contact-stamp{color:var(--muted);flex-shrink:0;font-size:.76rem}.messages-contact-copy strong,.messages-contact-copy p,.messages-contact-copy small{word-break:break-word;min-width:0;display:block}.messages-contact-copy p,.messages-contact-copy small{color:var(--muted);margin:0}.messages-contact-copy p{white-space:normal;-webkit-line-clamp:1;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.messages-unread-badge{background:var(--accent-warm);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 .4rem;font-size:.76rem;font-weight:700;display:inline-flex}.messages-search-empty{background:#5b74d60d;border:1px dashed #5b74d62e;border-radius:18px;min-width:0;padding:.95rem 1rem}.messages-search-empty p{color:var(--muted);word-break:break-word;margin:0;line-height:1.6}.messages-panel,.room-chat-card{padding:1rem}.room-chat-card{isolation:isolate;grid-template-rows:minmax(0,1fr) auto;gap:.85rem;min-height:620px;max-height:min(860px,86vh);display:grid;overflow:hidden}.messages-panel{grid-template-rows:auto minmax(360px,1fr) auto;gap:1rem;height:min(980px,88vh);min-height:680px;max-height:1000px;display:grid;overflow:hidden}.messages-panel-inline{border-radius:22px;margin:-.2rem 0 .45rem;box-shadow:inset 0 1px #ffffff47,0 16px 34px #5b74d61f}.messages-panel-header{justify-content:space-between;align-items:center;gap:1rem;min-width:0;display:flex}.messages-panel-inline .messages-panel-header{border-bottom:1px solid #5b74d624;padding-bottom:.78rem;box-shadow:0 1px #ffffff94}.messages-panel-actions{justify-content:flex-end;align-items:center;gap:.42rem;min-width:0;margin-left:auto;display:inline-flex;position:relative}.messages-action-menu{flex-shrink:0;align-items:center;display:inline-flex;position:relative}.messages-action-menu-button{background:#ffffffb8;border:1px solid #5b74d629;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:.12rem;width:36px;height:36px;min-height:36px;padding:0;line-height:1;display:inline-flex;box-shadow:inset 0 1px #ffffff4d}.messages-action-menu-button span{background:var(--accent-strong);border-radius:999px;width:3px;height:3px;box-shadow:0 0 0 1px #5b74d614}.messages-panel-button-row{z-index:20;background:var(--surface-strong);border:1px solid #5b74d624;border-radius:16px;gap:.35rem;min-width:146px;padding:.4rem;display:grid;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 18px 34px #5b74d629}.messages-panel-button-row .card-link-button,.messages-panel-button-row .messages-delete-button{white-space:nowrap;border-radius:12px;width:100%;min-height:36px;padding:0 .72rem;font-size:.78rem}.messages-delete-button{min-height:42px;color:var(--danger);box-shadow:none;background:#d652521a;border:1px solid #d652522e;border-radius:999px;padding:0 1rem;font-weight:700}.messages-delete-button:hover:not(:disabled){background:#d6525229;transform:translateY(-1px);box-shadow:0 14px 28px #d652521f}.messages-delete-button:disabled{cursor:not-allowed;opacity:.48;filter:grayscale(.2)}.messages-panel-meta{color:var(--muted);background:#5b74d614;border:1px solid #5b74d624;border-radius:999px;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.34rem .58rem;font-size:.74rem;display:inline-flex}.messages-panel-user{align-items:center;gap:.8rem;min-width:0;display:flex}.messages-panel-user>div{min-width:0}.messages-panel-user strong,.messages-panel-user p{text-overflow:ellipsis;word-break:break-word;display:block;overflow:hidden}.messages-panel-user strong{white-space:nowrap;max-width:13ch}.messages-thread,.room-chat-thread{scrollbar-width:thin;scrollbar-color:#5b74d68c #5b74d614;flex-direction:column;gap:.8rem;min-height:360px;max-height:none;padding:.15rem .35rem;display:flex;overflow:auto}.message-bubble{border:1px solid var(--border);background:var(--surface-strong);border-radius:22px;min-width:0;max-width:min(78%,620px);padding:.82rem .92rem;position:relative}.message-bubble-actions{z-index:5;opacity:0;pointer-events:none;align-items:center;gap:.25rem;transition:opacity .18s,transform .18s;display:inline-flex;position:absolute;top:-.62rem;right:.52rem;transform:translateY(-4px)scale(.96)}.message-action-button{background:color-mix(in srgb, var(--surface-strong) 86%, var(--accent-soft));width:31px;min-width:31px;height:31px;min-height:31px;color:var(--accent-strong);border:1px solid #5b74d62e;border-radius:999px;padding:0;line-height:1;box-shadow:0 12px 24px #5b74d61f}.message-action-button svg{width:.95rem;height:.95rem}.message-unsend-button{background:color-mix(in srgb, var(--surface-strong) 82%, var(--danger-soft));color:var(--danger);border-color:#d6525238;box-shadow:0 12px 24px #d652521f}.message-bubble-own:hover .message-bubble-actions,.message-bubble-own:focus-within .message-bubble-actions,.message-bubble-actions-visible .message-bubble-actions{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.message-edit-button:hover,.message-edit-button:focus-visible{background:var(--accent-soft);transform:translateY(-1px)scale(1);box-shadow:0 14px 26px #5b74d629}.message-unsend-button:hover{background:var(--danger-soft);transform:translateY(-1px)scale(1);box-shadow:0 14px 26px #d6525229}.message-edit-form{gap:.55rem;margin-top:.45rem;display:grid}.message-edit-form textarea{width:min(360px,68vw);min-height:84px;color:var(--text);resize:vertical;background:#ffffffd1;border:1px solid #5b74d62e;border-radius:16px;padding:.72rem .8rem}.message-edit-form textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #5b74d624}.message-edit-actions{flex-wrap:wrap;gap:.45rem;display:flex}.message-edit-actions button{border-radius:999px;min-height:34px;padding:0 .82rem;font-size:.78rem}.message-edit-error{color:var(--danger);font-size:.78rem;font-weight:800}.message-edited-label{font-size:.68rem;font-style:italic}.message-bubble-unsent{opacity:.78;border-style:dashed}.message-unsent-text{color:var(--muted);font-style:italic;font-weight:800}.message-bubble strong,.message-bubble p,.message-bubble small{margin:0;display:block}.message-bubble p{white-space:pre-wrap;word-break:break-word;margin-top:.32rem}.message-bubble small{color:var(--muted);margin-top:.5rem}.message-voice-note{background:#ffffff57;border:1px solid #5b74d61a;border-radius:999px;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:.58rem;width:min(300px,70vw);min-width:min(230px,68vw);padding:.28rem .34rem;display:inline-grid}.message-voice-play-button,.messages-voice-icon{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.message-voice-play-button{color:#fff;width:34px;min-width:34px;max-width:34px;height:34px;min-height:34px;max-height:34px;box-shadow:none;background:0 0;border:0;border-radius:50%;flex:0 0 34px;padding:0;overflow:visible}.message-voice-play-button:before{content:"";z-index:0;background:linear-gradient(135deg, var(--accent), var(--accent-warm));border-radius:50%;display:block;position:absolute;inset:0;box-shadow:0 10px 18px #5b74d638}.message-voice-play-button span{z-index:1;border-top:6px solid #0000;border-bottom:6px solid #0000;border-left:9px solid;width:0;height:0;margin-left:2px;position:relative}.message-voice-play-button-active span{border:0;border-left:3px solid;border-right:3px solid;width:10px;height:12px;margin-left:0}.message-voice-play-button-active{box-shadow:none}.message-voice-play-button-active:before{box-shadow:0 10px 18px #5b74d638,0 0 0 5px #5b74d61f}.message-voice-play-button:hover{box-shadow:none;background:0 0;transform:translateY(-1px)scale(1.02)}.message-attachment-menu-button:hover{color:#fff;filter:none;background:#0f172ab3;transform:translateY(-1px);box-shadow:0 12px 22px #0f172a38}.messages-voice-icon:before{content:"";border:2px solid;border-radius:999px;width:.52rem;height:.78rem}.messages-voice-icon:after{content:"";border-bottom:2px solid;border-left:2px solid;border-right:2px solid;border-radius:0 0 999px 999px;width:.62rem;height:.34rem;position:absolute;transform:translateY(.45rem)}.message-voice-waveform{cursor:pointer;touch-action:manipulation;justify-content:space-between;align-items:center;gap:1.5px;width:100%;min-width:0;height:38px;display:flex;position:relative;overflow:hidden}.message-voice-waveform-bar{min-width:1.5px;max-width:3px;height:var(--voice-bar-height,16px);opacity:.72;background:currentColor;border-radius:999px;flex:2px;min-height:7px}.message-bubble-own .message-voice-waveform-bar{color:var(--accent-strong)}.message-bubble-other .message-voice-waveform-bar{color:var(--text)}.message-voice-waveform-playhead{z-index:4;top:2px;bottom:2px;left:var(--voice-playhead-progress,0%);opacity:0;background:#ff6f9f;border-radius:999px;width:4px;transition:opacity .16s;position:absolute;transform:translate(-50%);box-shadow:0 0 0 1.5px #ffffffeb,0 0 12px #ff6f9f8c}.message-voice-waveform-playing .message-voice-waveform-playhead{opacity:.98;animation:none}.message-voice-note audio{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.messages-voice-preview audio{width:100%;min-width:0;height:34px}.messages-recording-indicator{width:fit-content;max-width:100%;color:var(--danger);background:linear-gradient(135deg,#d652521f,#fff9);border:1px solid #d652522e;border-radius:999px;align-items:center;gap:.58rem;padding:.5rem .72rem;animation:.24s both recordingIndicatorEnter;display:inline-flex;box-shadow:0 14px 26px #d652521f}.messages-recording-indicator strong{white-space:nowrap;font-size:.78rem;line-height:1}.messages-recording-dot{background:currentColor;border-radius:999px;width:.56rem;height:.56rem;animation:1s ease-in-out infinite recordingDotPulse;box-shadow:0 0 #d6525247}.messages-recording-wave{align-items:center;gap:2px;height:22px;display:inline-flex}.messages-recording-wave span{opacity:.75;width:3px;height:8px;animation:.82s ease-in-out infinite recordingWave;animation-delay:calc(var(--recording-bar-index) * -.08s);background:currentColor;border-radius:999px}.message-voice-note-duration{color:var(--muted);font-size:.76rem;font-weight:800}.message-attachment-list{gap:.48rem;margin-top:.5rem;display:grid}.message-attachment{width:min(320px,72vw);color:var(--text);background:#ffffff6b;border:1px solid #5b74d624;border-radius:16px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.58rem;padding:.42rem;text-decoration:none;display:grid}.message-attachment:hover{border-color:#5b74d647;transform:translateY(-1px);box-shadow:0 12px 22px #5b74d61f}.message-image-attachment{border-radius:18px;width:min(330px,74vw);position:relative;overflow:visible}.message-image-link{cursor:pointer;background:#0f172a14;border:1px solid #5b74d624;border-radius:18px;width:100%;min-height:0;padding:0;display:block;overflow:hidden;box-shadow:0 14px 26px #1e29581f}.message-image-link img{object-fit:contain;background:#ffffff70;width:100%;height:auto;max-height:420px;display:block}.message-attachment-menu-button{z-index:2;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a85;border:1px solid #ffffff85;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:24px;height:24px;min-height:24px;padding:0;display:inline-flex;position:absolute;top:.52rem;right:.52rem;box-shadow:0 10px 18px #0f172a2e}.message-attachment-menu-button span{background:currentColor;border-radius:999px;flex:none;width:3px;height:3px;display:block;box-shadow:0 0 0 .5px #0f172a1f}.message-attachment-details-menu{z-index:4;width:min(220px,68vw);color:var(--text);background:#fffffff5;border:1px solid #5b74d629;border-radius:16px;gap:.28rem;padding:.72rem;display:grid;position:absolute;top:2.75rem;right:.42rem;box-shadow:0 18px 34px #1e29582e}.message-attachment-details-menu strong{font-size:.78rem}.message-attachment-details-menu span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:700;overflow:hidden}.message-attachment-details-menu a{color:var(--accent-strong);margin-top:.2rem;font-size:.74rem;font-weight:900;text-decoration:none}.message-attachment-file-icon,.messages-attachment-icon{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.message-attachment-file-icon{width:42px;height:42px;color:var(--accent-strong);background:linear-gradient(135deg,#5b74d62e,#f080a633);border-radius:14px}.message-attachment-file-icon:before{content:"";border:2px solid;border-radius:4px;width:17px;height:21px;box-shadow:inset -5px 5px #ffffff70}.message-attachment-copy{gap:.08rem;min-width:0;display:grid}.message-attachment-copy strong,.messages-attachment-preview-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;line-height:1.25;overflow:hidden}.message-attachment-copy small,.messages-attachment-preview-card small{color:var(--muted);margin:0;font-size:.72rem;font-weight:800}.message-bubble-own{background:linear-gradient(135deg,#5b74d61f,#ffffffdb);border-color:#5b74d633;align-self:flex-end}.message-bubble-other{align-self:flex-start}.messages-composer{background:inherit;border-top:1px solid #5b74d61f;gap:.75rem;padding-top:.95rem;display:grid;position:relative}.messages-privacy-bubble{z-index:6;background:color-mix(in srgb, var(--surface-strong) 92%, var(--accent-soft));max-width:min(360px,100%);color:var(--text);border:1px solid #5b74d62e;border-radius:18px;align-items:center;gap:.55rem;padding:.62rem .72rem .62rem .85rem;animation:.22s both messagePrivacyBubbleIn;display:inline-flex;position:absolute;bottom:calc(100% + .65rem);right:0;box-shadow:0 18px 34px #5b74d629}.messages-privacy-bubble span{font-size:.78rem;font-weight:800;line-height:1.35}.messages-privacy-bubble button{width:28px;height:28px;min-height:28px;color:var(--accent-strong);box-shadow:none;background:#5b74d61f;border:1px solid #5b74d629;border-radius:999px;padding:0;line-height:1}.messages-privacy-bubble button:hover{background:var(--accent-soft);transform:translateY(-1px);box-shadow:0 10px 20px #5b74d624}@keyframes messagePrivacyBubbleIn{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.messages-composer textarea{border:1px solid var(--border);background:var(--surface-strong);width:100%;min-height:54px;max-height:108px;color:var(--text);resize:vertical;border-radius:18px;padding:.78rem .92rem;line-height:1.5}.messages-composer textarea:focus{border-color:#6f55c852;outline:none;box-shadow:0 0 0 4px #6f55c81a}.messages-voice-tools{gap:.55rem;display:grid}.messages-attachment-input{display:none}.messages-voice-button,.messages-attachment-button{background:var(--accent-soft);width:fit-content;min-height:40px;color:var(--accent-strong);border:1px solid #5b74d62e;border-radius:999px;padding:0 .9rem;font-weight:800}.messages-attachment-button{align-items:center;gap:.45rem;display:inline-flex}.messages-attachment-icon{color:currentColor;width:1rem;height:1rem}.messages-attachment-icon:before{content:"";border:2px solid;border-radius:999px;width:.46rem;height:.82rem;transform:rotate(28deg)}.messages-attachment-icon:after{content:"";border-top:2px solid;border-bottom:0;border-left:0;border-right:2px solid;border-radius:0 999px 0 0;width:.2rem;height:.56rem;position:absolute;transform:translate(.12rem,-.03rem)rotate(28deg)}.messages-voice-button-recording{color:var(--danger);background:#d652521f;border-color:#d6525238;animation:1.1s ease-in-out infinite voicePulse}.messages-voice-icon{color:currentColor;width:1rem;height:1rem;margin-right:.45rem}.messages-voice-preview{background:#5b74d614;border:1px solid #5b74d624;border-radius:16px;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:.5rem;padding:.55rem;display:grid}.messages-voice-preview span{color:var(--muted);font-size:.78rem;font-weight:800}.messages-voice-preview button{border-radius:999px;min-height:34px;padding:0 .72rem;font-size:.76rem}.messages-voice-cancel{border:1px solid var(--border);color:var(--muted);background:0 0}.messages-voice-error{color:var(--danger);margin:0;font-size:.8rem;font-weight:700}.messages-attachment-preview{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.48rem;display:grid}.messages-attachment-preview-card{background:#5b74d614;border:1px solid #5b74d624;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.45rem;display:grid}.messages-attachment-preview-card img{object-fit:contain;background:#ffffff9e;border-radius:12px;width:42px;height:42px;padding:.18rem}.messages-attachment-preview-card span{gap:.04rem;min-width:0;display:grid}.messages-attachment-remove{width:28px;height:28px;min-height:28px;color:var(--danger);background:#d652521a;border:1px solid #d652522e;border-radius:999px;padding:0;font-size:.86rem;font-weight:900;line-height:1}@keyframes voicePulse{0%,to{box-shadow:0 0 #d6525233}50%{box-shadow:0 0 0 6px #d6525200}}@keyframes recordingIndicatorEnter{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes recordingDotPulse{50%{transform:scale(.84);box-shadow:0 0 0 7px #d6525200}}@keyframes recordingWave{0%,to{opacity:.52;height:7px}50%{opacity:1;height:21px}}.messages-composer-footer{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.messages-composer-actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:.55rem;display:inline-flex}.messages-composer-footer small{color:var(--muted);line-height:1.6}.messages-empty-thread{align-content:center;min-height:100%;display:grid}.room-chat-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:.8rem;display:grid}.room-chat-thread{overscroll-behavior:contain;z-index:1;min-height:0;max-height:none;padding-bottom:1rem;position:relative;overflow-y:auto}.room-chat-composer{z-index:3;background:#fffffff0;border:1px solid #5b74d629;border-radius:24px;margin-top:0;padding:.95rem;position:relative;box-shadow:0 -18px 36px #12192814,inset 0 1px #ffffffb3}.room-chat-composer textarea{min-height:72px}.note-uploader-link{color:var(--accent-strong);align-items:center;gap:.7rem;margin-top:.8rem;font-weight:700;text-decoration:none;display:inline-flex}.attachment-card-header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.attachment-card-menu{position:relative}.attachment-dots-button,.attachment-download-button{min-height:42px;color:var(--accent-strong);background:#ffffffbd;border:1px solid #5b74d624;border-radius:12px;justify-content:center;align-items:center;padding:0 .9rem;font-weight:700;text-decoration:none;display:inline-flex}.attachment-dots-button{min-width:42px;padding:0;font-size:1.2rem}.attachment-image-button{cursor:pointer;background:0 0;border:0;width:100%;padding:0}.attachment-card-actions{flex-wrap:wrap;gap:.7rem;margin-top:.8rem;display:flex}.attachment-details-panel{gap:.7rem;margin-top:.8rem;padding:.9rem 1rem;display:grid}.attachment-details-row{grid-template-columns:minmax(88px,110px) minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.attachment-details-row strong{color:var(--accent-strong)}.attachment-details-row span{color:var(--text);word-break:break-word}.attachment-lightbox{background:#fffffff5;border-radius:24px;width:min(920px,92vw);max-height:90vh;padding:1rem;overflow:auto;box-shadow:0 24px 64px #1a20343d}.attachment-lightbox-copy{min-width:0}.attachment-lightbox-copy h3,.attachment-lightbox-copy p{margin:0}.attachment-lightbox-copy p{color:var(--muted);margin-top:.2rem}.attachment-lightbox-overlay{z-index:1300;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c121db8;place-items:center;padding:1.2rem;display:grid;position:fixed;inset:0}.attachment-lightbox::-webkit-scrollbar{width:12px}.attachment-lightbox::-webkit-scrollbar-track{background:#5b74d614;border-radius:999px}.attachment-lightbox::-webkit-scrollbar-thumb{background:linear-gradient(#5b74d6b3,#eca5449e) padding-box padding-box;border:2px solid #0000;border-radius:999px}.attachment-lightbox{scrollbar-width:thin;scrollbar-color:#5b74d6b3 #5b74d614}.attachment-lightbox-header,.attachment-lightbox-footer{justify-content:space-between;align-items:center;gap:1rem;display:flex}.attachment-lightbox-footer small{color:var(--muted)}.attachment-lightbox-image{object-fit:contain;background:#f0f4ffe6;border-radius:18px;width:100%;max-height:70vh;margin:1rem 0}.auth-note-mobile{display:inline-flex}.auth-note-mobile svg{width:1em;height:1em}html[data-theme=dark] .email-shortcut-field,html[data-theme=dark] .auth-recovery-box,html[data-theme=dark] .profile-edit-panel,html[data-theme=dark] .profile-details-panel,html[data-theme=dark] .profile-admin-danger-zone,html[data-theme=dark] .profile-avatar-lightbox,html[data-theme=dark] .attachment-details-panel,html[data-theme=dark] .user-search-card,html[data-theme=dark] .messages-sidebar,html[data-theme=dark] .messages-panel,html[data-theme=dark] .messages-intro-card,html[data-theme=dark] .about-hero-card,html[data-theme=dark] .home-announcements,html[data-theme=dark] .home-announcement-modal,html[data-theme=dark] .room-chat-card,html[data-theme=dark] .messages-contact-card,html[data-theme=dark] .attachment-dots-button,html[data-theme=dark] .attachment-download-button,html[data-theme=dark] .attachment-lightbox,html[data-theme=dark] .notification-hero,html[data-theme=dark] .notification-overview-card,html[data-theme=dark] .notification-copy-meta,html[data-theme=dark] .admin-dashboard-hero,html[data-theme=dark] .nav-theme-button,html[data-theme=dark] .nav-icon-button{background:#141b2bdb;border-color:#8ca3ff29}html[data-theme=dark] .admin-dashboard-hero{background:radial-gradient(circle at 100% 0,#6c84e638,#0000 32%),linear-gradient(160deg,#111725f5,#181f2fe6)}html[data-theme=dark] .admin-dashboard-status,html[data-theme=dark] .admin-section-note,html[data-theme=dark] .admin-announcement-card,html[data-theme=dark] .admin-announcement-user-results,html[data-theme=dark] .admin-queue-tab{background:#121928b8;border-color:#8ca3ff29;box-shadow:inset 0 1px #ffffff0a,0 16px 30px #00000038}html[data-theme=dark] .admin-dashboard-status strong,html[data-theme=dark] .admin-section-count,html[data-theme=dark] .admin-queue-tab strong{color:#b8c8ff}html[data-theme=dark] .admin-section-note p:first-child{color:#eef3ff}html[data-theme=dark] .admin-section-count{background:#8ca3ff1f}html[data-theme=dark] .admin-queue-tab-active{background:linear-gradient(135deg,#8ca3ff2e,#f08ba81a);border-color:#8ca3ff3d}html[data-theme=dark] .notification-hero{background:radial-gradient(circle at 100% 0,#6c84e638,#0000 34%),linear-gradient(160deg,#111725f5,#181f2fe6)}html[data-theme=dark] .notification-overview-card-emphasis{background:linear-gradient(145deg,#5a74d63d,#eca5441f)}html[data-theme=dark] .home-announcement-card{background:#121928c7;border-color:#8ca3ff24}html[data-theme=dark] .home-announcement-modal-list,html[data-theme=dark] .home-announcement-detail-panel,html[data-theme=dark] .admin-announcement-user-results,html[data-theme=dark] .admin-announcement-list{scrollbar-color:#8ca3ffb8 #8ca3ff1a}html[data-theme=dark] .home-announcement-detail-panel{background:linear-gradient(135deg,#8ca3ff2e,#ffffff0a)}html[data-theme=dark] .messages-contact-card-active,html[data-theme=dark] .message-bubble-own,html[data-theme=dark] .messages-sidebar-stat,html[data-theme=dark] .room-chat-summary-chip{background:linear-gradient(135deg,#5a74d63d,#ffffff0a)}html[data-theme=dark] .forum-comment-reply,html[data-theme=dark] .mention-suggestion-button,html[data-theme=dark] .forum-comment-replying button{background:#121928db}html[data-theme=dark] .forum-comment-replying,html[data-theme=dark] .mention-highlight{background:#8ca3ff24}html[data-theme=dark] .mention-suggestion-button,html[data-theme=dark] .forum-comment-replying{border-color:#8ca3ff2e}html[data-theme=dark] .message-bubble-other,html[data-theme=dark] .messages-composer textarea,html[data-theme=dark] .message-edit-form textarea,html[data-theme=dark] .messages-search-empty{background:#121928eb;border-color:#8ca3ff29}html[data-theme=dark] .room-chat-composer{background:#121928fa;border-color:#8ca3ff29;box-shadow:0 -18px 36px #00000038,inset 0 1px #ffffff0a}html[data-theme=dark] .browse-filter-chip,html[data-theme=dark] .search-clear-button{background:#141b2bdb;border-color:#8ca3ff29}html[data-theme=dark] .note-like-button{color:#cbd7ff;background:#8ca3ff1a;border-color:#8ca3ff29}html[data-theme=dark] .note-like-button-active{color:#fff;background:linear-gradient(135deg,#5a74d6b3,#8ca3ff6b);border-color:#8ca3ff3d}html[data-theme=dark] .browse-filter-chip-active{color:#fff;background:linear-gradient(135deg,#8ca3fff2,#9776e8f2)}html[data-theme=dark] .message-voice-note,html[data-theme=dark] .message-attachment,html[data-theme=dark] .messages-recording-indicator,html[data-theme=dark] .message-image-link,html[data-theme=dark] .messages-voice-preview,html[data-theme=dark] .messages-attachment-preview-card{background:#8ca3ff1a;border-color:#8ca3ff29}html[data-theme=dark] .messages-recording-indicator{color:#ff9b9b;box-shadow:0 14px 26px #00000029}html[data-theme=dark] .message-image-link img{background:#121928d6}html[data-theme=dark] .message-attachment-details-menu{background:#121928f5;border-color:#8ca3ff2e;box-shadow:0 18px 34px #00000038}html[data-theme=dark] .message-attachment-file-icon{color:#cbd7ff;background:linear-gradient(135deg,#8ca3ff2e,#ff89ae29)}html[data-theme=dark] .messages-voice-button,html[data-theme=dark] .messages-attachment-button{color:#cbd7ff;background:#8ca3ff1f;border-color:#8ca3ff2e}html[data-theme=dark] .messages-voice-button-recording{color:#ff9b9b;background:#ff85851f;border-color:#ff858533}html[data-theme=dark] .messages-search-input{background:#121928eb;border-color:#8ca3ff29;box-shadow:inset 0 1px #ffffff0a,0 12px 26px #00000029}html[data-theme=dark] .messages-panel-inline .messages-panel-header{border-bottom-color:#8ca3ff24;box-shadow:0 1px #ffffff0a}html[data-theme=dark] .messages-action-menu-button{background:#121928e6;border-color:#8ca3ff3d;box-shadow:inset 0 1px #ffffff0f,0 10px 22px #0000002e}html[data-theme=dark] .messages-action-menu-button span{background:#eef3ff;box-shadow:0 0 8px #8ca3ff57}html[data-theme=dark] .messages-panel-button-row{background:#121928f5;border-color:#8ca3ff33;box-shadow:0 18px 36px #00000057}html[data-theme=dark] .messages-delete-button{color:#ff9b9b;background:#ff85851a;border-color:#ff85852e}html[data-theme=dark] .messages-contact-copy strong,html[data-theme=dark] .messages-panel-user strong,html[data-theme=dark] .message-bubble strong,html[data-theme=dark] .forum-comment-author-link,html[data-theme=dark] .room-chat-summary-chip strong{color:#eef3ff}html[data-theme=dark] .attachment-lightbox-overlay{background:#070b14d1}html[data-theme=dark] .profile-edit-panel{background:radial-gradient(circle at 100% 0,#6c84e62e,#0000 34%),linear-gradient(160deg,#111725f5,#181f2fe6);box-shadow:0 16px 38px #00000038}html[data-theme=dark] .profile-page-public .profile-hero{background:radial-gradient(circle at 12% 16%,#8ca3ff2e,#0000 34%),radial-gradient(circle at 92% 8%,#ff9db51f,#0000 28%),#141b2bdb}html[data-theme=dark] .profile-page-public .profile-details-panel p{border-bottom-color:#8ca3ff24}html[data-theme=dark] .profile-secondary-action,html[data-theme=dark] .profile-password-drawer{background:#141b2be0;border-color:#8ca3ff29}html[data-theme=dark] .profile-edit-panel .form-group label{color:#b8c8ff}html[data-theme=dark] .page-description-box{color:#eef3fff0;background:linear-gradient(135deg,#8ca3ff24,#f08ba81a);border-color:#8ca3ff29}html[data-theme=dark] .profile-update-note{color:#d9e1f5c7;background:linear-gradient(135deg,#8ca3ff24,#f08ba814),#141b2bad;border-color:#8ca3ff2e}html[data-theme=dark] .profile-edit-panel input,html[data-theme=dark] .profile-edit-panel select,html[data-theme=dark] .profile-edit-panel textarea{color:#eef3ff;background:linear-gradient(#101623fa,#171f30f0);border-color:#8ca3ff29;box-shadow:inset 0 1px #ffffff08,0 12px 24px #0003}html[data-theme=dark] .profile-edit-panel input::placeholder,html[data-theme=dark] .profile-edit-panel textarea::placeholder{color:#eef3ff94}html[data-theme=dark] .profile-password-drawer h3,html[data-theme=dark] .profile-password-drawer p,html[data-theme=dark] .profile-details-panel p,html[data-theme=dark] .profile-details-panel strong{color:#eef3ff}@media (width<=760px){.profile-page-header{align-items:flex-start;gap:.75rem}.profile-page-header h1{font-size:clamp(1.45rem,7vw,1.8rem);line-height:1.12}.profile-back-button{border-radius:14px;width:38px;min-width:38px;height:38px;min-height:38px;padding:0;font-size:1rem;line-height:1}.profile-back-mobile-symbol{font-weight:900;display:inline-flex;transform:translateY(-1px)}.profile-back-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.profile-hero-expanded{grid-template-columns:1fr}.profile-hero-main{flex-direction:column;align-items:flex-start}.profile-page-public .profile-hero{border-radius:22px;gap:.85rem;padding:.95rem}.profile-page-public .profile-hero-main{grid-template-columns:auto minmax(0,1fr);gap:.72rem;width:100%;display:grid}.profile-page-public .profile-hero-main .user-avatar-xl{border-radius:22px;width:68px;height:68px}.profile-page-public .profile-hero-main h2{font-size:1.2rem}.profile-page-public .profile-hero-main p{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;line-height:1.42;display:-webkit-box;overflow:hidden}.profile-page-public .profile-public-badge-row{gap:.38rem;margin-top:.52rem}.profile-page-public .profile-role-badge,.profile-page-public .ownership-badge{padding:.34rem .56rem;font-size:.68rem}.profile-page-public .profile-public-actions{grid-column:1/-1;gap:.45rem;width:100%;margin-top:.1rem;display:flex}.profile-page-public .profile-public-actions .card-link-button,.profile-page-public .profile-public-actions .profile-report-button{border-radius:13px;width:100%;min-height:36px;padding:.5rem .7rem;font-size:.76rem}.profile-report-icon-button{border-radius:12px;justify-self:auto;width:36px;min-width:36px;height:36px;position:absolute;top:.72rem;right:.72rem}.profile-report-icon-button svg{width:.92rem;height:.92rem}.profile-avatar-button{border-radius:22px}.profile-avatar-lightbox{border-radius:22px;padding:.8rem}.profile-avatar-lightbox-header{margin-bottom:.75rem}.profile-avatar-lightbox-header h3{font-size:1rem}.profile-avatar-lightbox-header button{width:34px;min-width:34px;height:34px}.profile-avatar-lightbox img{border-radius:18px;max-height:68vh}.profile-page-public .profile-details-panel{border-radius:16px;grid-area:auto;gap:.38rem;padding:.72rem;position:static}.profile-page-public .profile-details-panel p{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:.45rem;padding-bottom:.36rem;font-size:.76rem;display:grid}.profile-page-public .profile-details-panel p.profile-email-detail-row{grid-template-columns:minmax(0,1fr);align-items:start;gap:.22rem}.profile-page-public .profile-details-panel strong{font-size:.72rem}.profile-admin-danger-zone{border-radius:18px;gap:.72rem;padding:.82rem;display:grid}.profile-admin-danger-zone h2{font-size:1rem}.profile-admin-danger-zone p{font-size:.78rem;line-height:1.4}.profile-admin-danger-actions{justify-content:stretch}.profile-admin-danger-actions button{width:100%}.profile-page-public .profile-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.profile-page-public .summary-card{border-radius:16px;padding:.72rem}.profile-page-public .summary-card h3{font-size:.76rem}.profile-page-public .summary-card p{font-size:1.2rem}.profile-picture-editor{flex-direction:column;align-items:flex-start}.auth-note-desktop{display:none}.auth-note-mobile{display:inline-flex}}.password-field{position:relative}.password-field input{min-width:0}.password-input-has-toggle{padding-right:3.8rem!important}.password-toggle{color:var(--muted);box-shadow:none}.password-toggle:hover{color:var(--accent-strong);transform:none}.password-toggle-inline{background:0 0;border-radius:999px;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;padding:0;display:inline-flex;position:absolute;top:50%;right:.7rem;transform:translateY(-50%)}.password-toggle-inline:hover{background:#5b74d614;transform:translateY(-50%)}.password-toggle-inline svg{width:1.2rem;height:1.2rem}@keyframes authFloat{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(18px,-22px)scale(1.08)}}@keyframes authFloatReverse{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(-18px,24px)scale(.94)}}@keyframes authDrift{0%,to{transform:translate(0,0)rotate(-4deg)}50%{transform:translate(16px,-22px)rotate(8deg)}}@media (width<=980px){.auth-card{grid-template-columns:1fr}.forum-vote-panel{flex-flow:wrap;justify-content:flex-start;width:100%}.notification-overview{grid-template-columns:1fr}.notification-meta-row{flex-direction:column;align-items:flex-start}.notification-meta-row .admin-review-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.admin-review-actions,.admin-review-actions-sticky{flex-wrap:wrap}.messages-shell{grid-template-columns:1fr}.forum-post-meta,.note-badge-row{align-items:flex-start}.forum-vote-panel strong,.forum-vote-total{width:100%}.forum-vote-button{flex:130px}}@media (width<=640px){.brand-logo-copy span{display:none}.auth-shell{padding-inline:.55rem}.auth-card{border-radius:28px;gap:.85rem;width:100%;max-width:100%;padding:.85rem;overflow:hidden}.auth-copy{padding:1.25rem;min-height:280px;padding-bottom:6.5rem}.auth-copy-books{transform-origin:100% 100%;width:100%;height:100%;inset:0;transform:scale(.78)}.auth-copy-book{width:48px;height:48px}.auth-copy-book-one{top:52%;right:11%}.auth-copy-book-two{top:66%;right:25%}.auth-copy-book-three{top:79%;right:8%}.auth-copy-book-four{top:58%;right:42%}.auth-copy-book-five{top:82%;right:29%}.auth-copy-book-six{top:72%;right:51%}.auth-copy-book-seven{top:68%;right:4%}.classblocks-panel{border-radius:22px;gap:.65rem;width:100%;min-width:0;max-width:100%;padding:.8rem;overflow:hidden}.classblocks-header{gap:.65rem}.classblocks-header h2{font-size:clamp(1.45rem,8vw,1.8rem)}.classblocks-header strong{min-width:58px;padding:.45rem .58rem}.classblocks-exit-button{padding:.46rem .58rem;font-size:.76rem}.classblocks-board{border-radius:20px;gap:clamp(.18rem,1.25vw,.28rem);width:100%;max-width:100%;padding:clamp(.42rem,2vw,.58rem)}.classblocks-cell{border-radius:clamp(6px,2vw,9px)}.classblocks-pieces{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;min-width:0}.classblocks-piece{grid-template-columns:repeat(var(--piece-cols), 14px);grid-template-rows:repeat(var(--piece-rows), 14px);gap:.18rem;min-width:0;min-height:48px;padding:.25rem}.classblocks-piece-dot,.classblocks-piece-gap{width:14px;height:14px}.classblocks-start-hint{min-width:132px;padding:.7rem .8rem}.classblocks-message-popover{top:7.55rem;left:.8rem;right:.8rem}.admin-section-block,.admin-dashboard-hero,.notification-hero,.notification-card,.admin-report-card{border-radius:22px;padding:1.15rem}.notification-copy-meta{width:100%;padding:.9rem 1rem}.messages-panel-header,.user-search-card{flex-direction:column;align-items:flex-start}.messages-panel-inline .messages-panel-header{flex-direction:row;align-items:flex-start;padding-bottom:.55rem}.messages-shell{gap:.75rem}.messages-sidebar{gap:.62rem}.messages-sidebar-eyebrow{padding:.24rem .56rem;font-size:.62rem}.messages-sidebar-header h1{margin-top:.28rem;font-size:clamp(1.45rem,8vw,1.9rem)}.messages-sidebar-header p:not(.page-description-box){max-width:100%;margin-top:.28rem;font-size:.82rem;line-height:1.35}.messages-search-input{border-radius:14px;padding:.68rem .78rem;font-size:.88rem}.messages-sidebar-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.room-chat-summary{grid-template-columns:1fr}.messages-sidebar-stat{border-radius:14px;padding:.52rem .58rem}.messages-sidebar-stat strong{font-size:.98rem}.messages-sidebar-stat span{font-size:.72rem;line-height:1.2}.messages-list-section{gap:.48rem}.messages-list-section-header strong{font-size:.82rem}.user-search-card-actions{grid-template-columns:1fr 1fr;width:100%}.messages-contact-list{gap:.38rem}.messages-contact-card{border-radius:14px;gap:.5rem;padding:.5rem .56rem}.messages-contact-card .user-avatar-md{border-radius:16px;width:44px;height:44px}.messages-contact-copy{gap:.08rem}.messages-contact-copy strong{font-size:.86rem}.messages-contact-copy p,.messages-contact-copy small,.messages-contact-stamp{font-size:.72rem}.messages-unread-badge{min-width:20px;height:20px;font-size:.68rem}.messages-search-empty{border-radius:14px;padding:.68rem .72rem}.messages-search-empty p{font-size:.78rem;line-height:1.35}.messages-panel{grid-template-rows:auto minmax(340px,1fr) auto;gap:.65rem;height:min(820px,88vh);min-height:min(700px,84vh)}.messages-panel-user{gap:.55rem}.messages-panel-user .user-avatar-md{border-radius:16px;width:46px;height:46px}.messages-panel-user strong{font-size:.92rem}.messages-panel-user p{font-size:.78rem}.messages-panel-actions{justify-content:flex-end;gap:.45rem;width:auto;min-width:0}.messages-action-menu-button{gap:.1rem;width:32px;height:32px;min-height:32px}.messages-action-menu-button span{width:2.5px;height:2.5px}.messages-panel-button-row{min-width:132px}.messages-panel-button-row .card-link-button,.messages-panel-button-row .messages-delete-button{min-height:32px;padding:0 .52rem;font-size:.72rem}.messages-panel-meta{justify-content:center;width:100%;padding:.28rem .42rem;font-size:.68rem}.messages-delete-button{min-height:36px;padding:0 .72rem;font-size:.78rem}.message-bubble{border-radius:16px;max-width:94%;padding:.58rem .68rem;font-size:.86rem}.message-bubble-actions{gap:.2rem;top:-.5rem;right:.38rem}.message-action-button{width:29px;min-width:29px;height:29px;min-height:29px}.message-action-button svg{width:.86rem;height:.86rem}.message-edit-form textarea{border-radius:13px;width:min(280px,72vw);min-height:72px;padding:.58rem .65rem;font-size:.82rem}.message-edit-actions{gap:.34rem}.message-edit-actions button{min-height:30px;padding:0 .62rem;font-size:.72rem}.message-bubble p{margin-top:.12rem;line-height:1.38}.message-bubble small{margin-top:.32rem;font-size:.68rem}.message-voice-note{grid-template-columns:auto minmax(92px,1fr) auto;gap:.42rem;width:min(250px,72vw);min-width:min(210px,70vw)}.message-voice-play-button{aspect-ratio:1;border-radius:50%;flex:0 0 32px;width:32px;min-width:32px;max-width:32px;height:32px;min-height:32px;max-height:32px;padding:0}.message-voice-waveform{gap:1.5px;height:34px}.message-voice-waveform-bar{width:2px}.message-voice-note-duration{font-size:.68rem}.message-attachment{border-radius:14px;gap:.44rem;width:min(250px,72vw);padding:.34rem}.message-image-attachment{border-radius:15px;width:min(260px,74vw)}.message-image-link,.message-image-link img{border-radius:15px}.message-image-link img{max-height:220px}.message-attachment-menu-button{color:#fff;background:#0f172ab8;border-color:#ffffffb3;width:30px;height:30px;min-height:30px;top:.42rem;right:.42rem;box-shadow:0 10px 20px #0f172a47}.message-attachment-menu-button span{width:3.5px;height:3.5px}.message-attachment-details-menu{border-radius:14px;padding:.62rem;top:2.45rem;right:.32rem}.message-attachment-file-icon{border-radius:12px;width:36px;height:36px}.message-attachment-copy strong,.messages-attachment-preview-card strong{font-size:.76rem}.message-attachment-copy small,.messages-attachment-preview-card small{font-size:.66rem}.attachment-lightbox{border-radius:20px;width:min(100%,96vw);max-height:88vh;padding:.9rem}.attachment-lightbox-header,.attachment-lightbox-footer{flex-direction:column;align-items:flex-start}.attachment-lightbox-footer .attachment-download-button,.notification-header .secondary-button,.notification-meta-row .secondary-button,.notification-meta-row .card-link-button{width:100%}.attachment-details-row{grid-template-columns:1fr;gap:.22rem}.forum-post-meta,.note-badge-row{gap:.6rem}.messages-panel,.messages-sidebar,.room-chat-card{border-radius:18px;padding:.72rem}.room-chat-card{gap:.58rem;min-height:min(620px,82vh);max-height:min(780px,86vh)}.messages-panel-inline{margin:-.12rem 0 .4rem}.messages-thread,.room-chat-thread{gap:.48rem;min-height:320px;padding:.1rem .18rem}.room-chat-thread{overscroll-behavior:contain;min-height:0;padding-bottom:.75rem;overflow-y:auto}.messages-panel-inline .messages-thread{overscroll-behavior:contain;min-height:320px;max-height:none;overflow-y:auto}.messages-composer{gap:.52rem;padding-top:.65rem}.room-chat-composer{border-radius:18px;padding:.68rem}.messages-composer textarea{resize:none;border-radius:14px;height:42px;min-height:42px;max-height:74px;padding:.48rem .68rem;font-size:.86rem;line-height:1.25}.messages-composer-footer{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.messages-privacy-bubble{border-radius:15px;max-width:none;padding:.52rem .58rem .52rem .68rem;bottom:calc(100% + .48rem);left:0;right:0}.messages-privacy-bubble span{font-size:.72rem}.messages-privacy-bubble button{width:28px;min-width:28px;height:28px}.messages-composer-actions{justify-content:flex-end;gap:.42rem;display:inline-flex}.messages-voice-button,.messages-attachment-button{justify-content:center;width:42px;min-width:42px;height:42px;min-height:42px;padding:0}.messages-voice-icon{margin-right:0}.messages-attachment-preview{grid-template-columns:1fr;gap:.38rem}.messages-attachment-preview-card{border-radius:14px;padding:.36rem}.messages-attachment-preview-card img{width:36px;height:36px}.messages-voice-button-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.messages-voice-preview{grid-template-columns:minmax(0,1fr) auto auto;gap:.45rem}.messages-recording-indicator{justify-content:center;gap:.45rem;width:100%;padding:.42rem .56rem}.messages-recording-indicator strong{font-size:.72rem}.messages-recording-wave{height:20px}.messages-recording-wave span{width:2.5px}.messages-voice-preview audio{grid-column:1/-1}.messages-voice-preview button{justify-self:end;min-height:32px;font-size:.72rem}.messages-voice-preview .messages-voice-cancel{justify-self:start;padding-inline:.72rem}.messages-contact-list{max-height:none}.user-search-card-actions,.messages-composer button{width:100%}.messages-composer-actions button,.messages-composer .messages-voice-button,.messages-composer .messages-attachment-button{width:auto}.messages-composer-actions button[type=submit]{white-space:nowrap;min-height:42px;padding:0 .9rem}.messages-voice-preview button{width:auto}}@media (width<=540px){.app-footer{margin-top:.45rem;padding:.35rem .65rem .32rem}.app-footer-inner{align-items:center;gap:.22rem;width:100%}.app-footer-brand{justify-items:center;gap:.08rem;display:grid}.app-footer-brand .brand-logo{gap:.38rem}.app-footer-brand .brand-logo-mark{border-radius:8px;width:28px;height:28px}.app-footer-brand .brand-logo-wordmark{letter-spacing:.01em;font-size:.78rem}.app-footer p{display:none}.footer-top-button{border-radius:999px;width:auto;min-height:28px;padding:.28rem .62rem;font-size:.68rem}.app-footer-meta{font-size:.58rem;line-height:1.2}.about-page,.notifications-page{gap:.85rem}.about-page .about-hero,.notifications-page .notification-hero{border-radius:22px;margin-bottom:.75rem;padding:.95rem}.about-page .about-hero h1,.notifications-page .notification-copy h1{margin-bottom:.45rem;font-size:clamp(1.45rem,7.5vw,1.82rem);line-height:1.12}.about-page .about-hero p:not(.page-description-box),.notifications-page .notification-copy-meta p{font-size:.82rem;line-height:1.42}.about-page .about-hero .page-description-box,.messages-intro-card .page-description-box{border-radius:16px;margin-top:.62rem;padding:.78rem .86rem;font-size:.92rem;line-height:1.42}.about-page .about-grid,.about-page .about-feature-list{grid-template-columns:1fr;gap:.65rem;margin-bottom:.85rem}.about-page .about-card,.about-page .about-section,.about-page .about-feature-item{border-radius:18px;padding:.82rem}.about-page .about-card h2,.about-page .about-section h2{margin:0 0 .55rem;font-size:1.02rem}.about-page .about-card p,.about-page .about-feature-item p,.about-page .about-step p{font-size:.8rem;line-height:1.42}.about-page .about-steps{gap:.55rem;display:grid}.about-page .about-step{border-radius:16px;gap:.65rem;padding:.68rem}.about-page .about-step-number{width:30px;min-width:30px;height:30px;font-size:.8rem}.about-page .about-step h3,.about-page .about-feature-item h3{margin:0 0 .24rem;font-size:.9rem;line-height:1.2}.notifications-page .notification-shell{gap:.75rem}.notifications-page .notification-header{gap:.65rem}.notifications-page .notification-copy{gap:.45rem}.notifications-page .notification-copy-meta{border-radius:16px;padding:.65rem .72rem}.notifications-page .notification-header .secondary-button{border-radius:13px;min-height:36px;padding:.5rem .78rem;font-size:.76rem}.notifications-page .notification-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:.72rem}.notifications-page .notification-overview-card{border-radius:16px;padding:.68rem .72rem}.notifications-page .notification-overview-card strong{font-size:1.15rem}.notifications-page .notification-overview-card span{font-size:.72rem;line-height:1.25}.notifications-page .notification-list{gap:.65rem}.notifications-page .notification-card{border-radius:18px;padding:.78rem .82rem .78rem .95rem}.notifications-page .notification-card-accent{width:4px}.notifications-page .admin-review-header{align-items:flex-start;gap:.5rem}.notifications-page .admin-review-header h3{margin:0 0 .22rem;font-size:.92rem;line-height:1.2}.notifications-page .admin-review-header p{font-size:.78rem;line-height:1.38}.notifications-page .status-pill{padding:.28rem .5rem;font-size:.64rem}.notifications-page .notification-meta-row{gap:.55rem;margin-top:.62rem;display:grid}.notifications-page .notification-meta-row small{font-size:.68rem}.notifications-page .notification-meta-row .admin-review-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.42rem;width:100%;display:grid}.notifications-page .notification-meta-row .card-link-button,.notifications-page .notification-meta-row .secondary-button{border-radius:12px;width:100%;min-height:34px;padding:.44rem .58rem;font-size:.72rem}.notifications-page .notification-empty-state{border-radius:18px;padding:.9rem}.page:not(.login-page){gap:.85rem}.page:not(.login-page)>h1{margin-bottom:.48rem;font-size:clamp(1.42rem,7.2vw,1.85rem);line-height:1.08}.hero:not(.auth-hero):not(.about-hero),.note-header,.note-content,.citation-panel,.review-section,.admin-dashboard-hero,.admin-section-block,.admin-review-card,.admin-report-card,.rooms-panel,.room-hero-card,.room-card,.room-composer-card,.forum-form,.forum-post,.recovery-card,.recovery-panel,.upload-card,.upload-panel{border-radius:18px;padding:.82rem}.note-content,.citation-panel,.review-section,.forum-post,.admin-section-block,.rooms-panel,.room-card,.room-composer-card{box-shadow:0 14px 32px #596ed81f}.note-header,.note-content,.citation-panel,.review-section,.admin-section-block+.admin-section-block,.forum-post+.forum-post,.room-card+.room-card{margin-top:.72rem}.admin-page .admin-dashboard-hero{gap:.7rem}.admin-dashboard-status{text-align:left;justify-content:space-between;align-items:center;min-width:0;padding:.78rem .9rem;display:flex}.admin-dashboard-status strong{font-size:1.75rem}.admin-section-note{border-radius:15px;padding:.68rem .74rem}.admin-section-note p{font-size:.78rem}.admin-section-count{justify-self:start;padding:.44rem .62rem;font-size:.72rem}.admin-queue-toggle{grid-template-columns:1fr;gap:.55rem}.admin-queue-tab{border-radius:16px;min-height:56px;padding:.72rem .8rem}.admin-queue-tab span{font-size:.82rem}.admin-queue-tab strong{font-size:1.15rem}.admin-section-heading,.rooms-panel-header,.room-card-top,.room-card-meta,.room-card-actions,.forum-post-meta,.note-meta-grid,.review-card,.admin-review-card{gap:.52rem}.admin-dashboard-copy,.admin-section-heading,.rooms-panel-header,.room-hero-copy,.note-header-copy,.forum-post-meta-copy{gap:.36rem}.admin-section-heading h2,.rooms-panel-header h2,.room-hero-card h2,.review-section h2,.citation-panel h2,.forum-post h2,.note-header h1{font-size:clamp(1rem,5.1vw,1.18rem);line-height:1.15}.admin-dashboard-copy p,.admin-review-card p,.admin-report-card p,.rooms-panel-header p,.room-hero-card p,.room-card p,.review-section p,.citation-panel p,.forum-post p,.note-content p,.note-header p{font-size:.8rem;line-height:1.4}.summary-card,.notification-overview-card,.room-stat-card,.admin-stat-card{border-radius:16px;min-height:auto;padding:.68rem .72rem}.summary-card p,.notification-overview-card span,.room-stat-card span,.admin-stat-card span{font-size:.72rem;line-height:1.25}.summary-card strong,.notification-overview-card strong,.room-stat-card strong,.admin-stat-card strong{font-size:1.12rem;line-height:1}.forum-form-grid,.profile-form-grid,.upload-form-grid,.review-form-grid,.room-form-grid{gap:.62rem}.forum-form label,.profile-edit-panel label,.upload-card label,.room-composer-card label{gap:.32rem;font-size:.72rem}.forum-form input,.forum-form select,.forum-form textarea,.profile-edit-panel input,.profile-edit-panel textarea,.upload-card input,.upload-card select,.upload-card textarea,.room-composer-card input,.room-composer-card textarea,.review-section input,.review-section textarea,.review-section select{border-radius:13px;min-height:40px;padding:.56rem .68rem;font-size:.8rem}.forum-form textarea,.profile-edit-panel textarea,.upload-card textarea,.upload-page .upload-form textarea,.room-composer-card textarea,.review-section textarea{min-height:88px}.upload-page .upload-form textarea{height:128px}.upload-page .upload-form{border-radius:18px;padding:.78rem}.upload-page .form-group{margin-bottom:.62rem}.primary-button,.secondary-button,.card-link-button,.danger-button,.ghost-button{border-radius:13px;min-height:36px;padding:.48rem .72rem;font-size:.74rem}.admin-review-actions,.room-card-actions,.forum-post-actions,.review-actions{gap:.42rem}.status-pill,.role-badge,.note-type-chip,.subject-chip{padding:.28rem .48rem;font-size:.64rem;line-height:1.1}.profile-page .note-list{grid-template-columns:1fr;gap:.72rem}.profile-page .note-card{border-radius:16px;min-height:0;padding:.78rem;position:relative}.profile-page .note-card:hover{transform:translateY(-2px)}.profile-page .note-card-inner{gap:0}.profile-page .note-badge-row{justify-content:flex-start;gap:.4rem;min-height:0;padding-right:4.85rem}.profile-page .ownership-badge,.profile-page .status-pill{padding:.3rem .5rem;font-size:.66rem}.profile-page .note-card-title{-webkit-line-clamp:1;min-height:0;margin:.5rem 0 .34rem;font-size:.98rem;line-height:1.2}.profile-page .subject{margin-bottom:.4rem;padding:.28rem .5rem;font-size:.68rem}.profile-page .preview{-webkit-line-clamp:2;min-height:0;margin-bottom:.48rem;font-size:.76rem;line-height:1.38}.profile-page .reference-button,.profile-page .reference-button-hidden,.profile-page .card-link-button-placeholder{display:none}.profile-page .note-card-action-row,.profile-page .note-owner-actions{gap:.34rem;min-height:0}.profile-page .note-card-action-row{margin-top:0}.profile-page .note-card-action-row .card-action-button{width:auto;height:32px;min-height:32px;padding:0 .55rem}.profile-page .note-owner-actions{margin-top:0;position:absolute;top:.62rem;right:.62rem}.profile-page .note-owner-actions .card-link-button{width:30px;height:30px;min-height:30px;padding:0}.profile-page .note-card-button-icon{width:.9rem;height:.9rem}.profile-page .note-owner-actions .note-card-button-label,.profile-page .note-card-action-row .note-card-button-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.profile-page .note-card-button-count{font-size:.72rem}.profile-page .note-meta{border-top:1px solid #5b74d61a;flex-direction:row;justify-content:space-between;align-items:center;gap:.48rem;margin-top:.46rem;padding-top:.46rem;font-size:.68rem;display:flex}.profile-page .note-meta span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.room-details-page .room-hero-titlebar{grid-template-columns:auto minmax(0,1fr) auto;gap:.45rem;margin-bottom:.55rem}.room-details-page .room-hero-titlebar .secondary-button,.room-details-page .room-hero-titlebar .room-delete-button{border-radius:13px;width:38px;height:38px;min-height:38px;padding:0}.room-details-page .room-hero-titlebar .dashboard-strip-label{justify-self:center}.room-details-page .room-toolbar-action-icon{width:1rem;height:1rem}.room-details-page .room-toolbar-action-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.classrooms-page .rooms-grid{flex-direction:column;gap:.55rem;display:flex}.classrooms-page .room-card{min-height:0;box-shadow:none;border-radius:15px;gap:.34rem;padding:.68rem .72rem}.classrooms-page .room-card+.room-card{margin-top:0}.classrooms-page .room-card-top{flex-wrap:nowrap;justify-content:flex-start;gap:.35rem}.classrooms-page .room-card .status-pill,.classrooms-page .room-card .ownership-badge{flex:0 auto;padding:.26rem .46rem;font-size:.62rem}.classrooms-page .room-card h3{-webkit-line-clamp:1;margin:.08rem 0 0;font-size:.92rem;line-height:1.18}.classrooms-page .room-card p{-webkit-line-clamp:1;font-size:.74rem;line-height:1.3}.classrooms-page .room-card-footer{gap:.42rem;margin-top:0;padding-top:.12rem}.classrooms-page .room-card-meta{grid-template-columns:minmax(0,1fr) auto;gap:.35rem;width:100%;font-size:.68rem;line-height:1.2;display:grid}.classrooms-page .room-card-meta small{min-width:0}.classrooms-page .room-card-meta small:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}@media (width<=720px){.room-details-page .room-members-list{gap:.42rem}.room-details-page .room-member-row{border-radius:15px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"member actions";align-items:center;gap:.42rem;height:58px;min-height:58px;padding:.44rem .52rem;overflow:hidden}.room-details-page .room-member-main{grid-area:member;align-items:center;gap:.5rem;min-width:0}.room-details-page .room-member-main .user-avatar-sm{border-radius:11px;width:34px;height:34px}.room-details-page .room-member-copy{gap:.02rem;min-width:0}.room-details-page .room-member-name-row{min-width:0}.room-details-page .room-member-name-row strong{font-size:.82rem}.room-details-page .room-member-name-row .status-pill,.room-details-page .room-member-badges,.room-details-page .room-member-copy p{display:none}.room-details-page .room-member-copy small{max-width:100%;font-size:.63rem}.room-details-page .room-member-actions{grid-area:actions;justify-content:flex-end;align-items:center;gap:.28rem;min-width:0;padding:0;display:flex}.room-details-page .room-member-actions .secondary-button,.room-details-page .room-member-actions .card-link-button{border-radius:10px;width:30px;min-width:30px;height:30px;min-height:30px;padding:0;font-size:0}.room-details-page .room-member-action-icon{width:.86rem;height:.86rem}.room-details-page .room-member-action-label{display:none!important}}@media (width<=760px){.message-bubble .message-voice-note .message-voice-play-button{aspect-ratio:1;box-shadow:none;clip-path:none;background:0 0;padding:0;overflow:visible;border-radius:50%!important;flex:0 0 34px!important;width:34px!important;min-width:34px!important;max-width:34px!important;height:34px!important;min-height:34px!important;max-height:34px!important}.message-bubble .message-voice-note .message-voice-play-button:before{border-radius:50%;inset:0}.message-bubble .message-attachment-menu-button{background:#0f172ab8;box-shadow:0 10px 20px #0f172a47;border-radius:50%!important;flex:0 0 30px!important;width:30px!important;min-width:30px!important;max-width:30px!important;height:30px!important;min-height:30px!important;max-height:30px!important;padding:0!important}}.room-details-page .room-private-forum-section .forum-list{gap:.75rem}.room-details-page .room-private-forum-section .forum-post{border-radius:20px;grid-template-columns:1fr;gap:.72rem;padding:.88rem;display:grid;overflow:hidden}.room-details-page .room-private-forum-section .forum-post-body{order:1;min-width:0}.room-details-page .room-private-forum-section .forum-vote-panel{background:linear-gradient(135deg,#5b74d61a,#f08ba81a);border-radius:16px;order:2;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:center;gap:.42rem;width:100%;padding:.42rem;display:grid}.room-details-page .room-private-forum-section .forum-vote-panel strong{text-align:center;background:#ffffffb8;border-radius:999px;min-width:2.25rem;padding:.35rem .5rem;font-size:.82rem;line-height:1}.room-details-page .room-private-forum-section .forum-vote-total,.room-details-page .room-private-forum-section .forum-vote-label{display:none}.room-details-page .room-private-forum-section .forum-vote-panel button{border-radius:999px;width:100%;min-width:0;height:32px;min-height:32px;padding:.22rem .38rem}.room-details-page .room-private-forum-section .forum-vote-button{flex-direction:row;gap:.24rem;font-size:.78rem}.room-details-page .room-private-forum-section .forum-post-meta{align-items:center;gap:.5rem}.room-details-page .room-private-forum-section .forum-post-meta-copy{grid-template-columns:auto minmax(0,1fr);gap:.42rem;width:100%;display:grid}.room-details-page .room-private-forum-section .forum-post-meta-copy small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.room-details-page .room-private-forum-section .forum-post-body h3{overflow-wrap:anywhere;margin:.55rem 0 .24rem;font-size:1rem;line-height:1.2}.room-details-page .room-private-forum-section .forum-post-body>p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.84rem;line-height:1.42;display:-webkit-box;overflow:hidden}.room-details-page .room-private-forum-section .forum-comment-toggle{white-space:nowrap;border-radius:999px;max-width:100%;min-height:34px;padding:.48rem .72rem;font-size:.75rem}@media (width<=420px){.room-details-page .room-private-forum-section{padding:.78rem}.room-details-page .room-private-forum-section .rooms-list-header{margin-bottom:.72rem;padding-bottom:.58rem}.room-details-page .room-private-forum-section .rooms-list-header p{display:none}.room-details-page .room-private-forum-section .forum-post{border-radius:17px;padding:.72rem}.room-details-page .room-private-forum-section .forum-post-meta-copy{grid-template-columns:1fr;gap:.32rem}.room-details-page .room-private-forum-section .forum-post-meta-copy small{font-size:.72rem}.room-details-page .room-private-forum-section .forum-vote-panel{gap:.34rem;padding:.34rem}.room-details-page .room-private-forum-section .forum-vote-panel button{height:30px;min-height:30px}.room-details-page .room-private-forum-section .forum-post-body h3{margin-top:.42rem;font-size:.94rem}}@media (width<=540px){.admin-announcement-history-header,.admin-announcement-card{grid-template-columns:1fr}.admin-announcement-history-header{align-items:flex-start}.admin-announcement-card{border-radius:17px;gap:.7rem;padding:.82rem}.admin-announcement-actions{justify-content:flex-start}.admin-announcement-icon-button{border-radius:12px;width:36px;min-width:36px;height:36px}.admin-announcement-edit-actions{grid-template-columns:1fr 1fr;display:grid}.admin-announcement-edit-actions button{min-height:36px;padding:.5rem .7rem;font-size:.74rem}}@media (width<=640px){.admin-announcement-form{gap:.68rem;margin-bottom:.9rem;display:grid}.admin-announcement-grid{grid-template-columns:1fr;gap:.58rem;margin-bottom:0}.admin-announcement-recipient{min-width:0}.admin-announcement-user-results{border-radius:15px;max-height:180px;margin-top:.42rem;position:static;box-shadow:0 12px 26px #5b74d61f}.home-announcement-modal-list::-webkit-scrollbar{width:8px;height:8px}.home-announcement-detail-panel::-webkit-scrollbar{width:8px;height:8px}.admin-announcement-user-results::-webkit-scrollbar{width:8px;height:8px}.admin-announcement-list::-webkit-scrollbar{width:8px;height:8px}.admin-announcement-user-option{border-radius:12px;padding:.58rem .68rem;font-size:.78rem}.admin-announcement-form textarea{min-height:108px}.admin-announcement-form>button[type=submit]{border-radius:16px;width:100%;min-height:42px;padding:.65rem .9rem;font-size:.86rem}.admin-announcement-history{gap:.72rem;margin-top:.9rem}.admin-announcement-history-header{align-items:center;gap:.65rem}.admin-announcement-history-header h3{font-size:.98rem}.admin-announcement-history-actions{justify-content:space-between;gap:.45rem;width:100%}.admin-announcement-history-actions span{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;padding:.32rem .55rem;font-size:.68rem;font-weight:700}.admin-announcement-history-actions button{border-radius:12px;min-height:34px;padding:.44rem .66rem;font-size:.7rem}.admin-announcement-list{gap:.58rem;max-height:none;padding-right:0;overflow:visible}.admin-announcement-card{border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.55rem;padding:.72rem}.admin-announcement-card-copy{min-width:0}.admin-announcement-card-copy strong,.admin-announcement-card-copy p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-announcement-card-copy strong{font-size:.82rem}.admin-announcement-card-copy p{margin-top:.18rem;font-size:.74rem;line-height:1.3}.admin-announcement-card-copy small{margin-top:.34rem;font-size:.64rem}.admin-announcement-actions{justify-content:flex-end;gap:.34rem}.admin-announcement-icon-button{border-radius:11px;width:34px;min-width:34px;height:34px}.admin-announcement-icon-button svg{width:.92rem;height:.92rem}.admin-announcement-edit-form{gap:.52rem;padding-top:.62rem}.admin-announcement-edit-form input,.admin-announcement-edit-form textarea{font-size:.8rem}.admin-announcement-edit-form textarea{min-height:92px}.admin-announcement-edit-actions{grid-template-columns:1fr 1fr;gap:.46rem}.admin-announcement-edit-actions button{border-radius:12px;min-height:34px;padding:.46rem .58rem;font-size:.7rem}}@media (width<=380px){.admin-announcement-card{grid-template-columns:1fr}.admin-announcement-actions{justify-content:flex-start;width:100%}}@media (width<=640px){.admin-page .admin-dashboard-hero{border-radius:18px;gap:.55rem;margin-bottom:.75rem;padding:.78rem}.admin-dashboard-copy .dashboard-strip-label{letter-spacing:.08em;font-size:.64rem}.admin-dashboard-copy h1{text-align:left;margin-top:.25rem;font-size:clamp(1.34rem,8vw,1.9rem);line-height:.98}.admin-dashboard-copy p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.48rem;font-size:.76rem;line-height:1.35;display:-webkit-box;overflow:hidden}.admin-dashboard-status{border-radius:16px;min-height:42px;padding:.48rem .68rem}.admin-dashboard-status strong{font-size:1.35rem}.admin-dashboard-status span{letter-spacing:.06em;margin-top:0;font-size:.62rem}.admin-page .admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-bottom:.85rem}.admin-page .admin-stat-card{border-radius:16px;min-height:78px;padding:.7rem}.admin-page .admin-stat-card:after{opacity:.42;width:54px;height:54px;inset:auto -16px -20px auto}.admin-page .admin-stat-card h3{margin-bottom:.22rem;font-size:.74rem;line-height:1.15}.admin-page .admin-stat-card p{font-size:1.18rem;line-height:1}}@media (width<=380px){.admin-dashboard-copy h1{font-size:1.42rem}.admin-dashboard-copy p{-webkit-line-clamp:1}.admin-dashboard-status{min-height:38px;padding:.42rem .58rem}.admin-dashboard-status strong{font-size:1.16rem}.admin-dashboard-status span{font-size:.56rem}.admin-page .admin-stat-grid{gap:.42rem}.admin-page .admin-stat-card{min-height:68px;padding:.58rem}.admin-page .admin-stat-card h3{font-size:.66rem}.admin-page .admin-stat-card p{font-size:1.02rem}}
