/* Atelier V1.24 — folios, index rules and a restrained copper bookmark. */
:root{--copper:#94613f;--folio:#eeeede;--rule:#cfd5c8;--index-font:"SFMono-Regular",Consolas,"Liberation Mono",monospace}
.brand strong{font-family:Georgia,"Times New Roman",serif;font-size:19px;font-weight:400;letter-spacing:-.45px}
.brand small{font-size:10px;letter-spacing:.015em}
.home-page{padding-top:calc(104px + var(--safe-top))}
.collection-overview{position:relative;margin:0 3px 38px 0;padding:19px 21px 23px 32px;border:1px solid #d9dece;border-left:4px solid var(--accent);border-radius:4px 16px 16px 4px;background:var(--folio);box-shadow:3px 4px 0 -1px var(--paper),4px 5px 0 -1px #d3dacd,6px 8px 0 -2px var(--paper),7px 9px 0 -2px #dfe3d7}
.collection-overview::before{content:"";position:absolute;top:15px;bottom:15px;left:13px;border-left:1px dashed #b6c0af;pointer-events:none}
.overview-heading{gap:10px;margin-bottom:13px;padding-bottom:8px;border-bottom:1px solid #d2d8c8}
.overview-heading .eyebrow{font-family:var(--index-font);font-size:9px;font-weight:400;letter-spacing:.07em;color:#596953}
.overview-heading .textlink{font-size:11px;min-height:36px;padding:5px 0 5px 8px;color:var(--ink)}
.stats{border:0;border-radius:0;background:transparent;padding:2px 0 0;gap:0}
.stat{padding:0 15px}
.stat:first-child{padding-left:0}
.stat:last-child{padding-right:0}
.stat+.stat{border-color:#d2d8c8}
.stat b{font-family:Georgia,"Times New Roman",serif;font-size:37px;font-weight:400;line-height:1.1;letter-spacing:-1.2px}
.stat span{font-size:10px;line-height:1.5;margin-top:7px;color:#5b6855}
.sectionhead{margin-bottom:19px}
.sectionhead .eyebrow{font-family:var(--index-font);font-size:9px;font-weight:400;letter-spacing:.09em;color:var(--copper)}
.sectionhead h2{font-size:34px;letter-spacing:-1.1px;margin-top:6px}
.title-period{color:var(--copper)}
.section-caption{font-family:var(--index-font);font-size:9px;max-width:140px;line-height:1.6;letter-spacing:.025em}
.gamegrid{position:relative;overflow:visible;gap:0;border:0;border-top:1px solid #bec9b9;border-bottom:1px solid #bec9b9;border-radius:0;background:transparent}
.gamechoice{position:relative;grid-template-columns:28px 128px minmax(0,1fr) auto;gap:22px;min-height:105px;padding:20px 4px;background:transparent;border-radius:0}
.gamechoice+.gamechoice{border-color:var(--line)}
.gamechoice::before{content:"";position:absolute;left:-8px;top:29px;bottom:29px;width:2px;border-radius:2px;background:var(--copper);opacity:0;transition:opacity .22s var(--ease);pointer-events:none}
.game-index{font-family:var(--index-font);font-size:10px;letter-spacing:.05em;font-variant-numeric:tabular-nums;color:#788371}
.gamebrand{width:128px;height:58px;border:1px solid #dfe4d8;border-radius:3px 9px 9px 3px;background:#f0f2e9;padding:10px 13px}
.gamebrand.on-ink{border-color:#2e3933}
.gamename{font-size:16px;font-weight:550;letter-spacing:-.2px}
.gamedescription{font-size:11px;line-height:1.5;margin-top:4px}
.game-entry{display:flex;align-items:center;gap:13px;color:var(--accent);font-size:11px}
.game-entry .ui-icon{width:18px;height:18px;transition:transform .25s var(--ease)}
.gamechoice.pending{grid-template-columns:28px 128px minmax(0,1fr);background:transparent}
.gamechoice.pending .gamename{color:var(--muted)}
.upcominggames{border-top:0;margin-top:15px}
.upcominggames summary strong{font-family:Georgia,"Times New Roman",serif;font-size:18px;font-weight:400;letter-spacing:-.25px}
.upcominggames summary small{font-size:10px}
.upcominggames[open] .gamegrid{border-color:var(--line)}
.edition-note{font-family:var(--index-font);font-size:9px;letter-spacing:.04em;margin-top:34px}
.catalogue-hero{padding-bottom:25px;border-bottom-color:var(--rule)}
.catalogue-hero .eyebrow,.titleline .eyebrow{font-family:var(--index-font);font-size:9px;font-weight:400;color:var(--copper);letter-spacing:.06em}
.titleline h1{font-size:clamp(32px,5vw,47px);letter-spacing:-1.3px}
.catalogue-hero .gamebrand{border-radius:3px 12px 12px 3px}
.cataloguetools label{font-family:var(--index-font);font-size:10px;letter-spacing:.01em}
.yeargroup>h2{font-family:var(--index-font);font-size:13px;color:var(--muted);letter-spacing:.07em;gap:15px}
.yeargroup>h2::after{background:var(--rule)}
.resultcount{font-family:var(--index-font);font-size:10px;line-height:1.6}
.setgrid{gap:14px}
.setcard{position:relative;min-height:175px;border-color:#dce2d3;border-left:2px solid #b2c3ac;border-radius:3px 12px 12px 3px;padding:18px 19px;background:var(--surface)}
.setcard::after{content:"";position:absolute;width:12px;height:3px;right:14px;bottom:-3px;border:1px solid #dce2d3;border-top:0;border-radius:0 0 2px 2px;background:var(--paper);pointer-events:none}
.tile-top .code{font-family:var(--index-font);font-size:10px;letter-spacing:.045em;font-weight:400;color:var(--accent)}
.tile-top>.ui-icon{width:16px;height:16px;color:var(--copper)}
.setcard h3{font-family:Georgia,"Times New Roman",serif;font-size:19px;font-weight:400;letter-spacing:-.3px;line-height:1.25;margin-top:12px}
.settranslation{font-size:11px;line-height:1.5;margin-top:2px}
.setdiscover{font-family:var(--index-font);font-size:10px;letter-spacing:-.2px}
.setmeta{font-family:var(--index-font);font-size:9px}
.setmeta b{font-weight:400}
.setcard .progress{height:3px}
.extension-panel{background:var(--surface);border-bottom-color:#cbd4c4;box-shadow:0 3px 0 #e6eadd88}
.extension-code{font-family:var(--index-font);color:var(--copper);font-weight:400;font-size:10px;letter-spacing:.02em}
.extension-heading h1{font-size:21px;letter-spacing:-.35px;line-height:1.25}
.extension-panel .completionstrip>span{font-family:var(--index-font);font-size:9px;letter-spacing:.015em}
.completiontrack{height:3px}
.completionstrip b,.completionstrip small{font-family:var(--index-font);font-weight:400}
.extension-navigation button{font-size:11px}
.extension-game{font-family:var(--index-font);font-size:9px;line-height:1.45}
.extension-toggle{border-radius:4px 10px 10px 4px;background:var(--paper)}
.opcolourheading{font-family:var(--index-font);font-size:11px;font-weight:400;color:var(--accent);letter-spacing:.025em}
.realart{border-radius:4px;background:#e8ede1;box-shadow:0 1px 2px #20372b1c,0 5px 10px #20372b0b}
.cardbody{padding-top:10px}
.cardbody>small{font-family:var(--index-font);font-size:10px;letter-spacing:-.2px}
.card.isowned [data-owned]{font-weight:500;border-bottom:1px solid #c1d1b9;padding-bottom:1px}
.price{font-family:var(--index-font);font-size:10px;font-weight:400;letter-spacing:-.25px}
.gallerymodes{border-radius:4px 10px 10px 4px}
.gallerymodes button{border-radius:3px 7px 7px 3px}
.modalheading>span{font-family:var(--index-font);font-size:10px;color:var(--copper);letter-spacing:.035em}
.modalcontent>img{border-radius:5px}
.modaldetails>.eyebrow{font-family:var(--index-font);font-weight:400;font-size:10px;letter-spacing:.055em}
.modalcontrols{border-radius:4px 12px 12px 4px}
.scanpanel,.backuppanel{border-radius:4px 15px 15px 4px;border-left:2px solid #b2c3ac}
.panel-label>span{font-family:var(--index-font);color:var(--copper)}
.panel-label h2,.backuppanel h2{font-family:Georgia,"Times New Roman",serif;font-size:21px;font-weight:400;letter-spacing:-.3px}
.bottomnav button::before{width:12px;height:5px;top:-1px;border-radius:0;background:var(--copper);clip-path:polygon(0 0,100% 0,100% 100%,50% 66%,0 100%)}
.bottomnav button.active{color:var(--ink)}
@media(hover:hover){
 .gamechoice:not(.pending):hover{background:transparent}
 .gamechoice:not(.pending):hover::before{opacity:1}
 .gamechoice:not(.pending):hover .game-entry .ui-icon{transform:translateX(3px)}
 .gamechoice:not(.pending):hover .gamename{color:var(--accent)}
 .setcard:hover{background:#f9fbf2;box-shadow:0 4px 14px #253b3208}
}
.gamechoice:focus-visible::before{opacity:1}
@media(min-width:900px){
 .home-page{max-width:910px}
 .collection-overview{padding:24px 32px 28px 44px}
 .collection-overview::before{left:18px;top:20px;bottom:20px}
 .stat b{font-size:45px}
 .stat{padding:0 28px}
 .overview-heading{padding-bottom:12px;margin-bottom:18px}
}
@media(max-width:760px){
 .catalogue-hero h1{font-size:34px}
}
@media(max-width:600px){
 .collection-overview{padding:16px 17px 20px 28px;margin-bottom:34px}
 .collection-overview::before{left:11px}
 .stat{padding:0 10px}
 .stat b{font-size:33px}
 .stat span{font-size:9px;line-height:1.55}
 .overview-heading .eyebrow{font-size:8px}
 .overview-heading .textlink{font-size:10px}
 .sectionhead h2{font-size:32px}
 .section-caption{font-size:9px;max-width:116px}
 .gamechoice{grid-template-columns:18px 92px minmax(0,1fr) 16px;gap:11px;min-height:98px;padding:17px 0}
 .gamechoice.pending{grid-template-columns:18px 92px minmax(0,1fr)}
 .game-index{font-size:9px}
 .gamebrand{width:92px;height:54px;padding:9px}
 .gamename{font-size:14px;line-height:1.35}
 .gamedescription{font-size:9px;line-height:1.6}
 .game-entry>span{display:none}
 .game-entry .ui-icon{width:16px;height:16px}
 .gamechoice::before{left:-7px;top:25px;bottom:25px}
 .setgrid{gap:12px}
 .setcard{min-height:168px;padding:15px 13px}
 .setcard h3{font-size:17px;line-height:1.3}
 .settranslation{font-size:10px}
 .tile-top .code{font-size:9px}
 .extension-heading h1{font-size:18px}
 .cardbody>small{font-size:9px}
 .cardbody .price{font-size:9px}
 .setmeta{font-size:9px}
}
@media(max-width:359px){
 .brand strong{font-size:17px}
 .brand small{font-size:9px}
 .gamechoice{grid-template-columns:16px 76px minmax(0,1fr) 14px;gap:9px}
 .gamechoice.pending{grid-template-columns:16px 76px minmax(0,1fr)}
 .gamebrand{width:76px;height:48px;padding:7px}
 .game-entry .ui-icon{width:14px;height:14px}
 .gamename{font-size:13px}
 .gamedescription{font-size:9px}
 .stat b{font-size:29px}
 .stat span{font-size:9px}
 .stat{padding:0 7px}
 .overview-heading{gap:6px}
 .overview-heading .eyebrow{font-size:8px;letter-spacing:.015em}
 .overview-heading .textlink{font-size:10px;gap:4px}
 .catalogue-hero h1{font-size:29px}
 .extension-heading h1{font-size:17px}
}

/* V1.26: compact controls, matching both existing themes. */
.browse-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:10px 0}.browse-tools label{display:grid;gap:4px;flex:1 1 125px;font-size:11px;min-width:0}.browse-tools select{width:100%;min-height:40px;border:1px solid currentColor;border-radius:10px;padding:8px;background:var(--surface,#222);color:inherit}.browse-tools button{min-height:40px}.printing-label{font-size:10px;line-height:1.4;opacity:.75;display:block}.modalcontrols .variantrow>span{max-width:55%;font-size:11px}
