*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:#080807;color:#f4efe4;font:15px/1.6 system-ui,-apple-system,sans-serif;background-image:radial-gradient(ellipse at 80% 0,#59451e22,transparent 55%);min-height:100dvh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}header,main,footer{max-width:1200px;margin:auto;padding:24px}header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #ddbf7426}.brand{letter-spacing:.16em;font-size:13px;display:flex;align-items:center;gap:12px}.brand b{font-size:32px;color:#dec17d}.brand span{color:#c7ab6b;font-size:10px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;border-radius:14px;border:1px solid #e1c884;background:linear-gradient(135deg,#ecd69b,#c5a056);color:#17140d;font-weight:650;font-size:13px}.secondary{border-color:#d0b7734d;background:#d5b86d0c;color:#e4ce97}.hero{padding:58px 0 40px;max-width:680px}small{color:#cbae6e;font-size:10px;letter-spacing:.19em}h1{font-size:clamp(32px,6vw,70px);line-height:1.08;letter-spacing:-.05em;font-weight:500;margin:22px 0}h1 em{font-family:Georgia,serif;font-weight:400;color:#ddc38a}p{color:#b8b3a7}.hero p{max-width:480px;font-size:17px}#filters{display:flex;gap:12px;margin-bottom:30px}input,select,textarea{padding:13px 16px;color:#f4efe4;background:#15140f;border:1px solid #dac18038;border-radius:12px;min-width:0}#search{flex:1}.games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #dec17c2b;border-radius:22px;background:linear-gradient(140deg,#232016,#0e0e0b);transition:transform .2s,border-color .2s}.card:hover{transform:translateY(-3px);border-color:#d2b47599}.art{height:145px;display:flex;align-items:center;justify-content:center;font-size:56px;background:radial-gradient(circle,#d9b46024,transparent 65%),linear-gradient(150deg,#302a1b,#12120d);color:#dec485}.card-body{padding:21px}.card h2{margin:8px 0;font-size:21px;line-height:1.3;overflow-wrap:anywhere}.card p{font-size:13px;margin:8px 0}.card-bottom{display:flex;align-items:center;justify-content:space-between;color:#ddc185;font-size:12px;margin-top:18px}.empty{padding:36px;border:1px dashed #d4b77655;border-radius:20px;grid-column:1/-1}.back{font-size:13px;color:#d9bc7d}.game-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:28px}.game-heading h1{font-size:clamp(28px,5vw,46px);margin:10px 0;overflow-wrap:anywhere}#play-area{border:1px solid #d2b57444;border-radius:24px;overflow:hidden;background:#0e0e0b;margin:24px 0;min-height:360px}#start-panel{display:flex;flex-direction:column;align-items:center;text-align:center;padding:42px 24px}.game-symbol{font-size:60px;color:#dfc27e}#start-panel h2{font-size:28px;font-weight:450}#play-area iframe{display:block;border:0;width:100%;height:680px;background:#080807}#play-area:fullscreen{border:0;border-radius:0;height:100dvh}#play-area:fullscreen iframe{height:100dvh}#play-area.mobile-game{max-width:520px;margin-inline:auto}#play-area.mobile-game iframe{height:min(76dvh,780px);min-height:420px}.leaderboard{border:1px solid #d8bf7c33;border-radius:22px;padding:25px;margin:32px 0;background:#cdb77605}.leaderboard h2{font-size:26px;font-weight:450}.leaderboard li{padding:12px;border-bottom:1px solid #d7bd7722}.leaderboard li span{float:right;color:#e4cb91}#claim-actions{padding:20px;border:1px solid #d3b77255;border-radius:18px}#claim-actions .button{margin:4px}#report textarea{display:block;width:100%;margin:12px 0}details{color:#b9ad91;margin-top:25px}footer{display:flex;justify-content:space-between;color:#ad9870;font-size:10px;letter-spacing:.14em;border-top:1px solid #d4b67b22;margin-top:50px}#status{max-width:1150px;margin:24px auto;padding:0 24px}#more{margin-top:24px}:focus-visible{outline:2px solid #f6dea2;outline-offset:5px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:650px){header,main,footer{padding:18px}.brand{font-size:11px;gap:7px}.brand span{display:none}header .button{font-size:11px;padding:9px 12px}.hero{padding:35px 0 24px}.hero p{font-size:15px}.games{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-body{padding:14px}.card h2{font-size:18px}.art{height:110px;font-size:42px}.card-bottom{align-items:flex-start;gap:8px;flex-direction:column}#filters{flex-wrap:wrap;gap:8px}#search{flex-basis:100%}#filters select{flex:1;width:0}.game-heading{align-items:flex-start}#fullscreen{padding:9px;font-size:11px;white-space:nowrap}#play-area{min-height:300px;border-radius:18px}.leaderboard{padding:18px}footer span{display:none}}@media(prefers-reduced-motion:reduce){.card{transition:none}}

#play-area.expanded{position:fixed;inset:0;z-index:9999;margin:0;max-width:none;border-radius:0;height:100dvh}#play-area.expanded iframe{height:100dvh;min-height:0}.exit-expanded{display:none}#play-area.expanded .exit-expanded{display:block;position:absolute;top:max(10px,env(safe-area-inset-top));right:10px;z-index:2;opacity:.85}

/* Library artwork anchors each Arcade card. */
.art{position:relative;height:auto;aspect-ratio:2/3;overflow:hidden;background:#14120d}.art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .2s}.art.has-cover img{opacity:1}.art.has-cover .art-fallback{visibility:hidden}.art::after{content:"";position:absolute;inset:70% 0 0;background:linear-gradient(transparent,#08080777);pointer-events:none}.card-body{display:flex;flex-direction:column;flex:1;padding:20px}.card h2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:23px;line-height:1.25;letter-spacing:-.025em}.card .card-creator{color:#c5b897;font-size:13px}.card .card-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.65;color:#b5afa0;margin:12px 0 18px}.card-bottom{margin-top:auto;padding-top:15px;border-top:1px solid #dac07e22;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.card-bottom b{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 16px;border:1px solid #d8bd794d;border-radius:11px;background:#d9bd7814;color:#f0d99d;font-size:13px}.card small{font-size:9px;letter-spacing:.14em}.games{align-items:stretch}@media(max-width:480px){.games{grid-template-columns:minmax(0,1fr);gap:22px}.card{border-radius:22px}.card-body{padding:21px}.card h2{font-size:26px}.art{aspect-ratio:3/4}.card-bottom{flex-direction:row;align-items:center}.card .card-description{-webkit-line-clamp:2}.hero h1{font-size:clamp(38px,11vw,53px)}}
