@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard-jp-dynamic-subset.min.css');
:root{font-family:'Pretendard JP','Noto Sans JP',sans-serif;color:#141414;background:#fff}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.3;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #666;outline-offset:2px}a{color:inherit}.wrap{width:min(920px,calc(100% - 32px));margin:auto}.top{display:flex;justify-content:flex-end;align-items:center;gap:16px;padding:18px 0}.top a,.top button{background:none;border:0;color:#444;font-size:12px;text-decoration:none;padding:4px}.banner{display:block;width:100%;max-height:290px;aspect-ratio:4/1;object-fit:cover;object-position:center;margin:0 0 18px;border-radius:5px}.controls{display:flex;align-items:center;gap:8px;margin:12px 0 22px}.controls input{flex:1;min-width:0}.controls select{max-width:118px}input,textarea,select{background:#fff;border:1px solid #dedede;border-radius:5px;padding:10px;width:100%;font-size:13px}textarea{min-height:100px;resize:vertical}button.black{color:white;background:#171717;border:1px solid #171717;border-radius:5px;padding:11px 15px}button.outline{color:#171717;background:white;border:1px solid #bbb;border-radius:5px;padding:11px 15px}/* Outfit catalogue */
.items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
.item{display:flex;flex-direction:column;min-width:0;padding:0;border:0;min-height:0}
.item-picture{width:100%;aspect-ratio:3/4;background:#fafafa;border:1px solid #eee;border-radius:5px;overflow:hidden}
.item-picture img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#fafafa}
.img-placeholder{width:100%;height:100%;background:#f7f7f7}
.detail{display:flex;flex-direction:column;gap:9px;min-width:0;padding:3px 0 0}
.item-title{font-size:13px;font-weight:500;line-height:1.5;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.copy-buttons{display:flex;gap:5px;min-height:32px;align-items:stretch}
.copy{flex:1;min-width:0;border:1px solid #dedede;border-radius:4px;background:#fff;color:#303030;text-align:center;font-size:11px;line-height:1.2;padding:8px 2px;white-space:nowrap}
.copy:active,.copy.copied{background:#f3f3f3}
.muted{color:#9b9b9b;font-size:12px;text-align:center;margin:42px auto}.panel{border:1px solid #eee;border-radius:7px;padding:18px;margin:16px 0}.field{display:flex;flex-direction:column;gap:6px;margin:0 0 13px}.field label{font-size:12px;color:#444}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row>*{flex:1}.tiny{font-size:11px;color:#888}.admin-list{display:grid;gap:7px}.admin-entry{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid #eee;border-radius:5px}.admin-entry img{width:55px;height:68px;object-fit:cover;background:#f4f4f4}.admin-entry .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.admin-entry button{border:1px solid #ddd;border-radius:4px;background:white;padding:8px;font-size:12px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-head h2{font-size:14px;font-weight:600;margin:0}.auth{max-width:330px;margin:24vh auto 0;padding:20px;display:grid;gap:12px}.auth button{width:100%}.notice{font-size:12px;color:#666;min-height:16px}.hidden{display:none!important}@media(max-width:650px){
 .items{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 10px}
 .wrap{width:calc(100% - 28px)}
 .top{padding:13px 0}
 .controls{margin:9px 0 20px}
 .item-title{font-size:12px}
 .detail{gap:7px}
 .copy{font-size:10px;padding:8px 1px}
 .panel{padding:12px}
 .banner{max-height:170px}
}

.header-preview{display:block;width:100%;max-height:175px;object-fit:cover;border-radius:5px;margin-top:12px;border:1px solid #eee}.header-notice{font-size:12px;color:#666;margin:10px 0 0;min-height:1em}

/* v4: taller banner + full-image viewer */
.banner{height:300px;max-height:none;aspect-ratio:auto;object-fit:cover}
@media(max-width:650px){.banner{height:240px;max-height:none;aspect-ratio:auto}}
.item-picture.has-image{cursor:zoom-in}
.item-picture.has-image:focus-visible{outline:2px solid #555;outline-offset:3px}
.image-viewer{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.94);display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none}
.image-viewer.hidden{display:none!important}
.image-viewer img{display:block;max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none;transform-origin:center center;touch-action:none;will-change:transform}
.viewer-close{position:absolute;z-index:2;top:max(12px,env(safe-area-inset-top));right:14px;border:0;color:#fff;background:rgba(30,30,30,.75);width:40px;height:40px;border-radius:50%;font-size:26px;line-height:1;display:grid;place-items:center}
body.viewer-open{overflow:hidden}
