.game-library{padding-top:48px;scroll-margin-top:24px}.game-library.is-directory{padding-top:25px}.library-heading{max-width:680px;margin-bottom:28px}.library-heading .eyebrow{margin-bottom:12px}.library-heading h1,.library-heading h2{font-size:clamp(28px,3.5vw,42px);margin:0 0 14px}.library-heading>p:last-child{font-size:15px;line-height:1.8;color:var(--text);margin-bottom:0}.library-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:32px}.library-category{display:flex;flex-direction:column;padding:26px 28px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.library-category-events{background:var(--surface)}.library-category:hover{border-color:var(--green)}.library-category-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;color:var(--green)}.library-category-top>span{font-size:32px;line-height:1}.library-category-top small{font-size:11px;color:var(--muted)}.library-category h3{font-size:23px;margin-bottom:12px}.library-category p{font-size:13px;color:var(--text);max-width:430px;margin-bottom:22px}.library-category>strong{font-size:12px;font-weight:650;color:var(--green);margin-top:auto}.library-category>strong>span{margin-left:10px}.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px;scroll-margin-top:24px}.library-filters{display:flex;gap:7px;flex-wrap:wrap}.library-filters button{min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:24px;color:var(--text);font-size:12px;background:var(--paper)}.library-filters button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--action-ink);font-weight:650}.library-count{font-size:11px;color:var(--muted);margin:0}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.library-card{min-width:0;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:15px;overflow:hidden;scroll-margin-top:24px}.library-art{display:block;position:relative;height:200px;background:#b6c1a4;padding:44px 18px 18px;overflow:hidden}.library-art>span:first-child{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.library-art svg{height:100%;width:auto;max-width:100%;filter:drop-shadow(0 5px 8px #25392a33);border-radius:4px}.library-category-label{position:absolute;top:13px;left:14px;max-width:calc(100% - 28px);background:#fcfbf6ed;color:#294237;border:1px solid #29423733;border-radius:20px;font-size:9px;padding:4px 9px}.library-chinese-chess .library-art{background:#d5be9b}.library-lucky-draw .library-art{background:#2a4942}.library-reversi .library-art{background:#9ab5a3}.library-checkers .library-art{background:#c3b694}.library-go .library-art{background:#d3c5a7}.library-stones{font:42px/1.2 Georgia,serif;color:#233b31;text-shadow:0 3px 2px #fff4;white-space:nowrap}.library-gomoku .library-stones{font-size:26px}.library-draw-art{display:flex;align-items:center;gap:12px;color:#e6d6a6}.library-draw-art>span{font-size:30px}.library-draw-art strong{border:1px solid #d8e4c266;border-radius:10px;padding:15px 14px;color:#f5f2d4;background:#152e2a;font:500 32px/1.2 ui-monospace,monospace;letter-spacing:3px;white-space:nowrap}.library-card-body{padding:22px;display:flex;flex:1;flex-direction:column}.library-card h3{font-size:22px;margin:0 0 12px}.library-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}.library-card-body>p{font-size:12px;line-height:1.8;color:var(--text);margin:0 0 18px}.library-tags{display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0 0 22px;list-style:none}.library-tags li{font-size:10px;color:var(--green);border:1px solid var(--line);padding:4px 8px;border-radius:6px;background:var(--surface)}.library-card-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;border-top:1px solid var(--line);padding-top:16px;margin-top:auto;color:var(--green);font-size:11px}.library-card-links a{min-height:30px;display:inline-flex;align-items:center;gap:7px}.library-card-links a:hover{text-decoration:underline;text-underline-offset:4px}.hero-practice-link{display:inline-flex;align-items:center;font-size:12px;color:var(--green);padding:10px 0}
@media(max-width:1050px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.game-library{padding-top:32px}.library-heading h1,.library-heading h2{font-size:29px}.library-heading>p:last-child{font-size:13px}.library-categories{grid-template-columns:1fr;gap:12px;margin-bottom:24px}.library-category{padding:20px}.library-category-top{margin-bottom:12px}.library-category-top>span{font-size:25px}.library-category h3{font-size:22px}.library-category p{margin-bottom:16px;font-size:12px}.library-category-top small{font-size:10px}.library-toolbar{gap:12px;margin-bottom:18px}.library-filters{gap:6px}.library-filters button{font-size:11px;padding:10px 13px}.library-grid{grid-template-columns:1fr;gap:18px}.library-art{height:200px}.library-card-body{padding:20px}.library-card h3{font-size:23px}.library-card-links{font-size:12px}.library-count{font-size:10px}.hero-practice-link{min-height:44px}}
@media(max-width:720px){.arena-header nav .nav-online,.arena-header nav .nav-rankings{display:none}.arena-header nav .nav-practice{display:inline-flex;white-space:nowrap;font-size:11px;min-height:44px;align-items:center}}

/* Keep events visually distinct inside the Arena palette. */
.library-category{border-top:3px solid var(--accent)}.library-category-events{border-top-color:var(--teal);background:var(--paper)}
.library-category-events .library-category-top,.library-category-events>strong{color:var(--teal)}
.library-card:hover{border-color:var(--green)}.library-draw-art{background:radial-gradient(ellipse at 50% 20%,#174c57,#102039 80%)}
.library-draw-art strong{background:#081a2d;color:#c8ff3d;border-color:#45e0cb}

.library-category{min-width:0;padding:22px}.library-category h3{font-size:21px}.library-category-thunder{background:linear-gradient(145deg,var(--paper),var(--surface));border-color:var(--green)}
.library-nexo-thunder .library-art{background:linear-gradient(140deg,#092c2c,#264a36)}.library-thunder-art strong{font:700 28px/.95 Impact,sans-serif;color:#edf2de;letter-spacing:1px}.library-thunder-art em{display:block;color:#d2ef89;font-style:normal;font-size:34px;margin-top:5px}
.library-empty{padding:28px;border:1px dashed var(--line);border-radius:14px;background:var(--surface);margin:18px 0;scroll-margin-top:24px}.library-empty h3{margin:0 0 10px;font-size:20px}.library-empty p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.library-card[hidden],.library-empty[hidden]{display:none!important}
@media(min-width:721px) and (max-width:1050px){.library-categories{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.library-categories{grid-template-columns:1fr}.library-category{padding:20px}.library-filters{max-width:100%}}

.library-search{display:flex;align-items:end;gap:8px;max-width:540px;margin:0 0 18px}.library-search label{flex:1;min-width:0}.library-search label>span{display:block;font-size:11px;font-weight:650;color:var(--text);margin-bottom:7px}.library-search input{width:100%;min-height:46px;padding:12px 15px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--text);font:inherit;font-size:14px}.library-search input:focus{outline:2px solid var(--green);outline-offset:2px}.library-search>button{width:46px;height:46px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--text);font-size:24px}.library-search>button:hover{border-color:var(--green)}

.library-search[hidden],.library-filters[hidden]{display:none!important}

.library-search input::-webkit-search-cancel-button{-webkit-appearance:none}

.library-mini .mini-art{background:radial-gradient(ellipse at 30% 20%,#345a69,transparent 65%),#102638;color:#c5f39a;font-size:44px;letter-spacing:10px}.library-mini .mini-art-mine-quest{color:#f6d993}.library-mini .mini-art-merge-2048{color:#b9dcbf}.library-mini .mini-art-memory-match{color:#d0b5ea}.library-mini .mini-art-brick-breaker{color:#96d6d0}.library-mini .mini-art-block-drop{color:#c9d3ba}.library-category-mini{border-color:#4b7356}.library-categories{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}

/* Shared category accents on discovery tiles, filters and game badges. */
.library-category-mini,[data-library-filter=mini],[data-game-category=mini]{--category-accent:#c7abfa;--category-tint:#29233f;--category-ink:#e7d6ff}
.library-category-events,[data-library-filter=events],[data-game-category=events]{--category-accent:#62dccb;--category-tint:#123a3c;--category-ink:#b9f6eb}
.library-category-mind,[data-library-filter=mind],[data-game-category=mind]{--category-accent:#93bfff;--category-tint:#1c304e;--category-ink:#d4e5ff}
.library-category-thunder,[data-library-filter=thunder],[data-game-category=thunder]{--category-accent:#ffab7d;--category-tint:#402c27;--category-ink:#ffdbc5}
.library-category-endless,[data-library-filter=endless],[data-game-category=endless]{--category-accent:#a8d886;--category-tint:#283b29;--category-ink:#d8f0c7}
.library-category-classic,[data-library-filter=classic],[data-game-category=classic]{--category-accent:#edbd61;--category-tint:#3d3320;--category-ink:#f8e4b4}
.library-category{background:linear-gradient(135deg,var(--category-tint),var(--paper));border-color:var(--line);border-top:4px solid var(--category-accent)}
.library-category:hover{border-color:var(--category-accent)}
.library-category .library-category-top,.library-category>strong{color:var(--category-accent)}
.library-category h3{color:var(--category-ink)}
.library-filters button[data-library-filter]:not([data-library-filter=all]){border-color:var(--category-accent);color:var(--category-ink);background:var(--category-tint)}
.library-filters button[data-library-filter]:not([data-library-filter=all])[aria-pressed=true]{background:var(--category-accent);color:#102030;box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--category-accent)}
.library-card[data-game-category]{border-top:3px solid var(--category-accent)}
.library-card .library-category-label{letter-spacing:normal;background:var(--category-tint);color:var(--category-ink);border-color:var(--category-accent)}
:root[data-theme=light] .library-category-mini,:root[data-theme=light] [data-library-filter=mini],:root[data-theme=light] [data-game-category=mini]{--category-accent:#8050c1;--category-tint:#f0e8ff;--category-ink:#573084}
:root[data-theme=light] .library-category-events,:root[data-theme=light] [data-library-filter=events],:root[data-theme=light] [data-game-category=events]{--category-accent:#08796d;--category-tint:#e2f5ef;--category-ink:#095f58}
:root[data-theme=light] .library-category-mind,:root[data-theme=light] [data-library-filter=mind],:root[data-theme=light] [data-game-category=mind]{--category-accent:#346dbb;--category-tint:#e7f0fd;--category-ink:#234e87}
:root[data-theme=light] .library-category-thunder,:root[data-theme=light] [data-library-filter=thunder],:root[data-theme=light] [data-game-category=thunder]{--category-accent:#b85b2d;--category-tint:#fff0e6;--category-ink:#8a3f1d}
:root[data-theme=light] .library-category-endless,:root[data-theme=light] [data-library-filter=endless],:root[data-theme=light] [data-game-category=endless]{--category-accent:#4b7c35;--category-tint:#eaf3e4;--category-ink:#385c29}
:root[data-theme=light] .library-category-classic,:root[data-theme=light] [data-library-filter=classic],:root[data-theme=light] [data-game-category=classic]{--category-accent:#946313;--category-tint:#faf0d6;--category-ink:#785013}
:root[data-theme=light] .library-filters button[data-library-filter]:not([data-library-filter=all])[aria-pressed=true]{color:#fff}
.discovery-breadcrumbs{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:12px;padding:20px 0}.discovery-breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.category-page-heading{padding:28px 30px;margin:8px 0 24px;border:1px solid var(--line);border-top:4px solid var(--category-accent);border-radius:14px;background:linear-gradient(120deg,var(--category-tint),var(--paper))}.category-page-heading .eyebrow{color:var(--category-accent)}.category-page-heading h1{font-size:clamp(27px,4vw,42px);color:var(--category-ink);margin:12px 0 18px;max-width:800px}.category-page-heading>p:last-child{color:var(--text);max-width:780px;line-height:1.8}.category-page-nav{margin-bottom:28px}.category-page-nav a{border:1px solid var(--category-accent);color:var(--category-ink);background:var(--category-tint);padding:11px 15px;border-radius:24px;font-size:12px;min-height:44px}.category-page-nav a[aria-current=page]{outline:2px solid var(--category-accent);outline-offset:2px;font-weight:700}.category-page .library-empty>a{display:inline-block;margin-top:20px;color:var(--green)}@media(max-width:720px){.category-page-heading{padding:22px}.category-page-heading>p:last-child{font-size:13px}.discovery-breadcrumbs{font-size:11px}}

/* Each game has its own palette; the badge continues to identify its category. */
.library-card[data-game-id="lucky-draw"]{--card-hue:170;--card-saturation:55%}
.library-card[data-game-id="chess"]{--card-hue:217;--card-saturation:65%}
.library-card[data-game-id="xiangqi"]{--card-hue:20;--card-saturation:65%}
.library-card[data-game-id="gomoku"]{--card-hue:258;--card-saturation:55%}
.library-card[data-game-id="reversi"]{--card-hue:155;--card-saturation:45%}
.library-card[data-game-id="checkers"]{--card-hue:345;--card-saturation:55%}
.library-card[data-game-id="go"]{--card-hue:38;--card-saturation:55%}
.library-card[data-game-id="nexo-thunder"]{--card-hue:115;--card-saturation:42%}
.library-card[data-game-id="color-lines-arena"]{--card-hue:43;--card-saturation:85%}
.library-card[data-game-id="mine-quest"]{--card-hue:165;--card-saturation:45%}
.library-card[data-game-id="block-drop"]{--card-hue:240;--card-saturation:65%}
.library-card[data-game-id="neon-snake"]{--card-hue:93;--card-saturation:65%}
.library-card[data-game-id="merge-2048"]{--card-hue:24;--card-saturation:80%}
.library-card[data-game-id="puzzle-warehouse"]{--card-hue:192;--card-saturation:48%}
.library-card[data-game-id="memory-match"]{--card-hue:315;--card-saturation:58%}
.library-card[data-game-id="brick-breaker"]{--card-hue:202;--card-saturation:85%}
.library-card[data-game-id]{--card-accent:hsl(var(--card-hue) var(--card-saturation) 76%);--card-tint:hsl(var(--card-hue) 28% 17%);border-top:4px solid var(--card-accent);background:linear-gradient(145deg,var(--card-tint),var(--paper) 85%)}
.library-card[data-game-id]:hover{border-color:var(--card-accent)}
.library-card[data-game-id] .library-art{background:radial-gradient(ellipse at 25% 10%,hsl(var(--card-hue) var(--card-saturation) 33%),transparent 75%),hsl(var(--card-hue) 40% 13%);color:var(--card-accent)}
.library-card[data-game-id] .library-stones{color:var(--card-accent)}
.library-card[data-game-id] .library-card-links{color:var(--card-accent)}
.library-card[data-game-id] .library-tags li{color:var(--card-accent);background:var(--card-tint);border-color:color-mix(in srgb,var(--card-accent) 35%,transparent)}
:root[data-theme=light] .library-card[data-game-id]{--card-accent:hsl(var(--card-hue) var(--card-saturation) 30%);--card-tint:hsl(var(--card-hue) 58% 94%)}
:root[data-theme=light] .library-card[data-game-id] .library-art{background:radial-gradient(ellipse at 25% 10%,hsl(var(--card-hue) 60% 86%),transparent 80%),hsl(var(--card-hue) 38% 75%)}

/* Reuse the event feature's original trophy artwork without cropping the prizes. */
.library-card.library-lucky-draw .library-art{height:auto;aspect-ratio:3/2;padding:0;background:#0c2230}.library-event-photo{display:block;width:100%;height:100%;object-fit:cover}.library-card.library-lucky-draw .library-category-label{background:#081a2de8;color:#ffe3a7;border-color:#ffcf6670}
/* Clear, generous play targets on the homepage, directory and category cards. */
.library-card-links a{min-height:44px;padding:8px 4px;line-height:1.4}
.library-card-links .library-play-button{display:flex;justify-content:space-between;gap:12px;flex:1 1 100%;width:100%;min-height:48px;padding:12px 16px;border:1px solid transparent;border-radius:10px;background:var(--card-accent,var(--accent));color:#10243b;font-size:14px;font-weight:750;text-decoration:none}
.library-card-links .library-play-button:hover{filter:brightness(.95);text-decoration:none}
.library-card-links .library-play-button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
:root[data-theme=light] .library-card-links .library-play-button{color:#fff}
