/* Approved October 16 composition. Gameplay and profile interiors retain their skins. */
:root{--app-serif:'EB Garamond',Georgia,serif;--app-canvas:radial-gradient(ellipse at 75% 0%,#0b3a58aa,transparent 65%),#001b2e;--app-ivory:#f4f4f3;--app-edge:#3986b1}
html,body{height:100%;overflow:hidden}
.app{height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.app>header,#dailyRow{flex:0 0 auto}
.app>header{position:relative;z-index:20;padding:calc(var(--safe-top,0px) + 3px) 7px 6px;box-shadow:none}
.app>header .brand{height:40px;gap:7px;align-items:center}
.app>header .logo-link{flex:0 0 69px;max-width:69px;margin:0}
.app>header .logo-mark{display:block;width:69px;height:auto;max-height:31px;object-fit:contain}
.app>header h1{font-family:var(--app-serif);font-size:24px;line-height:1;letter-spacing:.3px;white-space:nowrap;flex:1;min-width:0;margin:0}
.app>header h1 .accent{font-family:'EB Garamond',Georgia,serif;font-style:italic;font-weight:500;font-size:inherit;letter-spacing:0}
.app>header .icon-btn{flex:0 0 36px;width:36px;min-width:36px;height:40px;min-height:40px;padding:5px;border:0;background:none;box-shadow:none;border-radius:0;color:inherit}
.app>header #btnSettings{border-left:1px solid #46749177;margin-left:0;padding-left:8px;flex-basis:40px;width:40px}
.app>header .icon-btn>svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linejoin:round;stroke-linecap:round}
.app>header:has(.search-wrap.open) h1{display:none}
.app>header .search-wrap{min-width:0}
.app>header .filter-bar{margin:4px 0 0;padding:0}
/* October 18 selected home strip: recessed filters and quiet silver-blue edges. */
.app>header .segbar{gap:0;border:1px solid transparent;border-bottom-color:#7d909f66;border-radius:0;padding:3px 0;box-shadow:none;background:none;overflow:visible}
.app>header .filter-bar .fp{border:0!important;border-radius:0;box-shadow:none;background:none!important;height:28px;min-height:28px;gap:7px;padding:0 8px;font-size:12px;font-weight:600;color:inherit;justify-content:center}
.app>header .filter-bar .fp+.fp{border-left:1px solid #8a9ba966!important}
.app>header .filter-control-icon{display:none!important}
.app>header .fp .fp-cv{font-size:0;display:block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);position:relative;top:-2px;flex-shrink:0;color:inherit}
.app>header .fp:has(.fp-drop.open)>.fp-cv{transform:rotate(225deg);top:2px}
.app>header #fpType{flex:1.08}.app>header #fpLoc{flex:1.22}.app>header #fpSort{flex:.9}
.app>header .fp-drop{top:calc(100% + 8px);text-align:left}
html.dark .app,html.dark .app>header,html.dark #dailyRow,html.dark #arenaFull{background:var(--app-canvas);color:var(--app-ivory)}
html.dark .app>header{border-bottom:1px solid #667e8c66}
html.dark .app>header h1{color:var(--app-ivory)}
#dailyRow{position:relative;z-index:10;gap:3px;padding:4px 4px 3px;border-bottom:1px solid #667e8c66}
#dailyRow::after,html.dark #dailyRow::after{background:linear-gradient(90deg,transparent,#7d909f33 25%,#7d909f33 75%,transparent)}
#dailyRow .dl-btn,html.dark #dailyRow .dl-btn{height:74px;min-height:74px;border-radius:5px;border-color:#536e80;box-shadow:inset 0 1px 1px #b7c5cf1a}
#dailyRow .dl-lb{font-size:12px;line-height:14px;padding:17px 2px 3px;font-weight:700;bottom:0;text-align:center}
#dailyRow .dl-lb.long{font-size:10.5px;line-height:12px}
#dailyRow .neoes-games-entry .dl-lb{padding-bottom:14px}
#dailyRow .neoes-games-status{font-size:9px!important;bottom:2px!important;line-height:11px!important}
#dailyRow .neoes-controller-art{filter:brightness(.87) saturate(1.22);background-size:96% auto!important;background-position:center -4px!important}
#dailyRow .dl-half{overflow:hidden}
#dailyRow .dl-half .photo{height:100%;width:100%;border:0;border-radius:0;aspect-ratio:auto}
#dailyRow .dl-half .photo img{width:100%;height:100%;object-fit:cover;object-position:50% 16%}
#list{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;align-content:start;scrollbar-width:none;padding-bottom:calc(18px + var(--safe-bot,0px))}
#list::-webkit-scrollbar{display:none}
#list.grid{margin:0;width:100%;padding:1px 0 calc(18px + var(--safe-bot,0px));gap:1px}
#list.grid .tile{aspect-ratio:3/4}
.home-topic-art{position:absolute;inset:0;overflow:hidden}
.home-topic-art::before{content:'';position:absolute;inset:0;background-image:url('brand-art/app-visual-v1/topic-pairs.png');background-repeat:no-repeat}
.home-topic-fallback{display:flex;align-items:center;justify-content:center;height:70%;font-size:11px;padding:4px;color:#f4f4f3}
/* Exact source rectangles. Background scales uniformly; tall crops center both subjects. */
.home-topic-0::before{background-size:202.3715% 546.6192%;background-position:0% 0%}
.home-topic-1::before{background-size:202.7723% 546.6192%;background-position:100% 0%}
.home-topic-2::before{background-size:202.3715% 558.5455%;background-position:0% 23.3148%}
.home-topic-3::before{background-size:202.7723% 558.5455%;background-position:100% 23.3148%}
.home-topic-4::before{background-size:202.3715% 552.5180%;background-position:0% 46.1844%}
.home-topic-5::before{background-size:202.7723% 552.5180%;background-position:100% 46.1844%}
.home-topic-6::before{background-size:202.3715% 554.5126%;background-position:0% 69.2613%}
.home-topic-7::before{background-size:202.7723% 554.5126%;background-position:100% 69.2613%}
.home-topic-8::before{background-size:202.3715% 491.52%;background-position:0% 94.9305%}
.home-topic-9::before{background-size:202.7723% 491.52%;background-position:100% 94.9305%}
/* The game hub shares its canvas and typographic navigation across all tabs. */
#arenaFull .arf-bar{min-height:40px;padding:calc(3px + var(--safe-top,0px)) 12px 3px;border-color:#5f849c;background:none}
#arenaFull .arf-title{font-family:var(--app-serif);font-size:29px;font-weight:700;font-variant:small-caps;line-height:34px;text-shadow:0 2px 3px #0007;color:inherit}
#arenaFull .arf-close{left:5px;top:calc(var(--safe-top,0px) + 2px);gap:6px;min-height:36px;height:36px;padding:0 4px;font-family:var(--app-serif);font-size:17px;font-weight:400;color:inherit;background:none;border:0}
#arenaFull .arf-close svg{width:16px;height:24px;stroke:currentColor;stroke-width:2.8;fill:none;stroke-linecap:square}
#arenaFull .ar-tabs{gap:0;padding:0 10px;border-bottom:1px solid #6e9ab1;background:none;justify-content:space-between}
#arenaFull .ar-tab{font-family:var(--app-serif);font-size:18px;font-weight:400;min-height:33px;padding:2px 4px 4px;flex:1;line-height:26px;color:inherit;border-radius:0;background:none;border-bottom:3px solid transparent}
#arenaFull .ar-tab.on{font-weight:700;color:inherit;background:none;border-bottom:3px solid #b4e5fb}
#arenaFull .arf-body{padding:7px 9px calc(18px + var(--safe-bot,0px));gap:8px}
/* Transparent approved objects, with measured per-object crop windows. */
#arenaFull .neoes-game-art[data-game-art]{border:0;border-radius:0;background:transparent!important;box-shadow:none;isolation:auto}
#arenaFull .neoes-game-art[data-game-art]::before{inset:auto 0 auto;top:50%;height:auto;width:100%;aspect-ratio:1;transform:translateY(-50%);background-image:var(--approved-art-sheet,var(--neoes-art-sheet));background-size:var(--approved-art-size,300% 200%);background-position:var(--approved-art-position,50% 0%);background-repeat:no-repeat}
@media(min-width:700px){.app{height:880px;min-height:0}}
@media(max-width:374px){.app>header h1{font-size:22px}.app>header .brand{gap:4px}.app>header .logo-link,.app>header .logo-mark{width:63px;flex-basis:63px;max-width:63px}.app>header .filter-bar .fp{padding:0 5px;font-size:11px;gap:6px}#dailyRow .dl-lb{font-size:11px}#dailyRow .dl-lb.long{font-size:10px}}
html:not(.dark) .app>header .segbar{background:none;color:#173e5b}
html:not(.dark) .app>header .fp{color:#173e5b}
html:not(.dark) #arenaFull{background:linear-gradient(125deg,#eef5fa,#dce9f2);color:#183d5c}
:is(.app>header,#dailyRow,#arenaFull) button:focus-visible{outline:2px solid #8bd7f5;outline-offset:2px}




#arenaFull .arf-body{scrollbar-width:none}
#arenaFull .arf-body::-webkit-scrollbar{display:none}
.app>header .icon-btn{position:relative}
.app>header .icon-btn::after,#arenaFull .arf-close::after{content:'';position:absolute;inset:-3px -4px}

/* Measured approved atlas bindings. */
#arenaFull .neoes-game-art[data-game-art="eyedle"]{--approved-art-sheet:url('brand-art/app-visual-v1/game-atlas-word-logic.webp');--approved-art-size:304.15841584158414% 202.77227722772278%;--approved-art-position:1.5518913676042678% 9.152215799614643%}
#arenaFull .neoes-game-art[data-game-art="trivia"]{--approved-art-sheet:url('brand-art/app-visual-v1/game-atlas-word-logic.webp');--approved-art-size:311.5618661257606% 207.7079107505071%;--approved-art-position:50.143815915628% 4.519774011299435%}
#arenaFull .neoes-game-art[data-game-art="iris-words"]{--approved-art-sheet:url('brand-art/app-visual-v1/game-atlas-word-logic.webp');--approved-art-size:300% 200%;--approved-art-position:98.33984375% 3.80859375%}
#arenaFull .neoes-game-art[data-game-art="line-up"]{--approved-art-sheet:url('brand-art/app-visual-v1/game-atlas-word-logic.webp');--approved-art-size:287.10280373831773% 191.40186915887853%;--approved-art-position:1.098901098901099% 99.18200408997954%}
#arenaFull .neoes-game-art[data-game-art="mini-grid"]{--approved-art-sheet:url('brand-art/app-visual-v1/game-atlas-word-logic.webp');--approved-art-size:382.08955223880594% 254.726368159204%;--approved-art-position:50.35273368606702% 83.84244372990354%}
#arenaFull .neoes-game-art[data-game-art="focus-shift"]{--approved-art-sheet:url('brand-art/app-visual-v1/game-atlas-word-logic.webp');--approved-art-size:288.18011257035647% 192.1200750469043%;--approved-art-position:99.70089730807578% 94.09368635437882%}
#arenaFull .neoes-game-art[data-game-art="face-match"]{--approved-art-sheet:url('brand-art/app-visual-v1/game-atlas-arcade-photos.webp');--approved-art-size:314.75409836065575% 209.8360655737705%;--approved-art-position:3.1488549618320607% 2.9850746268656714%}
#arenaFull .neoes-game-art[data-game-art="face-shuffle"]{--approved-art-sheet:url('brand-art/app-visual-v1/game-atlas-arcade-photos.webp');--approved-art-size:351.487414187643% 234.32494279176203%;--approved-art-position:50.864422202001826% 6.047700170357751%}
#arenaFull .neoes-game-art[data-game-art="name-that-face"]{--approved-art-sheet:url('brand-art/app-visual-v1/game-atlas-arcade-photos.webp');--approved-art-size:317.35537190082647% 211.5702479338843%;--approved-art-position:98.62167300380229% 1.1111111111111112%}
#arenaFull .neoes-game-art[data-game-art="clear-view"]{--approved-art-sheet:url('brand-art/app-visual-v1/game-atlas-arcade-photos.webp');--approved-art-size:326.1146496815287% 217.40976645435245%;--approved-art-position:2.910798122065728% 90.23508137432188%}
#arenaFull .neoes-game-art[data-game-art="retina-patrol"]{--approved-art-sheet:url('brand-art/app-visual-v1/game-atlas-arcade-photos.webp');--approved-art-size:304.15841584158414% 202.77227722772278%;--approved-art-position:50.04849660523764% 94.41233140655106%}
#arenaFull .neoes-game-art[data-game-art="blink-chase"]{--approved-art-sheet:url('brand-art/app-visual-v1/game-atlas-arcade-photos.webp');--approved-art-size:353.1034482758621% 235.4022988505747%;--approved-art-position:96.63941871026339% 87.77589134125637%}

/* October 17 approved full-scene controller and shared weekly photographs. */
#dailyRow .neoes-games-entry .neoes-controller-art{background-image:url('brand-art/app-visual-v2/controller-frame.webp');background-size:cover!important;background-position:center center!important;filter:none}
.home-topic-art::before{background-size:var(--topic-size);background-position:var(--topic-position)}
#ibFull .ibf-cols{gap:9px;align-items:start}
#ibFull .ibf-photo-choice{border-radius:10px;border:1px solid #3986b1;background:radial-gradient(ellipse at 50% 0%,#12426488,transparent 75%),#001b2e;box-shadow:inset 0 1px 1px #cae9f322}
#ibFull .ibf-photo-choice .ibf-art{height:auto;position:relative;padding:0;background:transparent}
#ibFull .ibf-photo-choice .ibf-art .home-topic-side{position:relative;display:block;inset:auto;width:100%;aspect-ratio:var(--topic-ratio)}
#ibFull .ibf-photo-choice .ibf-opt{padding:4px 9px 10px;color:#f4f4f3;text-align:center;justify-content:center;font:700 24px var(--app-serif);letter-spacing:0;line-height:1.1}
#ibFull .ibf-camp.ibf-photo-choice .ibf-answer,
html.dark #ibFull .ibf-camp.ibf-photo-choice .ibf-answer{min-height:44px;margin:0 7px 10px;padding:8px 4px;border:1px solid #8eb4cf;border-radius:9px;background:linear-gradient(145deg,#274d6a,#102f48);color:#f4f4f3;font:600 14px system-ui,sans-serif;box-shadow:inset 0 1px 1px #cce5f322}
#ibFull .ibf-camp.ibf-photo-choice .ibf-answer.selected,
html.dark #ibFull .ibf-camp.ibf-photo-choice .ibf-answer.selected{background:linear-gradient(145deg,#33749b,#174467);border-color:#c3e8fa}
#ibFull .ibf-photo-choice .ibf-chip-nm,#ibFull .ibf-photo-choice .ibf-none{color:#c9deec}
#ibFull .ibf-head{font-family:var(--app-serif);font-size:32px;line-height:1.1;margin:17px 0 14px}
#ibFull .ibf-status{margin-bottom:20px}
html:not(.dark) #ibFull .ibf-photo-choice{background:linear-gradient(150deg,#d7e7f3,#edf5fa)}
html:not(.dark) #ibFull .ibf-photo-choice .ibf-opt,html:not(.dark) #ibFull .ibf-photo-choice .ibf-chip-nm,html:not(.dark) #ibFull .ibf-photo-choice .ibf-none{color:#183d5c}

/* v371 measured library crops: preserve complete transparent subjects and native aspect. */
#arenaFull .neoes-game-art[data-game-art]::before{aspect-ratio:var(--approved-art-ratio,1)}
#arenaFull #arenaBody .ag-library.ap-library .ag-cover{height:74px}
#arenaFull #arenaBody .ag-library.ap-library .ag-card{min-height:76px}
#arenaFull #arenaBody .ag-library.ap-library .ag-cover>.neoes-game-art::before{width:min(100%,calc(72px * var(--approved-art-scale,1)))}
#arenaFull #arenaBody .ag-library.ap-library .ag-cover[data-game='line-up']>.neoes-game-art::before{width:100%}
#arenaFull .neoes-game-art[data-game-art="name-that-face"]{--approved-art-sheet:url('brand-art/app-visual-v2/library-extended.webp');--approved-art-size:204.2345276872964% 288.94009216589865%;--approved-art-position:7.656250000000001% 14.75609756097561%;--approved-art-ratio:614/434;--approved-art-scale:1.4147465437788018}
#arenaFull .neoes-game-art[data-game-art="face-shuffle"]{--approved-art-sheet:url('brand-art/app-visual-v2/library-extended.webp');--approved-art-size:245.8823529411765% 301.44230769230774%;--approved-art-position:89.65053763440861% 18.377088305489263%;--approved-art-ratio:510/416;--approved-art-scale:1.2259615384615385}
#arenaFull .neoes-game-art[data-game-art="focus-shift"]{--approved-art-sheet:url('brand-art/app-visual-v2/library-extended.webp');--approved-art-size:218.84816753926702% 221.5547703180212%;--approved-art-position:7.782672540381791% 87.5%;--approved-art-ratio:573/566;--approved-art-scale:1.0123674911660778}
#arenaFull .neoes-game-art[data-game-art="blink-chase"]{--approved-art-sheet:url('brand-art/app-visual-v2/library-extended.webp');--approved-art-size:230.09174311926603% 237.05103969754254%;--approved-art-position:90.83215796897038% 88%;--approved-art-ratio:545/529;--approved-art-scale:1.0302457466918715}
#arenaFull .neoes-game-art[data-game-art="optical-order"]{--approved-art-sheet:url('brand-art/app-visual-v2/library-prepared.webp');--approved-art-size:316.4723032069971% 172.38095238095238%;--approved-art-position:2.8282828282828283% 51.973684210526315%;--approved-art-ratio:686/420;--approved-art-scale:1.6333333333333333}
#arenaFull .neoes-game-art[data-game-art="eye-candy"]{--approved-art-sheet:url('brand-art/app-visual-v2/library-prepared.webp');--approved-art-size:304.4880785413745% 139.76833976833979%;--approved-art-position:51.64609053497943% 50.970873786407765%;--approved-art-ratio:713/518;--approved-art-scale:1.3764478764478765}
#arenaFull .neoes-game-art[data-game-art="eye-natomy"]{--approved-art-sheet:url('brand-art/app-visual-v2/library-prepared.webp');--approved-art-size:332.97546012269936% 116.96284329563812%;--approved-art-position:98.22251481237656% 50.476190476190474%;--approved-art-ratio:652/619;--approved-art-scale:1.0533117932148628}
