:root{color-scheme:dark;--bg:#111521;--surface:#1b2030;--panel:#202639;--panel2:#252c40;--line:#353a4e;--faint:#79849e;--muted:#aab4c9;--text:#f5f5fa;--mint:#8ae9c6;--mint-dim:rgba(138,233,198,.15);--peach:#ffbd93;--peach-dim:rgba(255,189,147,.12);--radius:20px;--shadow:0 22px 80px #05071046;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-size:15px;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--mint);outline-offset:4px}::selection{background:var(--mint);color:#17241f}.wrap{width:min(100% - 48px,1070px);margin:0 auto}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;z-index:30;top:-70px;left:18px;background:var(--mint);color:#10231f;padding:10px 14px;border-radius:8px}.skip:focus{top:18px}
.site-background{position:absolute;z-index:-1;width:100%;height:660px;inset:0 0 auto;background:radial-gradient(ellipse 560px 250px at 50% 13%,rgba(79,100,120,.15),transparent 90%),radial-gradient(ellipse 450px 280px at 75% 38%,rgba(92,79,124,.08),transparent 90%);pointer-events:none}
.header{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(210,223,239,.08)}.brand{display:flex;align-items:center;gap:10px;font-size:24px;letter-spacing:-1.3px;font-weight:850;line-height:1}.brand-mark{width:38px;height:38px;filter:drop-shadow(0 2px 13px rgba(138,233,198,.09))}.brand-em,.footer-brand span{color:var(--mint)}.brand-dot,.footer-brand b{color:var(--peach)}.header-nav{display:flex;align-items:center;gap:35px}.nav-library{color:var(--muted);font-weight:650;font-size:13px;transition:color .2s}.nav-library:hover{color:var(--text)}.language-switch{display:flex;align-items:center;gap:4px;background:#202639;border:1px solid #3b4051;padding:4px;border-radius:99px}.lang-btn{border:0;background:none;color:var(--faint);border-radius:25px;padding:7px 10px;font-size:11px;font-weight:850;letter-spacing:.05em}.lang-btn.active{background:#343c50;color:var(--text)}.language-separator{font-size:10px;color:#65728a}
.hero{position:relative;text-align:center;padding:79px 0 75px}.hero>*:not(.hero-decoration){position:relative;z-index:1}.hero-decoration{position:absolute;inset:0;overflow:hidden;pointer-events:none}.decoration-disk{position:absolute;display:block;border-radius:50%;border:1px solid rgba(162,187,206,.15);box-shadow:inset 0 0 0 13px rgba(164,185,211,.02)}.decoration-disk.one{height:92px;width:92px;top:45px;left:5%;transform:rotate(-18deg)}.decoration-disk.two{height:62px;width:62px;top:124px;right:6%}.decoration-star{position:absolute;color:#859bb3;opacity:.5}.decoration-star.star-one{top:190px;left:12%;font-size:20px}.decoration-star.star-two{top:71px;right:15%;font-size:16px;color:var(--peach)}.eyebrow{display:inline-flex;align-items:center;gap:8px;background:#24283a;border:1px solid #3f4758;border-radius:40px;padding:7px 15px;font-size:12px;color:#d2d8e9;letter-spacing:.015em;font-weight:650}.tiny-sparkle{color:var(--peach);font-size:17px;line-height:1}.hero h1{font-size:clamp(48px,7vw,78px);font-weight:850;line-height:1.06;letter-spacing:-.064em;margin:21px 0 17px}.gradient-text{background:linear-gradient(100deg,var(--mint) 13%,#b7f0d3 48%,var(--peach) 96%);-webkit-background-clip:text;background-clip:text;color:transparent}.intro{max-width:565px;color:#b1bad0;font-size:16px;line-height:1.7;margin:0 auto 35px}.search-area{max-width:715px;margin:auto}.search-box{background:#f8f9ff;color:#111727;border-radius:17px;display:flex;align-items:center;gap:13px;padding:0 21px;box-shadow:0 13px 58px rgba(0,0,0,.24),0 0 0 5px rgba(238,242,255,.055);height:70px;transition:box-shadow .2s,transform .2s}.search-box:focus-within{box-shadow:0 13px 58px rgba(0,0,0,.3),0 0 0 5px rgba(138,233,198,.19);transform:translateY(-1px)}.search-box svg{flex:none;color:#778196}.search-box input{border:0;outline:none;background:transparent;width:100%;min-width:0;color:#111727;font-size:17px;font-weight:500}.search-box input::placeholder{color:#768096;opacity:1}.search-box input:focus-visible{outline:0}.search-box input::-webkit-search-cancel-button{cursor:pointer}.shortcut{border:1px solid #d6dbe6;background:#edf0f6;border-radius:6px;min-width:26px;height:26px;display:grid;place-items:center;font-size:13px;font-weight:700;color:#9098a9}.search-hint{font-size:12px;color:#838fa8;margin:13px 0 0}
.library{scroll-margin-top:30px;padding-bottom:56px}.section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:24px}.section-kicker{color:var(--mint);font-weight:850;font-size:10px;letter-spacing:.19em;margin:0 0 8px}.section-header h2{margin:0;font-size:clamp(23px,3vw,32px);line-height:1.2;letter-spacing:-.038em;font-weight:800}.library-count{font-size:12px;color:#a8b5ca;white-space:nowrap;border:1px solid var(--line);border-radius:99px;padding:7px 12px}.filters{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;background:#1a2030;border:1px solid #30394d;border-radius:17px;padding:12px;margin-bottom:17px}.filter-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.filter-chip{background:transparent;color:#aab3c6;border:1px solid transparent;border-radius:10px;padding:10px 13px;font-size:13px;font-weight:700;transition:all .15s}.filter-chip:hover{background:#2a3245;color:var(--text)}.filter-chip.selected{background:var(--mint-dim);border-color:rgba(138,233,198,.27);color:var(--mint)}.select-group{display:flex;gap:8px;flex-wrap:wrap}.select-group select{appearance:none;color:var(--text);border:1px solid #3b4257;background:#262d40 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23b8c2d7' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") right 12px center / 12px no-repeat;padding:10px 31px 10px 12px;border-radius:9px;font-size:12px;font-weight:650;min-height:41px;max-width:230px}.select-group select option{background:#262d40;color:#fff}.results-head{display:flex;align-items:center;justify-content:space-between;min-height:44px;color:#939eb5;font-size:12px;gap:12px;padding:0 3px}.reset-btn,.empty-reset{border:0;background:none;color:var(--mint);font-weight:750;font-size:12px;padding:7px}.reset-btn[hidden],.empty-state[hidden]{display:none}.result-list{display:grid;gap:13px}.game-card{background:linear-gradient(120deg,#1d2333,#1a2030);border:1px solid #30384a;border-radius:18px;display:flex;gap:23px;padding:21px;box-shadow:0 2px 14px #07091022;transition:border .2s,transform .2s}.game-card:hover{border-color:#46536c;transform:translateY(-1px)}.art{position:relative;flex:0 0 139px;width:139px;min-height:145px;border-radius:13px;overflow:hidden;isolation:isolate;background:linear-gradient(140deg,#2b5160,#131c32);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:15px}.art:before{content:"";position:absolute;width:118px;height:118px;top:-12px;right:-30px;border:1px solid #ffffff60;border-radius:50%;box-shadow:0 0 0 18px #ffffff08,0 0 0 36px #ffffff07;opacity:.62;transform:rotate(-20deg)}.art:after{content:"";position:absolute;width:110px;height:110px;top:20px;left:-48px;border-radius:36%;background:#ffffff0c;transform:rotate(30deg)}.art .art-symbol{position:absolute;top:16px;left:15px;font-size:17px;line-height:1;color:#ffffffbf;font-weight:700}.art .art-title{font-weight:900;font-size:16px;letter-spacing:-.6px;color:white;line-height:1.03;z-index:1;text-shadow:0 2px 9px #0009;overflow-wrap:anywhere}.art.ocean{background:linear-gradient(145deg,#237996,#11354a 63%,#102b36)}.art.gold{background:linear-gradient(145deg,#78633d,#2c2534 72%,#1b202e)}.art.ink{background:linear-gradient(135deg,#455879,#1c243d 65%,#171e31)}.art.space{background:linear-gradient(140deg,#655caa,#282d60 65%,#171e35)}.art.sunset{background:linear-gradient(155deg,#bc7852,#703c54 55%,#272a50)}.art.terra{background:linear-gradient(155deg,#758e78,#334f58 55%,#222b3b)}.art.forest{background:linear-gradient(145deg,#667e66,#3d4d53 65%,#222b36)}
.game-main{min-width:0;flex:1;display:flex;flex-direction:column}.game-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.game-name{font-size:19px;font-weight:800;line-height:1.3;letter-spacing:-.028em;margin:0 0 4px}.mod-amount{font-size:11px;color:#adb9ca;white-space:nowrap}.mods{display:grid;gap:13px;margin-top:10px}.mod-item{padding-top:10px;border-top:1px solid rgba(192,201,218,.12)}.mod-item:first-child{padding-top:0;border-top:0}.mod-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.mod-title{font-weight:800;font-size:15px;color:var(--mint);line-height:1.3}.mod-summary{color:#b1bbcd;font-size:12px;line-height:1.56;margin:7px 0 11px;max-width:640px}.tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tag{border:1px solid #3b4356;background:#272f43;border-radius:7px;padding:5px 8px;font-size:10px;font-weight:700;line-height:1.3;color:#c3ccdc}.tag.availability-public{color:#a0eac6;background:#1f3b38;border-color:#33554b}.tag.availability-closed{color:#f5caa6;background:#45362f;border-color:#5c4536}.tag.availability-planned{color:#b9c0d6}.mod-bottom{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.checked{font-size:11px;color:#818ca4}.source-link{display:inline-flex;align-items:center;gap:7px;color:var(--text);background:#333c52;border:1px solid #4c5870;padding:7px 11px;border-radius:8px;font-size:12px;font-weight:730;white-space:nowrap;transition:background .15s,border .15s}.source-link:hover{background:#45506a;border-color:#65718a}.source-link svg{width:13px;height:13px}.source-link.disabled{opacity:.6;pointer-events:none}.disclaimer{display:flex;align-items:flex-start;gap:11px;margin:20px 3px 0;color:#8893ab;font-size:12px;line-height:1.7}.disclaimer p{margin:0}.disclaimer>span{font-size:16px;color:#9da8c0}.empty-state{text-align:center;border:1px dashed #3a455a;padding:50px 20px;background:#1a2130;border-radius:18px}.empty-icon{font-size:60px;color:#8ae9c6}.empty-state h3{font-size:23px;margin:0}.empty-state p{color:var(--muted);font-size:14px}.empty-reset{font-size:14px}
.about{background:linear-gradient(105deg,#222b38,#272d3c);border:1px solid #3b4559;border-radius:21px;display:flex;align-items:flex-start;gap:22px;padding:27px 30px;margin:22px auto 67px}.about-icon{flex:0 0 50px;width:50px;height:50px;display:grid;place-items:center;background:#365448;border-radius:13px;color:var(--mint);font-size:25px}.about h2{margin:0 0 5px;font-size:18px;letter-spacing:-.02em}.about p{margin:0;font-size:12px;color:#b0bbcf;line-height:1.8;max-width:800px}.footer{padding:0 0 30px}.footer-upper{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #2c3546;padding:0 0 25px}.footer-brand{font-size:23px;font-weight:900;letter-spacing:-1px}.footer-upper>span:last-child{font-size:12px;color:#8794ab}.footer-lower{padding:24px 0 0;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:11px;color:#7c8aa3}.middle-dot{margin:0 7px;color:#697892}.footer-links{display:flex;align-items:center;gap:21px}.footer-links a:hover{color:var(--mint)}
.legal-main{padding:75px 0 95px;max-width:770px}.legal-main h1{font-size:42px;letter-spacing:-.05em;margin:0 0 15px}.legal-main p,.legal-main li{color:#b6c0d1;line-height:1.85}.legal-main h2{margin:33px 0 4px;font-size:20px}.legal-alert{border:1px solid #c9995e;background:#382b22;border-radius:14px;padding:17px;color:#ffcf9c;font-weight:700;margin:24px 0}.legal-main a{color:var(--mint);text-decoration:underline}
@media(min-width:1100px){.hero{padding-top:88px;padding-bottom:89px}}@media(max-width:800px){.hero-decoration{opacity:.5}.filters{align-items:stretch}.select-group{width:100%}.select-group select{flex:1;min-width:140px;max-width:none}.game-card{gap:15px}.art{flex-basis:111px;width:111px;min-height:145px}.game-name{font-size:17px}}@media(max-width:540px){.wrap{width:min(100% - 30px,1070px)}.header{height:73px}.brand{font-size:20px}.brand-mark{width:34px;height:34px}.header-nav{gap:10px}.nav-library{font-size:12px}.lang-btn{padding:5px 7px}.hero{padding:60px 0 53px}.hero h1{font-size:clamp(41px,11vw,56px)}.intro{font-size:14px;margin-bottom:28px}.search-box{height:61px;padding:0 15px;border-radius:13px}.search-box input{font-size:15px}.shortcut{display:none}.search-hint{font-size:11px}.section-header{align-items:flex-end}.library-count{font-size:10px}.section-header h2{font-size:22px}.filters{padding:9px;gap:8px}.filter-group{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.filter-chip{font-size:11px;padding:10px 3px}.select-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.select-group select{min-width:0;width:100%;padding:10px 24px 10px 9px;font-size:11px}.select-group select:last-child{grid-column:span 2}.game-card{padding:13px;gap:12px;border-radius:14px}.art{flex-basis:80px;width:80px;min-height:120px;border-radius:9px;padding:10px}.art:before{width:100px;height:100px}.art .art-title{font-size:12px}.game-name{font-size:16px}.mod-head{gap:6px}.mod-title{font-size:13px}.mod-summary{font-size:11px}.mod-amount{display:none}.tag{font-size:9px;padding:4px 6px}.mod-bottom{margin-top:12px;gap:7px}.checked{font-size:10px}.source-link{padding:7px 9px;font-size:11px}.about{gap:11px;padding:18px 14px;margin:18px auto 51px;border-radius:15px}.about-icon{width:36px;height:36px;flex-basis:36px;font-size:19px}.about h2{font-size:16px}.about p{font-size:11px}.footer-upper{align-items:flex-start}.footer-upper>span:last-child{max-width:185px;text-align:right}.legal-main{padding:40px 0 80px}.legal-main h1{font-size:34px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Keep very long game names neat on the custom abstract art tiles. */
.art-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
@media(max-width:540px){.art-title{-webkit-line-clamp:3}}

/* Launcher/edition compatibility is separate from multiplayer transport. */
.filters-note{margin:-8px 7px 10px;font-size:11px;line-height:1.5;color:#909db5}
.launcher-info{margin-top:11px;display:grid;gap:6px}
.launcher-line{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.launcher-prefix,.launcher-unknown{color:#95a5bc;font-size:11px}
.launcher-pill{display:inline-flex;align-items:center;border:1px solid #3f6156;background:#233a35;color:#a9eed2;border-radius:7px;font-size:10px;font-weight:720;padding:4px 7px}
.launcher-pill.unsupported{border-color:#5b4851;background:#392c36;color:#dcc0c7}
.compatibility-note{font-size:11px;color:#a8bad0;line-height:1.6;margin:8px 0 0;max-width:650px}
.compatibility-note strong{font-weight:760;color:#d5deed}
@media(max-width:540px){.filter-group.modes{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-group.modes .filter-chip{white-space:nowrap}.select-group select:last-child{grid-column:span 1}.filters-note{margin:0 5px 9px}.launcher-line{gap:4px}.launcher-prefix{width:100%}}

/* Temporary test-release notice. Remove in the final, legally complete release. */
.test-notice{background:#352a24;color:#f6d1ae;border-bottom:1px solid #79583b;text-align:center;font-size:12px;line-height:1.5;font-weight:650;padding:9px 17px;}
@media(max-width:540px){.test-notice{font-size:11px;padding:7px 12px}}
