:root{--blue:#6E281E;--blue2:#EAD7B1;--ink:#46281A;--ink2:#644128;--muted:#644128;--line:#B8936A;--brown:#78502D;--ok:#2F5D2A;--okbg:#DCE3C0;--warn:#7A4B0A;--warnbg:#F3DFAE;--bad:#8B2318;--badbg:#F2D3C2;--bg:#E9D6B0;--card:#F4E8CE;--field:#FAF2E1;--cream:#F5E1B4;--r:16px;--shadow:0 3px 8px rgba(90,60,35,.22);--serif:Georgia,'Iowan Old Style','Palatino Linotype',Palatino,'Times New Roman',serif;--fell:'IM Fell English',var(--serif);--fellsc:'IM Fell English SC','IM Fell English',var(--serif)}
@font-face{font-family:'IM Fell English';src:url(fonts/im-fell-english.woff2) format('woff2');font-display:swap}
@font-face{font-family:'IM Fell English SC';src:url(fonts/im-fell-english-sc.woff2) format('woff2');font-display:swap}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;color:var(--ink);font:19px/1.5 var(--fell);-webkit-text-size-adjust:100%}
html{background:var(--bg);min-height:100%}body{background:transparent;min-height:100vh}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 120% 95% at 50% 40%,#EBD9B4 0%,#E6D1A8 55%,#D3B888 88%,#C7A97A 100%)}
body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
.topbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:calc(8px + env(safe-area-inset-top)) 14px 8px;background:linear-gradient(#5A3220,#46281A);color:var(--cream);border-bottom:3px solid #A57B45;box-shadow:0 2px 8px rgba(50,30,15,.35)}
.brand{font-family:var(--fellsc);font-size:23px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--cream);text-decoration:none;display:flex;align-items:center;gap:10px}
.brand .logo{width:34px;height:34px;border-radius:9px;border:1.5px solid #A57B45;flex-shrink:0}
.brand span{overflow:hidden;text-overflow:ellipsis}
.status{display:flex;gap:6px;flex-shrink:0}
.pill{display:inline-block;padding:2px 10px;border-radius:999px;font:600 13px/1.6 var(--serif);background:rgba(245,225,180,.18);color:var(--cream)}
.pill:empty{display:none}
main{max-width:860px;margin:0 auto;padding:14px}
h1,h2,h3{font-family:var(--fellsc);font-weight:400;color:var(--ink);letter-spacing:.01em}
h1{font-size:32px;margin:6px 0 12px} h2{font-size:25px;margin:18px 0 8px} h3{font-size:21px;margin:12px 0 6px}
a{color:#6E281E}
.tabs{position:fixed;left:0;right:0;bottom:0;z-index:6;display:flex;background:linear-gradient(#F4E8CE,#EAD9B6);border-top:2px solid var(--brown);box-shadow:0 -2px 8px rgba(90,60,35,.18);padding-bottom:env(safe-area-inset-bottom)}
body.no-tabs .tabs{display:none} body.no-tabs{padding-bottom:24px}
.tabs a{flex:1;display:flex;flex-direction:column;align-items:center;padding:8px 2px 10px;font:15px/1.2 var(--fellsc);color:var(--ink2);text-decoration:none;min-height:64px}
.tabs a span{font-size:24px;line-height:1.2}
.tabs a{min-width:0;cursor:pointer;white-space:nowrap}@media (max-width:380px){.tabs a{font-size:13px;padding-left:0;padding-right:0}.tabs a span{font-size:21px}}
.pf-photo{max-width:100%;max-height:220px;display:block;margin:0 auto 8px;border-radius:6px}.pf-status{min-height:1.4em}
.tabs a.active{color:#6E281E;background:rgba(110,40,30,.1);box-shadow:inset 0 3px 0 #6E281E}
.card{background:var(--card);border:2px solid var(--brown);border-radius:var(--r);padding:16px;margin:0 0 14px;box-shadow:var(--shadow)}
.btn{appearance:none;-webkit-appearance:none;border:2px solid var(--brown);background:var(--field);color:#6E281E;border-radius:14px;padding:10px 18px;font:20px/1.2 var(--fellsc);min-height:48px;cursor:pointer;text-decoration:none;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;box-shadow:0 2px 0 rgba(90,60,35,.35)}
.btn:active{transform:translateY(1px);box-shadow:none}
.btn.primary{background:#6E281E;border-color:#4E1A12;color:var(--cream)}
.btn.big{font-size:20px;min-height:60px;padding:12px 20px}
.btn.huge{font-size:23px;min-height:76px;width:100%;margin:6px 0}
.btn.danger{border-color:var(--bad);color:var(--bad);background:#F6E3D6}
.btn.ok{border-color:#1F421B;background:var(--ok);color:var(--cream)}
.btn.small{min-height:38px;padding:4px 12px;font-size:17px}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn.block{width:100%}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:520px){.grid2{grid-template-columns:1fr}}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.row>input,.row>select{flex:1;min-width:140px}
label{display:block;margin:12px 0 4px;color:var(--ink);font-family:var(--fellsc);font-size:19px}
input,select,textarea{font:18px/1.35 var(--serif);width:100%;padding:12px;border:2px solid var(--brown);border-radius:12px;background:var(--field);color:var(--ink);min-height:50px;box-shadow:inset 0 1px 3px rgba(90,60,35,.15)}
input::placeholder,textarea::placeholder{color:#9A7A58}
select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#78502D 50%),linear-gradient(135deg,#78502D 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:36px}
input:focus,select:focus,textarea:focus{outline:none;border-color:#6E281E;box-shadow:0 0 0 3px rgba(110,40,30,.18)}
input[type=checkbox],input[type=radio]{width:28px;height:28px;min-height:0;vertical-align:middle;accent-color:#6E281E;box-shadow:none;flex-shrink:0}
.check{display:flex;align-items:center;gap:10px;margin:10px 0;font:18px/1.35 var(--fell)}
.muted{color:var(--muted)} .center{text-align:center} .small{font-size:16px}
.note{background:#EFDDB8;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;margin:10px 0}
.warnbox{background:var(--warnbg);color:#5b3600;border:1.5px solid #C9A25C;border-radius:12px;padding:12px 14px;margin:10px 0}
.okbox{background:var(--okbg);color:#24461F;border:1.5px solid #9FAF7C;border-radius:12px;padding:12px 14px;margin:10px 0}
.demo{background:#F3DFAE;border:2px dashed #c98a00;border-radius:12px;padding:10px 14px;margin:10px 0;font-weight:600}
.list{list-style:none;padding:0;margin:0}
.bookrow{display:flex;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--card);cursor:pointer;color:var(--ink);text-decoration:none}
.list.card{overflow:hidden}
.bookrow:last-child{border-bottom:0}
.bookrow:first-child{border-top-left-radius:var(--r);border-top-right-radius:var(--r)}
.bookrow .cover{width:46px;height:66px;flex-shrink:0;border-radius:4px;background:#D9C29A center/cover no-repeat;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:22px;overflow:hidden}
.bookrow .cover img{width:100%;height:100%;object-fit:cover}
.bookrow .info{flex:1;min-width:0}
.bookrow .t{font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bookrow .a{color:var(--muted);font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bookrow .meta{font:14px/1.5 var(--serif);color:var(--muted)}
.bookrow .price{font:700 20px var(--serif);color:#6E281E;white-space:nowrap}
.tag{display:inline-block;font:600 13px/1.6 var(--serif);border-radius:6px;padding:0 7px;margin-right:4px;background:#E6D3AC;color:var(--ink2);border:1px solid #CDB085}
.tag.in{background:var(--okbg);color:var(--ok)} .tag.sold{background:var(--badbg);color:var(--bad)} .tag.pending{background:var(--warnbg);color:var(--warn)} .tag.box{background:var(--blue2);color:var(--blue)} .tag.sample{background:#E2D6C0;color:#5A4A3A}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.chip{border:2px solid var(--brown);background:var(--field);border-radius:999px;padding:6px 14px;font:17px var(--fellsc);min-height:42px;cursor:pointer;color:var(--ink)}
.chip.on{border-color:#4E1A12;background:#6E281E;color:var(--cream)}
.stat{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}
.stat div{background:var(--card);border:2px solid var(--brown);border-radius:14px;padding:10px;text-align:center;box-shadow:var(--shadow)}
.stat b{display:block;font:700 28px var(--serif);color:#6E281E}
.total{font:700 34px var(--serif);color:#6E281E}
.qr{display:flex;justify-content:center;margin:10px 0}
.qr img,.qr svg{width:240px;height:240px;image-rendering:pixelated;background:#FAF2E1;padding:10px;border-radius:10px;border:2px solid var(--brown)}
.codebox{width:100%;min-height:110px;font-family:ui-monospace,Menlo,monospace;font-size:13px;word-break:break-all}
.toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translateX(-50%);background:#46281A;color:var(--cream);border:1.5px solid #A57B45;font-family:var(--serif);padding:12px 18px;border-radius:12px;font-weight:600;max-width:92vw;opacity:0;pointer-events:none;transition:opacity .2s;z-index:50;text-align:center}
.toast.show{opacity:1;pointer-events:auto}
.toast button{margin-left:10px;background:var(--cream);color:#46281A;border:0;border-radius:8px;padding:6px 10px;font-weight:700;font:inherit}
dialog{border:2px solid var(--brown);border-radius:18px;padding:0;width:min(580px,94vw);max-height:90vh;background:var(--card);color:var(--ink);box-shadow:0 10px 30px rgba(40,22,10,.45)}
dialog::backdrop{background:rgba(40,22,10,.5)}
dialog form{padding:18px}
.dlg-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px;position:sticky;bottom:0;background:var(--card);padding-top:8px}
.scanner{position:fixed;inset:0;z-index:40;background:radial-gradient(ellipse at 50% 30%,#3A2417,#1F130C);color:var(--cream);display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:calc(10px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom))}
.scanner[hidden]{display:none}
.scanner-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.scanner-title{font:24px var(--fellsc)}
.scanner-ctx{margin:8px 0;color:#F0C36A}
.reader{flex:0 1 auto;min-height:160px;background:#000;border-radius:14px;border:3px solid #A57B45;overflow:hidden;position:relative;width:100%;max-width:720px;margin:0 auto}
.reader video{display:block;width:100%;height:min(56vh,75vw);object-fit:cover;background:#000}
.scan-guide{position:absolute;left:8%;right:8%;top:50%;height:min(22vh,34vw);transform:translateY(-50%);border:3px solid rgba(245,225,180,.95);border-radius:10px;box-shadow:0 0 0 100vmax rgba(20,10,5,.4);pointer-events:none}
.scan-laser{position:absolute;left:4%;right:4%;top:50%;height:2px;background:#ff4d4d;box-shadow:0 0 8px #ff4d4d;animation:laser 1.6s ease-in-out infinite alternate}
@keyframes laser{from{transform:translateY(-35px)}to{transform:translateY(35px)}}
.scan-tools{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:10px 0 0}
.scan-tools .btn{min-height:44px}
.scan-state{font:18px var(--fellsc);margin-top:10px;color:#E8D2A6}
.scan-state.live{color:#F0C36A} .scan-state.bad{color:#FF9F8C}
.scan-action{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.scanner-msg{font:600 20px/1.4 var(--serif);margin:6px 0 10px;min-height:56px}
.scanner-msg.good{color:#B9E39A} .scanner-msg.bad{color:#FF9F8C}
.scanner-manual input{background:var(--field)}
.plan{border:3px solid #6E281E;border-radius:16px;padding:16px;background:var(--card);margin:10px 0;box-shadow:var(--shadow)}
.plan .p{font-size:32px;font-weight:800}
.hint{font:15px/1.4 var(--serif);color:var(--muted);margin-top:4px}
.hr{height:1px;background:var(--line);margin:14px 0}
@media print{.topbar,.tabs,.noprint,.toast{display:none!important} body::before{display:none} body{padding:0;background:#fff} main{max-width:none;padding:0}}
.cover img ~ span{display:none}
/* live sync status pill */
.pill.sync{color:var(--cream);text-decoration:none;font-size:14px;padding:3px 12px}
.pill.sync[hidden]{display:none}
.pill.sync.live{background:#3E6B2E}
.pill.sync.syncing{background:#9A6B1E}
.pill.sync.offline{background:#8B2318}
.pill.sync.bad{background:#7a0000}
.livebox{border-radius:12px;padding:10px 14px;margin:10px 0;font-weight:600}
.livebox.live{background:var(--okbg);color:#24461F;border:1.5px solid #9FAF7C}
.livebox.stale{background:var(--warnbg);color:#5b3600;border:1.5px solid #C9A25C}
.topbar{flex-wrap:wrap}
.brand{flex:1 1 150px;min-width:0}
.status{flex-wrap:wrap;justify-content:flex-end}
.scan-tools [hidden],.btn[hidden]{display:none!important}

/* ---------- Sell Books home (start screen) ---------- */
.home{text-align:center;max-width:980px;margin:0 auto}
.home-title{font:400 clamp(46px,8vw,72px)/1.05 var(--fellsc);margin:10px 0 8px;color:var(--ink);letter-spacing:.02em}
.home-sub{font-size:clamp(19px,2.6vw,25px);line-height:1.35;color:var(--ink2);margin:0 0 18px}
.findbar{display:flex;align-items:center;gap:8px;background:var(--field);border:2.5px solid var(--brown);border-radius:40px;padding:6px 6px 6px 16px;box-shadow:4px 6px 0 #BEA078;max-width:860px;margin:0 auto;text-align:left}
.findbar input{border:0;background:transparent;box-shadow:none;min-height:48px;font:21px var(--fell);padding:6px 4px;flex:1;min-width:0}
.findbar input:focus{box-shadow:none}
.findbar .mag{width:24px;height:24px;flex-shrink:0;border:3.5px solid var(--ink2);border-radius:50%;position:relative;margin-right:4px}
.findbar .mag::after{content:"";position:absolute;width:4px;height:12px;background:var(--ink2);right:-6px;bottom:-9px;transform:rotate(-45deg);border-radius:2px}
.scanbtn{border-radius:30px;flex-direction:row;gap:10px;white-space:nowrap;padding:8px 20px;min-height:50px;font-size:21px;box-shadow:none}
.scanbtn .bars{width:24px;height:22px;background:repeating-linear-gradient(90deg,var(--cream) 0 3px,transparent 3px 5px,var(--cream) 5px 6px,transparent 6px 9px,var(--cream) 9px 11px,transparent 11px 13px)}
.home-note{font-size:17px;color:#785537;margin:10px 0 22px}
.home-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 26px}
.hcard{display:flex;align-items:center;gap:16px;background:var(--card);border:2.5px solid var(--brown);border-radius:24px;padding:14px;text-decoration:none;color:var(--ink);box-shadow:5px 7px 0 #BEA078;text-align:left}
.hcard img,.tile img{border-radius:18px;border:2.5px solid var(--brown);box-shadow:0 4px 10px rgba(90,60,35,.35);flex-shrink:0;background:#E9D6B0}
.hcard img{width:min(120px,22vw);height:auto;aspect-ratio:1}
.hcard b{display:block;font:400 clamp(21px,2.6vw,28px)/1.15 var(--fellsc);color:#6E281E;margin-bottom:6px}
.hcard>span>span{font-size:17px;color:var(--ink2)}
.home-rule{height:2px;background:#8C643C;width:min(520px,60%);margin:8px auto 14px}
.home-h2{font:400 clamp(24px,3vw,30px) var(--fellsc);margin:6px 0 16px}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tile{appearance:none;-webkit-appearance:none;background:none;border:0;padding:0;cursor:pointer;color:var(--ink);text-decoration:none;font:400 21px/1.25 var(--fellsc);display:flex;flex-direction:column;align-items:center;gap:12px}
.tile img{width:100%;max-width:200px;height:auto;aspect-ratio:1;transition:transform .15s}
.tile:active img{transform:scale(.97)}
.home-about{max-width:720px;margin:26px auto 6px;font-size:18px;line-height:1.5;color:var(--ink2)}
.mylists{display:grid;gap:10px;margin:0 auto 6px;max-width:760px;text-align:left}
.mylist{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--card);border:2px solid var(--brown);border-radius:16px;padding:10px 14px;box-shadow:var(--shadow)}
.mylist b{display:block;font:400 21px var(--fellsc)} .mylist span{font:15px var(--serif);color:var(--muted)}
.mylist.cur{border-color:#6E281E;box-shadow:0 0 0 2px rgba(110,40,30,.25),var(--shadow)}
.salecard h2,.salecard h3{margin-top:0} .salecard .meta{font:16px/1.5 var(--serif);color:var(--ink2)}
@media (max-width:760px){.home-cards{grid-template-columns:1fr}.tiles{grid-template-columns:repeat(2,1fr)}}
@media (max-width:420px){.scanbtn{padding:8px 12px;font-size:18px}.findbar input{font-size:18px}}

/* ---------- antique & specialty ---------- */
.antique-card{background:var(--field)}
.photo-strip{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0}
.photo-strip .ph{position:relative;width:84px;height:84px;border:1px solid var(--brown);border-radius:8px;overflow:hidden;background:var(--card)}
.photo-strip .ph img{width:100%;height:100%;object-fit:cover;display:block}
.photo-strip .ph-x{position:absolute;top:2px;right:2px;width:26px;height:26px;border-radius:50%;border:1px solid var(--brown);background:var(--field);color:var(--ink);font-size:18px;line-height:22px;padding:0;cursor:pointer}
.bookrow .cover img[data-ph]{object-fit:cover}
.anlist{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.anbook{display:grid;grid-template-columns:minmax(0,38%) 1fr;gap:16px;align-items:start;margin:0}
.anbook .an-photos{display:grid;gap:6px}
.anbook .an-main{width:100%;max-height:340px;object-fit:contain;background:var(--field);border:1px solid var(--brown);border-radius:8px;cursor:zoom-in}
.anbook .an-thumbs{display:flex;flex-wrap:wrap;gap:6px}
.anbook .an-thumbs img{width:56px;height:56px;object-fit:cover;border:1px solid var(--brown);border-radius:6px;cursor:zoom-in}
.anbook .t{font-family:var(--fellsc);font-size:1.3em;color:var(--ink);line-height:1.2}
.anbook .a{font-style:italic;color:var(--ink2);margin:2px 0 8px}
.an-dl{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:6px 0;font-size:.95em}
.an-dl dt{color:var(--ink2);font-variant:small-caps;letter-spacing:.03em}
.an-dl dd{margin:0;color:var(--ink)}
.an-desc{margin:8px 0;white-space:pre-line}
.an-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0}
.an-price{font-family:var(--fellsc);font-size:1.35em;color:var(--blue)}
.an-ask .btn{margin-top:4px}
.anbook:not(:has(.an-photos)){grid-template-columns:1fr}
@media (max-width:560px){.anbook{grid-template-columns:1fr}}
.zoom{position:fixed;inset:0;z-index:100;background:rgba(40,22,12,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px}
.zoom img{max-width:100%;max-height:85vh;object-fit:contain;border-radius:6px}
#gContact.flash{outline:3px solid var(--blue);outline-offset:2px}

/* ---------- scan confirmation card, duplicate question, session counter ---------- */
.reader-wrap{position:relative;width:100%;max-width:720px;margin:0 auto}
.scan-count{margin-left:auto;margin-right:8px;background:#F0C36A;color:#3A2417;font:700 16px var(--serif);padding:5px 12px;border-radius:999px;white-space:nowrap}
.scan-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92%,560px);display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;
  background:#FAF2E1;color:var(--ink);border:4px solid #3E8E41;box-shadow:0 10px 40px rgba(0,0,0,.55);z-index:3;animation:scpop .22s ease-out}
.scan-card.looking{border-color:#C9962E}
.scan-card.dup{border-color:#D08A12;background:#FFF1D0}
@keyframes scpop{from{transform:translate(-50%,-50%) scale(.85);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}
.sc-mark{flex:0 0 auto;width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:700 42px/1 var(--serif);color:#fff;background:radial-gradient(circle at 35% 30%,#5DBB5F,#2F7D32);box-shadow:inset 0 0 0 3px #E2C26A}
.scan-card.looking .sc-mark{background:radial-gradient(circle at 35% 30%,#E8BE55,#B07F1C)}
.scan-card.dup .sc-mark{background:radial-gradient(circle at 35% 30%,#F2B13C,#C47A08)}
.sc-cover{flex:0 0 auto;width:62px;height:88px;border-radius:5px;border:1px solid var(--brown);background:#D9C29A;display:flex;align-items:center;justify-content:center;font-size:28px;overflow:hidden;position:relative}
.sc-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sc-body{min-width:0;flex:1}
.sc-head{font:22px var(--fellsc);color:#2F6B31}
.scan-card.looking .sc-head{color:#8A5F12}
.scan-card.dup .sc-head{color:#8A4B00}
.sc-title{font:600 21px/1.25 var(--serif);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.sc-sub{font:17px var(--serif);color:var(--ink2);margin-top:2px}
.sc-sub b{color:#6E281E;font-size:19px}
.sc-wait{height:5px;border-radius:3px;background:#EAD8AE;overflow:hidden;margin-top:8px}
.sc-wait span{display:block;height:100%;width:40%;background:#C9962E;border-radius:3px;animation:scwait 1.1s ease-in-out infinite}
@keyframes scwait{0%{transform:translateX(-100%)}100%{transform:translateX(260%)}}
.sc-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.sc-btns .btn{min-height:50px;font-size:19px}
.sc-timer{height:5px;border-radius:3px;background:#EBD3A0;overflow:hidden;margin-top:10px}
.sc-timer span{display:block;height:100%;background:#D08A12;animation:sctimer 6s linear forwards}
@keyframes sctimer{from{width:100%}to{width:0}}
.sc-note{font:14px var(--serif);color:var(--ink2);margin-top:4px}
.scan-guide.flash-ok{animation:flashok .9s ease-out}
.scan-guide.flash-dup{animation:flashdup .9s ease-out}
@keyframes flashok{0%,40%{border-color:#6BD66E;border-width:6px;box-shadow:0 0 0 100vmax rgba(20,10,5,.4),0 0 30px 8px rgba(107,214,110,.9)}100%{}}
@keyframes flashdup{0%,40%{border-color:#F2B13C;border-width:6px;box-shadow:0 0 0 100vmax rgba(20,10,5,.4),0 0 30px 8px rgba(242,177,60,.9)}100%{}}
.scanner-msg.warn{color:#F6C55E}
@media (max-width:560px){.sc-mark{width:48px;height:48px;font-size:32px}.sc-cover{width:48px;height:68px}}

/* ---------- swipe left to delete; duplicate marker ---------- */
#view .bookrow{position:relative;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
#view .bookrow img{-webkit-user-drag:none;pointer-events:none}
.swipe-del{position:absolute;top:0;bottom:0;right:-104px;width:104px;border:0;background:#A3261B;color:#F5E1B4;font:20px var(--fellsc);cursor:pointer;display:flex;align-items:center;justify-content:center}
.bookrow.swipe-far .swipe-del{width:100vw;right:-100vw;justify-content:flex-start;padding-left:24px;background:#B0261A}
.bookrow.swiping{box-shadow:4px 0 10px rgba(70,40,26,.25)}
.tag.dup{background:#F6DDA0;color:#7A4300;border:1px solid #D08A12;font-weight:700}

/* ---------- preview ribbon (config.js → PREVIEW_MODE) ---------- */
.preview-ribbon{display:flex;align-items:center;justify-content:center;gap:10px;padding:3px 12px;background:linear-gradient(#7A2D22,#6E281E);color:#F5E1B4;
  font:15px/1.35 var(--fellsc);letter-spacing:.02em;text-align:center;border-bottom:1px solid #A57B45;box-shadow:inset 0 1px 0 rgba(245,225,180,.18)}
.preview-ribbon .pr-orn{color:#E2C26A;font-size:14px}
body.front .preview-ribbon{width:max-content;max-width:calc(100% - 28px);margin:14px auto 0;padding:6px 22px;font-size:18px;border:1px solid #A57B45;border-radius:4px;
  box-shadow:0 2px 6px rgba(70,40,26,.3),inset 0 0 0 3px #6E281E,inset 0 0 0 4px rgba(226,194,106,.55)}
body.front .preview-ribbon .pr-orn{font-size:16px}
@media (max-width:560px){.preview-ribbon{font-size:13px;gap:6px}body.front .preview-ribbon{font-size:15px;padding:5px 12px}}
@media print{.preview-ribbon{display:none}}

/* ---------- scanner: Barcode / Read ISBN text ---------- */
.scan-modes{display:flex;gap:0;margin:2px auto 10px;border:2px solid #A57B45;border-radius:12px;overflow:hidden;max-width:520px;width:100%}
.scan-modes button{flex:1;min-height:48px;border:0;background:#2A1A10;color:#E8D3A6;font:19px var(--fellsc);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}
.scan-modes button+button{border-left:2px solid #A57B45}
.scan-modes button.on{background:linear-gradient(#F5E1B4,#E9D0A0);color:#46281A}
.scan-modes .bars{display:inline-block;width:20px;height:16px;background:repeating-linear-gradient(90deg,currentColor 0 2px,transparent 2px 4px,currentColor 4px 5px,transparent 5px 7px)}
.reader.textmode .scan-guide{left:4%;right:4%;height:min(13vh,20vw);border-style:dashed;border-color:#F0C36A}
.reader.textmode .scan-laser{display:none}
.reader.textmode .scan-guide::after{content:"ISBN 978-…  line here";position:absolute;left:10px;top:-30px;font:16px var(--fellsc);color:#F0C36A;text-shadow:0 1px 3px #000}
.ocr-capture,#ocrCapture.btn{display:block;width:100%;max-width:520px;margin:10px auto 2px}
.ocr-capture[hidden],#ocrCapture.btn[hidden]{display:none}
.ocr-capture:disabled{opacity:.6}
.scan-card.pick{border-color:#C9962E;flex-direction:column;align-items:stretch}
.sc-picks{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.sc-picks .btn{justify-content:flex-start;text-align:left;font:19px var(--serif);min-height:52px}
.sc-picks .btn span{color:var(--ink2);font-style:italic;margin-left:6px}
/* ---- v1.9.3: covers placeholder, condition letters, subjects, For sale, Find/Near, contact ---- */
.cover .nocover,.sc-cover .nocover{display:block;width:78%;height:78%;background:url(img/leather-book.svg) center/contain no-repeat;opacity:.9}
.cover img ~ .nocover,.sc-cover img ~ .nocover{display:none}
.cover.big{width:84px;height:118px;border-radius:5px;border:1px solid var(--line);background:#D9C29A;display:flex;align-items:center;justify-content:center;overflow:hidden}
.cover.big img{width:100%;height:100%;object-fit:cover}
.coverrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0}
.coverrow label.btn{cursor:pointer}
.cg{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:5px;border-radius:50%;font:700 14px/1 var(--serif);color:#FFF8E6;border:1px solid rgba(0,0,0,.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.25);vertical-align:middle;cursor:help}
.cg-E{background:#2F5D2A}.cg-G{background:#4F6E3A}.cg-F{background:#8A6418}.cg-P{background:#8B2318}
.cgtip{position:absolute;z-index:60;max-width:260px;background:#46281A;color:var(--cream);border:1px solid #A57B45;border-radius:10px;padding:6px 10px;font:15px/1.35 var(--serif);box-shadow:var(--shadow)}
.cglegend{margin:8px 0;color:var(--ink2)}
.cglegend .cgkey{display:inline-block;margin-right:10px}
.cghelp{display:inline-block}
.cghelp summary{cursor:pointer;color:var(--blue);text-decoration:underline;display:inline}
.cghelp ul{margin:6px 0 0;padding-left:0;list-style:none}.cghelp li{margin:3px 0}
.cgpick{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}
.cgopt{display:inline-flex;align-items:center;gap:6px;border:2px solid var(--line);border-radius:999px;padding:4px 12px 4px 6px;background:var(--field);cursor:pointer;min-height:44px}
.cgopt input{position:absolute;opacity:0;pointer-events:none}
.cgopt .cg{width:30px;height:30px;font-size:17px;margin:0;cursor:pointer}
.cgopt.none{padding-left:12px}
.cgopt:has(input:checked){border-color:#6E281E;background:#F0DDB5;box-shadow:0 0 0 2px #C9A14A inset}
.cgopt .cgw{font:16px var(--fellsc)}
.sc-cg{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}
.sc-cg .cgbtn{width:44px;height:44px;border-radius:50%;border:2px solid #A57B45;background:#FAF2E1;font:700 19px var(--serif);color:var(--ink);cursor:pointer}
.sc-cg .cgbtn.on{background:#2F5D2A;color:#fff;border-color:#1E3C1B}
.sc-cg .cgk{opacity:.85}
.condbar{justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:6px}
.tag.subj{background:#EFE3C5;color:#5A3A22;border-style:dashed}
.tag.fs{cursor:pointer;font:600 13px/1.6 var(--serif)}
button.tag.fs{min-height:28px}
.tag.fs.on{background:#6E281E;color:var(--cream);border-color:#4E1A12}
.fsnote{margin:6px 0 10px}
.fsbox{background:#F6E7C5;border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:10px 0}
.subjchips .chip.small{min-height:34px;padding:2px 10px;font-size:15px}
.chips .chip .n{font:13px var(--serif);opacity:.75}
.findkind{margin:8px 0 2px}.findkind a.chip{text-decoration:none;display:inline-flex;align-items:center}
.subjfilter{margin:4px 0;align-items:center}.subjfilter a.chip{text-decoration:none;display:inline-flex;align-items:center;min-height:36px;padding:2px 12px;font-size:15px}
.findres .frow{border-bottom:1px solid var(--line)}.findres .frow:last-child{border-bottom:0}
.findres .frow .bookrow{border-bottom:0}
.findres .meta.seller{font:15px/1.4 var(--serif);color:var(--ink2)}
.findres .cnote{font:italic 15px/1.35 var(--serif);color:var(--ink2);margin-top:2px}
.fact{padding:0 12px 10px 70px}
.nearbar{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin-bottom:12px;box-shadow:var(--shadow)}
.nearbar label.big{font:22px var(--fellsc);color:var(--blue)}
.nearbar #nearTown{font-size:22px;min-height:56px}
.townsug{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.nearopts{flex-wrap:wrap;gap:8px;margin-top:8px;align-items:center}.nearopts select{width:auto;min-width:150px}
.nearopts .btn.on{background:#6E281E;color:var(--cream)}
.salecard.past{opacity:.7}
.addr,.contactf{margin-top:6px}.contactf h3{margin:14px 0 4px}
.contactcard .crow{margin-bottom:8px;line-height:1.7}.contactcard .sep{opacity:.5}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.modal{position:fixed;inset:0;z-index:70;background:rgba(40,22,12,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.modal-card{max-width:520px;width:100%;max-height:90vh;overflow:auto}
.tslist{max-height:58vh;overflow:auto;margin:8px 0}
.tsrow{display:flex;gap:12px;width:100%;text-align:left;align-items:center;background:var(--field);border:1px solid var(--line);border-radius:12px;padding:8px;margin:0 0 8px;cursor:pointer;font:inherit;color:var(--ink)}
.tsrow:hover,.tsrow:focus{border-color:#6E281E;background:#F3E3BF}
.tsrow .cover{width:46px;height:66px;flex-shrink:0;border-radius:4px;background:#D9C29A;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--line)}
.tsrow .cover img{width:100%;height:100%;object-fit:cover}
.tsrow .cover img ~ .nocover{display:none}
.tsrow .info{display:flex;flex-direction:column;min-width:0}.tsrow .t{font-weight:700}.tsrow .a{font-size:16px;color:var(--ink2)}
/* ---- Terms of use: welcome sheet, terms page, footer ---- */
.parchment{background:linear-gradient(#FBF1D9,#F2E1BA);border:1px solid #B8936A;border-radius:14px;box-shadow:0 6px 24px rgba(60,35,15,.35),inset 0 0 40px rgba(165,123,69,.18)}
.termsheet-wrap{position:fixed;inset:0;z-index:90;background:rgba(40,22,12,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.termsheet{max-width:560px;width:100%;max-height:92vh;overflow:auto;padding:22px 24px}
.termsheet h2{margin:0 0 8px;font:30px var(--fellsc);color:var(--blue);text-align:center}
.termsheet ul{padding-left:20px;margin:8px 0 14px}.termsheet li{margin:6px 0}
.termsheet .btn.big{display:block;width:100%;min-height:56px;font-size:22px}
.terms{padding:18px 22px;margin:8px 0 16px}.terms h1{margin-top:0}.terms ol{padding-left:22px}.terms li{margin:8px 0}
.draftmark{display:inline-block;background:#F3DFAE;color:#7A4B0A;border:1px dashed #B07A1A;border-radius:8px;padding:2px 10px;font:15px var(--serif)}
.sitefoot{text-align:center;font:15px var(--serif);color:var(--ink2);padding:10px 12px 18px}.sitefoot a{color:var(--blue)}
.minehead{font:22px var(--fellsc);margin:10px 0 4px}
.findres.mine button.bookrow{width:100%;background:none;border:0;text-align:left;font:inherit;color:inherit;cursor:pointer}
/* ---- type (Fiction / Non-fiction / Textbook) and subject pick list ---- */
.typechips label.chip,.subjpick label.chip{display:inline-flex;align-items:center;cursor:pointer}
.typechips input,.subjpick input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}
.typechips label.chip:has(input:checked),.subjpick label.chip:has(input:checked){border-color:#4E1A12;background:#6E281E;color:var(--cream)}
.subjpick{gap:6px}.subjpick .chip.small{min-height:38px;padding:4px 12px;font-size:15px}
.subjpick label.other{gap:6px}.subjpick label.other input{position:static;opacity:1;pointer-events:auto;width:160px;min-height:30px;padding:2px 8px;font-size:15px;border-radius:999px}
.sc-type .chips,.sc-subj .chips{margin:6px 0 0}.sc-type .chip{min-height:38px;padding:3px 12px;font-size:15px}.sc-subj .chip.small{min-height:32px;padding:2px 9px;font-size:13px}
.tag.type{background:#E8D2A6;color:#4E1A12;border-color:#B8936A;font-style:italic}
.typesubj{margin:4px 0;align-items:center}.typesubj .chip.small{min-height:34px;padding:2px 10px;font-size:14px}
.sitefoot .copy{display:inline-block;margin-top:4px;font-size:13px;opacity:.85}

/* account */
.pill.acct { text-decoration: none; cursor: pointer; border: 1px solid rgba(245,225,180,.45); }
.pill.acct.on { background: rgba(245,225,180,.28); }
table.printlist { width: 100%; border-collapse: collapse; font-size: .9rem; }
table.printlist th, table.printlist td { border-bottom: 1px solid var(--line); padding: 4px 6px; text-align: left; vertical-align: top; }
@media print {
  .topbar, .tabs, .sitefoot, .noprint, #toast { display: none !important; }
  body { background: #fff !important; color: #000; }
  main { padding: 0 !important; }
}

/* My Books */
.topbar { gap: 8px; }
.mybooks-btn { flex: none; display: inline-flex; align-items: center; gap: 4px; padding: 5px 12px; border-radius: 999px; text-decoration: none; font: 700 15px/1.3 var(--serif);
  color: #3B2414; background: linear-gradient(#F3E2BC, #E2C690); border: 1px solid #A27A45; box-shadow: 0 1px 2px rgba(0,0,0,.3); white-space: nowrap; }
.mybooks-btn .badge, .mybooks-home .badge, .mbtab .badge { display: inline-block; min-width: 18px; padding: 0 6px; margin-left: 4px; border-radius: 999px; background: #8B1E1E; color: #FFF5E0; font: 700 12px/18px system-ui, sans-serif; text-align: center; }
.mybooks-btn .badge[hidden], .mybooks-home .badge[hidden] { display: none; }
.mybooks-home { display: block; max-width: 420px; margin: 10px auto 4px; text-align: center; }
.mbtabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 8px 0 12px; }
.mbtab { display: block; text-align: center; padding: 8px 4px; border: 1px solid var(--line); border-radius: 10px; text-decoration: none; color: inherit; background: rgba(255,250,235,.6); font: 600 15px/1.3 var(--serif); }
.mbtab.on { background: #5A3A22; color: #F6E7C8; border-color: #5A3A22; }
.mbtab .n { display: block; font-size: 20px; }
.mbact { flex: none; align-self: center; margin-left: 6px; }
.inqlist li.inq { padding: 10px 14px; border-bottom: 1px solid var(--line); list-style: none; }
.inqlist li.inq.new { background: rgba(139,30,30,.06); }
@media (max-width: 520px) { .mybooks-btn { font-size: 13px; padding: 4px 8px; } #groupName { max-width: 34vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } }

/* content safety */
.tag.review { background: #F4E3B5; color: #6B4A12; border: 1px dashed #B08A3E; cursor: pointer; }
.tag.review.removed { background: #F2D3CF; color: #7A1E14; border-color: #A94436; }
input.bad, textarea.bad { border-color: #A94436 !important; box-shadow: 0 0 0 3px rgba(169,68,54,.25); }
.linkbtn { background: none; border: 0; padding: 2px 4px; text-decoration: underline; cursor: pointer; font: inherit; color: inherit; }
.admlist .admrow { display: flex; gap: 12px; padding: 12px 14px; border-bottom: 1px solid var(--line); list-style: none; }
.admlist .admrow img { flex: none; object-fit: cover; border-radius: 6px; background: #ddd; }
/* Wanted board */
.wanted-badge { display: inline-block; min-width: 18px; padding: 0 6px; margin-left: 4px; border-radius: 999px; background: #8B1E1E; color: #FFF5E0; font: 700 12px/18px system-ui, sans-serif; text-align: center; vertical-align: middle; }
.wanted-badge[hidden] { display: none; }
.lede { font-size: 18px; color: var(--ink2); margin-top: -4px; }
.wbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 12px 0; }
.wfind { margin: 10px 0 16px; }
.wlist { list-style: none; padding: 0; display: grid; gap: 12px; }
.wpost > a { display: block; background: var(--card); border: 2px solid var(--brown); border-radius: 16px; padding: 12px 14px; color: var(--ink); text-decoration: none; box-shadow: 3px 4px 0 #BEA078; }
.wpost.held > a { border-style: dashed; opacity: .85; }
.wt { font: 400 22px/1.2 var(--fellsc, serif); color: #6E281E; }
.wa { font-style: italic; color: var(--ink2); }
.wt .wa { font: italic 17px/1.2 Georgia, serif; }
.wm { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0; }
.wn { margin: 4px 0 6px; white-space: pre-wrap; }
.wdetail h1 { color: #6E281E; }
.wreplies { list-style: none; padding: 0; display: grid; gap: 8px; }
.wnotices li > a { display: block; padding: 10px 14px; color: var(--ink); text-decoration: none; border-bottom: 1px solid #D9C29A; }
.wnotices li.unread > a { background: #FFF3D6; font-weight: 600; }
.whave { max-height: 46vh; overflow: auto; display: grid; gap: 6px; margin-bottom: 8px; }
.whave .check { align-items: flex-start; }
@media (min-width: 761px) { .home-cards { grid-template-columns: 1fr 1fr; } }
/* Independent authors */
.auplaces { margin: 6px 0 12px; }
.aulist { list-style: none; padding: 0; display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.aucard { display: flex; gap: 14px; align-items: center; background: var(--card); border: 2px solid var(--brown); border-radius: 16px; padding: 12px; color: var(--ink); text-decoration: none; box-shadow: 3px 4px 0 #BEA078; height: 100%; box-sizing: border-box; }
.aui { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.aui b { font: 400 22px/1.15 var(--fellsc, serif); color: #6E281E; }
.auph { position: relative; width: 84px; height: 84px; flex-shrink: 0; border-radius: 50%; overflow: hidden; border: 2.5px solid var(--brown); background: #E9D6B0; display: grid; place-items: center; }
.auph.big { width: 120px; height: 120px; }
.auph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
.auph .quill { font-size: 34px; opacity: .55; }
.auhead { display: flex; gap: 18px; align-items: flex-start; flex-wrap: wrap; }
.auhead h1 { color: #6E281E; }
.aulinks { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 8px 0; }
.aubio { font-size: 18px; line-height: 1.5; margin: 14px 2px; white-space: normal; }
.aubooks { list-style: none; padding: 0; display: grid; gap: 12px; }
.aubook { display: flex; gap: 14px; align-items: flex-start; }
.aubook.hl { outline: 3px solid #C9A227; }
.aucv { position: relative; width: 96px; aspect-ratio: 2/3; flex-shrink: 0; border-radius: 6px; overflow: hidden; background: #E9D6B0; border: 2px solid var(--brown); }
.aucv img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
.aucv .nocover { position: absolute; inset: 0; }
.aubi { flex: 1; min-width: 0; }
.aut { font: 400 21px/1.2 var(--fellsc, serif); color: #6E281E; }
.auprice { font-weight: 700; font-size: 20px; }
.auevents li { padding: 10px 14px; border-bottom: 1px solid #D9C29A; list-style: none; }
.auevents { padding: 0; }
.auphedit { display: flex; gap: 14px; align-items: center; margin-bottom: 8px; }
.aurow { display: grid; grid-template-columns: 150px 1fr 1fr 1fr; gap: 6px; margin-bottom: 6px; }
@media (max-width: 760px) { .aurow { grid-template-columns: 1fr 1fr; } }
.tag.new { background: #2F5D3A; color: #FFF5E0; border-color: #2F5D3A; }
.flag { font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; }
.home a.mybooks-home { margin-left: auto; margin-right: auto; width: 100%; box-sizing: border-box; }
/* Vintage Magazines & Newspapers (v1.9.11) */
.vt-filters{padding:12px 14px}.vt-filters label{display:block}.vt-filters select{width:100%}
.vt-decades{margin:10px 0 4px}.vt-decades a.chip{text-decoration:none;display:inline-flex;align-items:center;gap:.35em}
.vt-range{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-top:6px}.vt-range label{display:flex;gap:6px;align-items:center;margin:0}.vt-range input{width:5.2em;text-align:center}
.vt-group{margin:6px 0 16px}.vt-title{font:26px var(--fellsc);margin:16px 0 2px;padding-bottom:3px;border-bottom:2px solid var(--brown)}.vt-title .n{font:15px var(--serif);color:var(--muted);vertical-align:middle}
.vt-year{font:20px var(--fellsc);color:var(--ink2);margin:10px 0 6px 2px}
.vt-hl{font-style:italic;color:var(--ink2);font-size:16px;line-height:1.3;margin:1px 0 2px}
.tag.vt-mag,.tag.vt-news{font-style:normal;background:#EFE0BE;border-color:#8E6A43}
.vt-date{display:flex;gap:8px}.vt-date select{flex:1 1 auto;min-width:0}.vt-date input{width:5.5em;flex:0 0 auto;text-align:center}
.vt-addbtns{margin:8px 0}.vt-add .btn{width:100%}
/* ---- Children’s Books and Crafts & Hobbies Books (v1.9.12) ---- */
.sechead{display:flex;gap:14px;align-items:center;margin:6px 0 10px}.sechead img{width:84px;height:84px;border-radius:14px;border:1px solid var(--line,#b99a6b);box-shadow:0 2px 6px rgba(60,35,15,.18);flex:none}
.sechead h1{margin:0}.sechead p{margin:2px 0 0}
fieldset.catbox{margin:10px 0;padding:10px 14px 12px;border:1px solid #b99a6b}fieldset.catbox legend{font:600 18px/1.2 var(--fell);padding:0 6px}
.catpick{gap:6px}.catpick label.chip{display:inline-flex;align-items:center;gap:4px;cursor:pointer;min-height:38px;padding:4px 12px;font-size:15px}
.catpick input{position:absolute;opacity:0;pointer-events:none}
.catpick label.chip:has(input:checked){border-color:#4E1A12;background:#6E281E;color:var(--cream)}
.catpick label.chip:has(input:focus-visible){outline:3px solid #c08a2e;outline-offset:2px}
.catpick .n,.catf .r{font:13px var(--serif);opacity:.75}
.tag.cat{background:#efe3c8;border:1px solid #c9ad7a;color:#4a2e17}
.catline{color:#5a3d22;font-size:15px;margin:2px 0}
.findcat .chip,.catf .chip{white-space:nowrap}

/* ---- Box labels (v1.9.13): the approved antique label; sizes in container units so screen and print match ---- */
.bl-pages{display:grid;gap:14px}
.blabel{container-type:inline-size;position:relative;box-sizing:border-box;aspect-ratio:4/3;display:flex;flex-direction:column;overflow:hidden;color:#46281A;
  background:radial-gradient(ellipse at 50% 45%,#F0E1C0 55%,#E2C99B 100%);border:.55cqw solid #78502D;font-family:var(--fell),Georgia,serif;
  -webkit-print-color-adjust:exact;print-color-adjust:exact;padding:3.6cqw 5cqw 2.6cqw}
.blabel::before{content:"";position:absolute;inset:1.35cqw;border:.2cqw solid #78502D;pointer-events:none}
.blabel .dot{position:absolute;width:1.7cqw;height:1.7cqw;border-radius:50%;background:#6E281E}
.blabel .dot.tl{left:.5cqw;top:.5cqw}.blabel .dot.tr{right:.5cqw;top:.5cqw}.blabel .dot.bl{left:.5cqw;bottom:.5cqw}.blabel .dot.br{right:.5cqw;bottom:.5cqw}
.bl-head{display:flex;align-items:center;gap:3.2cqw;padding-bottom:2.6cqw;border-bottom:.17cqw solid #78502D}
.bl-logo{width:12.5cqw;height:12.5cqw;border-radius:2.4cqw;flex:none;object-fit:cover}
.bl-sale{min-width:0;flex:1}
.bl-name{font-family:var(--fellsc),var(--fell),Georgia,serif;font-size:6.4cqw;line-height:1.1;white-space:nowrap;overflow:hidden}
.bl-listed{font-size:2.7cqw;color:#64412A;margin-top:.6cqw}
.bl-mid{flex:1;display:flex;align-items:center;gap:3cqw;padding:2.2cqw 0;min-height:0}
.bl-box{flex:1;min-width:0}
.bl-boxname{font-family:var(--fellsc),var(--fell),Georgia,serif;font-size:10cqw;line-height:1;color:#6E281E;overflow-wrap:anywhere}
.bl-subj{font-size:4.3cqw;margin-top:2.2cqw;line-height:1.15}
.bl-loc{font-size:3.4cqw;color:#64412A;margin-top:1.2cqw;line-height:1.15}
.bl-qrcol{flex:none;width:29cqw;text-align:center}
.bl-qr{background:#FAF2E1;border:.25cqw solid #78502D;padding:.8cqw;line-height:0}.bl-qr svg{width:100%;height:auto;display:block}
.bl-scan{font-size:2cqw;color:#64412A;margin-top:.9cqw;line-height:1.2}
.bl-foot{border-top:.17cqw solid #78502D;padding-top:1.8cqw;text-align:center}
.bl-www{font-size:3.8cqw;line-height:1.15}.bl-find{font-size:2.3cqw;color:#785537}
.blabel.ink{background:#fff;border-color:#000;color:#000}.blabel.ink::before,.ink .bl-head,.ink .bl-foot,.ink .bl-qr{border-color:#000}
.blabel.ink .dot{display:none}.ink .bl-boxname,.ink .bl-listed,.ink .bl-loc,.ink .bl-scan,.ink .bl-find{color:#000}.ink .bl-qr{background:#fff}
/* screen previews */
.fmt-avery .bl-page{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.fmt-avery .blabel{aspect-ratio:4/3.333}
.fmt-4x6 .bl-page{max-width:560px}.fmt-4x6 .blabel{aspect-ratio:6/4}
.fmt-sign .blabel{aspect-ratio:10.5/8}
@media print{
  html,body{background:#fff!important}
  .bl-pages{display:block}
  .bl-page{break-after:page;page-break-after:always;break-inside:avoid;margin:0}
  .bl-page:last-child{break-after:auto;page-break-after:auto}
  .blabel{aspect-ratio:auto;break-inside:avoid;page-break-inside:avoid}
  /* Avery 5164: 2 × 3 labels of 4 × 3.333 in; 0.5 in top margin, 0.156 in sides, 0.1875 in between columns */
  .fmt-avery .bl-page{display:grid;grid-template-columns:4in 4in;grid-auto-rows:3.333in;column-gap:.1875in;row-gap:0;padding:.5in .156in 0;width:8.5in;height:11in;box-sizing:border-box;overflow:hidden}
  .fmt-avery .blabel{width:4in;height:3.333in;padding:.14in .2in .1in}
  .fmt-avery .blabel .bl-name{line-height:1.05}
  .fmt-4x6 .bl-page{max-width:none;width:6in;height:4in;overflow:hidden}.fmt-4x6 .blabel{width:6in;height:4in}
  .fmt-sign .bl-page{width:11in;height:8.5in;padding:.25in;box-sizing:border-box;overflow:hidden}.fmt-sign .blabel{width:10.5in;height:8in}
}
@media print{.fmt-avery .bl-listed{font-size:3.1cqw}.fmt-avery .bl-scan{font-size:2.6cqw}.fmt-avery .bl-find{font-size:2.8cqw}.fmt-avery .bl-qrcol{width:31cqw}.fmt-avery .bl-subj{font-size:4.8cqw}.fmt-avery .bl-loc{font-size:3.8cqw}}
.blabel.ink{border-width:.3cqw}.ink .bl-logo{filter:grayscale(1)}

/* Help, FAQ and contact (support.js) */
.support h2{margin:18px 0 8px}
.support .contactcard h2{margin-top:0}
.supstart{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.supstart .card h3{margin:0 0 4px}
.faq details{border:1px solid var(--line,#C9B48F);border-radius:10px;background:#FBF4E4;margin:6px 0;padding:0 12px}
.faq summary{cursor:pointer;font-weight:700;padding:10px 0;min-height:24px}
.faq summary:focus-visible{outline:3px solid #6E281E;outline-offset:2px}
.faq details p{margin:0 0 10px}

/* Sale dashboard (dashboard-ui.js) */
.dstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:10px 0}
.dstat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column}
.dstat b{font-family:Georgia,"Times New Roman",serif;font-variant-numeric:lining-nums tabular-nums;font-size:26px;color:#6E281E;line-height:1.1}.dstat span{font-size:15px;color:var(--ink2)}
.dashsec h2{margin:0 0 6px}.dtab{width:100%;border-collapse:collapse;font-size:16px}
.dtab th,.dtab td{text-align:left;padding:5px 6px;border-bottom:1px solid var(--line)}.dtab .num{text-align:right;font-variant-numeric:tabular-nums}
@media print{.dashsec{break-inside:avoid;box-shadow:none}.dstat{border-color:#999}}

/* Sale-day price rules */
.rulebanner{margin:8px 0;padding:8px 12px;border:2px solid #6E281E;border-radius:12px;background:#F6E3D6;color:#46281A;font-weight:700}
.rulebanner div:not(.on){font-weight:400}
s.was{color:#644128;font-weight:400;margin-right:4px}
.rulelist li{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}

/* Volunteers */
.vollist li{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--line)}
.vollist li.revoked{opacity:.65}.volact{display:flex;gap:6px;align-items:center}
.rolepick{border:1px solid var(--line);border-radius:10px;margin-top:10px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Volunteers */
.vollist li{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--line)}
.vollist li.revoked{opacity:.65}.volact{display:flex;gap:6px;align-items:center}
.rolepick{border:1px solid var(--line);border-radius:10px;margin-top:10px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Sale event page (event.js) */
.evpage{max-width:860px;margin:0 auto;padding:12px}
.evcard h1{margin:0 0 6px}.evwhen{font-size:21px;margin:4px 0}.evwhere{font-size:19px}
.evmap{width:100%;height:320px;border:2px solid var(--line);border-radius:12px;background:#EFE3C7}
.evposter{display:none}
.evsign{aspect-ratio:8.5/11;max-width:760px;margin:16px auto}
.evsign .bl-name{font-size:7.4cqw;white-space:normal;line-height:1.05}.ev-mid{flex:1;display:flex;flex-direction:column;justify-content:center;gap:2.2cqw;text-align:center;padding:3cqw 0}
.ev-when{font-family:var(--fellsc),Georgia,serif;font-size:6.2cqw;color:#6E281E;line-height:1.1}.ev-hours{font-size:4.2cqw}.ev-where{font-size:4.6cqw}
.ev-rule{font-size:4.2cqw;font-weight:700;color:#6E281E}
.ev-qrrow{display:flex;align-items:center;justify-content:center;gap:4cqw;padding:2cqw 0 3cqw}.ev-qrrow .bl-qr{width:30cqw;background:#FBF4E4;border:.3cqw solid #78502D;border-radius:1.5cqw;padding:1.5cqw}
.ev-qrrow .bl-qr svg{width:100%;height:auto;display:block}.ev-scan{font-size:4cqw;line-height:1.3}
@media print{
  @page{size:letter portrait;margin:0.4in}
  .evpage{padding:0;max-width:none}.evposter{display:block}.evsign{margin:0 auto;width:7.6in;max-width:none;height:9.9in;aspect-ratio:auto;-webkit-print-color-adjust:exact;print-color-adjust:exact;break-inside:avoid}
  body.front::before{display:none}
}

/* Accessibility (a11y.js): text size, reduced motion, skip link, focus */
html.ts-l{zoom:1.15}html.ts-xl{zoom:1.3}
@supports not (zoom:1){html.ts-l{font-size:115%}html.ts-xl{font-size:130%}}
html.rm *,html.rm *::before,html.rm *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
.skiplink{position:absolute;left:8px;top:-60px;z-index:1000;background:#6E281E;color:#FFF8EA;padding:10px 14px;border-radius:8px;font-weight:700}
.skiplink:focus{top:8px}
:focus-visible{outline:3px solid #6E281E;outline-offset:2px}
.topbar :focus-visible,.tabs :focus-visible{outline-color:#F5E1B4}
.tag.needs{background:#FFF1C9;color:#6B4A00;border:1px solid #C9A440}

/* v1.11.3 Back/Home bar, category groups, keyboard-safe dialogs */
.navbar{position:sticky;top:var(--tbh,0px);z-index:4;display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:#E2CB9E;border-bottom:1.5px solid var(--brown)}
.navbar[hidden]{display:none}
.navbtn{min-height:44px;min-width:88px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 14px;font:inherit;font-family:var(--fellsc);font-size:19px;color:var(--cream);background:#6E281E;border:1.5px solid #4A1A12;border-radius:12px;text-decoration:none;cursor:pointer}
#backBtn{font-size:21px}
.catgroup{margin:10px 0}
.catgroup>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 12px;font-family:var(--fellsc);font-size:21px;color:var(--cream);background:linear-gradient(#5A3220,#46281A);border:1.5px solid #A57B45;border-radius:12px}
.catgroup>summary::-webkit-details-marker{display:none}
.catgroup>summary::before{content:'▸';transition:transform .15s}
.catgroup[open]>summary::before{transform:rotate(90deg)}
.catgroup .cat-n{margin-left:auto;background:var(--cream);color:var(--ink);border-radius:10px;padding:0 9px;font-size:16px}
.catgroup>ul{margin-top:6px}
dialog{max-height:calc(var(--vvh,100vh) - 16px);overflow:auto;overscroll-behavior:contain}
body.kb-open dialog{margin-top:calc(var(--vvtop,0px) + 8px);margin-bottom:auto;top:0}
.dlg-actions{z-index:2;padding-bottom:calc(8px + env(safe-area-inset-bottom));box-shadow:0 -6px 8px -6px rgba(40,22,10,.3)}
body.kb-open .tabs{display:none}
body.kb-open .scanner{height:var(--vvh,100vh);overflow:auto}
/* printable list sheet */
#printSheet{display:none}
@media print{
  body.printing-sheet>*:not(#printSheet){display:none!important}
  body.printing-sheet #printSheet{display:block;font-family:Georgia,'Times New Roman',serif;color:#000;background:#fff}
  body.printing-sheet{background:#fff!important}
  #printSheet h1{font-size:22pt;margin:0}#printSheet .ps-head p{margin:2pt 0 10pt;font-size:10pt}
  #printSheet h2{font-size:14pt;margin:12pt 0 4pt;border-bottom:1pt solid #000;break-after:avoid}#printSheet h2 span{font-weight:400;font-size:10pt}
  #printSheet table{width:100%;border-collapse:collapse;font-size:10pt}#printSheet th{text-align:left;border-bottom:.5pt solid #555}#printSheet td{padding:2pt 4pt 2pt 0;border-bottom:.3pt solid #ccc;vertical-align:top}
  #printSheet .r{text-align:right;white-space:nowrap}#printSheet tr{break-inside:avoid}
  #printSheet .ps-foot{margin-top:14pt;text-align:center;font-size:10pt}
}
.ordbar{display:flex;list-style:none;padding:0;margin:10px 0;gap:4px}.ordbar li{flex:1;text-align:center;padding:8px 4px;border-radius:10px;background:#E2CB9E;color:#6b5236;font-family:var(--fellsc);font-size:16px;border:1.5px solid #c9ad7c}.ordbar li.on{background:#6E281E;color:#F5E1B4;border-color:#4A1A12}
/* shipping label — default 3 × 2 in landscape (thermal / address label); 4×2½, 4×6, Letter/A4 keep the small label at the top */
.shiplabel{box-sizing:border-box;width:3in;height:2in;background:#F1E2C0;border:2px double #78502D;border-radius:0;padding:.06in .08in;font-family:'IM Fell English',Georgia,serif;color:#2b1a0e;display:flex;flex-direction:column;gap:.03in;-webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:inset 0 0 18px rgba(120,80,45,.22)}
.shiplabel .sl-head{display:flex;align-items:flex-start;gap:4px}
.shiplabel .sl-head img{width:.28in;height:.28in;border-radius:3px;border:1px solid #A57B45;flex-shrink:0}
.shiplabel b{font-family:'IM Fell English SC',Georgia,serif;color:#6E281E;font-size:7pt;letter-spacing:.04em;display:block;line-height:1.1}
.shiplabel .sl-from{min-width:0;flex:1}.shiplabel .sl-from div{font-size:7.5pt;line-height:1.15;font-family:'Times New Roman',Times,serif;font-variant-numeric:lining-nums}
.shiplabel .sl-to{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 .02in;min-height:0}
.shiplabel .sl-to b{font-size:7.5pt;margin-bottom:1px}.shiplabel .sl-to div{font-size:9pt;line-height:1.18;font-family:'Times New Roman',Times,serif;font-variant-numeric:lining-nums}
.shiplabel .sl-foot{margin-top:auto;text-align:center;font-size:6.5pt;border-top:1px solid #78502D;padding-top:1px;letter-spacing:.02em}
/* Optional 4 × 2½ in (envelope / small box) */
.size-4x2-5 .shiplabel{width:4in;height:2.5in;padding:.1in .12in;gap:.05in}
.size-4x2-5 .shiplabel .sl-head img{width:.36in;height:.36in;border-radius:4px}
.size-4x2-5 .shiplabel b{font-size:7.5pt}.size-4x2-5 .shiplabel .sl-from div{font-size:7.5pt;line-height:1.2}
.size-4x2-5 .shiplabel .sl-to b{font-size:8pt}.size-4x2-5 .shiplabel .sl-to div{font-size:11pt;line-height:1.22}
.size-4x2-5 .shiplabel .sl-foot{font-size:7pt;padding-top:2px}
/* Larger 4 × 6 in option */
.size-4x6 .shiplabel{width:4in;height:6in;padding:.22in;gap:.12in}
.size-4x6 .shiplabel .sl-head img{width:.55in;height:.55in;border-radius:6px;border:1.5px solid #A57B45}
.size-4x6 .shiplabel b{font-size:11pt}.size-4x6 .shiplabel .sl-from div{font-size:11pt;line-height:1.25}
.size-4x6 .shiplabel .sl-to{align-items:stretch;text-align:left;border:1.5px solid #78502D;border-radius:8px;padding:.12in;background:rgba(255,250,235,.55)}
.size-4x6 .shiplabel .sl-to b{font-size:11pt}.size-4x6 .shiplabel .sl-to div{font-size:17pt;line-height:1.25}
.size-4x6 .shiplabel .sl-foot{font-size:10pt;padding-top:4px}
/* Letter / A4: print the default 3×2 label at the top of the sheet */
.size-letter .shiplabel,.size-a4 .shiplabel{width:3in;height:2in;margin:0}
#printSheet.labelsheet{display:block}
@media print{body.printing-sheet #printSheet.labelsheet{background:none;font-family:inherit}}
.shiplabel .sl-to div,.shiplabel .sl-from div{font-family:'Times New Roman',Times,serif;font-variant-numeric:lining-nums}
.thoughts{font-style:italic;color:#5a3a22;margin:2px 0}
.sellerlink{color:#6E281E;text-decoration:underline;font-weight:700;cursor:pointer;padding:6px 0}.sellerbtn{text-align:left;margin:6px 0}

/* Forum profile photo: oval carved-wood frame with convex domed glass */
.ovalframe{display:inline-block;vertical-align:middle;line-height:0;flex:none}
.ovalwood{display:block;padding:5px;border-radius:50%;
  background:
    radial-gradient(120% 80% at 30% 20%, rgba(255,230,180,.35), transparent 45%),
    repeating-conic-gradient(from 20deg, #5a3110 0deg 6deg, #7a4a1c 6deg 12deg, #4a280c 12deg 18deg, #8b5a28 18deg 24deg);
  box-shadow:0 2px 5px rgba(40,22,5,.5), inset 0 0 0 1px #3a1e08, inset 0 0 0 3px #a06a30, inset 0 0 0 4px #5a3110}
.ovalglass{display:block;position:relative;border-radius:50%;overflow:hidden;background:#d9c39a;
  box-shadow:inset 0 0 10px rgba(40,22,5,.45), inset 0 -6px 12px rgba(40,22,5,.2), 0 1px 0 rgba(255,240,200,.35);
  transform:scale(1)}
.ovalglass img,.oval-ph{display:block;width:56px;height:70px;object-fit:cover;border-radius:50%;
  /* slight bulge: brighter center, softer edges */
  filter:sepia(.12) contrast(1.02)}
.oval-ph{width:56px;height:70px;text-align:center;line-height:70px;font-size:28px;color:#78502D;background:linear-gradient(180deg,#E9D6B0,#d4c09a)}
.ovalshine{pointer-events:none;position:absolute;inset:0;border-radius:50%;
  background:
    radial-gradient(ellipse 55% 35% at 32% 22%, rgba(255,255,255,.55), rgba(255,255,255,.12) 40%, transparent 62%),
    radial-gradient(ellipse 80% 70% at 50% 60%, transparent 45%, rgba(40,22,5,.18) 100%);
  box-shadow:inset 0 0 0 1px rgba(255,240,200,.25)}
.oval-sm .ovalglass img,.oval-sm .oval-ph{width:40px;height:50px;line-height:50px;font-size:20px}
.oval-sm .ovalwood{padding:3px}
.oval-lg .ovalglass img,.oval-lg .oval-ph{width:72px;height:90px;line-height:90px;font-size:36px}
.oval-lg .ovalwood{padding:6px}


/* ---- Book Discussion + Featured Author ---- */
.forum-rules{background:#F4E8CE;border:2px double #78502D;border-radius:6px;padding:10px 14px;margin:10px 0 14px;font-size:15px}
.forum-rules b{font-family:'IM Fell English SC','IM Fell English',serif;color:#6E281E;font-size:17px}.forum-rules p{margin:4px 0 0}
.fbody{white-space:pre-wrap;overflow-wrap:anywhere}.freplies li{margin-bottom:8px;padding:10px 12px}
.featured{text-align:center;margin:16px auto 8px;max-width:420px;padding:12px 14px 14px;background:#F4E8CE;border:1px solid #78502D;border-radius:8px;box-shadow:0 2px 6px rgba(60,35,10,.25)}
.feat-h{font-family:'IM Fell English SC','IM Fell English',serif;letter-spacing:.08em;color:#6E281E;font-size:18px;margin-bottom:8px}
.giltframe{display:inline-block;padding:10px;border-radius:4px;background:linear-gradient(135deg,#7a5414 0%,#e9c46a 18%,#a8781f 35%,#f6dc8c 50%,#9c6b16 68%,#e2b85a 84%,#6f4a10 100%);box-shadow:inset 0 0 0 2px #5a3b0b,inset 0 0 0 5px rgba(255,236,170,.55),0 3px 8px rgba(40,22,5,.45)}
.giltinner{padding:4px;background:#3b2610;box-shadow:inset 0 0 6px #000}
.giltinner img,.giltinner .nophoto{display:block;width:150px;height:190px;object-fit:cover;filter:sepia(.35)}
.giltinner .nophoto{background:#d9c39a;font-size:60px;line-height:190px;color:#78502D}
.feat-t{font-family:'IM Fell English',serif;font-size:21px;font-weight:bold;margin-top:10px}.feat-a{font-style:italic;color:#5a3b1e}
.feat-b{margin:6px 0 8px;font-size:16px}.feat-dots{margin-top:8px}.feat-dots span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#c9b48a;margin:0 3px}.feat-dots span.on{background:#6E281E}
.feat-prev{text-align:center;margin:10px 0}
.thoughtsbox{background:#f4e8ce;border:1px dashed #78502d;border-radius:6px;padding:4px 8px 8px;margin:8px 0}
/* seller reviews (v1.13.0) */
.stars{color:#8A5A12;letter-spacing:1px;font-size:1.05em}
.rvbadge{white-space:nowrap;font-size:.9em;color:#4A3018}
.rvlist{list-style:none;padding:0;margin:0}.rvitem{border-top:1px solid #C9A97A;padding:10px 2px}.rvitem:first-child{border-top:0}
.rvtext{margin:4px 0}.rvreply{margin:6px 0 0 14px;padding:6px 10px;border-left:3px solid #78502D;background:#EFE0C0;font-size:.95em}
.starpick{display:flex;gap:4px;margin:6px 0}.starpick label{font-size:34px;color:#8A5A12;cursor:pointer;line-height:1}.starpick input{position:absolute;opacity:0;width:1px;height:1px}
.rvhead{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}

/* Password show/hide eye (1.13.2) */
.pwwrap{position:relative;display:block}
.pwwrap input{width:100%;padding-right:64px;box-sizing:border-box}
.pweye{position:absolute;right:4px;top:50%;transform:translateY(-50%);min-width:52px;min-height:44px;border:1px solid #78502D;border-radius:6px;background:#F4E8CE;font-size:22px;line-height:1;cursor:pointer;padding:0 8px}
.pweye:focus-visible{outline:3px solid #6E281E;outline-offset:2px}
@media print{.navbar,#navbar{display:none!important}}

/* Account menu in the top bar (1.13.6) */
.acctwrap{position:relative;display:inline-block}
.acctmenu{position:absolute;right:0;top:calc(100% + 6px);min-width:180px;background:#F4E8CE;color:#2C1A10;border:2px solid #78502D;border-radius:10px;box-shadow:0 8px 20px rgba(50,30,15,.35);padding:6px;z-index:40}
.acctmenu-item{display:block;width:100%;text-align:left;padding:12px 14px;border:0;background:transparent;color:#2C1A10;font:inherit;font-size:16px;text-decoration:none;border-radius:8px;cursor:pointer;box-sizing:border-box}
.acctmenu-item:hover,.acctmenu-item:focus-visible{background:#E8D4A8;outline:none}

/* Admin badge (1.14.0) */
.admin-badge{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:#6E281E;color:#F5E1B4;border:1px solid #A57B45;font:700 11px/1.4 system-ui,sans-serif;letter-spacing:.04em;vertical-align:middle}
.pill.acct .admin-badge{margin-left:4px;padding:0 6px;font-size:10px;line-height:1.5}
.acct-admin-line{margin:6px 0 0}
/* v1.15.0 Book Bag (bag.js): leather satchel, brass clasp */
.bag-btn{flex:none;position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:36px;border-radius:10px;background:rgba(245,225,180,.14);border:1px solid #A57B45;text-decoration:none}

/* v1.17.0 Book Bag always visible in the top bar (every page) + home tile */
.topbar-tools{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.bag-btn{width:auto!important;min-width:40px;padding:4px 10px 4px 8px;gap:6px}
.bag-btn .baglabel{font:700 13px/1.2 var(--serif);color:#F5E1B4;white-space:nowrap}
.bag-home{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.bag-home .satchel{width:28px;height:28px;flex:none}
.home-quick{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 14px}
.home-quick .btn.huge{flex:1 1 160px;margin:0}
@media (max-width:360px){.bag-btn .baglabel{display:none}}
/* v1.18.0 top-bar Help beside Book Bag (same size/style); opens context help */
.help-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:40px;height:36px;padding:4px 10px;gap:4px;border-radius:10px;background:rgba(245,225,180,.14);border:1px solid #A57B45;text-decoration:none;cursor:pointer;color:#F5E1B4;font:inherit;box-sizing:border-box}
.help-btn .helplabel{font:700 13px/1.2 var(--serif);color:#F5E1B4;white-space:nowrap}
button.help-btn{appearance:none;-webkit-appearance:none}
@media (max-width:360px){.help-btn .helplabel{letter-spacing:0}}

/* v1.19.3 top-bar Plans beside Book Bag and Help (same size/style) → plans.html */
.plans-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:40px;height:36px;padding:4px 10px 4px 8px;gap:5px;border-radius:10px;background:rgba(245,225,180,.14);border:1px solid #A57B45;text-decoration:none;cursor:pointer;color:#F5E1B4;font:inherit;box-sizing:border-box}
.plans-btn .planslabel{font:700 13px/1.2 var(--serif);color:#F5E1B4;white-space:nowrap}
.plans-btn .coin{width:20px;height:20px;flex:none;display:block}
.plansico{display:inline-flex}
@media (max-width:360px){.plans-btn .planslabel{display:none}}



.bag-btn .satchel{width:26px;height:26px}.bagico{display:inline-flex}
.bagcount{position:absolute;top:-6px;right:-7px;min-width:19px;padding:0 5px;border-radius:999px;background:#8B1E1E;color:#FFF5E0;border:1.5px solid #F5E1B4;font:700 12px/16px system-ui,sans-serif;text-align:center}
.bagbtn{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:5px 12px 5px 8px;min-height:36px;border-radius:999px;border:1.5px solid #6b3518;background:linear-gradient(#F7EAD0,#EAD3A8);color:#4a2a14;font:700 14px/1.2 var(--serif);cursor:pointer;box-shadow:inset 0 1px 0 #fff8e8}
.bagbtn.on{background:linear-gradient(#8a4b23,#6b3518);color:#F5E1B4;border-color:#3b2414}
.bagbtn .satchel{width:20px;height:20px;flex:none}
.bagfact{margin-top:2px}
.baghead{display:flex;gap:12px;align-items:center;margin:6px 0 12px;padding:12px;border-radius:var(--r);background:linear-gradient(135deg,#7a4120,#5a2e15);color:#F5E1B4;border:2px solid #A57B45;box-shadow:var(--shadow)}
.baghead h1{font-family:var(--fellsc);color:#F5E1B4}.baghead .muted{color:#EAD7B1}
.baglist{list-style:none;margin:0;padding:0;overflow:hidden}
.bagrow{position:relative;border-bottom:1px dashed var(--line);overflow:hidden;touch-action:pan-y}
.bagrow:last-child{border-bottom:0}
.bagslide{position:relative;z-index:1;display:flex;gap:10px;align-items:flex-start;padding:10px 12px;background:var(--card)}
.bagdel{position:absolute;inset:0 0 0 auto;width:92px;border:0;background:#8B2318;color:#FFF5E0;font:700 15px var(--serif)}
.bagcover{position:relative;flex:none;width:48px;height:68px;border-radius:4px;overflow:hidden;background:#7a4120}
.bagcover img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover}.bagcover .nocover{position:absolute;inset:0}
.baginfo{flex:1;min-width:0}.baginfo .t{font-weight:700;color:var(--ink);text-decoration:none;display:block}.baginfo .a{color:var(--ink2);font-size:16px}
.bagprice{flex:none;font-weight:700;text-align:right}.bagprice .was{color:var(--muted);font-weight:400}
.bagacts{margin-top:6px}
.bagrow.gone .baginfo .t,.bagrow.gone .bagprice{opacity:.55;text-decoration:line-through}
.tag.soldtag{background:#8B2318;color:#FFF5E0}.tag.gonetag{background:#6d5a48;color:#FFF5E0}.tag.droptag{background:var(--okbg);color:var(--ok)}
.bagtoast{position:fixed;left:50%;transform:translateX(-50%);width:max-content;min-width:min(88vw,340px);justify-content:space-between;bottom:calc(96px + env(safe-area-inset-bottom));z-index:50;display:flex;gap:12px;align-items:center;max-width:92vw;padding:10px 14px;border-radius:12px;background:#3b2414;color:#F5E1B4;box-shadow:0 4px 14px rgba(0,0,0,.35);font:600 15px var(--serif)}
.shipnote { font-size: .78em; font-weight: normal; line-height: 1.2; margin-top: 2px; white-space: normal; }
.pricehint { margin-top: 4px; line-height: 1.35; }
/* v1.18.0 Plans page */
.plans-page{max-width:1000px;margin:0 auto;padding:12px}
.plans-title{text-align:center;font-family:Georgia,serif}
.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:16px 0}
.plan-card{background:#fbf5e6;border:3px double #8a5a2b;border-radius:6px;padding:14px 14px 16px;box-shadow:inset 0 0 0 4px #f3e8cc,0 2px 6px rgba(60,30,10,.18);display:flex;flex-direction:column}
.plan-card h2{margin:0 0 4px;font-family:Georgia,serif;color:#6E281E;text-align:center;border-bottom:1px solid #c9a96e;padding-bottom:6px}
.plan-best{border-color:#6E281E;background:#fff8e8}
.plan-price{font-size:1.9em;text-align:center;font-family:Georgia,serif;margin:6px 0}.plan-price span{font-size:.45em;color:#6b5a48}
.plan-card ul{padding-left:18px;flex:1}.plan-card .btn{width:100%}
.plan-current{color:#2f6b2f;font-weight:bold;text-align:center}
.pay-card{max-width:520px;margin:12px auto}.sq-card{min-height:90px;margin:6px 0}
/* v1.23.3 Approximate local currency next to CAD prices */
.plan-approx{display:block;font-size:.42em;font-weight:normal;color:#6b5a48;margin-top:2px;line-height:1.2}
.fx-bar{text-align:center;margin:8px auto 4px;max-width:520px}.fx-label{font-size:.95em}.fx-label select{margin-left:6px;padding:4px 8px;font:inherit}
.fx-note{margin:6px 0 0}
/* v1.20.0 Donate a list to a sale */
.tag.donated{background:#efe3c8;color:#5a3d12;border:1px solid #c9a96a}
.donsales{padding:0;margin:8px 0 0}.donsales li{list-style:none;margin:6px 0}.donpick{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px}
.donsale.on{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.donsale.on>div{flex:1 1 60%}
.donbooks{padding:0;max-height:46vh;overflow:auto;margin:8px 0 0}.donbooks li{list-style:none;padding:6px 2px;border-bottom:1px solid rgba(0,0,0,.08)}.donbooks .check{display:flex;gap:10px;align-items:flex-start}
.donbooks input{width:22px;height:22px;flex:none;margin-top:2px}#donNote{width:100%;box-sizing:border-box}
.donmine li,.donoffers>li{list-style:none}.donmine li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px}
.donoffer{margin:0 0 12px;padding:12px}.donprev{padding:0;margin:8px 0;max-height:320px;overflow:auto}.donprev li{list-style:none;display:flex;gap:10px;align-items:center;padding:4px 0}
.donprev img,.donprev .nocv{width:34px;height:50px;object-fit:cover;flex:none;border-radius:2px;display:flex;align-items:center;justify-content:center;background:#f3ead8}
/* v1.21.0 Verified organization badge, sale checks, report a sale */
.vbadge{display:inline-block;padding:1px 8px;border-radius:999px;background:#E4EBD6;color:#2F4A1E;border:1px solid #8AA36A;font:700 12px/1.5 system-ui,sans-serif;vertical-align:middle;white-space:nowrap}
h1 .vbadge,h2 .vbadge{font-size:12px}
.salecheck form.row{gap:6px;margin:6px 0} .salecheck form.row input{flex:1;min-width:0}
.evreport{margin-top:14px;text-align:center} .evreport textarea{width:100%;box-sizing:border-box}

.isbn-help{max-width:520px;margin:8px auto;padding:8px 12px;background:#F4E8CE;border:1px solid #78502D;border-radius:6px;color:#3b2615;font-family:'IM Fell English',Georgia,serif;font-size:.95rem;line-height:1.35;text-align:left;flex-basis:100%}
.isbn-help[hidden]{display:none}
/* seller receipt (member perk) — approved mockup receipt-mockup.png */
.receipt{max-width:460px;margin:12px auto;background:#F4E8CE;border:2px solid #78502D;outline:1.5px solid #78502D;outline-offset:4px;border-radius:4px;padding:18px 20px 14px;font-family:'IM Fell English',Georgia,serif;color:#2b1a0e;box-shadow:0 2px 8px rgba(60,35,15,.25);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.receipt .rc-head{display:flex;gap:12px;align-items:center;border-bottom:3px double #78502D;padding-bottom:10px;margin-bottom:8px}
.receipt .rc-head img{width:62px;height:62px;border-radius:6px;border:1px solid #A57B45}
.receipt .rc-title{font-family:'IM Fell English SC',Georgia,serif;font-size:30px;color:#6E281E;line-height:1}.receipt .rc-sub{font-size:15px;color:#5a3a22}
.receipt .rc-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.receipt .rc-f{margin:6px 0 2px}.receipt .rc-f label,.receipt .rc-cur label{display:block;font-family:'IM Fell English SC',Georgia,serif;color:#6E281E;font-size:14px;margin:0}
.receipt input:not([type=radio]):not([type=checkbox]),.receipt select{width:100%;box-sizing:border-box;background:transparent;border:0;border-bottom:1.5px dotted #78502D;border-radius:0;padding:2px 0;margin:0;font:inherit;font-size:18px;color:#2b1a0e;min-height:0;box-shadow:none}
.receipt input:focus,.receipt select:focus{outline:none;background:rgba(255,250,235,.7)}
.receipt h3{font-family:'IM Fell English SC',Georgia,serif;color:#6E281E;font-size:17px;font-weight:400;border-bottom:1.5px solid #78502D;margin:14px 0 4px;padding-bottom:2px}
.receipt .rc-amt{display:flex;justify-content:space-between;align-items:center;font-size:18px;margin:4px 0}
.receipt .rc-amt>span{display:flex;align-items:center;width:40%}.receipt .rc-amt input{text-align:right;border-bottom:0!important}.receipt .rc-cs{padding-right:2px}
.receipt .rc-total{display:flex;justify-content:space-between;border-top:3px solid #78502D;margin-top:6px;padding-top:6px;font-size:24px;color:#6E281E}
.receipt .rc-cur{display:flex;align-items:baseline;gap:6px;font-size:16px;margin-top:8px}.receipt .rc-cur label{display:inline}.receipt .rc-cur select{width:auto;flex:1;font-size:16px}.receipt .rc-curtxt{display:none}
.receipt .rc-pay{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;font-size:17px}
.receipt .rc-box{display:inline-flex;align-items:center;gap:6px;font-size:17px;margin:4px 0;cursor:pointer;color:#2b1a0e}
.receipt .rc-box input{width:18px;height:18px;accent-color:#6E281E;margin:0}
.receipt .rc-other{width:110px!important;font-size:16px!important}
.receipt .rc-paid{display:flex;font-size:20px;color:#6E281E;margin-top:8px}
.receipt .rc-foot{border-top:3px double #78502D;margin-top:12px;padding-top:8px;text-align:center;font-style:italic;font-size:14px;line-height:1.3}
.receipt .rc-foot p{margin:0 0 3px}.receipt .rc-foot b{font-family:'IM Fell English SC',Georgia,serif;font-style:normal;color:#6E281E;font-size:13px;letter-spacing:.06em}
.rc-actions{max-width:460px;margin:14px auto;display:flex;flex-direction:column;gap:8px}
.locked-perk{border-style:dashed}
@media print{
  body.printing-receipt *{visibility:hidden!important}
  body.printing-receipt .receipt,body.printing-receipt .receipt *{visibility:visible!important}
  body.printing-receipt .receipt{position:absolute;left:0;top:0;margin:0;width:5.5in;max-width:none;box-shadow:none}
  body.printing-receipt .receipt input,body.printing-receipt .receipt select{border-bottom-color:transparent!important;-webkit-appearance:none;appearance:none}
  body.printing-receipt .receipt input::placeholder{color:transparent}
  body.printing-receipt .receipt .rc-cur select{display:none}body.printing-receipt .receipt .rc-curtxt{display:inline}
  body.printing-receipt .receipt .rc-box input[type=radio]{-webkit-appearance:auto;appearance:auto}
}
.receipt .rc-box,.receipt .rc-amt>label,.receipt .rc-total span{font-family:'IM Fell English',Georgia,serif;font-variant:normal;text-transform:none;letter-spacing:0;font-size:17px;color:#2b1a0e;margin:4px 0}
.receipt .rc-amt>label{font-size:18px}.receipt .rc-paid{font-size:20px!important;color:#6E281E!important}
.receipt .rc-amt>span{justify-content:flex-end}.receipt .rc-amt input{width:5.5em!important;flex:none}
.receipt .rc-total span{font-size:24px;color:#6E281E;margin:0}
.receipt .rc-amt input{width:4.2em!important;font-size:19px!important;padding-left:0!important}.receipt .rc-cs{font-size:19px}
/* receipt antique tint (v1.25.3): parchment frame + cream card, as receipt-mockup.png */
.receipt{background:#F4E8CE!important;border:14px solid #E9D6B0!important;outline:2px solid #A57B45!important;outline-offset:0!important;border-radius:6px;padding:24px 24px 18px!important;box-shadow:inset 0 0 0 2px #78502D,inset 0 0 0 5px #F4E8CE,inset 0 0 0 6.5px #78502D,0 2px 8px rgba(60,35,15,.25)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.receipt *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
.receipt .rc-head img{background:#E9D6B0}
.receipt .rc-box input{-webkit-appearance:none;appearance:none;background:#F4E8CE;border:1.5px solid #78502D;border-radius:2px;display:inline-grid;place-content:center}
.receipt .rc-box input[type=radio]{border-radius:50%}
.receipt .rc-box input:checked::before{content:'';width:10px;height:10px;background:#6E281E;border-radius:inherit}
.receipt .rc-box input[type=checkbox]:checked::before{content:'✓';background:none;color:#6E281E;font-size:15px;line-height:1;width:auto;height:auto}
.receipt input:focus,.receipt select:focus{background:rgba(233,214,176,.55)}
@media print{
  html,body.printing-receipt{background:#E9D6B0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.printing-receipt .receipt{box-shadow:inset 0 0 0 2px #78502D,inset 0 0 0 5px #F4E8CE,inset 0 0 0 6.5px #78502D!important}
  body.printing-receipt .receipt .rc-box input,body.printing-receipt .receipt .rc-box input[type=radio]{-webkit-appearance:none!important;appearance:none!important}
}
/* v1.25.6 sold rows: '↩ Not sold' + Receipt go on their own line on phones so the title stays readable */
@media (max-width: 560px) { .bookrow:has(> .mbact.two) { flex-wrap: wrap; } .mbact.two { flex-basis: 100%; display: flex; justify-content: flex-end; gap: 8px; margin: 2px 0 0; } }
/* Print & Member Extras (v1.26.0) */
.px h2{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.px .tag.px-free{background:#e6efd9;color:#3d5a24}.px .tag.px-mem{background:#f3e3c3;color:#6e281e}
.px-grid{display:flex;flex-wrap:wrap;gap:18px;margin:10px 0}
.px-item{margin:0;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;max-width:200px}
.px-item img{box-shadow:0 2px 6px rgba(60,35,15,.35);border-radius:2px;background:#efe6d2;height:auto}
.px-item figcaption{display:flex;flex-direction:column;font-weight:600}

.px-soonbox{width:120px;height:360px;border:2px dashed #a08060;border-radius:4px;display:flex;align-items:center;justify-content:center;text-align:center;color:#78502d;font-style:italic}
.px-lock{border:1px dashed #a08060;border-radius:8px;padding:10px 12px;background:rgba(239,230,210,.6)}
.px-lock p{margin:0 0 8px}
.px-boxes{columns:2;padding-left:1.2em}
#pxSheet{display:none}
@media print{
  body.printing-extras>:not(#pxSheet){display:none!important}
  body.printing-extras #pxSheet{display:block}
  body.printing-extras{background:#fff!important;padding:0!important}
  .px-page{display:flex;flex-wrap:wrap;justify-content:center;align-content:flex-start;gap:0.06in;width:8.25in;margin:0 auto;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .px-page img{display:block;break-inside:avoid}
  .px-plates{gap:0.4in 0.5in;padding-top:0.6in}
}

/* Find: who to search (segmented, old-library theme) */
.findwho{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 4px}
.findwho-l{font:19px var(--fellsc);color:var(--ink)}
.segbar{display:inline-flex;border:2px solid var(--brown);border-radius:14px;overflow:hidden;background:var(--field);box-shadow:0 2px 0 rgba(90,60,35,.35)}
.segbar .chip{border:0;border-radius:0;border-right:1.5px solid var(--line);margin:0;padding:8px 16px;min-height:46px;display:inline-flex;align-items:center;text-decoration:none;background:transparent}
.segbar .chip:last-child{border-right:0}
.segbar .chip.on{background:#6E281E;color:var(--cream)}
@media (max-width:480px){.segbar{display:flex;width:100%}.segbar .chip{flex:1;justify-content:center;padding:8px 6px;font-size:15px;text-align:center}}
.mbhidden{background:var(--warnbg);border-color:var(--warn)}

/* account button: full name, wraps to 2 lines, font shrinks to fit (fitAcctName) */
.pill.acct{display:inline-flex;align-items:center;gap:4px;max-width:min(46vw,190px);white-space:normal}
.pill.acct .acct-nm{display:block;min-width:0;max-width:100%;white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:manual;line-height:1.1;text-align:center}
.pill.acct .admin-badge{flex:none}
/* Member Extras: Home tile + Plans card */
.hcard-extras{border-color:#6E281E;background:linear-gradient(#fff8e8,#f6e9c8);box-shadow:5px 7px 0 #BEA078,inset 0 0 0 3px #e8d3a2}
.extras-card{margin:18px 0;background:#fff8e8;border:3px double #6E281E;border-radius:6px;padding:14px 16px;box-shadow:inset 0 0 0 4px #f3e8cc,0 2px 6px rgba(60,30,10,.18);display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.extras-card h2{margin:0 0 4px;font-family:var(--fellsc,Georgia,serif);color:#6E281E}
.extras-card p{margin:4px 0}
.extras-prev{display:flex;gap:8px;align-items:flex-end;flex:none}
.extras-prev img{height:110px;width:auto;border:1px solid #8a5a2b;box-shadow:0 2px 5px rgba(60,30,10,.3);background:#fbf5e6}
.extras-prev img.bm{height:120px}
.extras-txt{flex:1 1 220px}
.front-extras{margin:14px auto;max-width:640px;text-align:center;background:#fff8e8;border:3px double #6E281E;border-radius:6px;padding:10px 14px;font-size:17px}
.front-extras a{color:#6E281E;font-weight:700}

/* Home: General / Special Interest */
.home-sec-h{margin-top:26px;border-bottom:1px solid #b08a5a;padding-bottom:4px}
.gi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:10px 0}
.gi-btn{display:flex;align-items:center;justify-content:center;gap:6px;text-align:center;padding:12px 10px;background:var(--card,#fbf5e6);border:2px solid var(--brown,#5a3a1e);border-radius:14px;box-shadow:3px 4px 0 #BEA078;text-decoration:none;color:#6E281E;font:400 19px/1.15 var(--fellsc,Georgia,serif)}
.gi-btn.small{font-size:16px;padding:9px 8px}
.gi-all{margin:4px 0 8px;text-align:center}.gi-all summary{list-style:none;display:inline-block;cursor:pointer}.gi-all summary::-webkit-details-marker{display:none}.gi-all .gi-grid{text-align:left}

/* Featured Author: small oval gilt frame (v1.28.11) */
.featured{max-width:520px;text-align:left}.fo-row{display:flex;gap:14px;align-items:center;color:inherit;text-decoration:none}
.fo-txt{display:block;min-width:0;flex:1}.fo-txt>span{display:block}.featured .feat-h{margin-bottom:2px;font-size:15px}.featured .feat-t{margin-top:0;font-size:19px}.featured .feat-b{margin:4px 0 6px;font-size:15px}
.fo-gilt{flex:none;display:block;padding:7px;border-radius:50%;background:radial-gradient(110% 70% at 30% 18%,rgba(255,240,190,.7),transparent 40%),repeating-conic-gradient(from 10deg,#8a5e16 0deg 8deg,#e6c36a 8deg 14deg,#a8781f 14deg 22deg,#f3d98a 22deg 28deg,#6f4a10 28deg 36deg);box-shadow:0 2px 6px rgba(40,22,5,.5),inset 0 0 0 1px #4a300a,inset 0 0 0 3px rgba(255,236,170,.6),inset 0 0 0 4px #5a3b0b}
.fo-glass{display:block;width:84px;height:108px;border-radius:50%;overflow:hidden;background:#d9c39a;box-shadow:inset 0 0 10px rgba(40,22,5,.55);position:relative}
.fo-glass img{width:100%;height:100%;object-fit:cover;filter:sepia(.6) contrast(1.05)}
.fo-ph{display:block;line-height:108px;text-align:center;font-size:40px;color:#78502D;font-family:'IM Fell English',serif}
.fo-empty{border-style:dashed}.fo-cta{color:#6E281E;font-weight:700;text-decoration:underline}
.fm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin:8px 0}
.fm{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 10px;border:1px solid #78502D;border-radius:6px;background:#F4E8CE;color:#3b2610;font:inherit;text-align:left;cursor:pointer}
.fm b{font-family:'IM Fell English',serif;font-size:16px}.fm span{font-size:13px;color:#2f6b2f;font-weight:700}
.fm.on{background:#6E281E;border-color:#4a160f;color:#fff8e6;box-shadow:0 0 0 2px #e2b85a}.fm.on span{color:#f6dc8c}
.fm:disabled{background:#e4d8bf;border-style:dashed;color:#8a7a62;cursor:not-allowed}.fm:disabled span{color:#8a4a3a}
/* v1.28.11 parchment top bar + Home buttons everywhere (app + landing), no iOS default styling */
.topbar .bag-btn,.topbar .plans-btn,.topbar .help-btn,.topbar .mybooks-btn,.topbar .pill.acct,.mybooks-home,.home-quick .btn,.bag-home{-webkit-appearance:none!important;appearance:none!important;background:linear-gradient(#F8EED8,#F4E8CE 55%,#EAD9B4)!important;background-color:#F4E8CE!important;border:1px solid #78502D!important;color:#3B2414!important;box-shadow:0 1px 2px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,250,235,.7)!important;-webkit-tap-highlight-color:rgba(120,80,45,.2)}
.topbar .baglabel,.topbar .planslabel,.topbar .helplabel,.topbar .help-btn::before{color:#3B2414!important}
.topbar .bag-btn:hover,.topbar .plans-btn:hover,.topbar .help-btn:hover,.topbar .mybooks-btn:hover,.topbar .pill.acct:hover,.mybooks-home:hover,.home-quick .btn:hover,.bag-home:hover{background:linear-gradient(#FBF3E2,#F0E0BE)!important}

.px-banner{border:2px solid #78502D;border-radius:10px;padding:12px 14px;margin:0 0 14px;background:#F4E8CE;color:#3B2414}.px-banner p{margin:0 0 8px}.px-lockbtn{opacity:.85}
.ast{background:#F4E8CE;border:1px solid #78502D}.ast h2{font-family:'IM Fell English SC',var(--serif);color:#3B2414}
.ast-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:10px 0}
.ast-cell{background:linear-gradient(#FBF4E4,#EEDDB8);border:1px solid #A27A45;border-radius:8px;padding:10px 8px;text-align:center;box-shadow:inset 0 0 0 3px #F8EED8,inset 0 0 0 4px #C9A56A}
.ast-ico{font-size:22px}.ast-n{font:700 28px/1.1 var(--serif);color:#6E281E}.ast-l{font:600 13px/1.2 var(--serif);color:#3B2414;margin-top:2px}
/* Member Benefits featured Home tile */
.hcard-benefits{margin:18px auto 22px;max-width:760px;border-width:3px;padding:18px;background:linear-gradient(#fffaf0,#f3e3bd);box-shadow:6px 8px 0 #BEA078,inset 0 0 0 4px #f6ead0,inset 0 0 0 5.5px #9c6b3c}
.hcard-benefits .hb-kicker{display:block;font:italic 15px/1.2 var(--fell, 'IM Fell English',serif);color:#8a5a2b;letter-spacing:.06em;margin-bottom:2px}
.hcard-benefits b{font-size:clamp(25px,3vw,32px)}
.hcard-benefits .hb-go{display:inline-block;margin-top:10px;font:400 17px/1.2 var(--fellsc);color:#fff8e8;background:#6E281E;border:2px solid #4a1a12;border-radius:999px;padding:6px 14px;font-style:normal}
@media print{dialog,dialog::backdrop,#dlg,.toast,.overlay,.modal,.backdrop{display:none!important}}

/* v1.28.40 big green added confirmation */
#toast.added{background:#1f6b32;color:#fff;font-size:20px;font-weight:700;padding:14px 18px}
#toast.added #toastUndo{font-size:17px}
.scan-card .sc-btns .sc-ready{align-self:center;margin-left:6px}
/* v1.28.40 file input kept in the page (not display:none) so iOS home-screen apps always open the camera */
.vh-file{position:absolute!important;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0);pointer-events:none}
#scanPhotoBtn.busy{opacity:.8}
.isbn-key{font-size:26px;letter-spacing:2px;text-align:center}
.lang-ac{margin:4px 0 8px}.lang-ac .chip{min-height:40px;font-size:17px}
.mic-row{display:flex;gap:6px;align-items:center}.mic-row>input{flex:1;min-width:0}.mic-row .mic{min-width:44px;min-height:44px;padding:0}
.say-book{margin:6px 0 10px;padding:10px}
.scan-tip{font-size:16px;margin:8px 0}
/* v1.28.42 crop step */
.crop-ov{position:fixed;inset:0;z-index:10000;background:#111;color:#fff;display:flex;flex-direction:column;padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom));touch-action:none;-webkit-user-select:none;user-select:none}
.crop-top{display:flex;flex-direction:column;gap:2px;padding:4px 6px}.crop-top b{font-size:20px}
.crop-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.crop-cv{max-width:100%;max-height:100%}
.crop-box{position:absolute;box-shadow:0 0 0 9999px rgba(0,0,0,.55);outline:2px solid #fff;cursor:move;touch-action:none}
.crop-box i{position:absolute;width:44px;height:44px;margin:-22px;border-radius:50%;background:rgba(255,255,255,.95);border:3px solid #2e7d32;touch-action:none}
.crop-box i[data-h="nw"]{left:0;top:0}.crop-box i[data-h="ne"]{right:0;top:0;margin:-22px -22px 0 0}.crop-box i[data-h="sw"]{left:0;bottom:0;margin:0 0 -22px -22px}.crop-box i[data-h="se"]{right:0;bottom:0;margin:0 -22px -22px 0}
.crop-bar{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding:6px 0}.crop-bar .btn{min-height:48px}
/* v1.28.43 menu bar on every page: room so it never covers the end of the page */
body.has-tabs{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
@media (max-width:380px){.tabs a{font-size:12px;padding:6px 1px 8px}.tabs a span{font-size:21px}}
@media print{body.has-tabs{padding-bottom:0}}
/* v1.28.44 Select books -> Move to… */
.selbar { align-items: center; gap: 8px; margin: 6px 0; }
.selbar.on { position: sticky; top: 0; z-index: 5; background: var(--bg, #fff); padding: 6px 0; }
.bookrow.picked { outline: 3px solid #2e7d32; background: #e8f5e9; }
.bookrow.picked::before { content: "✔"; color: #2e7d32; font-weight: 700; margin-right: 6px; }
.movelist { max-height: 50vh; overflow: auto; display: grid; gap: 6px; margin: 6px 0; }
.movebtn { white-space: normal; }
.movesale { width: 100%; font-size: 1.15em; margin: 8px 0; }
details.moreopts { width: 100%; margin: 6px 0; } details.moreopts summary { cursor: pointer; color: #555; }
/* v1.28.53 ‹ Back / Forward › above the menu bar (histnav.js): reuse .btn.primary; sit above the Scan camera overlay */
.histnav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: flex; justify-content: space-between; gap: 8px; padding: 3px 8px; background: rgba(244,232,206,.96); border-top: 1px solid #C9A97A; box-sizing: border-box; }
.histnav .btn { flex: 0 1 auto; width: auto; min-height: 40px; min-width: 88px; margin: 0; padding: 4px 12px; font-size: 17px; }
@media (max-width: 320px) { .histnav { gap: 6px; padding: 3px 6px; } .histnav .btn { min-width: 72px; padding: 4px 8px; font-size: 15px; } }
body.has-histnav { padding-bottom: calc(134px + env(safe-area-inset-bottom)) !important; }
body.has-histnav .tabs { z-index: 58; }
/* Scan overlay leaves the bottom chrome (histnav + tabs) free so Back/Forward stay tappable while the camera runs */
.scanner { bottom: calc(110px + env(safe-area-inset-bottom)); }
@media print { .histnav { display: none !important; } body.has-histnav { padding-bottom: 0 !important; } .scanner { bottom: 0; } }
/* v1.28.44 current list name under the header, tap to switch */
.topbar { flex-wrap: wrap; } .curlist { flex: 1 0 100%; display: block; margin: 2px -14px -8px; padding: 5px 14px; background: #EFE0C0; border-top: 1px solid #C9A97A; color: #4A3018; text-decoration: none; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.curlist[hidden] { display: none; }
@media print { .curlist { display: none !important; } }
/* v1.28.46: 🚚 Move to my sale on every book row in a personal list */
.bookrow .rowsale{flex-shrink:0;max-width:96px;white-space:normal;line-height:1.15;font-size:13px;padding:6px 8px;min-height:40px}
@media print{.bookrow .rowsale{display:none}}

/* v1.28.59 big confirmation over the camera for each scan */
.scan-banner{position:fixed;left:12px;right:12px;top:calc(90px + env(safe-area-inset-top));z-index:45;padding:16px 14px;border-radius:12px;font:700 24px/1.3 var(--serif);text-align:center;box-shadow:0 6px 18px rgba(0,0,0,.45);pointer-events:none}
.scan-banner.good{background:#2E7D32;color:#fff;border:3px solid #A5D6A7}.scan-banner.bad{background:#B3261E;color:#fff;border:3px solid #FFB4A9}
.scan-banner .sub{display:block;font:600 17px/1.3 var(--serif);margin-top:4px}
/* v1.28.62 📷 Volunteer: scan the organizer’s QR (was Scan to join a sale) (volunteer invite QR read in the app) */
.joinscan-btn{width:100%;margin:6px 0 4px}
.joinscan-hint{margin:0 0 10px}
.scanner.joinscan .scan-modes,.scanner.joinscan .scan-tools,.scanner.joinscan .ocr-capture,.scanner.joinscan .ocr-hint{display:none!important}
/* v1.28.62 new-version banner (stays until Update or Later) and the short "Updated to Version X" note */
.updbar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(96px + env(safe-area-inset-bottom));z-index:55;width:min(94vw,520px);box-sizing:border-box;
  background:linear-gradient(#F7EBCD,#EBD9AE);color:#3b2414;border:2px solid #A57B45;border-radius:14px;box-shadow:0 6px 20px rgba(40,20,8,.4);padding:12px 14px;font-family:var(--serif)}
.updbar .updtext{font-size:17px;font-weight:600;line-height:1.35}
.updbar .updbtns{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:10px}
.updbar .updbtns .btn.primary{min-width:120px}
.updbar .updlater{background:transparent;border-color:transparent;text-decoration:underline;color:#5b3a22}
body:has(#scanner:not([hidden])) .updbar{display:none}
.updnote{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(96px + env(safe-area-inset-bottom));z-index:55;background:#1f6b32;color:#fff;border:1.5px solid #A57B45;font-family:var(--serif);font-weight:700;padding:12px 18px;border-radius:12px;max-width:92vw;text-align:center}
/* v1.28.62 narrow iPhones (320–390 px) and larger text: nothing wider than the screen; the scanner's Done always visible */
.scanner{overflow-x:hidden}
.scanner > *{max-width:100%;min-width:0}
.scanner-head{flex-wrap:wrap;row-gap:6px;align-items:flex-start}
.scanner-head .scanner-title{order:1;flex:1 1 0;min-width:0;font-size:clamp(18px,5.6vw,24px);line-height:1.15;overflow-wrap:anywhere}
.scanner-head #scanMute{order:2;flex:none}
.scanner-head #scanDone{order:3;flex:none}
.scanner-head .scan-count{order:4;flex:0 1 auto;min-width:0;margin:0;white-space:normal;overflow-wrap:anywhere}
.scanner-ctx,.scanner-msg,.scan-state,.scan-card,.scan-banner{overflow-wrap:anywhere;min-width:0}
.scan-card .sc-body,.scan-card > div{min-width:0}
main{min-width:0;overflow-wrap:anywhere}
main .row > *,main .grid2 > *{min-width:0}
main select,main input,main textarea,main img,main table{max-width:100%}
main pre,main code{white-space:pre-wrap;word-break:break-word}
html,body{overflow-x:clip}
/* v1.28.63 fast intake: 📚 Scan books into the sale, ⚡ Snap & next, live text, the session list under the camera, Needs review */
.intake-btn { width: 100%; margin: 4px 0 2px; }
.intake-tip { margin: 0 0 12px; }
.scanner:not(.addscan) .snap-btn, .scanner:not(.addscan) #liveTextBtn, .scanner.joinscan .scan-extra, .scanner.joinscan .scan-list { display: none !important; }
.scan-extra { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0; }
.scan-extra .btn { min-width: 0; white-space: normal; }
.scan-list { margin: 8px 0 24px; background: var(--card, #fffaf0); border: 1px solid var(--line, #d8c9a8); border-radius: 12px; padding: 8px; max-width: 100%; min-width: 0; color: var(--ink, #2b2116); }
.scan-list .sl-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; justify-content: space-between; }
.scan-list .sl-filter { display: flex; flex-wrap: wrap; gap: 4px; }
.scan-list .sl-bar { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 6px 0; }
.scan-list select { max-width: 100%; min-width: 0; font-size: 16px; }
.scan-list .sl-list { list-style: none; margin: 6px 0 0; padding: 0; max-height: 52vh; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.scan-list .sl-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; border-top: 1px solid var(--line, #e6dcc6); padding: 6px 0; min-width: 0; }
.scan-list .sl-tick { width: 26px; height: 26px; flex: 0 0 auto; }
.scan-list .sl-main { display: flex; align-items: center; gap: 8px; flex: 1 1 0; min-width: 0; background: none; border: 0; padding: 0; text-align: left; color: inherit; font: inherit; cursor: pointer; }
.scan-list .sl-main .cover { width: 34px; height: 48px; flex: 0 0 34px; overflow: hidden; border-radius: 3px; }
.scan-list .sl-main .cover img { width: 100%; height: 100%; object-fit: cover; }
.scan-list .sl-txt { display: flex; flex-direction: column; min-width: 0; overflow-wrap: anywhere; }
.scan-list .sl-t { font-weight: 600; }
.scan-list .sl-box { font-size: 14px; opacity: .8; }
.scan-list .sl-move { flex: 1 1 100%; display: flex; flex-wrap: wrap; gap: 6px; padding: 6px; margin: 0; }
.mediapick .chip, .boxpick-btns .btn { white-space: nowrap; }
.boxpick select { width: 100%; max-width: 100%; }
.boxpick-btns { gap: 6px; flex-wrap: wrap; margin-top: 6px; }
.boxpick-new { display: flex; gap: 6px; margin-top: 6px; } .boxpick-new[hidden] { display: none; } .boxpick-new input { flex: 1 1 auto; min-width: 0; }
.findtitle { margin: 4px 0 6px; } .findtitle #bfFound .chip { margin: 3px 3px 0 0; white-space: normal; text-align: left; }
.guess-list { display: flex; flex-direction: column; gap: 8px; margin: 8px 0; }
.guess-pick { display: flex; gap: 10px; align-items: center; text-align: left; padding: 8px; border: 2px solid var(--line, #c9b892); border-radius: 10px; background: var(--card, #fffaf0); font: inherit; color: inherit; min-width: 0; overflow-wrap: anywhere; }
.guess-pick .cover { width: 46px; height: 66px; flex: 0 0 46px; overflow: hidden; } .guess-pick .cover img { width: 100%; height: 100%; object-fit: cover; }
.againbar { position: fixed; left: 8px; right: 8px; bottom: calc(76px + env(safe-area-inset-bottom, 0px)); z-index: 60; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; background: #2f4a2a; color: #fff; padding: 10px; border-radius: 12px; box-shadow: 0 6px 18px rgba(0,0,0,.3); }
.againbar[hidden] { display: none; } .againbar .btn { min-width: 0; white-space: normal; }
.needsreview { display: block; margin: 0 0 10px; text-align: center; }
.reviewlist .rv-btns { gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.movebooks-btn { width: 100%; margin: 8px 0; }
.move-pick { display: grid; grid-template-columns: 1fr; gap: 10px; margin: 10px 0; max-height: 60vh; overflow-y: auto; }
.move-pick .btn { width: 100%; white-space: normal; }
.scanner .movingto { font-size: 26px; line-height: 1.2; font-weight: 700; background: #2f5d2a; color: #fff; border-radius: 10px; padding: 10px 12px; margin: 4px 0; overflow-wrap: anywhere; }
.scanner.movescan .scan-tools #scanHand, .scanner.movescan .snap-btn, .scanner.movescan #scanPhotoBtn, .scanner.movescan #scanSayIsbn, .scanner.movescan .scan-tip, .scanner.movescan .scan-modes { display: none !important; }
.mv-find { margin-bottom: 8px; } .mv-find input { width: 100%; font-size: 18px; } .mv-find #mvFound { gap: 6px; flex-wrap: wrap; margin-top: 6px; } .mv-find #mvFound .btn { white-space: normal; text-align: left; }
/* v1.28.63 Sale-day prices on the dashboard */
.prtop { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 6px 0 12px; min-width: 0; }
.prtop .prsum { flex: 1 1 200px; min-width: 0; overflow-wrap: anywhere; padding: 8px 10px; border: 1px dashed var(--line, #b9a27a); border-radius: 8px; color: inherit; text-decoration: none; background: rgba(160, 120, 40, .08); }
.nbform { display: grid; gap: 6px; margin: 8px 0; min-width: 0; }
.nbform input { width: 100%; box-sizing: border-box; min-width: 0; }
.newbox-btn { border-style: dashed; }
/* v1.28.63 sale-day price shown with the regular price struck through */
s.was { opacity: .7; font-weight: 400; }
.ruletag { font-size: .8em; color: var(--accent, #8a5a14); white-space: normal; overflow-wrap: anywhere; }
.pvlist li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 10px; padding: 6px 0; border-bottom: 1px solid var(--line, #ddd); min-width: 0; }
.pvlist .pvt { flex: 1 1 160px; min-width: 0; overflow-wrap: anywhere; }
.pvlist .pvp { flex: 0 1 auto; text-align: right; min-width: 0; }
.pvtry { margin: 10px 0; } .pvcard input { min-width: 0; max-width: 100%; box-sizing: border-box; }
.pvcard .row input { flex: 1 1 140px; }
/* v1.28.64 search bar with a visible 🔍 Search button, ✕ clear and a result line */
.sbar { display: flex; gap: 6px; align-items: stretch; margin: 6px 0 2px; min-width: 0; position: relative; }
.sbar input[type=search] { flex: 1 1 auto; min-width: 0; width: auto; margin: 0; }
.sbar input[type=search]::-webkit-search-cancel-button { -webkit-appearance: none; display: none; }
.sbar .sbar-go { flex: 0 0 auto; min-height: 44px; padding: 0 14px; font-family: var(--fellsc, 'IM Fell English SC'), var(--fell, Georgia), serif; font-size: 1.05rem; white-space: nowrap; background: #6E281E; color: #F5E1B4; border: 1px solid #46281A; border-radius: 8px; }
.sbar .sbar-x { flex: 0 0 40px; width: 40px; min-height: 44px; border: 1px solid #C9A46A; background: #FAF2E1; color: #46281A; border-radius: 8px; font-size: 16px; padding: 0; cursor: pointer; }
.sbar .sbar-x[hidden] { display: none; }
.sbar.busy .sbar-go { opacity: .75; }
.sbar-res { margin: 2px 2px 8px; min-height: 1.2em; color: #46281A; overflow-wrap: anywhere; }
.sbar-res.none { color: #6E281E; }
.returnsale { display: block; width: 100%; margin: 8px 0; min-height: 48px; font-family: var(--fellsc, 'IM Fell English SC'), var(--fell, Georgia), serif; font-size: 1.15rem; background: #F0E1C0; color: #6E281E; border: 2px solid #78502D; border-radius: 10px; box-shadow: inset 0 0 0 2px #F0E1C0, inset 0 0 0 3px #78502D; }
/* v1.28.64 Book Bag: no longer available, From link; sales you've looked at */
.baggone { margin-top: 14px; } .baggone summary { cursor: pointer; font-weight: 700; padding: 6px 0; }
.baggone .bagrow { opacity: .85; }
.bagfrom { display: inline-block; color: #6E281E; text-decoration: none; overflow-wrap: anywhere; }
.seenlist { list-style: none; padding: 0; margin: 0; }
.seenrow { display: flex; align-items: center; gap: 8px; border-bottom: 1px solid var(--line, #ddd); min-width: 0; }
.seenrow:last-child { border-bottom: 0; }
.seenlink { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; padding: 10px 2px; color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.seenx { flex: 0 0 auto; width: 40px; height: 40px; border: 0; background: none; font-size: 18px; color: #6E281E; cursor: pointer; }
.inqtop { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 6px 0 8px; } .inqtop .badge { margin-left: 6px; }
.msgthread { list-style: none; padding: 0; margin: 8px 0; display: grid; gap: 8px; }
.msgthread li { padding: 8px 10px; border-radius: 10px; border: 1px solid var(--line, #c9a46a); overflow-wrap: anywhere; max-width: 92%; }
.msgthread li.me { justify-self: end; background: #F0E1C0; } .msgthread li.them { justify-self: start; background: #FAF2E1; }
.yourmsgs { margin-left: 6px; }
/* v1.28.67 ✉️ N unread-message badge beside the account button: antique gold */
.pill.msgbadge{display:inline-flex;align-items:center;gap:2px;text-decoration:none;cursor:pointer;background:linear-gradient(#E8C670,#B8892E);color:#3A2408;border:1px solid #7A5A1C;font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,245,210,.6);white-space:nowrap;flex:none}
.pill.msgbadge[hidden]{display:none}
/* v1.28.67 iPhone fix: book rows. The sale-day price ('<s>$4.00</s> $2.00 · Half price', v1.28.63+) was one unbreakable
   line, so with the Mark Sold button the title column was squeezed to a letter wide. The title column now keeps at least
   120px, the price wraps (rule on its own line), and the buttons drop below on narrow screens. */
.bookrow > .info{flex:1 1 0;min-width:120px}
.bookrow .price{flex:0 1 auto;max-width:30%;white-space:normal;text-align:right;line-height:1.15}
.bookrow .price .was,.bookrow .price .saleprice{white-space:nowrap}
.bookrow .price .ruletag{display:block;font-size:12px;font-weight:400;white-space:normal}
@media (max-width:560px){.bookrow{flex-wrap:wrap}.bookrow > .mbact{flex-basis:100%;display:flex;justify-content:flex-end;gap:8px;margin:2px 0 0}}
.baginfo{flex:1 1 0;min-width:120px}.bagprice{flex:0 1 auto;max-width:40%;white-space:normal}
/* v1.28.67 end-of-sale report print layout (☰ Sale dashboard → 🖨 Print) */
#dashReport{display:none}
@media print{
  @page report{margin:16mm 14mm 18mm;@bottom-center{content:"Page " counter(page) " of " counter(pages);font:10pt Georgia,serif;color:#555}}
  body.printing-dash > *:not(#dashReport){display:none!important}
  body.printing-dash #dashReport{page:report;display:block!important;font:11pt/1.35 Georgia,'Times New Roman',serif;color:#000;background:#fff}
  #dashReport .rhead{border-bottom:2px solid #6E281E;margin-bottom:10pt;break-after:avoid}
  #dashReport h1{font-size:20pt;margin:0 0 2pt}#dashReport h2{font-size:13pt;margin:12pt 0 4pt;color:#6E281E;break-after:avoid}
  #dashReport p{margin:2pt 0}#dashReport .small{font-size:9pt;color:#444}
  #dashReport .rsec{break-inside:avoid-page}
  #dashReport table{width:100%;border-collapse:collapse}#dashReport thead{display:table-header-group}
  #dashReport tr{break-inside:avoid}#dashReport th,#dashReport td{border-bottom:1px solid #bbb;padding:3pt 6pt;text-align:left}
  #dashReport .num{text-align:right}#dashReport tbody th{font-weight:400;width:60%}
  body:not(.printing-dash) .dstats,body:not(.printing-dash) .dashsec,body:not(.printing-dash) .card{break-inside:avoid}
}
/* v1.28.70 🗺 Sale map (salemap.js): a parchment grid with wooden tables */
.sm-grid{position:relative;width:100%;max-width:900px;margin:10px auto;border:3px double #6E281E;border-radius:6px;background-color:#FBF4E4;background-image:linear-gradient(to right,rgba(110,40,30,.12) 1px,transparent 1px),linear-gradient(to bottom,rgba(110,40,30,.12) 1px,transparent 1px);background-size:calc(100% / var(--c)) calc(100% / var(--r));overflow:hidden;box-sizing:border-box;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.sm-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45;pointer-events:none}
.sm-t{position:absolute;box-sizing:border-box;margin:0;padding:2px 3px;border:2px solid #5A3418;border-radius:4px;background:linear-gradient(180deg,#C89B63,#A8763F);color:#2A1608;font:inherit;font-size:clamp(9px,2.6vw,15px);line-height:1.1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.25);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.sm-t .sm-n{font-weight:700;overflow-wrap:anywhere;max-width:100%}
.sm-t .sm-c{font-size:.85em;background:#FBF4E4;border-radius:8px;padding:0 5px;margin-top:2px;white-space:nowrap}
.sm-t.empty{background:linear-gradient(180deg,#D9C3A0,#C2A57C);opacity:.8}
.sm-t.sel,.sm-t.on{outline:3px solid #6E281E;outline-offset:1px;z-index:2}
.sm-grid.edit .sm-t{touch-action:none;cursor:grab}
.sm-t.dragging{opacity:.85;z-index:3;cursor:grabbing}
.sm-rs{position:absolute;right:0;bottom:0;width:22px;height:22px;background:linear-gradient(135deg,transparent 50%,#6E281E 50%);cursor:nwse-resize;touch-action:none}
.sm-panel .sm-books{list-style:none;padding:0;margin:6px 0;max-height:46vh;overflow:auto}
.sm-panel .sm-books li{padding:4px 0;border-bottom:1px solid rgba(110,40,30,.12)}
.sm-nudge{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin:8px 0}
.sm-move select{max-width:100%;flex:1 1 180px}
.sm-modes,.sm-tools{gap:6px;flex-wrap:wrap}
.smpub summary{cursor:pointer}
.smfilter{background:#F3E6C8;border:1px solid #B8936A;border-radius:6px;padding:6px 8px}
/* v1.28.71 🔁 Switch account / 👪 Family (accounts-ui.js) */
.sellas{background:#F3E6C8;border-bottom:1px solid #B8936A;color:#3A2210;text-align:center;padding:4px 8px;font-size:15px}
.sellas a{color:#6E281E;font-weight:700}
.sw-list{list-style:none;padding:0}.sw-list li{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center}
.sw-name{font-size:19px;font-weight:700}
.fam-list{list-style:none;padding:0}.fam-list li{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:1px solid rgba(110,40,30,.12)}
.fam-code{font-size:22px;letter-spacing:.12em;font-family:ui-monospace,Menlo,monospace}
.front-acct{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;margin:12px 0 14px}.front-acct .btn{min-width:150px;font-size:1.1rem}.front-acct .small{flex-basis:100%;text-align:center;opacity:.8}.front-acct[hidden]{display:none}
