:root{color:#18223a;font-synthesis:none;background:#f5f0e7;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 96% 7%,#f6bc32 0 4rem,#0000 4.1rem),radial-gradient(circle at 5% 84%,#41bbb233 0 9rem,#0000 9.1rem),#f5f0e7;min-width:320px;margin:0}a{color:inherit}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline-offset:4px;outline:3px solid #df4f31}.topbar{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f5f0e7ef;border-bottom:1px solid #18223a;align-items:center;gap:1rem;min-height:4.8rem;padding:0 clamp(1rem,5vw,5rem);display:flex;position:sticky;top:0}.brand{letter-spacing:-.06em;align-items:center;gap:.65rem;font-family:Trebuchet MS,sans-serif;font-size:1.4rem;font-weight:900;display:flex;position:relative}.brand-wordmark{color:inherit;text-decoration:none}.brand small{color:#667087;letter-spacing:.13em;text-transform:uppercase;font-family:Inter,sans-serif;font-size:.49rem;font-weight:850;display:block}.brand-monster-button{background:0 0;border:0;padding:0;line-height:0;display:block}.brand-monster{background:#d7ef43 url(/images/jolan-brand-monster-v1.png) 50% 45%/185% no-repeat;border:2px solid #18223a;border-radius:50%;width:2.55rem;height:2.55rem;display:block;overflow:hidden;transform:rotate(-5deg);box-shadow:3px 3px #df4f31}.brand-monster-button:hover .brand-monster,.brand-monster-button[aria-expanded=true] .brand-monster{transform:rotate(3deg)translate(-1px,-1px);box-shadow:4px 4px #41bbb2}.brand-popover{z-index:20;color:#18223a;letter-spacing:0;background:#fffefa;border:2px solid #18223a;border-radius:.75rem 1rem .85rem .65rem;gap:.7rem;width:min(17rem,100vw - 2rem);padding:.8rem .85rem;font-family:Inter,sans-serif;font-size:.76rem;font-weight:800;line-height:1.35;display:grid;position:absolute;top:calc(100% + .65rem);left:0;box-shadow:4px 4px #df4f31}.brand-popover-art{aspect-ratio:1;object-fit:contain;justify-self:center;width:7rem;display:block}.brand-popover-copy{align-items:start;gap:.7rem;display:flex}.brand-popover p{margin:0}.brand-popover button{color:#18223a;width:1.5rem;height:1.5rem;font:inherit;background:#d7ef43;border:1px solid #18223a;flex:none;padding:0;font-size:1.1rem;font-weight:900;line-height:1}nav{gap:.25rem;margin-left:auto;display:flex}nav a,.nav-end>a,.language{color:#536078;background:0 0;border:0;padding:.48rem .62rem;font-size:.78rem;font-weight:850;text-decoration:none}.topbar a.active{color:#18223a;text-underline-offset:.35rem;-webkit-text-decoration:underline #df4f31;text-decoration:underline #df4f31;text-decoration-thickness:3px}.nav-end{border-left:1px solid #18223a33;align-items:center;gap:.3rem;padding-left:.7rem;display:flex}.mobile-menu-toggle{color:#18223a;background:#fffefa;border:2px solid #18223a;width:2.8rem;height:2.65rem;padding:.55rem;display:none}.mobile-menu-toggle span{background:currentColor;width:100%;height:2px;margin:.18rem 0;display:block}.mobile-menu-toggle[aria-expanded=true]{background:#d7ef43;transform:translate(-1px,-1px);box-shadow:3px 3px #df4f31}.mobile-menu-panel{display:none}.language{color:#18223a;background:#fffefa;border:1px solid #18223a}.hero,.page-hero,.plain-page{width:min(100%,78rem);margin:0 auto;padding-inline:clamp(1rem,5vw,5rem)}.hero{grid-template-columns:minmax(15rem,.8fr) minmax(21rem,1.2fr);align-items:center;gap:clamp(1.5rem,4vw,4rem);padding-block:clamp(2.5rem,6vw,5.5rem) clamp(1rem,3vw,2.5rem);display:grid}.eyebrow,.card-type{color:#df4f31;letter-spacing:.13em;text-transform:uppercase;margin:0 0 .6rem;font-size:.7rem;font-weight:900}.card-type{display:block}.hero h1,.page-hero h1,.plain-page h1,.login-card h1{letter-spacing:-.075em;max-width:8.5ch;margin:0 0 1rem;font-family:Trebuchet MS,sans-serif;font-size:clamp(3rem,6.5vw,5.9rem);font-weight:900;line-height:.88}.hero-copy>p:not(.eyebrow),.page-hero>p:not(.eyebrow),.plain-page>p:not(.eyebrow),.login-card>p:not(.eyebrow){color:#536078;max-width:35rem;margin-bottom:0;font-size:1rem;font-weight:650;line-height:1.55}.hero-art{background:#fffefa url(/images/jolan-directory-hero-v3.jpg) 50%/cover no-repeat;border:2px solid #18223a;border-radius:1.6rem 1rem 1.8rem .9rem;min-height:clamp(18rem,35vw,30rem);transform:rotate(.7deg);box-shadow:.5rem .55rem #18223a,0 1rem 2rem #18223a26}.directory-section{width:min(100%,78rem);margin:0 auto;padding:clamp(2.5rem,5vw,4rem) clamp(1rem,5vw,5rem) 0}.directory-section:last-child{padding-bottom:clamp(4rem,8vw,7rem)}.directory-section h2{letter-spacing:-.065em;margin:.05rem 0 1.2rem;font-family:Trebuchet MS,sans-serif;font-size:clamp(2.1rem,4.5vw,4rem);font-weight:900}.project-card{background:#fffefa;border:2px solid #18223a;border-radius:1.4rem .85rem 1.7rem 1rem;grid-template-columns:clamp(8rem,21vw,14rem) minmax(0,1fr) auto;align-items:center;gap:clamp(1rem,4vw,3rem);padding:clamp(1rem,2.5vw,1.5rem);display:grid;box-shadow:.35rem .4rem #18223a}.project-card.game-card{color:inherit;text-decoration:none}.game-card{background:#d7ef43}.game-card:hover{transform:translate(-2px,-2px)rotate(-.2deg);box-shadow:.55rem .6rem #df4f31}.card-art{background:#fffefa url(/images/jolan-directory-hero-v3.jpg) 79%/270% no-repeat;border:2px solid #18223a;border-radius:1rem .65rem 1.15rem .75rem;min-height:9rem;position:relative;overflow:hidden;transform:rotate(-3deg)}.game-card .card-art{aspect-ratio:1;background:#fffefa url(/images/tablz-friends-card-v1.jpg) 50%/contain no-repeat;min-height:0}.game-card .card-splat{display:none}.card-splat{border:2px solid #18223a;border-radius:50%;display:block;position:absolute}.splat-one{background:#df4f31;width:1.1rem;height:1.1rem;bottom:8%;right:10%}.splat-two{background:#41bbb2;width:.55rem;height:.55rem;bottom:23%;right:3%}.card-copy h3{letter-spacing:-.07em;margin:0 0 .45rem;font-family:Trebuchet MS,sans-serif;font-size:clamp(2rem,4vw,3.4rem);font-weight:900;display:block}.card-copy>p:not(.card-type),.card-description{color:#455168;margin:0;font-weight:650;line-height:1.45;display:block}.card-action,.button{color:#fffefa;white-space:nowrap;background:#18223a;border:2px solid #18223a;justify-content:center;align-items:center;gap:1rem;min-height:2.7rem;padding:.65rem .85rem;font-size:.8rem;font-weight:900;text-decoration:none;display:inline-flex;box-shadow:4px 4px #df4f31}.card-action:hover,.button:hover{background:#413a92}.minecraft-card{background:#eef6fa}.minecraft-art{background:#22344d url(/images/jolan-server-monster-v2.jpg) 50%/cover no-repeat;transform:rotate(2deg)}.language-switch{border-left:1px solid #18223a55;align-items:center;gap:.25rem;padding-left:.7rem;display:flex}.language-switch button{color:#536078;min-width:2.55rem;font:inherit;letter-spacing:.06em;background:#fffefa;border:1px solid #18223a;padding:.45rem .5rem;font-size:.73rem;font-weight:900}.language-switch button.active{color:#18223a;background:#d7ef43;transform:translate(-1px,-1px);box-shadow:3px 3px #df4f31}.language-switch button:hover{color:#18223a;background:#e8f38d}.server-address{color:#fffefa;white-space:nowrap;background:#18223a;border:2px solid #18223a;grid-template-columns:auto auto;align-items:center;gap:.18rem .5rem;padding:.45rem .5rem;display:grid}.server-url-label{color:#d7ef43;letter-spacing:.12em;text-transform:uppercase;grid-column:1/-1;font-size:.58rem;font-weight:900}.server-address code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;font-weight:800}.server-address button{color:#18223a;width:1.8rem;height:1.8rem;font:inherit;background:#d7ef43;border:0;place-items:center;font-size:1.05rem;font-weight:900;display:grid}.server-address button:hover,.server-address button[data-copied=true]{background:#41bbb2}.page-hero{max-width:68rem;padding-top:clamp(4rem,9vw,7rem);padding-bottom:clamp(2rem,4vw,3rem)}.page-hero h1{max-width:none}.apps-feature{margin-top:clamp(2.5rem,5vw,4rem)}.apps-feature h2{letter-spacing:-.065em;margin:.05rem 0 1.2rem;font-family:Trebuchet MS,sans-serif;font-size:clamp(2.1rem,4.5vw,4rem);font-weight:900}.button{color:#18223a;background:#f6bc32;margin-top:1.3rem}.button.dark{color:#fffefa;background:#18223a}.plain-page{min-height:60vh;padding-top:clamp(4rem,9vw,7rem)}.about-accomplices{background:#fffefa;border:2px solid #18223a;border-radius:1.5rem .9rem 1.75rem 1rem;margin:clamp(2.5rem,5vw,4rem) 0 clamp(3rem,6vw,5rem);overflow:hidden;box-shadow:.45rem .5rem #18223a}.about-accomplices>img{aspect-ratio:3/2;object-fit:cover;background:#10111c;width:100%;display:block}.about-accomplices-copy{padding:clamp(1.25rem,3vw,2rem)}.about-accomplices-copy .eyebrow a{color:inherit;text-underline-offset:.16em}.about-accomplices-copy>p:not(.eyebrow){color:#536078;max-width:44rem;margin:0;font-size:1rem;font-weight:650;line-height:1.55}.login-page{place-items:center;min-height:calc(100vh - 4.8rem);padding:2rem;display:grid}.login-stage{width:min(100%,34rem);padding-top:5.7rem;position:relative}.login-monster{z-index:0;filter:drop-shadow(.22rem .28rem #18223a);width:10rem;position:absolute;top:0;left:50%;transform:translate(-50%)rotate(-4deg)}.login-card{z-index:1;background:#fffefa;border:2px solid #18223a;border-radius:1.5rem .9rem 1.75rem 1rem;width:100%;padding:clamp(1.8rem,5vw,3.2rem);position:relative;box-shadow:.55rem .6rem #41bbb2}.login-status{color:#536078;max-width:31rem;margin:0;font-size:1rem;font-weight:650;line-height:1.55}.login-status a{color:#18223a;text-underline-offset:.16em;font-weight:850;text-decoration-thickness:2px}.login-status a:hover{color:#ed563c}.login-form{gap:.9rem;margin-top:1.4rem;display:grid}.login-form label{color:#18223a;letter-spacing:.08em;text-transform:uppercase;gap:.35rem;font-size:.76rem;font-weight:900;display:grid}.login-form input{color:#18223a;width:100%;min-height:2.8rem;font:inherit;letter-spacing:0;text-transform:none;background:#fffefa;border:2px solid #18223a;border-radius:.45rem .7rem .55rem .65rem;padding:.55rem .7rem;font-size:1rem;font-weight:650}.login-form input:focus{outline-offset:2px;outline:3px solid #41bbb2}.login-form .button{justify-self:start;margin-top:.35rem}.login-form .button:disabled,.login-actions .button:disabled{cursor:wait;opacity:.7}.login-actions{align-items:center;gap:1rem;margin-top:1.35rem;display:flex}.login-actions>a{color:#536078;font-size:.8rem;font-weight:850;text-decoration:none}.login-actions>a:hover{color:#18223a;text-decoration:underline}.login-actions .button{margin:0}footer{color:#536078;text-align:center;border-top:1px solid #18223a55;flex-direction:column;align-items:center;gap:.12rem;padding:.65rem clamp(1rem,5vw,5rem);font-size:.7rem;font-weight:650;line-height:1.35;display:flex}footer span{font-weight:600}footer a{color:#18223a;font-weight:900}footer>a{white-space:nowrap;margin-top:.2rem}@media (width<=700px){.topbar{flex-wrap:wrap;padding:.75rem 1rem}.topbar nav{order:3;justify-content:space-between;width:100%;margin:0}.topbar>.nav-end{display:none}.mobile-menu-toggle{margin-left:auto;display:block}.mobile-menu-panel{z-index:30;background:#fffefa;border:2px solid #18223a;border-radius:.75rem 1rem .85rem .65rem;gap:.7rem;min-width:11rem;padding:.85rem;display:grid;position:absolute;top:calc(100% + .55rem);right:1rem;box-shadow:4px 4px #df4f31}.mobile-menu-panel .language-switch{border-bottom:1px solid #18223a33;border-left:0;justify-content:space-between;padding:0 0 .7rem}.mobile-menu-panel>a{color:#18223a;padding:.2rem 0;font-size:.85rem;font-weight:900;text-decoration:none;display:block}.mobile-menu-panel>a.active{text-underline-offset:.3rem;-webkit-text-decoration:underline #df4f31;text-decoration:underline #df4f31;text-decoration-thickness:3px}.hero{grid-template-columns:1fr;padding-top:2.5rem}.hero-art{min-height:16rem}.project-card{grid-template-columns:7rem 1fr}.card-art{min-height:7rem}.card-action,.server-address{grid-column:2;justify-self:start}.language-switch{border-left:0;padding-left:0}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
