.public-site-heading,.public-site-section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.public-site-heading h1{margin:0;font-size:1.55rem}.public-site-section{margin-top:1.6rem}.public-site-section-heading{margin-bottom:.7rem}.public-site-section-heading h2{margin:0;font-size:1.1rem}.public-site-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.8rem}.public-site-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #343c4b;border-radius:8px;background:#191f29;color:inherit;text-decoration:none}.public-site-card:hover,.public-site-card:focus-visible{border-color:#859ab5}.public-site-card img{width:100%;height:110px;object-fit:cover;background:#111720}.public-site-card-content{display:grid;align-content:start;gap:.3rem;padding:.7rem;font-size:.85rem;line-height:1.4}.public-site-card-content strong{font-size:.95rem}.public-site-muted{color:#aab4c3}.public-site-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem}.public-site-links a{padding:.65rem .75rem;border:1px solid #343c4b;border-radius:6px;background:#191f29;color:inherit;text-decoration:none}.public-site-links a:hover,.public-site-links a:focus-visible{border-color:#859ab5}.public-site-filters{display:flex;flex-wrap:wrap;align-items:end;gap:.7rem;margin:1rem 0}.public-site-filters label{display:grid;gap:.3rem;font-size:.85rem}.public-site-filters input,.public-site-filters select,.public-site-filters button{border:1px solid #465165;border-radius:5px;background:#202835;color:inherit;padding:.5rem}.public-site-pagination{display:flex;gap:.5rem;margin:1rem 0}.public-site-pagination a{padding:.4rem .65rem;border:1px solid #465165;border-radius:5px}.public-site-pagination [aria-current=page]{background:#39485b}.public-site-detail{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.public-site-detail img{width:min(100%,360px);height:auto;object-fit:contain;align-self:start;border-radius:7px}.public-site-detail>div{max-width:42rem}.public-site-action{display:inline-block;padding:.6rem .9rem;border:1px solid #60728a;border-radius:5px;text-decoration:none}.public-site-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:440px){.public-site-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.public-site-card img{height:85px}.public-site-card-content{padding:.55rem;font-size:.8rem}.public-site-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Keep the approved card proportions and the complete capsule artwork. */
.public-site-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),380px));gap:16px}
.public-site-card{border-color:var(--line);background:var(--panel)}
.public-site-card-link{display:flex;flex:1;flex-direction:column;color:inherit;text-decoration:none}
.public-site-card img{display:block;height:auto;object-fit:contain;border-bottom:1px solid var(--line)}
.public-site-card-content{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;font-size:14px;line-height:1.55}
.public-site-card-content strong{font-size:16px;line-height:1.4}
.public-site-card-game{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:24px;font-size:13px;line-height:1.4}
.public-site-card-game img{flex:none;width:32px;height:24px;object-fit:contain;border:0;background:transparent}
.public-site-card-action{display:inline-flex;align-items:center;gap:5px;min-height:40px;margin-top:auto;font-size:13px;font-weight:600;color:var(--accent)}
.public-site-section-heading .project-category-heading{flex:1;font-size:16px}
.public-site-game-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),320px))}
.public-site-game-card{position:relative}
.public-site-game-card .public-site-card-link{flex-direction:row;align-items:center;gap:12px;padding:16px}
.public-site-game-card img{width:96px;height:64px;aspect-ratio:auto;flex:none;object-fit:contain;border:0;background:transparent}
.public-site-game-card .public-site-card-content{flex:1;min-width:0;padding:0}
.public-site-game-card .public-site-card-content strong{padding-right:24px}
.public-site-database-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),620px))}
.public-site-database-card .public-site-card-link{flex-direction:row;align-items:center;gap:18px;padding:16px}
.public-site-database-card img{width:96px;height:64px;aspect-ratio:auto;flex:none;object-fit:contain;border:0;background:transparent}
.public-site-database-card .public-site-card-content{min-width:0;padding:0}
.public-site-database-card .public-site-card-action{min-height:0;margin-top:0}
.public-site-result-count{color:#aab4c3;font-size:.85rem;margin:.5rem 0}
.public-site-catalog-title{display:flex;align-items:center;gap:12px}
.public-site-empty{display:flex;align-items:flex-start;gap:20px;margin-top:22px;padding:28px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.public-site-empty-icon{display:grid;place-items:center;flex:none;width:52px;height:52px;border:1px solid #3b5062;border-radius:10px;background:var(--hi);color:var(--accent)}
.public-site-empty-icon .guide-icon{width:28px;height:28px}
.public-site-empty-content{min-width:0;overflow-wrap:anywhere}
.public-site-empty-content :is(h2,h3){margin:0;font-size:16px;line-height:1.5;font-weight:600}
.public-site-empty-content p{margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.6}
.public-site-empty-actions{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:14px}
.public-site-empty-actions a{display:inline-flex;align-items:center;gap:8px;min-height:40px;color:var(--accent);font-size:13px;font-weight:600;text-decoration:none}
.public-site-empty-actions a:hover{text-decoration:underline}
.public-site-empty-actions a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
.public-site-empty-compact{gap:14px;margin-top:0;padding:18px}
.public-site-empty-compact .public-site-empty-icon{width:40px;height:40px;border-radius:8px}
.public-site-empty-compact .guide-icon{width:22px;height:22px}
.public-site-empty-compact h3{font-size:14px}
.public-site-empty-compact p{font-size:13px}
.public-site-empty-compact .public-site-empty-actions{margin-top:6px}
@media(max-width:650px){.public-site-empty{gap:14px;padding:20px 16px}.public-site-empty-icon{width:42px;height:42px;border-radius:8px}.public-site-empty-icon .guide-icon{width:24px;height:24px}.public-site-empty-content p{font-size:13px}.public-site-empty-actions{gap:4px 14px;margin-top:10px}.public-site-empty-actions a{min-height:44px}.public-site-empty-compact{padding:16px}}
.public-site-pagination{align-items:center}
.public-site-pagination span{color:#aab4c3;font-size:.85rem}
@media(max-width:650px){.public-site-grid{grid-template-columns:1fr}.public-site-card-action{min-height:44px}.public-site-database-card .public-site-card-link{gap:12px;padding:14px}.public-site-database-card img{width:80px;height:64px}.public-site-database-card .public-site-card-action{min-height:0}}
.site-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 18px;color:var(--muted);font-size:13px}.site-breadcrumbs>*+*::before{content:'›';display:inline-block;margin:0 9px 0 2px;color:var(--muted)}.site-breadcrumbs a:hover{color:var(--accent)}
/* One bounded feedback stack for public pages, tools and database actions. */
.site-toast-region{position:fixed;z-index:220;top:max(76px,calc(env(safe-area-inset-top) + 12px));right:max(20px,env(safe-area-inset-right));display:grid;gap:10px;width:min(400px,calc(100vw - 32px));pointer-events:none}
.site-toast{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 7px 10px 14px;border:1px solid #455a6f;border-radius:8px;background:#1a2733;box-shadow:0 10px 32px #0006;color:var(--ink,#e2e9f0);font-size:13px;line-height:1.5;pointer-events:auto;animation:site-toast-in .16s ease-out}
.site-toast>svg{width:19px;height:19px;flex:none;fill:none;stroke:var(--accent,#adc7e3);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.site-toast[data-type=success]>svg{stroke:#8dd0ad}.site-toast[data-type=error]{border-color:#80535d}.site-toast[data-type=error]>svg{stroke:#efabb4}
.site-toast-message{flex:1;min-width:0;overflow-wrap:anywhere}
.site-toast-close{display:grid;place-items:center;flex:none;width:40px;min-height:40px;padding:0;border:0;background:transparent;color:var(--muted,#b2becc);font:22px/1 system-ui;cursor:pointer}
.site-toast-close:hover{background:#ffffff0c;color:var(--ink,#e2e9f0)}.site-toast-close:focus-visible{outline:2px solid var(--accent,#adc7e3);outline-offset:-3px}
.site-toast-region[hidden],[data-favourites-empty][hidden]{display:none}
@keyframes site-toast-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.site-toast{animation:none}}.site-reduced-motion .site-toast{animation:none}
.public-site-admin-form{display:grid;gap:18px;max-width:580px;margin-top:22px;padding:22px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.public-site-admin-form label{display:flex;align-items:center;gap:12px;justify-content:space-between;font-size:14px}.public-site-admin-form input[type=number]{width:88px;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--ink)}.public-site-admin-form label:has(input[type=checkbox]){justify-content:flex-start}.public-site-admin-form input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px}.public-site-admin-form+p[role=status]{color:var(--muted)}@media(max-width:760px){.site-toast-region{right:max(16px,env(safe-area-inset-right))}.public-site-admin-form{padding:16px}}

/* Public dialogs use an external stylesheet under the site CSP. */

.project-backup-box{border-top:1px solid #2b3542;margin-top:16px;padding-top:12px;display:flex;gap:8px 12px;align-items:center;flex-wrap:wrap}
.project-backup-box label{display:flex;align-items:center;gap:8px;min-height:40px;font:13px/1.5 ui-sans-serif,system-ui,sans-serif;color:#e2e8ef;cursor:pointer}.project-backup-box input[type=checkbox]{width:16px;height:16px;min-height:16px;margin:0;accent-color:#a4c3dd}
.project-backup-copy{flex-basis:100%;margin:0;color:#a2adbd;font-size:12px;line-height:1.5}
.project-backup-status{font-size:12px}.project-backup-alert{position:fixed;right:10px;bottom:10px;z-index:25;background:#202a35;color:#e2e8ef;border:1px solid #a4c3dd;padding:8px 12px;border-radius:6px;font:13px/1.5 ui-sans-serif,system-ui,sans-serif}
.project-backup-dialog{box-sizing:border-box;width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;background:#171e26;color:#e2e8ef;border:1px solid #2b3542;border-radius:6px;padding:22px;font:14px/1.5 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}
.project-backup-dialog::backdrop{background:#05090fc4}.project-backup-dialog h2{margin:0 0 12px;color:#e2e8ef;font:600 18px/1.4 ui-sans-serif,system-ui,sans-serif}.project-backup-dialog p{font-size:13px;color:#a2adbd}.project-backup-dialog label{display:grid;gap:4px;margin:14px 0;font-size:13px;color:#c1cad7}.project-backup-dialog small{color:#a2adbd;font-size:12px}
.project-backup-dialog input{box-sizing:border-box;width:100%;min-width:0;min-height:40px;padding:10px 12px;background:#10151b;color:#e2e8ef;border:1px solid #2b3542;border-radius:6px;font:inherit}.project-backup-dialog button,.project-backup-box button{min-height:40px;padding:9px 12px;background:#202a35;color:#e2e8ef;border:1px solid #2b3542;border-radius:6px;font:600 13px/1.5 ui-sans-serif,system-ui,sans-serif;cursor:pointer}.project-backup-dialog button{margin:4px 6px 4px 0}.project-backup-dialog button[value=login]{background:#a4c3dd;border-color:#a4c3dd;color:#17212b}.project-backup-dialog button:hover,.project-backup-box button:hover{border-color:#52677b;filter:brightness(1.08)}.project-backup-dialog button:disabled{opacity:.5;cursor:wait}
.project-backup-dialog :where(button,input):focus-visible,.project-backup-box :where(button,input):focus-visible{outline:2px solid #a4c3dd;outline-offset:3px}.project-backup-dialog .error{color:#f3a2a8}.project-backup-dialog ul{padding:0;list-style:none}.project-backup-dialog li{border-bottom:1px solid #2b3542;padding:6px 0}
@media(max-width:760px){.project-backup-dialog{padding:18px}.project-backup-dialog button,.project-backup-dialog input,.project-backup-box button,.project-backup-box label{min-height:44px}.project-backup-box input[type=checkbox]{min-height:16px}}
/* Quiet star toggles shared by game headers, cards and the picker. */
.public-site-heading{justify-content:flex-start;flex-wrap:wrap;gap:8px 12px}
.public-site-heading>a.public-wiki-edit-link{margin-left:auto}
button.public-site-pin{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;min-height:32px;margin:0;padding:0;border:0;border-radius:4px;background:transparent;color:var(--muted);font:inherit;line-height:1;cursor:pointer}
button.public-site-pin>span{font-size:18px}
button.public-site-pin[aria-pressed=true]{color:#c5b17b}
button.public-site-pin:hover{background:var(--hi);color:var(--ink);filter:none}
button.public-site-pin[aria-pressed=true]:hover{color:#e0ca8e}
button.public-site-pin:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
button.public-site-card-pin{position:absolute;top:0;right:0;margin:0}
button.public-site-card-pin:focus-visible{outline-offset:-4px}
@media(max-width:760px){button.public-site-pin{width:44px;min-height:44px}.public-site-game-card .public-site-card-content strong{padding-right:36px}}

/* Compact public favourites and account controls. */
.public-home-pins{display:flex;align-items:center;gap:8px;margin:14px 0 22px;min-height:40px}
[data-home-favourites]{display:flex;flex-wrap:wrap;gap:8px}
.public-site-pin-empty{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 12px;border:1px dashed var(--line);border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:13px;text-align:left;cursor:pointer}
.public-site-pin-empty:hover,.public-site-pin-empty:focus-visible{color:var(--ink);border-color:var(--accent);background:var(--hi)}
.public-site-pin-empty[hidden],[data-home-pin-empty][hidden]{display:none}
.projects-sidebar .public-site-pin-empty{width:100%;margin-top:3px}
/* Keep the shared drawer compact while retaining phone touch targets. */
.public-site .projects-sidebar nav{gap:0}
.public-site .projects-sidebar-heading{margin-bottom:12px}
.public-site .projects-sidebar .projects-nav-link{min-height:40px;padding-block:7px}
.public-site .projects-nav-caption{padding:12px 12px 4px}
/* Game sections expand in place in every shared wiki, hub and tool shell. */
.public-game-navigation{display:grid;gap:0;min-width:0}
.public-catalog-nav-group,.public-game-nav-group,.wiki-nav-group{min-width:0;margin:0}
.public-catalog-nav-group>summary,.public-game-nav-group>summary,.wiki-nav-group>summary{list-style:none;cursor:pointer;user-select:none}
.public-catalog-nav-group>summary::-webkit-details-marker,.public-game-nav-group>summary::-webkit-details-marker,.wiki-nav-group>summary::-webkit-details-marker{display:none}
.public-catalog-nav-group>summary::marker,.public-game-nav-group>summary::marker,.wiki-nav-group>summary::marker{content:''}
.public-catalog-nav-group>summary>span,.public-game-nav-group>summary>span,.wiki-nav-group>summary>span{flex:1;min-width:0;overflow-wrap:anywhere}
.public-catalog-nav-group>summary::after,.public-game-nav-group>summary::after,.wiki-nav-group>summary::after{content:'';display:block;flex:none;width:7px;height:7px;margin:0 3px 0 6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg)}
.public-catalog-nav-group[open]>summary::after,.public-game-nav-group[open]>summary::after,.wiki-nav-group[open]>summary::after{transform:rotate(45deg)}
.public-catalog-nav-group>summary.is-current,.public-game-nav-group>summary.is-current{background:var(--hi);color:var(--ink)}
.public-catalog-nav-group>summary:focus-visible,.public-game-nav-group>summary:focus-visible,.wiki-nav-group>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;background:var(--hi);color:var(--ink)}
.public-catalog-nav-children,.public-game-nav-children{min-width:0;margin:2px 0 4px 20px;padding-left:8px;border-left:1px solid var(--line)}
.public-catalog-nav-children .projects-nav-link,.public-game-nav-children .projects-nav-link{gap:9px;min-height:40px;padding:8px 10px;overflow-wrap:anywhere}
.public-game-navigation .projects-nav-link>.game-topic-icon{width:20px;height:20px;fill:none;stroke:none;object-fit:contain}
.public-catalog-nav-children>.projects-nav-link:first-child,.public-game-nav-children>.projects-nav-link:first-child{font-size:12px;color:var(--accent)}
.wiki-nav-group>summary{display:flex;align-items:center;gap:6px;min-height:40px;padding:8px 10px;border-radius:5px;color:var(--muted);font-size:12px;line-height:1.4}
.wiki-nav-group>summary:hover,.wiki-nav-group>summary.is-current{color:var(--ink);background:var(--hi)}
.wiki-nav-topics{min-width:0;margin-left:3px;padding-left:6px;border-left:1px solid var(--line)}
@media(max-width:760px){.public-site .projects-sidebar .projects-nav-link,.wiki-nav-group>summary{min-height:44px}}
[data-favourite-games] img,[data-home-favourites] img{width:36px;height:26px;object-fit:contain;flex:none}
[data-favourite-games] .navigation-pin-overflow{margin:0}
[data-favourite-games] .navigation-pin-overflow>summary{display:flex;align-items:center;gap:10px;min-height:40px;padding:7px 12px;border-radius:6px;color:var(--muted);font:inherit;font-size:12px;list-style:none;cursor:pointer}
[data-favourite-games] .navigation-pin-overflow>summary::-webkit-details-marker{display:none}
[data-favourite-games] .navigation-pin-overflow>summary::after{content:'';width:7px;height:7px;margin-left:auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
[data-favourite-games] .navigation-pin-overflow[open]>summary::after{transform:rotate(225deg)}
[data-favourite-games] .navigation-pin-overflow>summary:hover{background:var(--hi);color:var(--ink)}
[data-favourite-games] .navigation-pin-overflow>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.navigation-pin-overflow:not([open])>summary>[data-pins-less],.navigation-pin-overflow[open]>summary>[data-pins-more]{display:none}
@media(max-width:760px){[data-favourite-games] .navigation-pin-overflow>summary{min-height:44px}}
[data-home-favourites] a{display:inline-flex;align-items:center;gap:9px;min-height:40px;margin:0;padding:6px 12px;border:1px solid var(--line);border-radius:6px;background:var(--panel);font-size:13px}
.public-pin-options{display:grid;gap:8px;margin:16px 0}
.public-pin-option{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.public-pin-option img{object-fit:contain}.public-pin-option>span{flex:1}
.public-account-menu{position:relative;color:var(--ink)}
.public-account-menu summary{display:flex;align-items:center;gap:9px;min-height:42px;padding:4px 8px;border:1px solid transparent;border-radius:6px;cursor:pointer;list-style:none}
.public-account-menu summary::-webkit-details-marker{display:none}
.public-account-menu summary:hover,.public-account-menu[open] summary{background:var(--hi);border-color:var(--line)}
.public-account-menu summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.public-account-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid #425467;background:#283746;color:#cbddeb;font-weight:600}
.public-account-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.public-account-chevron{display:block;flex:none;width:14px;height:14px;color:var(--muted)}
.public-account-menu[open] .public-account-chevron{transform:rotate(180deg)}
.public-account-dropdown{position:absolute;right:0;top:calc(100% + 8px);z-index:40;display:grid;gap:4px;min-width:210px;max-height:calc(100dvh - 88px);overflow-y:auto;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--panel);box-shadow:0 12px 35px #0006}
.public-account-dropdown strong{padding:8px 10px;overflow-wrap:anywhere;border-bottom:1px solid var(--line);font-size:13px}
#project-account .public-account-dropdown :is(button,a){display:block;width:100%;min-height:40px;padding:8px 12px;border:0;border-radius:5px;background:transparent;color:var(--ink);text-align:left;text-decoration:none;font-size:13px;font-weight:400}
#project-account .public-account-dropdown :is(button,a):hover{background:var(--hi)}
.public-account-extra-links:empty{display:none}
.public-account-admin{display:grid;gap:4px;margin:4px 0;padding:6px 0;border-block:1px solid var(--line)}
#project-account .public-account-admin a{display:flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:5px;color:var(--ink);text-decoration:none}
#project-account .public-account-admin a:hover,#project-account .public-account-admin a[aria-current=page]{background:var(--hi)}
#project-account .public-account-admin a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;background:var(--hi)}
@media(max-width:760px){.public-account-name{display:none}.public-home-pins{margin-top:10px}.public-site-pin-empty{min-height:44px}.public-account-menu summary{min-height:44px;padding:4px}.public-account-dropdown{max-width:calc(100vw - 24px)}}

.public-site-topic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:.75rem}
.public-site-topic-card{display:flex;align-items:center;gap:.8rem;min-height:86px;padding:.7rem;border:1px solid #343c4b;border-radius:8px;background:#191f29;color:inherit;text-decoration:none}
.public-site-topic-card:hover,.public-site-topic-card:focus-visible{border-color:#859ab5}
.public-site-topic-card>.guide-icon{width:40px;height:40px;flex:none;color:var(--accent)}
.game-topic-icon{display:block;width:56px;height:56px;flex:none;overflow:hidden;image-rendering:pixelated}
.public-site-topic-card span{display:grid;gap:.3rem;min-width:0;overflow-wrap:anywhere}.public-site-topic-card small{color:#aab4c3}
@media(max-width:480px){.public-site-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.public-site-topic-card{gap:.5rem;padding:.55rem}.game-topic-icon{width:48px;height:48px}}
@media(max-width:360px){.public-site-topic-grid{grid-template-columns:1fr}}
.public-wiki-edit-link{display:inline-flex;align-items:center;min-height:44px;margin:0 0 12px;color:var(--accent)}
.public-site-heading>.public-wiki-edit-link{margin:0 12px 0 0}
.public-wiki-home-editor{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}
.public-wiki-home-editor fieldset{display:grid;gap:12px;min-width:0;margin:0;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.public-wiki-home-editor legend{padding:0 6px;font-weight:600}.public-wiki-home-editor label{display:grid;gap:5px;font-size:13px;color:var(--muted)}
.public-wiki-home-editor input,.public-wiki-home-editor select{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:5px;background:var(--hi);color:var(--ink);font:inherit}
.public-wiki-editor-actions{grid-column:1/-1;display:flex;align-items:center;gap:16px;padding:12px 0}.public-wiki-editor-actions button{min-height:44px}
.public-wiki-help{position:relative;margin-left:auto}.public-wiki-help summary{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;cursor:pointer;list-style:none}
.public-wiki-help p{position:absolute;right:0;z-index:20;width:min(320px,calc(100vw - 48px));box-sizing:border-box;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 8px 24px #0008}

/* Related links follow the page content and the published game catalog. */
.public-site-related{margin:0;padding:24px 35px 28px;border-top:1px solid var(--line);background:var(--bg);color:var(--ink)}
.public-site-related-heading{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:18px;line-height:1.4}
.public-site-related-heading img{width:40px;height:30px;object-fit:contain}.public-site-related-heading>.guide-icon{width:24px;height:24px;color:var(--accent)}
.public-site-related-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 24px}
.public-site-related section{min-width:0;margin:0}.public-site-related .project-section+.project-section{margin-top:0}.public-site-related h3{margin:0 0 10px;font-size:15px}
.public-site-related a{color:inherit;text-decoration:none;overflow-wrap:anywhere}.public-site-related a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.public-site-related-category{display:flex;align-items:center;gap:10px;min-height:40px}.public-site-related-all{margin-left:auto;color:var(--muted);font-size:12px;font-weight:400}
.public-site-related-category:hover .public-site-related-all{color:var(--project-accent)}
.public-site-related ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.public-site-related li{min-width:0}
.public-site-related-card{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:14px;height:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);transition:border-color .15s,background .15s}
.public-site-related-card:hover,.public-site-related-card:focus-visible{border-color:var(--project-accent);background:var(--hi)}
.public-site-related-card>img{display:block;width:120px;height:auto;object-fit:contain;border-radius:5px;background:var(--hi)}
.public-site-related-copy{display:grid;gap:4px;min-width:0}.public-site-related-copy strong{font-size:15px;font-weight:600;line-height:1.4}
.public-site-related-caption{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.45}
.public-site-related-action{display:inline-flex;align-items:center;gap:6px;color:var(--project-accent);font-size:12px;font-weight:600;line-height:1.5}
.public-site-related-card.public-site-related-guide{grid-template-columns:40px minmax(0,1fr)}.public-site-related-card.public-site-related-empty{grid-template-columns:minmax(0,1fr);min-height:96px}.public-site-guide-score{display:grid;justify-items:center;gap:2px;align-content:center;min-width:36px;padding:5px;color:#c9d9e8;font-size:14px;font-weight:600}.public-site-guide-score>span{font-size:18px;color:#a9cbe5}.public-site-guides-preview>.public-site-section-heading h2{display:flex;align-items:center;gap:9px}.public-site-guides-preview .guide-icon{width:22px;height:22px;color:var(--accent)}.public-site-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.public-site-guide-card{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);text-decoration:none;min-width:0}.public-site-guide-card>span:last-child{display:grid;gap:6px;min-width:0;overflow-wrap:anywhere}.public-site-guide-card .public-site-muted{font-size:13px;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.public-site-guide-card:hover{border-color:var(--accent);background:var(--hi)}.public-site-guide-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.public-site-guide-intro{border-left:3px solid #a9cbe5}.public-site-guide-intro .guide-icon{width:30px;height:30px;color:#a9cbe5}
@media(max-width:1150px) and (min-width:761px){.public-site-related-card{grid-template-columns:80px minmax(0,1fr);gap:10px;padding:10px}.public-site-related-card>img{width:80px}.public-site-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.public-site-guide-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.public-site-related-card{transition:none}}
@media(max-width:1150px) and (min-width:761px){.public-site-related{padding-right:28px;padding-left:28px}}
@media(max-width:760px){.public-site-related{padding:20px max(16px,env(safe-area-inset-right)) 24px max(16px,env(safe-area-inset-left))}.public-site-related-groups{grid-template-columns:1fr;gap:20px}.public-site-related-category{min-height:44px}.public-site-related-card{grid-template-columns:104px minmax(0,1fr);gap:12px;padding:10px}.public-site-related-card>img{width:104px}}

/* Project listing filters */
.public-site-genres{display:flex;flex-wrap:wrap;gap:5px;margin:3px 0;line-height:1.4}
.public-site-genre{display:inline-flex;align-items:center;max-width:100%;padding:3px 8px;border:1px solid var(--line,#344354);border-radius:999px;background:var(--hi,#202a35);color:var(--ink,#e2e8ef);font-size:12px;font-weight:550;overflow-wrap:anywhere}
.public-site-genre-filter{min-width:0;flex:0 1 auto;align-self:flex-end}
.public-site-genre-filter>summary{display:flex;align-items:center;gap:10px;min-height:44px;box-sizing:border-box;padding:8px 12px;border:1px solid var(--line);border-radius:5px;background:var(--hi);cursor:pointer;list-style:none}
.public-site-genre-filter>summary::-webkit-details-marker{display:none}
.public-site-genre-filter>summary::after{margin-inline-start:auto}
.public-site-genre-filter[open]{flex-basis:100%}
.public-site-genre-filter>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.public-site-genre-filter fieldset{margin:10px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:5px;min-width:0}
.public-site-genre-filter legend{padding:0 5px;color:var(--muted);font-size:12px}
.public-site-genre-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:2px 14px}
.public-site-filters .public-site-genre-options label{display:flex;align-items:center;gap:8px;min-height:44px;font-size:13px;cursor:pointer}
.public-site-filters .public-site-genre-options input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:none;margin:0;accent-color:var(--accent)}
@media(max-width:480px){.public-site-genre-filter{flex-basis:100%}}
.wiki-search{position:relative;flex:none;margin-left:auto}.projects-topbar .wiki-search~#project-account{margin-left:0}
.wiki-search-panel{margin:0;position:absolute;right:0;top:calc(100% + 8px);z-index:25;width:min(420px,calc(100vw - 24px));padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 12px 35px #0008}
.wiki-search-panel[hidden]{display:none}.wiki-search-panel label{display:block;margin:0 0 8px;font-size:12px;color:var(--muted)}.wiki-search-panel input{width:100%;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:5px;background:var(--hi);color:var(--ink);font:inherit}.wiki-search-results{max-height:min(55vh,480px);overscroll-behavior:contain;overflow:auto}.wiki-search-result{display:flex;gap:10px;align-items:center;padding:10px 6px;border-bottom:1px solid var(--line);color:var(--ink)}.wiki-search-result:hover,.wiki-search-result[aria-selected=true]{background:var(--hi)}.wiki-search-result img{width:40px;height:40px;object-fit:contain;image-rendering:pixelated;flex:none}.wiki-search-result>span{display:grid;gap:3px;min-width:0}.wiki-search-result strong{font-size:13px;overflow-wrap:anywhere}.wiki-search-result .wiki-search-description{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.wiki-search-status{margin:0;font-size:12px;color:var(--muted)}
@media(max-width:760px){.wiki-search-panel{position:fixed;top:64px;right:12px}.wiki-search-toggle{width:40px}.wiki-search{margin-left:auto}}
.wiki-search-result .wiki-search-section{font-size:11px;color:var(--accent)}
.wiki-search-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.wiki-search-footer>a{font-size:12px;color:var(--accent);padding-block:8px}.wiki-search-footer>a[hidden]{display:none}

.site-page-search{position:relative;flex:none;margin-left:auto}
.site-page-search[hidden],.site-page-search-panel[hidden]{display:none}
.projects-topbar .site-page-search:not([hidden])~#project-account{margin-left:0}
.site-page-search-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:25;width:min(420px,calc(100vw - 24px));padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 12px 35px #0008}
.site-page-search-panel label{display:block;margin:0 0 8px;font-size:12px;color:var(--muted)}
.site-page-search-panel input{width:100%;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:5px;background:var(--hi);color:var(--ink);font:inherit}
.site-page-search-panel button{margin-top:10px}
.site-search-shortcut{display:block;margin-top:10px;text-align:right;color:var(--muted);font-size:11px;font-weight:400}
[data-search-hotkey=disabled] .site-search-shortcut{display:none}
.site-reduced-motion .public-site *,.site-reduced-motion .public-site *::before,.site-reduced-motion .public-site *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
@media(max-width:760px){.site-page-search-panel{position:fixed;top:64px;right:12px}.site-page-search>.projects-icon-button{width:40px}}
@media(max-width:760px),(pointer:coarse),(hover:none){.site-search-shortcut{display:none}}
@media(max-width:380px){.projects-topbar{gap:6px;padding-inline:8px}.projects-topbar .projects-mobile-brand{font-size:13px}.projects-topbar .projects-mobile-brand .brand-mark{font-size:23px;margin-right:4px}.projects-topbar #project-account{flex-shrink:0}}
.public-site-filters{padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.public-site-filters[hidden]{display:none}
.public-site-filters label{min-width:0}
.public-site-filters label:first-child{flex:0 1 360px}
.public-site-filters input,.public-site-filters select,.public-site-filters button{min-height:40px;box-sizing:border-box;font:inherit}
.public-site-filters input{width:100%}
.public-site-clear-filters{display:inline-flex;align-items:center;align-self:flex-end;min-height:40px;color:var(--accent);font-size:.9rem}
@media(max-width:480px){.public-site-filters label,.public-site-filters label:first-child{flex:1 1 100%}.public-site-filters input,.public-site-filters select{width:100%}.public-site-filters input,.public-site-filters select,.public-site-filters button{min-height:44px}}

/* Search updates keep the page shell, forms and unchanged result rows mounted. */
[data-targeted-results]{scroll-margin-top:84px}
[data-targeted-controls][hidden]{display:none}
.targeted-search-status:not(.public-site-sr-only){margin:12px 0;color:#efb7a8;font-size:13px}

.public-site img[src^="/games-db/ff6/assets/game-logo"]{background:#e9e6df;border-radius:4px;padding:5px;box-sizing:border-box}

/* Tool workspaces keep parent navigation compact on phones. */
@media(max-width:800px){.public-tool-page #public-main{padding:8px 12px 20px}.public-tool-page #public-main :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-size:16px}.public-tool-page #public-main :is(button,select,input:not([type=checkbox]):not([type=radio]):not([type=hidden])){min-height:44px}.public-tool-page #public-main>.site-breadcrumbs{margin-bottom:4px;min-height:40px}.public-tool-page #public-main>.site-breadcrumbs>:not(:nth-last-child(2)){display:none}.public-tool-page .site-breadcrumbs>a:nth-last-child(2){display:inline-flex;align-items:center;min-height:40px;gap:6px;font-size:13px}.public-tool-page .site-breadcrumbs>a:nth-last-child(2)::before{content:"‹";margin:0}}

/* Shared presentation for game tools; game styles supply workspace geometry. */
.public-tool{min-width:0;color:var(--ink);font-size:14px;color-scheme:dark}
.public-tool *{box-sizing:border-box}
.public-tool [hidden]{display:none!important}
.tool-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;min-width:0}
.tool-heading h1{flex:1;min-width:0;margin:0;font-size:24px;line-height:1.3;overflow-wrap:anywhere}
.tool-heading-art{display:block;flex:none;width:104px;height:auto;object-fit:contain;border-radius:6px}
.public-tool p{line-height:1.6}
.public-tool p:empty{display:none}
.public-tool label{color:var(--muted);font-size:13px}
.public-tool :is(input,select,textarea,button){font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:6px;background:var(--hi)}
.public-tool :is(select,input:not([type=checkbox]):not([type=radio]),button){box-sizing:border-box;min-height:40px;max-width:100%;padding:8px 10px}
.public-tool input:is([type=checkbox],[type=radio]){accent-color:var(--accent);width:18px;height:18px;flex:none}
.public-tool select{color-scheme:dark;padding-right:32px}
.public-tool input[aria-invalid=true]{border-color:#eeb3a2}
.public-tool button{cursor:pointer;line-height:1.4}
.public-tool button:hover:not(:disabled){border-color:var(--accent);filter:brightness(1.06)}
.public-tool button:disabled{opacity:.45;cursor:default}
.public-tool :focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.public-tool a{color:var(--accent)}
.public-tool textarea{display:block;width:100%;padding:10px}
.tool-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.public-tool .tool-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);font:inherit;line-height:1.4;text-decoration:none;cursor:pointer}
.public-tool .tool-action:hover{border-color:var(--accent);background:var(--hi);text-decoration:none}
.public-tool .tool-action:disabled{opacity:.45;cursor:default}
.public-tool .tool-icon-button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;min-height:44px;padding:0;background:transparent;font-size:20px}
.tool-icon{display:block;flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.public-tool .tool-primary{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:600}
.tool-panel{padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--panel);min-width:0}
.tool-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.tool-field label{line-height:1.4}
.tool-field :is(input,select){width:100%;min-width:0}
.public-tool .tool-intro{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.5}
.tool-nav{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0 0 14px;font-size:13px}
.tool-nav a{display:inline-flex;align-items:center;min-height:44px;border-bottom:2px solid transparent;color:var(--muted);text-decoration:none}
.tool-nav a:hover,.tool-nav a[aria-current=page]{border-color:var(--accent);color:var(--ink)}
.tool-picker{display:none}
.public-tool .tool-tabs{display:flex;gap:4px;padding:4px;margin:0 0 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.public-tool .tool-tabs button{flex:1 1 0;min-width:0;padding:8px 10px;min-height:44px;border-color:transparent;background:transparent;color:var(--muted);font-size:13px;font-weight:500;white-space:normal;text-align:center}
.public-tool .tool-tabs button:is([aria-selected=true],[aria-current=true]){background:var(--hi);border-color:#5a7084;color:var(--ink)}
.public-tool .tool-help{position:relative;flex:none;margin:0;padding:0;border:0;background:transparent}
.tool-help>summary,.public-tool .tool-help-button{display:grid;place-items:center;list-style:none;width:44px;height:44px;min-height:44px;padding:0;border:1px solid var(--line);border-radius:50%;color:var(--accent);cursor:pointer;font-size:16px;font-weight:600}
.tool-help>summary::-webkit-details-marker{display:none}
.tool-help>div{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 180px);overflow:auto;overscroll-behavior:contain;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--hi);box-shadow:0 12px 35px #0006;font-size:13px;line-height:1.6}
.tool-help h2{margin:0;font-size:15px}
.tool-help p{margin:8px 0 0;color:var(--muted)}
.public-tool .tool-disclosure{margin:12px 0 0;padding:0 12px;border:1px solid var(--line);border-radius:7px;background:var(--panel)}
.tool-disclosure>summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;list-style:none;cursor:pointer;font-size:13px;font-weight:500;color:var(--ink)}
.tool-disclosure>summary::-webkit-details-marker{display:none}
.tool-disclosure>summary::before{content:'›';color:var(--muted);font-size:18px;line-height:1;transform-origin:center}
.tool-disclosure[open]>summary::before{transform:rotate(90deg)}
.tool-disclosure>:last-child:not(summary){margin-bottom:12px}
.public-tool .tool-disclosure-flat{margin:0;padding:0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}
.tool-result{position:relative;min-width:0;padding:12px 16px 0;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.public-tool .tool-result-label{display:flex;align-items:center;min-height:32px;margin:0;padding-right:96px;color:var(--muted);font-size:13px;line-height:1.4}
.tool-result-value{display:block;margin:4px 0 8px;font-size:clamp(24px,3vw,34px);font-weight:650;letter-spacing:-.025em;line-height:1.25;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.public-tool .tool-result-support{display:flex;justify-content:space-between;gap:12px;margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.4}
.tool-result-support strong{font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}
.tool-result-actions{position:absolute;right:8px;top:6px;display:flex;gap:4px}
.tool-back-links{display:flex;align-items:center;flex-wrap:wrap;gap:4px 20px;margin:16px 0;font-size:13px}
.tool-back-links a{display:inline-flex;align-items:center;min-height:40px;color:var(--accent);text-decoration:none}
.tool-back-links a:hover{text-decoration:underline}
.tool-back-links a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
@media(max-width:800px){.tool-heading{gap:10px;margin-bottom:10px}.tool-heading h1{font-size:22px}.tool-heading-art{width:80px}.public-tool :is(select,input:not([type=checkbox]):not([type=radio]),button){min-height:44px}.public-tool :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-size:16px}.tool-nav{display:none}.tool-picker{display:flex;align-items:center;gap:12px;margin-bottom:12px}.tool-picker label{flex:none}.tool-picker select{flex:1;min-width:0;width:100%}.public-tool .tool-tabs{gap:2px}.public-tool .tool-tabs button{padding:7px 6px;font-size:12px}.tool-panel{padding:14px}.tool-result{padding:10px 14px 0}.tool-result-value{font-size:28px}.public-tool .tool-action,.tool-back-links a{min-height:44px}}
@media(max-width:380px){.tool-heading h1{font-size:20px}.tool-heading-art{width:64px}.tool-heading{gap:8px}.tool-result-value{font-size:25px}}

.tool-catalog-switcher{margin:1.25rem 0 0;border-top:1px solid var(--line);padding-top:.65rem;color:var(--muted);font-size:.875rem}.tool-catalog-switcher summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:.5rem}.tool-catalog-switcher summary:before{content:"+";font-size:1.15rem}.tool-catalog-switcher[open] summary:before{content:"−"}.tool-catalog-switcher ul{display:flex;flex-wrap:wrap;gap:.3rem 1.25rem;list-style:none;margin:.3rem 0;padding:0}.tool-catalog-switcher a{display:inline-flex;align-items:center;min-height:44px;line-height:1.35}.tool-catalog-switcher a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.public-site .tool-navigation{margin:0;min-width:0}
.public-site .tool-navigation>summary{list-style:none;cursor:pointer}
.public-site .tool-navigation>summary::-webkit-details-marker{display:none}
.public-site .tool-navigation>summary>span:last-child{flex:1}
.public-site .tool-navigation>summary::after{content:'';width:7px;height:7px;margin:0 3px 0 6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg)}
.public-site .tool-navigation[open]>summary::after{transform:rotate(45deg)}
.public-site .tool-navigation>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.public-site .tool-navigation-children{margin:2px 0 4px 20px;padding-left:8px;border-left:1px solid var(--line)}
.public-site .tool-navigation-children .projects-nav-link{min-height:40px;padding:8px 10px}
