/* Reusable UI components */
.site-header{position:sticky;top:0;z-index:100;height:var(--header-height);background:#0c2136f7;border-bottom:1px solid #7192ad45;backdrop-filter:blur(18px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1480px;width:calc(100% - 48px)}.brand{position:relative;display:block;width:178px;height:60px;flex-shrink:0;overflow:hidden}.brand img{position:absolute;width:235px;max-width:none;height:auto;left:-27px;top:-40px}.site-header nav{display:flex;align-items:center;gap:3px}.site-header nav a{font-size:12px;white-space:nowrap;color:#becede;padding:12px 10px;transition:color .2s,background .2s}.site-header nav a:hover,.site-header nav a.current{color:#8bd6ff;background:#8bcfff0a}.site-header nav .nav-login{border-left:1px solid #59758e55;margin-left:6px;padding-left:18px}.site-header nav .nav-register{border:1px solid #648fb7;background:linear-gradient(#366da0,#214c76);color:#eef7ff;border-radius:4px;padding:9px 15px;margin-left:5px;box-shadow:inset 0 1px #bddfff35}.menu-toggle{display:none;background:none;border:1px solid #5a7b9b;padding:11px;border-radius:4px;width:44px;height:44px}.menu-toggle span{display:block;height:2px;background:#d8edff;margin:4px 0}.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #adc6dc;border-radius:4px;padding:12px 22px;line-height:1.5;font-weight:500;font-size:13px;transition:transform .18s,filter .18s;box-shadow:inset 0 1px #ffffff70,0 4px 12px #06172a18}.button:hover{filter:brightness(1.07);transform:translateY(-2px)}.button-blue{color:#fff;border-color:#77b8ed;background:linear-gradient(#438fd2,#2667a4);box-shadow:inset 0 1px #b6e7ff80,0 5px 20px #3c9ce926}.button-silver{color:#2f597e;background:linear-gradient(#fff,#dbe7f3)}.button-outline{color:#d9ecff;border-color:#8dadca;background:linear-gradient(#263e57aa,#152a40bb);box-shadow:inset 0 1px #a9c9e329}.button-quiet{background:transparent;box-shadow:none;border-color:transparent;color:#587691}.window{background:#f9fbfd;border:1px solid #afc4da;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.window-bar{height:30px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;font-size:10px;letter-spacing:1px;color:#456685;background:url('../img/art/titlebar.png') repeat-x center/auto 30px,linear-gradient(#eef5fd,#c9dcec 50%,#f4f9ff);border-bottom:1px solid #abc2d8}.window-bar span:last-child{letter-spacing:0}.filter-row{display:flex;gap:6px;padding:21px 24px;border-bottom:1px solid #dbe5ef;flex-wrap:wrap}.filter-button{min-height:40px;background:linear-gradient(#fff,#eaf1f8);border:1px solid #c3d6e7;border-radius:4px;padding:9px 20px;font-size:12px;color:#65819e}.filter-button.active{background:linear-gradient(#568fc5,#336eaa);border-color:#5a87b4;color:white;box-shadow:inset 0 1px #a7caea}.site-footer{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(#102740,#071321);color:#9ab2c7;border-top:1px solid #668db952;margin-top:auto}.footer-main{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr .8fr .8fr 1fr;gap:45px;padding-block:45px}.footer-brand{width:200px;height:72px}.footer-brand img{width:265px;top:-46px;left:-30px}.footer-main p{font-size:11px;line-height:1.9}.footer-main h2{color:#d2e5f5;font-size:12px;margin-bottom:16px;font-weight:500}.footer-main a:not(.brand),.footer-main button{display:block;font-size:11px;margin:8px 0}.footer-main button{background:none;padding:0;border:0;color:inherit}.footer-main a:hover,.footer-main button:hover{color:#a0ddff}.team-logo{position:relative;width:205px;max-width:100%;height:63px;overflow:hidden}.team-logo img{position:absolute;width:225px;max-width:none;top:-32px;left:-11px}.footer-bottom{display:flex;position:relative;z-index:1;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #8daac124;padding-block:20px;font-size:10px}.footer-bottom small{font-size:10px}.fireflies{position:absolute;inset:0;z-index:0;pointer-events:none}.fireflies i{position:absolute;bottom:-30px;left:var(--x);width:var(--size);height:var(--size);border-radius:50%;background:#79caff;box-shadow:0 0 12px 4px #258ce377,0 0 28px #339cf544;opacity:0;animation:rise var(--duration) linear var(--delay) infinite}@keyframes rise{0%{transform:translate3d(0,0,0);opacity:0}15%{opacity:.5}65%{opacity:.3}100%{transform:translate3d(35px,-420px,0);opacity:0}}.cookie-banner{position:fixed;z-index:500;bottom:22px;left:50%;transform:translateX(-50%);width:min(1140px,calc(100% - 40px));display:flex;gap:20px;align-items:center;padding:22px 25px;background:#f8fbff;border:1px solid #a4bfd9;border-top:3px solid #4594d4;border-radius:7px;box-shadow:0 15px 70px #07162755}.cookie-symbol{height:45px;width:45px;display:grid;place-items:center;border:1px solid #bcd5ea;border-radius:50%;background:#eaf4ff;flex-shrink:0;color:#3d83bc}.cookie-copy{flex:1;min-width:0}.cookie-copy h2{font-size:14px;margin-bottom:4px}.cookie-copy p{font-size:11px;color:#72859a}.cookie-copy a{text-decoration:underline}.cookie-actions{display:flex;gap:6px;flex-shrink:0;margin-left:auto;justify-content:flex-end}.cookie-actions .button{font-size:11px;padding:10px 14px;white-space:nowrap}.swal2-popup.zigma-dialog{font-family:var(--font);border:1px solid #a1bed7;border-radius:8px;background:#f5f9fd;color:#294b6b;padding-bottom:26px;box-shadow:0 25px 90px #071b3d55}.zigma-dialog .swal2-title{font-size:23px;color:#284e73;border-bottom:1px solid #ccdeec;padding-bottom:20px}.zigma-dialog .swal2-html-container{font-size:14px;line-height:1.9;color:#5f7d99}.zigma-dialog .swal2-close{color:#6086a5}.zigma-dialog .swal2-actions{gap:12px}.consent-options{text-align:left;display:grid;gap:12px}.consent-choice{display:flex;align-items:start;gap:12px;border:1px solid #cdddeb;border-radius:5px;padding:14px;background:#fff;font-size:13px}.consent-choice input{width:20px;height:20px;accent-color:#3c83c0;margin-top:3px;flex-shrink:0}.consent-choice small{display:block;font-size:11px;color:#748da5}.consent-hint{font-size:11px;text-align:left;margin-top:15px}

/* Navigation uses the supplied favicon; full logos remain in hero/footer. */
.site-header .brand.nav-icon{width:54px;height:54px;display:grid;place-items:center;overflow:visible}
.site-header .brand.nav-icon img{position:static;width:54px;height:54px;max-width:100%;object-fit:contain;filter:drop-shadow(0 2px 8px #76bcff25)}
@media(max-width:1080px){.site-header .brand.nav-icon,.site-header .brand.nav-icon img{width:46px;height:46px}}

.site-footer.effects-paused .fireflies i{animation-play-state:paused}

/* Shared native upload chooser: every file input uses the Zigma palette. */
input[type="file"]{max-width:100%;min-width:0;padding:8px;border:1px solid #adc8df;border-radius:5px;background:#f3f8fc;color:#315778;font:inherit}
input[type="file"]::file-selector-button{font:inherit;font-weight:500;color:#fff;background:linear-gradient(#315f86,#153750);border:1px solid #96bfdc;border-radius:4px;box-shadow:inset 0 0 0 1px #ffffff30;padding:9px 16px;margin-right:12px;cursor:pointer}
input[type="file"]:hover::file-selector-button{background:linear-gradient(#4279a4,#214d6d)}
input[type="file"]:focus-visible{outline:2px solid #439bd0;outline-offset:3px}
input[type="file"]:disabled{opacity:.6}

.footer-bottom small{min-width:0;overflow-wrap:anywhere;white-space:pre-line}
.footer-bottom .footer-trademark{text-align:right;margin-left:auto}
@media(max-width:760px){.footer-bottom .footer-trademark{text-align:left;margin-left:0}}
