
:root{font-family:Segoe UI,Arial,sans-serif;color:#e5dfd1;background:#121a1b;font-size:14px;--gold:#c7a667;--muted:#96a3a0;--line:#34413c}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,label.primary,.secondary{cursor:pointer}button,select,.secondary{color:#deddd3;background:#23302c;border:1px solid #465047;border-radius:6px;padding:10px 13px}button:hover{border-color:var(--gold)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.primary{background:#c6a36a;color:#181f1d;border:0;border-radius:6px;padding:11px 17px;font-weight:650}input[type=file]{display:none}header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid var(--line);background:#182321}.brand{display:flex;align-items:center;gap:14px}.brand strong{font-family:Georgia,serif;letter-spacing:3px;font-size:20px}.brand small{display:block;letter-spacing:2.5px;font-size:9px;color:var(--gold);margin-top:7px}.seal{font-size:37px;color:var(--gold)}.actions{display:flex;gap:10px;align-items:center}.layout{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 92px)}aside{padding:35px 22px;background:#17211f;border-right:1px solid var(--line)}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:650}h2{font-family:Georgia,serif;font-weight:400;font-size:22px}nav{margin-top:30px}nav button{display:block;width:100%;text-align:left;background:none;border-color:transparent;margin:4px 0}nav button.active{background:#303b2d;border-color:#71613f;color:#e4c58c}nav details{margin-top:16px}nav summary{padding:10px 3px;cursor:pointer;font-weight:600;color:#ccc8b9}nav details button{padding-left:24px;color:#a5b2a9}.aside-note{border-top:1px solid var(--line);margin-top:65px;padding:24px 7px;color:var(--gold);font-size:23px}.aside-note p{font-size:13px;color:#cecdbc}.aside-note small{font-size:12px;line-height:1.8;color:var(--muted)}main{padding:33px 32px;min-width:0}.eyebrow span{margin:0 12px;color:#52635b}.heading{display:flex;align-items:center;justify-content:space-between;gap:15px}h1{font:36px Georgia,serif;margin:18px 0 10px}.heading p{color:var(--muted);margin:0 0 27px}.badge{font-size:9px;letter-spacing:1px;color:#bda978;border:1px solid #5d583b;padding:9px;border-radius:4px}.save-info{display:flex;align-items:center;gap:15px;background:#202c28;border:1px solid #3c4e42;padding:16px 20px;border-radius:8px}.save-info small{display:block;color:var(--muted);margin-top:5px}.save-info button{margin-left:auto;font-size:11px}.file-icon{font-size:30px;color:var(--gold)}#notice{font-size:12px;line-height:1.6;color:#b8b6a3;min-height:20px}.toolbar{display:flex;align-items:center;justify-content:space-between;margin:28px 0 20px;gap:16px}.toolbar small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.filters{display:flex;align-items:center;gap:8px}.filters label{font-size:11px;color:var(--muted)}select{margin-left:8px}input[type=search]{background:#17211f;color:#ddd;border:1px solid var(--line);border-radius:5px;padding:10px;width:170px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{border:1px solid #3a4840;background:#1d2824;border-radius:9px;overflow:hidden;align-self:start}.scene{height:125px;background:radial-gradient(ellipse at 70% 10%,#a38a4f55,transparent 50%),linear-gradient(150deg,#344a3c,#182521 65%);display:flex;align-items:center;justify-content:center;position:relative;border-bottom:1px solid #445043}.scene>span{font-size:70px;color:#b8ac7d;filter:drop-shadow(0 7px 5px #0007)}.scene small{position:absolute;bottom:9px;left:13px;font-size:8px;letter-spacing:2px;color:#b9beaa}.card:nth-child(3n+2) .scene{background:radial-gradient(ellipse at top,#81695355,transparent),linear-gradient(145deg,#3d4240,#192323)}.card-head{padding:17px 16px 12px}.card h3{font:20px Georgia,serif;margin:0 0 6px}.card-head small{color:var(--muted);font-size:10px}.tabs{display:flex;margin:0 13px;border-bottom:1px solid #414b40;gap:2px}.tabs button{font-size:10px;flex:1;padding:11px 1px;border:0;border-radius:0;background:none;color:#97a79c}.tabs button[aria-pressed=true]{color:#e4c388;border-bottom:2px solid var(--gold)}.inventory{padding:5px 15px 14px}.item{display:flex;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #344138}.item:last-child{border:0}.thumb{display:grid;place-items:center;flex-shrink:0;width:35px;height:35px;border:1px solid #575b43;border-radius:5px;background:#313d2e;font-size:23px;color:#d1bc87}.item-name{flex:1;min-width:0;font-size:12px}.item-name small{display:block;color:#c8a46f;font-size:10px;margin-top:5px;line-height:1.4}.quantity{font-size:12px;color:#d8ca9a;font-variant-numeric:tabular-nums}.empty{padding:28px 14px;color:var(--muted);font-size:12px;text-align:center}.grid>.empty{grid-column:1/-1;border:1px dashed var(--line);padding:60px}footer{color:#71877b;font-size:10px;padding:32px 0}footer span{margin:0 12px}dialog{color:#deddd3;background:#1b2822;border:1px solid #647056;border-radius:12px;width:min(850px,95vw)}dialog::backdrop{background:#000b}.dialog-head{display:flex;justify-content:space-between;align-items:center}dialog p{line-height:1.6;font-size:13px;color:#b7c1b4}textarea{width:100%;height:45vh;background:#101b17;color:#d6dfcd;border:1px solid #4b5a49;padding:14px;font:12px Consolas,monospace}#editor-error{color:#f7b4a0} @media(min-width:1650px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1150px){.layout{grid-template-columns:205px 1fr}main{padding:25px 20px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{align-items:start;flex-direction:column}.badge{display:none}}@media(max-width:700px){header{height:auto;padding:18px;gap:18px;flex-wrap:wrap}.brand strong{font-size:17px}.layout{display:block}aside{padding:16px;border-right:0;border-bottom:1px solid var(--line)}aside h2,.aside-note,aside>.eyebrow{display:none}nav{margin:0}nav details{display:inline-block;margin:0 8px}nav>button{width:auto;display:inline-block}nav details button{width:auto}main{padding:22px 16px}h1{font-size:30px}.filters{flex-wrap:wrap}.save-info{padding:12px}.save-info button{max-width:110px}.grid{grid-template-columns:1fr}.actions{flex-wrap:wrap}footer{line-height:1.8}}
.admin-dialog{width:min(1200px,96vw);max-height:94vh}.admin-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.admin-tabs button{width:auto}.active{border-color:var(--gold)!important;background:#37402c!important}.admin-body{display:grid;grid-template-columns:280px 1fr;gap:24px}.admin-body>section{max-height:65vh;overflow:auto}.admin-body input[type=search]{width:100%;margin-bottom:10px}#admin-add{width:100%;margin-bottom:12px}#admin-list button{display:block;width:100%;text-align:left;margin-bottom:7px}#admin-list small{display:block;overflow-wrap:anywhere;color:var(--muted);margin-top:6px;font-size:10px}#admin-form{display:grid;gap:14px;min-width:0}#admin-form label{display:grid;gap:7px;font-size:12px;color:#c2cbbb}#admin-form input:not([type=file]):not([type=checkbox]),#admin-form select{width:100%;margin:0;padding:10px;background:#142019;color:#eee;border:1px solid #52604a;border-radius:5px}#admin-form textarea{height:100px;font-family:inherit;resize:vertical}#admin-form .check{display:flex;align-items:center}#admin-form p{margin:0;font-size:11px}#image-preview img{max-width:100%;max-height:230px;border-radius:7px}#image-preview{color:var(--muted);font-size:12px}.scene img{width:100%;height:100%;object-fit:cover}.thumb{overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover}.description{display:block;color:#a8b5a9;font-size:11px;line-height:1.6;white-space:pre-wrap;margin:8px 0 0}.admin-top{flex-wrap:wrap}#admin-status{font-size:11px;color:#c6bb91}@media(max-width:700px){.admin-body{grid-template-columns:1fr}.admin-body>section{max-height:220px}}
.place-info{display:flex;gap:16px;align-items:center;margin-bottom:15px}.place-info:empty{display:none}.place-info img{width:160px;max-height:110px;object-fit:cover;border-radius:7px}
.scene{height:auto;aspect-ratio:8 / 5}.scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.order-label{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border:1px solid #77643d;border-radius:5px;background:#3e3b28;color:#e9c989;font:600 12px Segoe UI,sans-serif;vertical-align:middle;margin-right:5px}#source-count{color:var(--muted)}
.scene img{object-fit:cover}.inventory{padding:8px 12px 16px}.availability-group h4{margin:12px 0 8px;color:#c4b386;font-size:10px;font-weight:500;line-height:1.5;border-bottom:1px solid #3c483e;padding-bottom:7px}.item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.item-grid .item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;padding:10px 5px;background:#18231f;border:1px solid #354438;border-radius:6px;text-align:center;min-width:0}.item-grid .thumb{width:53px;height:53px;font-size:31px}.item-grid .item-name{font-size:11px;line-height:1.4;overflow-wrap:anywhere;flex:1}.item-grid .quantity{font-size:11px}.item-grid .description{font-size:10px}.card-head{padding-bottom:8px}.card{container-type:inline-size}@container(max-width:240px){.item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Open portraits: image, unit text and quantity without a surrounding tile. */
.item-grid{gap:16px 10px}.item-grid .item{padding:0 0 6px;background:transparent;border:0;border-radius:0;gap:6px}.item-grid .thumb{width:100%;height:auto;aspect-ratio:1;max-width:none;border:0;border-radius:4px;background:transparent;font-size:48px}.item-grid .thumb img{width:100%;height:100%;object-fit:contain}.item-grid .item-name{flex:0;width:100%;font-size:12px}.item-grid .quantity{font-size:12px}.item-grid .description{margin-top:4px}
/* Four compact portraits per row, with breathing room around each image. */
.item-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 8px}.item-grid .item{padding:3px 4px 7px;gap:6px}.item-grid .thumb{width:100%;max-width:100px;margin:0 auto}.item-grid .item-name{font-size:11px}.item-grid .quantity{font-size:11px}@container(max-width:280px){.item-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 6px}.item-grid .item{padding-inline:2px}}@container(max-width:210px){.item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Preserve the full source image and its intrinsic proportions. */
.item-grid .thumb{display:flex;align-items:flex-start;justify-content:center;aspect-ratio:auto;height:auto;overflow:visible;flex-shrink:0}.item-grid .thumb img{display:block;position:static;width:100%;height:auto;max-width:100%;object-fit:contain;border-radius:4px}
/* Larger inventory typography; unit names stand out from descriptions. */
.tabs button{font-size:12px}.availability-group h4{font-size:12px}.item-grid .item-name{font-size:13px}.item-grid .quantity{font-size:13px}.item-grid .description{font-size:12px;font-weight:400}.unit-grid .item-name{font-weight:700}
.detail-image-field{border:1px solid #536047;border-radius:6px;display:grid;gap:12px;min-width:0}.detail-image-field legend{color:var(--gold);padding:0 7px}#detail-image-preview img{max-width:100%;max-height:420px;object-fit:contain}#item-detail-popup{position:fixed;z-index:1000;pointer-events:none;max-width:min(450px,calc(100vw - 24px));max-height:calc(100vh - 24px);line-height:0;filter:drop-shadow(0 8px 18px #000b)}#item-detail-popup[hidden]{display:none}#item-detail-popup img{display:block;width:auto;height:auto;max-width:min(450px,calc(100vw - 24px));max-height:calc(100vh - 24px);object-fit:contain}.item[data-detail]{cursor:help}.item[data-detail]:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.item-grid .item-name{font-weight:700}.item-grid .item-name .description{font-weight:400}

#login-form{display:grid;gap:16px}#login-form label{display:grid;gap:10px}#login-password{padding:12px;background:#142019;color:#eee;border:1px solid #647056}#login-error{color:#f0b5a1}[hidden]{display:none!important}