.arcade{padding-top:28px;padding-bottom:64px}.arcade [hidden]{display:none!important}.arcade p{margin:0}.arcade button,.arcade input,.arcade textarea,.arcade select{font:inherit}.arcade :focus-visible{outline:3px solid var(--accent-text,#ff784f);outline-offset:4px}.arcade-hero{position:relative;display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:24px;min-height:376px;padding:46px 48px;border:1px solid var(--line);border-radius:18px;background:radial-gradient(ellipse at 91% 44%,#ef420c1a,transparent 55%),var(--surface);overflow:hidden}.arcade-eyebrow{font-size:11px!important;letter-spacing:1.7px;font-weight:750;color:var(--muted)}.arcade-hero .arcade-eyebrow span{color:var(--accent-text);margin-right:6px}.arcade-hero h1{font-size:clamp(42px,5.3vw,68px);line-height:1.02;margin:17px 0 20px}.arcade h1 span,.arcade-ideas h2 span{color:var(--accent-text)}.arcade-hero__copy>p:not(.arcade-eyebrow){color:var(--muted);font-size:15px;line-height:1.8}.arcade-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:25px}.arcade .kig-btn{min-height:44px;border-radius:8px;gap:12px}.arcade-text-link{font-size:13px;font-weight:650}.arcade-perks{display:flex;flex-wrap:wrap;gap:20px;color:var(--muted);font-size:11px;margin-top:22px}.arcade-hero__art{min-height:290px;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate}.arcade-hero__art .arcade-mascot{width:270px;height:270px;object-fit:contain;filter:drop-shadow(0 18px 20px #0003)}.arcade-orbit{position:absolute;width:260px;height:260px;border:1px solid #ef420c55;border-radius:50%;z-index:-1;background:radial-gradient(circle,#ef420c12,transparent 72%)}.arcade-orbit:after{content:'';position:absolute;inset:-21px;border:1px dashed #ef420c30;border-radius:50%}.arcade-mascot-note{position:absolute;bottom:0;background:var(--surface-2);padding:8px 14px;border:1px solid var(--line);border-radius:8px;font-size:11px;transform:rotate(-4deg)}.arcade-deco{position:absolute;color:var(--accent-text);font-size:38px}.arcade-deco--one{top:5px;right:18px;transform:rotate(15deg)}.arcade-deco--two{bottom:22px;left:8px;font-size:28px}.arcade-collection{margin-top:44px;scroll-margin-top:90px}.arcade-sectionhead{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.arcade h2{font-size:36px;line-height:1.16}.arcade-sectionhead h2{margin-top:7px;display:flex;align-items:center;gap:12px}.arcade-count{background:var(--surface-2);border:1px solid var(--line);color:var(--muted);border-radius:7px;padding:4px 9px;font:600 14px var(--font-body,system-ui)}.arcade-search{width:270px;max-width:100%}.arcade-search label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.arcade input,.arcade select,.arcade textarea{width:100%;min-width:0;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:11px 13px;font-size:14px}.arcade input::placeholder,.arcade textarea::placeholder{color:var(--muted);opacity:.9}.arcade textarea{resize:vertical}.arcade-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:22px}.arcade-filters button{border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--muted);padding:8px 15px;min-height:42px;cursor:pointer;font-size:13px;font-weight:650}.arcade-filters button[aria-pressed=true]{color:var(--text);background:var(--surface-2);border-color:var(--accent)}.arcade-filters>span{margin-left:auto;color:var(--muted);font-size:11px}.arcade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.arcade-card{display:flex;flex-direction:column;overflow:hidden;border-radius:12px;border:1px solid var(--line);background:var(--surface);transition:transform .18s,border-color .18s}.arcade-card:hover{transform:translateY(-3px);border-color:var(--muted)}.arcade-card__art{height:186px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 75% 45%,#ffffff0e,transparent 70%),#152820;color:#a9d28a}.arcade-card__art:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:26px 26px;transform:perspective(160px) rotateX(15deg) scale(1.1)}.arcade-card__category{position:absolute;left:15px;top:14px;font-size:10px;background:#080b1080;border:1px solid #ffffff24;border-radius:5px;color:#fff;padding:3px 8px;z-index:1}.arcade-art-shape{position:absolute;inset:23px 10px 20px;display:flex;align-items:center;justify-content:center}.arcade-art-shape svg{width:232px;max-height:132px;filter:drop-shadow(0 9px 15px #0004)}.arcade-art-caption{position:absolute;right:14px;bottom:10px;font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:800;opacity:.65}.arcade-art--numbers{background-color:#202340;color:#aaadff}.arcade-art--ten{background-color:#192e39;color:#79dbe5}.arcade-art--orbit{background-color:#302220;color:#ffb68d}.arcade-art--jump{background-color:#27193a;color:#d997ff}.arcade-art--joy{background:linear-gradient(120deg,#153441,#471f2c);color:#efb7c3}.arcade-art--ps5{background-color:#1c2a43;color:#e8f0ff}.arcade-art--xbox{background-color:#1c3122;color:#a4e966}.arcade-art--pad{background-color:#382219;color:#ffbb7b}.arcade-art--pixel{background-color:#342445;color:#d9a7ff}.arcade-art--rig{background-color:#17343c;color:#81e4e1}.arcade-art--rhythm{background-color:#352037;color:#ffa4db}.arcade-card__body{display:flex;flex-direction:column;flex:1;padding:19px}.arcade-card h3{font-size:25px;margin:0 0 9px}.arcade-card__body>p{color:var(--muted);font-size:13px;line-height:1.75;flex:1}.arcade-card__bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:21px}.arcade-card__bottom>span{font-size:10px;color:var(--muted)}.arcade-card .kig-btn{font-size:13px;min-height:40px;padding:0 15px}.arcade-empty{text-align:center;border:1px dashed var(--line);border-radius:14px;padding:28px;background:var(--surface)}.arcade-empty .arcade-mascot{width:100px;margin:0 auto 16px}.arcade-empty h3{font-size:29px}.arcade-empty p{margin:12px auto 18px;color:var(--muted);font-size:14px}.arcade-ideas{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;margin-top:64px;padding-top:48px;border-top:1px solid var(--line);scroll-margin-top:85px}.arcade-ideas h2{font-size:clamp(35px,3.7vw,46px);margin:15px 0 20px}.arcade-ideas__intro>p:not(.arcade-eyebrow){color:var(--muted);font-size:14px;line-height:1.8;max-width:380px}.arcade-promise{padding:17px 19px;border-left:3px solid var(--accent);background:var(--surface);border-radius:0 9px 9px 0;margin:24px 0}.arcade-promise>strong{font-size:13px}.arcade-promise p{margin-top:6px;font-size:13px;line-height:1.8;color:var(--muted)}.arcade-promise p strong{color:var(--text)}.arcade-steps{display:grid;gap:10px;color:var(--muted);font-size:12px}.arcade-steps span{color:var(--accent-text);font-weight:800;margin-right:12px}.arcade-ideas__intro>.arcade-mascot{width:150px;margin:18px auto 0}.arcade-form{padding:28px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.arcade-form h3{font-size:27px}.arcade-form__sub{font-size:12px;color:var(--muted);margin-top:7px!important;margin-bottom:23px!important}.arcade-form label{display:block;font-size:13px;font-weight:650;margin:16px 0 7px}.arcade-form label span{font-size:11px;font-weight:400;color:var(--muted)}.arcade-form__row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.arcade-form__row label{margin-top:0}.arcade-field-help{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:6px!important}.arcade-privacy{font-size:11px;color:var(--muted);line-height:1.8;margin:18px 0!important}.arcade-privacy a{text-decoration:underline}.arcade-submit{width:100%}.arcade-submit:disabled{cursor:wait;opacity:.6}.arcade-form-status:empty{display:none}.arcade-form-status{margin-top:16px;padding:14px;border:1px solid #34c77b77;border-radius:8px;background:#34c77b0a;font-size:13px;line-height:1.8}.arcade-form-status.is-error{border-color:var(--bad,#ef6560)}.arcade-honey{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.arcade-notice{padding:20px;margin-top:24px!important;border:1px solid var(--line);border-radius:9px}.arcade-player{margin-top:32px;border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--surface);scroll-margin-top:80px}.arcade-player__top{display:flex;gap:20px;justify-content:space-between;align-items:center}.arcade-player h2{font-size:31px;margin-top:5px}.arcade-player__actions{display:flex;gap:8px;flex-wrap:wrap}.arcade-player>p{color:var(--muted);font-size:12px;margin:12px 0}.arcade-screen{position:relative;background:#11141b;border-radius:10px;overflow:hidden}.arcade-screen iframe{width:100%;height:min(880px,90vh);height:min(880px,90dvh);min-height:570px;display:block;border:0;background:#11141b}.arcade-loading{position:absolute;z-index:2;top:12px;left:12px;right:12px;padding:10px 16px;background:#20232de8;border-radius:7px;color:#fff;font-size:13px;pointer-events:none}.arcade-player__hint{margin-bottom:0!important}.arcade-player:fullscreen,.arcade-player--expanded{background:var(--bg);padding:12px;overflow:auto;border:0}.arcade-player:fullscreen{margin:0;width:100%;height:100%;border-radius:0;display:flex;flex-direction:column}.arcade-player:fullscreen .arcade-screen{flex:1}.arcade-player:fullscreen #arcade-frame-slot,.arcade-player:fullscreen iframe{height:100%;min-height:0}.arcade-player--expanded{position:fixed;inset:0;z-index:99999;margin:0;border-radius:0}.arcade-player--expanded iframe{height:calc(100dvh - 165px);min-height:0}
@media(min-width:1400px){.arcade-hero{min-height:395px}.arcade-grid{gap:23px}}
@media(max-width:900px){.arcade-hero{padding:30px;grid-template-columns:1.4fr 1fr}.arcade-hero__art .arcade-mascot{width:210px;height:230px}.arcade-orbit{width:200px;height:200px}.arcade-hero__art{min-height:260px}.arcade-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.arcade-ideas{gap:28px}.arcade-form{padding:22px}.arcade-perks{gap:12px}.arcade-player__top{align-items:start}}
@media(max-width:600px){.arcade{padding-top:18px;padding-bottom:36px}.arcade-hero{grid-template-columns:1fr;padding:25px 22px;gap:5px}.arcade-hero h1{font-size:49px}.arcade-hero .arcade-eyebrow{font-size:9px!important;letter-spacing:1.1px}.arcade-hero__copy>p:not(.arcade-eyebrow){font-size:13px}.arcade-desktop{display:none}.arcade-actions{gap:15px;margin-top:19px}.arcade-actions .kig-btn{font-size:12px}.arcade-text-link{font-size:11px}.arcade-perks{font-size:10px;gap:13px;margin-top:18px}.arcade-hero__art{min-height:165px;max-width:290px;width:100%;margin:0 auto}.arcade-hero__art .arcade-mascot{width:160px;height:160px}.arcade-orbit{width:135px;height:135px}.arcade-mascot-note{font-size:9px;right:0;bottom:6px}.arcade-deco--one{right:35px;font-size:29px}.arcade-deco--two{left:30px;bottom:30px}.arcade-sectionhead{display:block}.arcade h2{font-size:32px}.arcade-search{width:100%;margin-top:17px}.arcade-filters{gap:6px}.arcade-filters button{padding:8px 11px;font-size:11px}.arcade-filters>span{margin-left:0;width:100%;margin-top:4px}.arcade-grid{grid-template-columns:1fr;gap:18px}.arcade-card__art{height:178px}.arcade-card__body{padding:18px}.arcade-card h3{font-size:26px}.arcade-card__body>p{font-size:13px}.arcade-card__bottom{margin-top:18px}.arcade-card__bottom>span{font-size:11px}.arcade-ideas{grid-template-columns:1fr;margin-top:38px;padding-top:30px;gap:24px}.arcade-ideas__intro{position:relative}.arcade-ideas__intro>.arcade-mascot{position:absolute;width:95px;right:0;bottom:0;margin:0}.arcade-steps{padding-right:90px;line-height:1.7;gap:7px}.arcade-form{padding:20px}.arcade-form__row{grid-template-columns:1fr}.arcade-form__row label{margin-top:12px}.arcade-form__row{gap:0}.arcade input,.arcade textarea,.arcade select{font-size:16px}.arcade-player{padding:10px;scroll-margin-top:65px;margin-left:-10px;margin-right:-10px}.arcade-player__top{display:block}.arcade-player__actions{margin-top:12px}.arcade-player .kig-btn{font-size:12px;min-height:42px}.arcade-screen iframe{height:85dvh;min-height:580px}.arcade-player__hint{font-size:11px!important}.arcade-player:fullscreen .arcade-player__top{display:flex}.arcade-player:fullscreen .arcade-player__actions{margin-top:0}.arcade-player:fullscreen h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){.arcade-card{transition:none}.arcade-card:hover{transform:none}}
.arcade-player.arcade-player--expanded{display:flex;flex-direction:column;width:100%;height:100%;margin:0}
.arcade-player.arcade-player--expanded .arcade-screen{flex:1;min-height:0}
.arcade-player.arcade-player--expanded #arcade-frame-slot,.arcade-player.arcade-player--expanded iframe{height:100%;min-height:0}
/* Fit the player to the available viewport, including mobile browser chrome. */
.arcade-player { box-sizing:border-box; }
.arcade-screen iframe { height:clamp(580px,calc(100dvh - 200px),900px); min-height:0; }
.arcade-player:is(:fullscreen,.arcade-player--expanded) { box-sizing:border-box; display:flex; flex-direction:column; gap:6px; width:100%; height:100dvh; height:var(--arcade-viewport-height,100dvh); min-height:0; max-height:none; padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left)); margin:0; overflow:hidden; }
.arcade-player:is(:fullscreen,.arcade-player--expanded) .arcade-player__top { display:flex; align-items:center; gap:8px; flex:none; min-width:0; }
.arcade-player:is(:fullscreen,.arcade-player--expanded) .arcade-player__top>div:first-child { min-width:0; flex:1; }
.arcade-player:is(:fullscreen,.arcade-player--expanded) h2 { font-size:20px; line-height:1.2; margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.arcade-player:is(:fullscreen,.arcade-player--expanded) .arcade-eyebrow,
.arcade-player:is(:fullscreen,.arcade-player--expanded)>p { display:none; }
.arcade-player:is(:fullscreen,.arcade-player--expanded) .arcade-player__actions { flex:none; flex-wrap:nowrap; margin:0; gap:6px; }
.arcade-player:is(:fullscreen,.arcade-player--expanded) .kig-btn { padding:0 10px; min-height:44px; font-size:12px; }
.arcade-player:is(:fullscreen,.arcade-player--expanded) .arcade-screen { flex:1 1 0; min-height:0; width:100%; }
.arcade-player:is(:fullscreen,.arcade-player--expanded) #arcade-frame-slot,
.arcade-player:is(:fullscreen,.arcade-player--expanded) iframe { width:100%; height:100%; min-height:0; }
html.arcade-fullscreen-open,html.arcade-fullscreen-open body { overflow:hidden; overscroll-behavior:none; }
@media(max-width:480px) { .arcade-player:is(:fullscreen,.arcade-player--expanded) h2 { font-size:16px; } }
/* Shared votes and ranking; controls stay separate from the play link. */
.arcade .arcade-rating-help{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 8px}
.arcade .arcade-rating-status{font-size:13px;line-height:1.5;min-height:24px;margin-bottom:14px;overflow-wrap:anywhere}
.arcade-rating{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:14px 18px;border-top:1px solid var(--line);margin-top:auto}
.arcade-rating button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:58px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--surface-2);cursor:pointer;font-weight:700}
.arcade-rating button[aria-pressed="true"]{border:2px solid var(--accent-text);padding:7px 11px;background:var(--bg);box-shadow:inset 0 -3px 0 var(--accent-text)}
.arcade-rating button:disabled{cursor:wait;opacity:.6}
.arcade-rating-score{margin-left:auto;font-size:12px;color:var(--muted);white-space:nowrap}
.arcade-rating-score strong{color:var(--text)}
.arcade-art--hanoi{background-color:#27253d;color:#cfbbfb}.arcade-art--mahjong{background-color:#19362f;color:#a9dfca}.arcade-art--ludo{background-color:#31303b;color:#ffd386}.arcade-art--gomoku{background-color:#352d22;color:#ead2aa}.arcade-art--checkers{background-color:#243337;color:#b5ddd5}
.arcade-library-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0 12px}.arcade-library-filters label{font-size:13px;color:var(--muted)}.arcade-library-filters select{margin-top:6px;min-height:44px}.arcade .arcade-library-note{font-size:12px;color:var(--muted);margin-bottom:16px}.arcade .arcade-game-meta{font-size:13px;color:var(--muted);margin:12px 0}.arcade-details{font-size:13px;line-height:1.7;margin:8px 0}.arcade-details summary{cursor:pointer;padding:10px 0;min-height:44px}.arcade-details p{margin:8px 0}.arcade-personal-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.arcade-personal-actions button{cursor:pointer;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--text)}.arcade-personal-actions button[aria-pressed=true]{border-color:var(--accent-text);color:var(--accent-text)}.arcade .arcade-age{padding:8px 10px;margin:8px 0;border:1px solid var(--accent-text);border-radius:6px;color:var(--accent-text);font-size:13px}.arcade-new{align-self:flex-start;font-size:11px;font-weight:700;padding:5px 8px;border:1px solid var(--line);border-radius:6px}.arcade-card__bottom{margin-top:auto}.arcade-card__body{display:flex;flex:1;flex-direction:column}.arcade-card__body h3{overflow-wrap:anywhere}.arcade-filters button{min-height:44px}@media(max-width:600px){.arcade-library-filters{grid-template-columns:1fr;gap:10px}.arcade-hero{min-height:0;padding:24px}.arcade-hero__art{min-height:180px}.arcade-hero__art .arcade-mascot{height:170px;width:170px}.arcade-orbit{width:160px;height:160px}.arcade-hero h1{font-size:42px}.arcade-collection{margin-top:28px}}

.arcade-art--empire{background-color:#38251f;color:#ffb28e}.arcade-art--river{background-color:#17343c;color:#a5dfb9}

.arcade-art--solitaire{background-color:#19362f;color:#a9dfca}
.arcade-player:has(iframe[src*="/pasjans/"]):not(:fullscreen):not(.arcade-player--expanded) .arcade-screen{height:var(--pasjans-height,1050px);min-height:0;max-height:none}

.arcade-player:has(iframe[src*="/pasjans/"]):not(:fullscreen):not(.arcade-player--expanded) :is(#arcade-frame-slot,iframe){height:100%;min-height:0;max-height:none}

/* A selected game takes priority over the library introduction on phones. */
@media(max-width:767px){
  .arcade:has(> .arcade-player:not([hidden])) > .arcade-hero{display:none}
  .arcade:has(> .arcade-player:not([hidden])){padding-top:12px}
  .arcade > .arcade-player:not([hidden]){margin-top:0;scroll-margin-top:80px}
}
