body,html{margin:0;padding:0;font-family:Cambria Math,Cambria,Times New Roman,Times,serif}body{min-height:100vh;display:flex;flex-direction:column}@import url("https://fonts.googleapis.com/css2?family=Bungee&display=swap");@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@900&display=swap");header{position:relative}header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,#ffffff 0,#e5e7eb 20%,#e5e7eb 80%,#ffffff);pointer-events:none}nav,nav ul{display:flex;align-items:center}nav ul{list-style:none;gap:1rem;padding:.75rem 1rem;margin:0 0 0 50px}nav a{color:#111827;text-decoration:none;font-family:Bahnschrift SemiBold SemiCondensed,Bahnschrift,Segoe UI,Arial,sans-serif;font-weight:600}.home-link{display:inline-flex;align-items:center;margin-bottom:6.5px;margin-right:25px;color:#111827;transition:color .2s ease-in-out}.home-link svg path{transition:stroke .2s ease-in-out}.home-link:hover{color:#f97316}.nav-link-rise{position:relative;display:inline-block;color:#111827;text-decoration:none;overflow:hidden}.nav-link-rise:after{content:attr(data-text);position:absolute;left:0;top:0;color:transparent;background:linear-gradient(#f97316,#f97316) no-repeat;background-size:100% 0;background-position:0 100%;-webkit-background-clip:text;background-clip:text;transition:background-size .3s ease;pointer-events:none}.nav-link-rise:hover:after{background-size:100% 100%}.login-btn{margin-left:auto;margin-right:50px;gap:8px}.login-btn,.login-icon{display:inline-flex;align-items:center}.login-icon{position:relative;gap:2px}.login-arrow,.login-door{display:block}.login-arrow{transform-origin:center;margin-right:-1px}.login-door{transform-origin:center;transition:transform .2s ease}@keyframes login-arrow-pop{0%{transform:scale(1)}50%{transform:scale(1.25)}to{transform:scale(1)}}.login-btn:hover .login-arrow{animation:login-arrow-pop .6s ease-out 1}.login-btn:hover .login-door{transform:scale(1.2);transition-delay:.2s}.login-btn .login-door{transition-delay:0s}.account-wrapper{position:relative;margin-left:auto;margin-right:50px}.account-btn{cursor:pointer}.account-avatar,.account-btn{display:inline-flex;align-items:center}.account-avatar{width:30px;height:30px;border-radius:50%;color:#fff;justify-content:center;font-family:Arial,sans-serif;font-weight:700}.account-menu{position:absolute;top:42px;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 24px rgba(0,0,0,.12);display:none;min-width:140px;overflow:hidden;opacity:0;transform:translateY(-4px);transition:opacity .2s ease,transform .2s ease;z-index:80}.account-menu.open{display:block;opacity:1;transform:translateY(0)}.account-menu-item{display:block;width:100%;text-align:left;padding:10px 12px;background:#fff;border:0;cursor:pointer}.account-menu-item:hover{background:#f3f4f6}.account-menu-sep{height:1px;margin:6px 0;background:linear-gradient(90deg,transparent,#e5e7eb 20%,#e5e7eb 80%,transparent)}.account-menu-label{padding:8px 12px;font-size:12px;color:#374151}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:50}.modal-content{position:relative;width:min(92vw,500px);background:#ffffff;border-radius:12px;box-shadow:0 24px 64px rgba(0,0,0,.18)}.modal-close{position:absolute;left:12px;top:12px;border:none;background:transparent;font-size:18px;line-height:1;cursor:pointer;transform-origin:center;transition:transform .2s ease}.modal-close:hover{color:#717171;transform:scale(1.05)}.modal-body{padding:48px 24px 24px}.modal-title{margin:0 0 16px;font-weight:700;font-size:20px}.modal-form{display:grid;gap:16px}.modal-views{position:relative}.modal-panel{display:none}.modal-panel--login{display:block}.show-signup .modal-panel--login{display:none}.show-signup .modal-panel--signup{display:block}.show-admin .modal-panel--login,.show-admin .modal-panel--signup{display:none}.show-admin .modal-panel--admin{display:block}.modal-label{display:grid;gap:6px;font-size:14px}.field-error{font-size:10px;color:#b91c1c;transform-origin:left top;animation:field-error-pop .14s ease-out both}@keyframes field-error-pop{0%{opacity:0;transform:translateY(-2px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.text-input{appearance:none;width:95%;border-radius:10px;border:1px solid #111827;padding:10px 12px;outline:none;position:relative;transition:border-color .15s ease}.text-input:focus{box-shadow:0 0 0 0 rgba(249,115,22,.9);animation:orange-ring-grow .2s ease forwards}@keyframes orange-ring-grow{0%{box-shadow:0 0 0 0 rgba(249,115,22,.9)}to{box-shadow:0 0 0 3px rgba(249,115,22,.9)}}.modal-submit{margin-top:8px;border:none;background:#111827;color:#fff;border-radius:12px;padding:10px 0;width:100%;cursor:pointer;transition:transform .2s ease;will-change:transform}.modal-submit:hover{background:#717171;transform:scale(1.01)}.modal-submit[aria-disabled=true],.modal-submit[disabled]{pointer-events:none}.modal-submit[aria-disabled=true]:hover,.modal-submit[disabled]:hover{transform:none}.btn-spinner{width:14px;height:14px;margin-left:8px;border-radius:50%;border:2px solid rgba(255,255,255,.5);border-top-color:#ffffff}.btn-spinner,.fp-spinner{display:inline-block;animation:btn-spin .8s linear infinite;vertical-align:-2px}.fp-spinner{width:10px;height:10px;margin-left:6px;border-radius:50%;border:2px solid transparent;border-top-color:#2563eb}@keyframes btn-spin{to{transform:rotate(1turn)}}.fp-check{display:inline-block;width:14px;height:10px;margin-left:6px;position:relative;animation:fp-check-fade .2s ease-in .6s forwards}.fp-check:after,.fp-check:before{content:"";position:absolute;background:#16a34a;transform-origin:left top;opacity:0}.fp-check:before{left:0;top:6px;width:2px;height:0;transform:rotate(-45deg);animation:fp-check-short .6s ease-out 0s forwards}.fp-check:after{left:11px;top:.5px;width:2px;height:0;background:#16a34a;transform:rotate(45deg);animation:fp-check-long .4s ease-out .2s forwards}@keyframes fp-check-short{0%{height:0;opacity:1}to{height:6px;opacity:1}}@keyframes fp-check-long{0%{height:12px;opacity:1}to{height:0;opacity:1}}@keyframes fp-check-fade{0%{opacity:1}to{opacity:0}}.page-loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:60}.dot-spinner-40{width:40px;height:40px;position:relative;animation:btn-spin .8s linear infinite}.dot-spinner-40:before{content:"";position:absolute;top:0;left:50%;width:8px;height:8px;background:#111827;border-radius:50%;transform:translate(-50%)}.dot-spinner-20{width:20px;height:20px;position:relative;animation:btn-spin .8s linear infinite;display:inline-block}.dot-spinner-20:before{content:"";position:absolute;top:0;left:50%;width:4px;height:4px;background:#111827;border-radius:50%;transform:translate(-50%)}.modal-links{display:flex;align-items:center;justify-content:space-between}.modal-link{color:#2563eb;text-decoration:none;font-size:12px;transition:color .15s ease}.modal-link:hover{color:#1e3a8a}.modal-admin-link{font-size:10px;color:#2563eb;text-decoration:none}.modal-admin-link:hover{color:#1e3a8a}main{padding:1rem;flex:1 0 auto}section{max-width:960px;margin:0 auto}.site-footer{position:relative;background:#ffffff;margin-top:24px;font-size:12px}.site-footer:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,#ffffff 0,#d8d8d8 20%,#e6e6e6 80%,#ffffff);pointer-events:none}.footer-inner{max-width:960px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;justify-content:center}.footer-handle{font-weight:600}.footer-sep{margin:0 50px;color:#9ca3af;transition:color .2s ease-in-out}.site-footer a{color:#2563eb;text-decoration:none}.site-footer a:hover{color:#1e3a8a}.footer-link{display:inline-flex;align-items:center;gap:6px}.footer-link-icon{width:14px;height:14px;display:inline-block}.footer-inner:has(.footer-link--x:active) .footer-sep--between-x-ig,.footer-inner:has(.footer-link--x:active) .footer-sep--left-of-x,.footer-inner:has(.footer-link--x:focus-visible) .footer-sep--between-x-ig,.footer-inner:has(.footer-link--x:focus-visible) .footer-sep--left-of-x,.footer-inner:has(.footer-link--x:hover) .footer-sep--between-x-ig,.footer-inner:has(.footer-link--x:hover) .footer-sep--left-of-x{color:#f97316}.footer-inner:has(.footer-link--ig:active) .footer-sep--between-ig-discord,.footer-inner:has(.footer-link--ig:active) .footer-sep--between-x-ig,.footer-inner:has(.footer-link--ig:focus-visible) .footer-sep--between-ig-discord,.footer-inner:has(.footer-link--ig:focus-visible) .footer-sep--between-x-ig,.footer-inner:has(.footer-link--ig:hover) .footer-sep--between-ig-discord,.footer-inner:has(.footer-link--ig:hover) .footer-sep--between-x-ig{color:#f97316}.footer-inner:has(.footer-link--discord:active) .footer-sep--between-ig-discord,.footer-inner:has(.footer-link--discord:focus-visible) .footer-sep--between-ig-discord,.footer-inner:has(.footer-link--discord:hover) .footer-sep--between-ig-discord{color:#f97316}.change-password-page .modal-submit,.change-password-page .text-input{width:300px}.filter-drawer{position:fixed;top:50px;left:0;width:120px;height:calc(100vh - 64px);background:#ffffff;box-shadow:0 10px 24px rgba(0,0,0,.08);border-radius:0;padding:12px 8px;transform:translateX(-100%);transition:transform .2s ease;z-index:30;overflow:auto}.filter-drawer.open{transform:translateX(0)}.filter-drawer:before{top:0;width:1px;height:100%;background:#e5e7eb}.filter-drawer:after,.filter-drawer:before{content:"";position:absolute;right:0;pointer-events:none}.filter-drawer:after{top:70px;width:2px;height:64px;background:#ffffff;z-index:1}.filter-handle{position:fixed;top:120px;left:0;width:32px;height:64px;background:#ffffff;border:1px solid #e5e7eb;border-left:0 transparent;border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:10px 20px;border-bottom-right-radius:10px 20px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:31;transform:translateX(0);transform-origin:center center;transition:transform .2s ease-in-out;will-change:transform}.filter-handle.open{transform:translateX(135px)}.filter-handle svg{transition:transform .35s ease-in-out;transform:rotate(180deg);transform-origin:center center}.filter-handle.open svg{transform:rotate(0deg)}.filter-group{display:grid;gap:6px;margin-bottom:12px}.filter-label{font-size:12px;color:#374151}.filter-actions{display:flex;gap:8px}.btn{border:none;border-radius:8px;padding:8px 10px;cursor:pointer}.btn-blue{background:#2563eb;color:#fff}.btn-ghost{background:#f3f4f6;color:#111827}.filter-drawer .btn{font-family:Calibri,Arial,sans-serif}.filter-drawer .text-input-1,.filter-drawer .text-input-2{border-radius:0;width:80%}.linkblock{position:relative;display:inline-block}.position-card{border:1px solid #ffffff;border-radius:12px;padding:12px 50px;transition:border-color .15s ease}.position-card:hover{border-color:rgba(249,115,22,.8)}.position-card__title{font-family:Optima,Optima Bold,system-ui,-apple-system,Segoe UI,Arial,sans-serif;font-weight:700;font-size:18px;color:#000000;margin-bottom:8px}.position-card__grid{display:grid;grid-template-columns:repeat(auto-fit,200px);row-gap:16px;column-gap:clamp(16px,6vw,100px);justify-content:center}.position-card__member{display:grid;gap:6px;justify-items:center;width:200px}.position-card__avatar{width:200px;height:320px;overflow:hidden;border-radius:8px;background:#f3f4f6;display:flex;align-items:center;justify-content:center}.position-card__avatar img{width:100%;height:100%;object-fit:cover;display:block}.position-card__name{font-family:Trajan Pro\ 3,Trajan Pro,Georgia,serif;font-weight:600;color:#2F4F4F;font-size:18px;text-align:center}.position-card__nameRow{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;width:100%}.position-card__toggle{appearance:none;border:none;background:transparent;padding:4px;margin:0;cursor:pointer;color:#9ca3af;border-radius:6px;line-height:0;transition:color .15s ease,background-color .15s ease}.position-card__toggle:hover{color:#4b5563;background:rgba(0,0,0,.02)}.position-card__toggle svg{display:block}.position-card__toggle path{stroke:currentColor}.position-card__bio{max-height:0;overflow:hidden;opacity:0;transition:max-height .25s ease,opacity .2s ease;color:#374151;font-size:13px;text-align:center;width:calc(100% + 50px);margin-left:-25px;margin-right:-25px;padding-left:25px;padding-right:25px}.position-card__bio.open{max-height:300px;overflow:visible;opacity:1}.position-card__info{display:grid;gap:6px;margin-top:6px;max-height:0;overflow:hidden;opacity:0;transition:max-height .25s ease,opacity .2s ease}.position-card__info.open{max-height:400px;overflow:visible;opacity:1}.position-card__infoRow{display:grid;grid-template-columns:1fr 2fr;align-items:center;gap:8px}.position-card__infoLabel{font-size:12px;color:#6b7280;text-align:right}.position-card__infoValue{font-size:13px;color:#374151;text-align:left}.position-card__toggle--solid{color:#4b5563}.position-card__member:has(.position-card__info.open):not(:has(.position-card__toggle--solid)) .position-card__toggle svg{transform:rotate(180deg)!important}.event-card{width:200px;height:300px;border-radius:30px;overflow:hidden;border:1px solid #e5e7eb;background:#fff;box-shadow:0 6px 14px rgba(0,0,0,.08);position:relative;transition:box-shadow .2s ease}.event-card:hover{box-shadow:0 12px 28px rgba(0,0,0,.15)}.event-hero{width:200px;height:125px;overflow:hidden;background:#f3f4f6}.event-hero img{width:100%;height:100%;object-fit:cover;border-radius:12px;transition:transform .3s ease,border-radius .3s ease;will-change:transform}.event-hero:hover img{transform:scale(1.1);border-radius:0;transition-delay:.5s,.5s}.event-body{width:200px;height:175px;padding:10px 12px;box-sizing:border-box;display:grid;grid-template-rows:auto auto auto 1fr;gap:4px}.event-card.admin-visible{height:350px}.event-card.admin-visible .event-body{height:225px}.event-card.admin-visible .event-book-wrap,.event-card.admin-visible .event-booked-pill,.event-card.admin-visible .event-enlarge-btn{bottom:60px}.event-card.admin-visible .event-stamp-green{position:absolute;bottom:60px;right:10px}.event-admin-line{height:1px;bottom:50px;background:linear-gradient(90deg,transparent,#e5e7eb 15%,#e5e7eb 85%,transparent)}.event-admin-bar,.event-admin-line{position:absolute;left:10px;right:10px}.event-admin-bar{bottom:10px;display:flex;align-items:center;justify-content:space-between}.event-admin-tag{font-size:10px;color:#6b7280}.event-admin-print{height:28px;padding:0 10px;border-radius:10px;background:#111827;color:#fff;border:none;cursor:pointer}.event-title{font-weight:700;font-size:14px;margin:0}.event-date{font-size:12px;color:#6b7280}.event-capacity,.event-intro{font-size:12px;color:#374151;margin:0}.event-intro{overflow:hidden}.event-enlarge-btn{position:absolute;bottom:10px;left:10px;border:none;background:transparent;cursor:pointer;transform:none;transition:transform .15s ease}.event-enlarge-btn:hover{transform:scale(1.05)}.event-book-btn{position:static;width:100px;height:35px;border-radius:10px;background:#111827;color:#fff;font-size:13px;line-height:35px;text-transform:uppercase;font-family:Bungee,Arial,sans-serif;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:box-shadow .2s ease}.event-book-btn.wide{width:130px}.event-book-btn:hover{box-shadow:inset 0 0 0 3px rgba(249,115,22,.8),0 0 0 1px #111827}.event-book-wrap{position:absolute;bottom:10px;right:10px;display:flex;align-items:center;gap:8px}.btn-spinner-inline-15{width:15px;height:15px;display:inline-block;position:relative;animation:btn-spin .8s linear infinite}.btn-spinner-inline-15:before{content:"";position:absolute;top:0;left:50%;width:4px;height:4px;background:#f97316;border-radius:2px;transform:translate(-50%)}.event-ticket-btn{margin-top:24px;width:200px;height:50px;border-radius:12px;background:#111827;color:#fff;font-size:16px;line-height:50px;font-family:Bungee,Arial,sans-serif;cursor:pointer;transition:box-shadow .2s ease}.event-ticket-btn:hover{box-shadow:inset 0 0 0 3px rgba(249,115,22,.8),0 0 0 1px #111827}.event-ticket-wrap{position:relative;display:inline-flex;align-items:center}.btn-spinner-right-50{width:50px;height:50px;position:relative;animation:btn-spin .8s linear infinite;margin-left:10px}.btn-spinner-right-50:before{content:"";position:absolute;top:0;left:50%;width:8px;height:8px;background:#f97316;border-radius:4px;transform:translate(-50%)}.booking-modal{width:auto;min-width:280px;max-width:92vw;height:500px;background:#fff;border-radius:12px;box-shadow:0 24px 64px rgba(0,0,0,.18);padding:16px;display:inline-block}.booking-modal .text-input{width:90%}.event-stamp{border:4px solid #dc3545;border-radius:8px;color:#dc3545;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.18) 0,rgba(255,255,255,0) 60%),repeating-linear-gradient(135deg,rgba(0,0,0,.04) 0 2px,rgba(255,255,255,.04) 2px 4px),rgba(220,53,69,.08);box-shadow:inset 0 0 0 2px rgba(220,53,69,.35),inset 0 0 14px rgba(220,53,69,.25),0 2px 0 rgba(0,0,0,.05)}.event-stamp,.event-stamp-green{display:inline-block;padding:15px 25px;font-family:Courier New,monospace;font-size:24px;font-weight:700;text-transform:uppercase;letter-spacing:3px;transform:rotate(-12deg);position:relative;user-select:none;text-shadow:0 1px 0 rgba(0,0,0,.15),0 -1px 0 rgba(255,255,255,.4),1px 1px 0 rgba(0,0,0,.08);filter:contrast(.95) saturate(.95) sepia(.06)}.event-stamp-green{border:4px solid #22c55e;border-radius:8px;color:#22c55e;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.18) 0,rgba(255,255,255,0) 60%),repeating-linear-gradient(135deg,rgba(0,0,0,.04) 0 2px,rgba(255,255,255,.04) 2px 4px),rgba(34,197,94,.08);box-shadow:inset 0 0 0 2px rgba(34,197,94,.35),inset 0 0 14px rgba(34,197,94,.25),0 2px 0 rgba(0,0,0,.05)}.event-stamp-green-small{position:absolute;bottom:10px;right:10px;padding:10px 6px;font-size:14px;border-width:3px;letter-spacing:2px}.event-card.admin-visible .event-stamp-green-small{bottom:60px}.event-stamp--narrow{padding-left:-50px;padding-right:0;display:inline-block;width:calc(100% - 50px);text-align:center}.event-booked-pill{position:absolute;bottom:10px;right:10px;padding:6px 10px;border-radius:10px;background:#fff;color:#f97316;border:2px solid #f97316;font-size:12px;font-family:Bungee,Arial,sans-serif}.event-modal-content{position:relative;width:min(92vw,720px);height:min(80vh,500px);background:#ffffff;border-radius:16px;box-shadow:0 24px 64px rgba(0,0,0,.18);padding:24px}.event-modal-hero{position:absolute;top:56px;right:32px;width:320px;height:200px;transform:rotate(-15deg);transform-origin:center;border-radius:12px;overflow:hidden;box-shadow:0 6px 14px rgba(0,0,0,.15)}.event-modal-hero img{width:100%;height:100%;object-fit:cover}.event-modal-body{padding-right:350px;margin-top:40px}.event-modal-title{margin:0 0 8px;font-size:28px;font-weight:800}.event-modal-date{font-size:14px;color:#6b7280;margin-bottom:12px}.event-modal-intro{font-size:16px;color:#374151}.linkblock__anchor{color:#2563eb;text-decoration:none;transition:color .15s ease}.linkblock__anchor:hover{color:#1e3a8a}.linkblock__preview{position:absolute;left:0;top:100%;margin-top:8px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .2s ease,transform .2s ease;overflow:hidden;z-index:20}.linkblock:hover .linkblock__preview,.linkblock__anchor:hover+.linkblock__preview{opacity:1;transform:translateY(0)}.linkblock__frameWrap{position:relative;display:block;overflow:hidden;background:#f8fafc}.linkblock__img{display:block;object-fit:cover;filter:saturate(1.05)}.linkblock__iframe,.linkblock__img{width:100%;height:100%;transition:opacity .2s ease}.linkblock__iframe{position:absolute;inset:0;border:0;background:transparent}.linkblock__hint{display:block;padding:8px 12px;font-size:12px;color:#6b7280;border-top:1px solid #e5e7eb;background:#fff}.resource-card{position:relative;border:1px solid #e5e7eb;border-radius:16px;background:#fff;padding:14px 16px 52px;box-shadow:0 6px 14px rgba(0,0,0,.08);transition:box-shadow .2s ease,border-color .15s ease,transform .06s ease}.resource-card:hover{box-shadow:0 12px 28px rgba(0,0,0,.15);border-color:rgba(249,115,22,.35)}.resource-card:active{transform:translateY(1px)}.resource-card__title{margin:0 0 6px;font-size:16px;font-weight:700;color:#111827}.resource-card__desc{margin:0;font-size:13px;color:#374151;line-height:1.5}.resource-card__meta{margin-top:8px;font-size:12px;color:#6b7280}.resource-card__actions{position:absolute;right:12px;bottom:12px;display:flex;gap:8px;align-items:center}.resource-card__btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:110px;height:36px;padding:0 12px;border:none;border-radius:10px;background:#111827;color:#fff;font-size:13px;font-family:Bungee,Arial,sans-serif;cursor:pointer;text-decoration:none;transition:box-shadow .2s ease,transform .06s ease}.resource-card__btn:hover{box-shadow:inset 0 0 0 3px rgba(249,115,22,.8),0 0 0 1px #111827}.resource-card__btn:active{transform:translateY(1px)}.resource-card__btn--ghost{background:#f3f4f6;color:#111827}.resource-card:focus-within,.resource-card__btn:focus-visible{outline:3px solid rgba(249,115,22,.6);outline-offset:2px}.resource-card__tags{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}.resource-tag{display:inline-block;padding:4px 8px;font-size:12px;line-height:1;border:1px solid #d1d5db;border-radius:9999px;background:#f9fafb;color:#111827;user-select:none;transition:background-color .15s ease,border-color .15s ease,transform .06s ease}.resource-tag:hover{background:#f3f4f6;border-color:#cbd5e1}.resource-tag:active{transform:translateY(1px)}.resource-tag--clickable{cursor:pointer}.resource-tag--active{background:#111827;color:#fff;border-color:#111827}.resource-card__content-gap{padding-bottom:8px}.page-section{max-width:960px;margin:0 auto;padding:1rem}.page-title{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.filter-controls{display:flex;flex-direction:column;gap:12px;margin-top:16px}.filter-summary{display:flex;align-items:center;gap:12px;font-size:14px}.filter-clear{appearance:none;background:#fff;border:1px solid #2563eb;border-radius:6px;padding:4px 12px;font-size:13px;color:#2563eb;cursor:pointer;transition:background-color .2s ease,color .2s ease}.filter-clear:hover{background:#2563eb;color:#fff}.resource-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;margin-top:20px}.resource-empty{border:1px dashed #d1d5db;border-radius:12px;padding:24px;text-align:center;color:#6b7280}