.app-container{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;width:100%;max-width:100%;padding:0;margin:0}#root{max-width:100%;margin:0 auto;padding:0;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em var(--ufsm-blue))}.logo.react:hover{filter:drop-shadow(0 0 2em var(--ufsm-light-blue))}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:1.25em}.read-the-docs{color:#888}.navbar{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background-color:var(--ufsm-blue);color:var(--ufsm-white);box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:1000}.navbar-brand{font-size:1.5rem;font-weight:700;color:var(--ufsm-white)}.navbar-brand span{text-decoration:none;color:inherit}.navbar-links{display:flex;gap:1.5rem}.navbar-link{text-decoration:none;color:var(--ufsm-white);font-weight:500;padding:.5rem 0;position:relative;transition:color .3s ease}.navbar-link:after{content:"";position:absolute;width:100%;transform:scaleX(0);height:2px;bottom:0;left:0;background-color:var(--ufsm-accent);transform-origin:bottom right;transition:transform .25s ease-out}.navbar-link:hover{color:var(--ufsm-accent)}.navbar-link:hover:after{transform:scaleX(1);transform-origin:bottom left}.navbar-link.active{color:var(--ufsm-accent);font-weight:700}.footer{background-color:var(--ufsm-dark-gray);color:var(--ufsm-white);padding:20px 0;text-align:center;margin-top:auto}.footer-content{max-width:1280px;margin:0 auto;padding:0 20px}.footer p{margin:5px 0;font-size:.9rem}.home-container{width:100%}.home-hero{background:linear-gradient(#036c,#036c),url(/background-placeholder.jpg);background-size:cover;background-position:center;color:var(--ufsm-white);text-align:center;padding:5rem 2rem;display:flex;align-items:center;justify-content:center;min-height:60vh}.home-hero-content{max-width:800px}.home-title{font-size:3rem;font-weight:700;margin-bottom:1rem;text-shadow:1px 1px 3px rgba(0,0,0,.4)}.home-subtitle{font-size:1.5rem;font-weight:300;margin-bottom:2rem}.home-cta-button{background-color:var(--ufsm-accent);color:var(--ufsm-blue);padding:1rem 2rem;border-radius:5px;text-decoration:none;font-weight:700;font-size:1.1rem;transition:background-color .3s ease,transform .3s ease;display:inline-block}.home-cta-button:hover{background-color:#ffd000;transform:translateY(-3px);box-shadow:0 4px 8px #0003}.home-section{padding:4rem 2rem;max-width:1200px;margin:0 auto;text-align:center}.home-section-title{font-size:2.5rem;color:var(--ufsm-blue);margin-bottom:2rem;position:relative;display:inline-block}.home-section-title:after{content:"";position:absolute;width:60%;height:3px;background-color:var(--ufsm-accent);bottom:-10px;left:20%}.home-description{font-size:1.1rem;line-height:1.8;color:var(--ufsm-dark-gray);max-width:800px;margin:0 auto}.home-featured-section{background-color:#f9f9f9}.home-featured-items{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin-top:3rem}.home-featured-item{background-color:var(--ufsm-white);border-radius:8px;box-shadow:0 4px 12px #00000014;overflow:hidden;width:300px;text-align:left;transition:transform .3s ease,box-shadow .3s ease}.home-featured-item:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0000001f}.home-featured-item-image-placeholder{width:100%;height:200px;background-color:var(--ufsm-gray);display:flex;align-items:center;justify-content:center;color:var(--ufsm-dark-gray)}.home-featured-item-title{font-size:1.25rem;color:var(--ufsm-blue);margin:1rem 1rem .5rem}.home-featured-item-artist{font-size:1rem;color:var(--ufsm-dark-gray);margin:0 1rem 1rem}.unity-section{padding:24px;color:var(--ufsm-dark-gray)}.unity-description{opacity:.9;margin-bottom:16px}.unity-controls{margin:16px 0}.unity-toggle{display:flex;justify-content:center}.unity-button{padding:10px 20px;background:var(--ufsm-blue);color:var(--ufsm-white);border:none;border-radius:5px;cursor:pointer;font-size:1rem}.unity-button:hover{background:var(--ufsm-light-blue)}.unity-viewer{margin-top:20px;display:flex;justify-content:center}.unity-placeholder{border:1px dashed var(--ufsm-gray);padding:24px;border-radius:8px;text-align:center;color:var(--ufsm-dark-gray)}.image-card{background:var(--ufsm-white);border-radius:15px;overflow:hidden;box-shadow:0 8px 25px #0000001a;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer;height:255px}.image-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #0003}.image-container{position:relative;overflow:hidden;height:180px;background-color:var(--ufsm-gray);display:flex;align-items:center;justify-content:center}.card-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.card-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:24px;border:3px solid rgba(0,0,0,.1);border-top-color:#007bff;border-radius:50%;animation:spin .8s linear infinite}.no-image-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--ufsm-gray);font-size:.8rem;text-align:center}.card-content{padding:15px}.card-title{margin:0;font-size:1rem;font-weight:600;color:var(--ufsm-dark-gray);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.filter-sidebar{width:250px;padding:20px;background-color:#f9f9f9;border-right:1px solid #ddd;height:100%;overflow-y:auto}.filter-title{font-size:1.5rem;margin-bottom:20px;color:#333}.search-button-sidebar{width:100%;padding:10px;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;margin-bottom:20px}.search-button-sidebar:hover{background-color:#0056b3}.filter-section{margin-bottom:20px}.filter-section h4{font-size:1.1rem;margin-bottom:10px;color:#555;border-bottom:1px solid #eee;padding-bottom:5px}.filter-options{display:flex;flex-direction:column;max-height:200px;overflow-y:auto}.filter-option{display:flex;align-items:center;margin-bottom:8px}.filter-option input[type=checkbox]{margin-right:10px}.filter-option label{font-size:.9rem;color:#666}.filter-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;color:#555}.spinner-sidebar{border:3px solid rgba(0,0,0,.1);width:28px;height:28px;border-radius:50%;border-left-color:#007bff;animation:spin 1s ease infinite;margin-bottom:10px}@keyframes spin{to{transform:rotate(360deg)}}.gallery-layout{display:flex;min-height:100vh}.gallery-container{flex-grow:1;padding:20px;background-color:#fff}.gallery-content{max-width:1200px;margin:0 auto}.gallery-title{font-size:2.5rem;font-weight:700;color:#333;margin-bottom:20px;text-align:center}.gallery-info{text-align:center;color:#666;margin-bottom:20px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:50vh}.spinner{border:4px solid rgba(0,0,0,.1);width:36px;height:36px;border-radius:50%;border-left-color:#09f;animation:spin 1s ease infinite}.loading-text{margin-top:10px;font-size:1rem;color:#555}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:15px}.no-items{text-align:center;padding:50px 20px;background-color:#f9f9f9;border-radius:8px}.no-items h3{font-size:1.5rem;color:#333}.no-items p{color:#666}.pagination{display:flex;justify-content:center;align-items:center;margin-top:40px}.page-button{background-color:#007bff;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:1rem;margin:0 10px}.page-button:disabled{background-color:#ccc;cursor:not-allowed}.page-info{font-size:1rem;color:#555}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:var(--ufsm-dark-gray);background-color:var(--ufsm-white);--ufsm-blue: #003366;--ufsm-light-blue: #0055A4;--ufsm-white: #FFFFFF;--ufsm-gray: #CCCCCC;--ufsm-dark-gray: #333333;--ufsm-accent: #FFD700;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}a{font-weight:500;color:var(--ufsm-blue);text-decoration:inherit}a:hover{color:var(--ufsm-light-blue)}body{margin:0}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--ufsm-blue);color:var(--ufsm-white);cursor:pointer;transition:background-color .25s}button:hover{background-color:var(--ufsm-light-blue)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
