/* Fenêtres : menus, aperçu d'une carte, explorateur, réglages, marqueurs. */
.zwrap{display:flex;gap:1rem;align-items:flex-start;margin-bottom:.8rem}
.zwrap .zoom{margin:0;flex:none;width:min(260px,45vw)}
.otext{flex:1;min-width:0;font-size:.97rem;background:var(--mat);border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem}
.otext h4{font-family:var(--serif);font-size:1.15rem;margin:0;display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;flex-wrap:wrap}
.otext .ty{color:var(--muted);font-size:.9rem;margin:.15rem 0 .5rem;padding-bottom:.45rem;border-bottom:1px solid var(--line)}
.otext p{margin:.35rem 0}
.otext .rm{font-style:italic;color:var(--muted)}
.otext .pt{font-family:var(--serif);font-weight:800;font-size:1.1rem;text-align:right;margin-top:.3rem}
.otext hr{border:0;border-top:1px dashed var(--line);margin:.7rem 0}
.sheet.wide{width:min(780px,100%)}
@media (max-width:620px){.zwrap{flex-direction:column;align-items:stretch}.zwrap .zoom{width:min(250px,70vw);align-self:center}}
.zoom{display:block;margin:0 auto .6rem;width:min(250px,70vw);aspect-ratio:488/680;border-radius:12px;object-fit:cover;background:var(--mat)}
.prints{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:.5rem}
.prints button{background:transparent;border:1px solid transparent;border-radius:8px;padding:3px;display:grid;gap:3px;text-align:center}
.prints button:hover,.prints button[aria-pressed="true"]{border-color:var(--brass)}
.prints img{width:100%;aspect-ratio:146/204;object-fit:cover;border-radius:6px;background:var(--mat)}
.prints span{font-size:.76rem;color:var(--muted);line-height:1.2}
.mats{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem}
.mats button,.mats .custom{display:flex;align-items:center;gap:.55rem;background:var(--ui);border:1px solid var(--line);border-radius:10px;padding:.5rem .6rem;min-height:48px;margin:0;font-weight:500;cursor:pointer}
.mats [aria-pressed="true"]{border-color:var(--brass);box-shadow:inset 0 0 0 1px var(--brass)}
.mats .sw{width:26px;height:26px;border-radius:50%;border:1px solid var(--line);flex:none}
.mats input[type=color]{width:28px;height:28px;padding:0;border:0;border-radius:50%;background:none;flex:none;cursor:pointer}
.revgrid{display:flex;flex-wrap:wrap;gap:6px}
.sizes{display:grid;gap:.6rem;margin-top:1rem}
.sizes label{margin:0;display:grid;grid-template-columns:8.5rem 1fr 3rem;align-items:center;gap:.6rem;font-weight:500}
.sizes input[type=range]{width:100%;accent-color:var(--brass)}
.sizes output{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}
.saga{border-top:1px solid var(--line);padding:.5rem 0}
.saga:first-of-type{border-top:0}
.saga p{margin:.3rem 0 0}
.sheet.xwide{width:min(1180px,100%);max-height:min(92vh,960px)}
.browser{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1rem;align-items:start}
@media (max-width:760px){.browser{grid-template-columns:minmax(0,1fr)}}
.bfil{display:flex;gap:.5rem}
.bfil select{width:auto;flex:none}
.bcount{margin:.5rem 0;font-size:.88rem}
.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:.55rem}
.bcard{position:relative;aspect-ratio:488/680;border:1px solid var(--edge);border-radius:8px;background:var(--card);color:var(--cardink);padding:6px;text-align:left;overflow:hidden;font-family:var(--serif);font-weight:700;font-size:.85rem;line-height:1.15}
.bcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.bcard img + .bn{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.bcard:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.35)}
.bcard.on{outline:3px solid var(--brass);outline-offset:2px}
.bside{position:sticky;top:0;background:var(--mat);border:1px solid var(--line);border-radius:10px;padding:.7rem}
.bside .zwrap{flex-direction:column;align-items:stretch;margin:0}
.bside .zoom{width:min(240px,100%);align-self:center}
.bacts{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.7rem}
.ctrrow{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem 0;border-top:1px solid var(--line)}
.ctrrow:first-of-type{border-top:0}
.ctrrow .cn{min-width:2ch;text-align:center;font-size:1.1rem;font-variant-numeric:tabular-nums}
.ctrh{font-size:.85rem;width:100%}
.ctradd + .ctradd{border-top:0;margin-top:.2rem;padding-top:0}
.ctradd{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;margin-top:.7rem;padding-top:.6rem;border-top:1px solid var(--line)}
#modal[hidden]{display:none}
#modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(15,10,25,.55)}
.sheet{background:var(--mat2);color:var(--ink);border:1px solid var(--line);border-radius:14px;width:min(520px,100%);max-height:min(86vh,720px);display:flex;flex-direction:column;box-shadow:0 20px 50px rgba(0,0,0,.35)}
@media (max-width:560px){#modal{align-items:flex-end;padding:0}.sheet{border-radius:14px 14px 0 0;max-height:88vh;padding-bottom:env(safe-area-inset-bottom,0px)}}
.sheet header{padding:.9rem 1rem .4rem;display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start}
.sheet h2{font-family:var(--serif);font-size:1.3rem;margin:0;overflow-wrap:anywhere}
.sheet .body{padding:.3rem 1rem 1rem;overflow:auto}
.sheet footer{padding:.6rem 1rem 1rem;display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap;border-top:1px solid var(--line)}
.menu{display:grid;gap:2px}
.menu button{background:transparent;border:0;border-radius:8px;text-align:left;padding:.6rem .6rem;min-height:42px}
.menu button:hover{background:var(--ui)}
.menu button.danger{color:var(--life)}
.menu hr{border:0;border-top:1px solid var(--line);margin:.3rem 0}
.zl{list-style:none;margin:0;padding:0}
.zl li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem 0;border-top:1px solid var(--line)}
.zl li:first-child{border-top:0}
.zl .nm{font-family:var(--serif);font-weight:700;overflow-wrap:anywhere}
.zl .acts{display:flex;gap:.25rem;flex:none}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(1rem + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--mat);padding:.55rem .9rem;border-radius:8px;z-index:60;max-width:90vw;font-size:.95rem}
/* Aperçu recto-verso */
.peek{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
@media (max-width:620px){.peek{grid-template-columns:minmax(0,1fr)}}
.peek .zwrap{flex-direction:column;align-items:stretch;margin:0}
.peek .zoom{width:min(260px,100%);align-self:center}
.peekl{margin:0 0 .3rem;text-align:center;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}
