.wordtopia { --accent: #0754c6; --accent-soft: #eaf3ff; --game: #0754c6; }
html[data-theme="dark"] .wordtopia { --accent: #8fc3ff; --accent-soft: #102a48; --game: #8fc3ff; }
.wordtopia-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.wordtopia-gallery figure { margin:0; }
.wordtopia-gallery img { width:100%; height:auto; border:1px solid var(--line); border-radius:18px; }
.wordtopia figcaption { color:var(--muted); font-size:14px; line-height:1.5; margin-top:12px; }
.wordtopia textarea { width:100%; max-width:100%; background:var(--raised);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:14px;font:inherit; }
.wordtopia .game-links button { min-height:44px; padding:10px 14px; border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer; }
.wordtopia details { border-bottom:1px solid var(--line); padding:14px 0; }
.wordtopia summary { cursor:pointer;min-height:44px;font-weight:600; }
.wordtopia :is(a,button,textarea,summary):focus-visible { outline:3px solid var(--accent);outline-offset:4px; }
@media(max-width:650px){.wordtopia-gallery{grid-template-columns:1fr}.wordtopia-gallery img{max-width:400px}.wordtopia .game-hero h1{font-size:36px}}
@media print { .wordtopia details::details-content { display:block;content-visibility:visible; } .wordtopia details:not([open])>*:not(summary){display:block} .wordtopia .game-links button{display:none} }
.wordtopia .button { white-space:normal; max-width:100%; overflow-wrap:anywhere; text-align:center; }
.wordtopia .policy-toc ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
.wordtopia .policy-toc li { min-width:0; }
.wordtopia .policy-layout { min-width:0; }
.wordtopia .policy-body, .wordtopia .policy-toc { overflow-wrap:anywhere; }
@media(min-width:761px){.wordtopia .policy-toc ol{grid-template-columns:1fr}}
