
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Lexend',sans-serif;background:#f8f6f3;min-height:100vh;color:#2c2420}
.top-bar{position:sticky;top:0;z-index:50;background:rgba(248,246,243,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,0,0,.04);padding:14px 24px;display:flex;align-items:center;gap:14px}
.back-btn{width:34px;height:34px;border-radius:50%;border:1px solid rgba(0,0,0,.08);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s}
.back-btn:hover{background:rgba(0,0,0,.04)}
.top-title{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;color:#2c2420;flex:1;letter-spacing:-.5px}
.top-count{font-size:11px;color:#a09890;font-weight:400;letter-spacing:.5px}

/* Collection Icons */
.hero-msg{text-align:center;padding:24px 24px 4px;max-width:1200px;margin:0 auto}
.hero-msg p{font-family:'Cormorant Garamond',serif;font-size:15px;font-weight:400;line-height:1.9;letter-spacing:-.2px;background:linear-gradient(135deg,#b8a080,#8b7355,#a08868);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-msg p:first-child{font-size:13px;opacity:.7}
.hero-msg em{font-style:normal;font-weight:700}
.collection-bar{display:flex;gap:16px;padding:20px 24px 8px;max-width:1200px;margin:0 auto;justify-content:center;flex-wrap:wrap}
.col-icon{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;padding:12px 20px;border-radius:16px;border:2px solid transparent;transition:.3s;min-width:100px}
.col-icon:hover{background:rgba(0,0,0,.03)}
.col-icon.active{border-color:#2c2420;background:rgba(44,36,32,.04)}
.col-icon .icon-circle{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;transition:.3s}
.col-icon .icon-label{font-size:12px;font-weight:600;color:#6b5c4e;letter-spacing:-.3px;white-space:nowrap}
.col-icon .icon-count{font-size:10px;color:#a09890;font-weight:300}
.col-icon.active .icon-label{color:#2c2420}
.col-all .icon-circle{background:linear-gradient(135deg,#f0e6d6,#e8d5c4);color:#8b6914}
.col-building .icon-circle{background:linear-gradient(135deg,#dce8f5,#c4d4e8);color:#4a6fa5}
.col-japanimation .icon-circle{background:linear-gradient(135deg,#e8ddf0,#d4c4e8);color:#6b4a8b}
.col-korean .icon-circle{background:linear-gradient(135deg,#f0e8d6,#e8d8b8);color:#8b7a4a}
.col-fairytale .icon-circle{background:linear-gradient(135deg,#f0d6d6,#e8c4c4);color:#8b4a5c}
.col-witty .icon-circle{background:linear-gradient(135deg,#e6f0d6,#d4e8c4);color:#5c8b4a}
.col-croquis .icon-circle{background:linear-gradient(135deg,#f5e6d0,#e8d4b8);color:#8b6b3e}
.tag-bar{display:none;gap:6px;padding:4px 24px 8px;max-width:1200px;margin:0 auto;justify-content:center;flex-wrap:wrap}
.tag-bar.visible{display:flex}
.tag-chip{padding:5px 12px;border-radius:16px;border:1px solid rgba(0,0,0,.08);background:#fff;font-size:11px;color:#6b5c4e;cursor:pointer;transition:.2s}
.tag-chip:hover{background:rgba(0,0,0,.03)}
.tag-chip.active{background:#2c2420;color:#fff;border-color:#2c2420}

.grid-wrap{max-width:1200px;margin:0 auto;padding:8px 24px 24px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
@media(max-width:640px){
  .grid{grid-template-columns:repeat(3,1fr);gap:8px}
  .collection-bar{gap:8px;padding:12px 12px 4px;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start}
  .col-icon{padding:8px 12px;min-width:70px}
  .col-icon .icon-circle{width:44px;height:44px;font-size:20px}
  .col-icon .icon-label{font-size:10px}
  .col-icon .icon-count{font-size:9px}
}
.card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.04);transition:transform .25s,box-shadow .25s;cursor:pointer;border:1px solid rgba(0,0,0,.04)}
.card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.card img{width:100%;aspect-ratio:1;object-fit:cover;display:block;background:#f0ece6}
.card-price{padding:6px 8px;text-align:center;font-family:'Cormorant Garamond',serif;font-size:14px;font-weight:600;color:#6b5c4e}
/* card collection badge */
.card-badge{position:absolute;top:6px;left:6px;font-size:14px;background:rgba(255,255,255,.85);border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center}
.card{position:relative}

/* Modal */
.modal-overlay{display:none;position:fixed;inset:0;z-index:100;background:rgba(20,18,15,.75);backdrop-filter:blur(8px);justify-content:center;align-items:center}
.modal-overlay.active{display:flex}
.modal{background:#faf8f5;border-radius:20px;max-width:1280px;width:calc(100vw - 56px);height:min(88vh,860px);overflow:hidden;position:relative;box-shadow:0 32px 90px rgba(0,0,0,.38);display:flex;flex-direction:column}
.studio-header{height:64px;flex:0 0 64px;padding:0 22px 0 26px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(0,0,0,.07);background:#fff}
.studio-mark{width:34px;height:34px;border-radius:10px;background:#2c2420;color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px}
.studio-heading{min-width:0;flex:1}
.studio-title{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:21px;line-height:1;color:#2c2420}
.studio-subtitle{font-size:9px;color:#9a8d82;margin-top:5px;letter-spacing:.03em}
.modal-close{width:34px;height:34px;border-radius:10px;border:1px solid #ded8d1;background:#faf8f5;cursor:pointer;font-size:14px;color:#8a7e74;display:flex;align-items:center;justify-content:center;transition:.18s}
.modal-close:hover{background:#2c2420;color:#fff;border-color:#2c2420}
.modal-workspace{display:grid;grid-template-columns:minmax(0,1fr) 420px;flex:1;min-height:0}
.preview-pane{background:#f7f4ef;padding:22px;min-width:0;overflow:auto;display:flex;flex-direction:column;gap:14px}
.preview-toolbar{display:flex;align-items:center;gap:10px;color:#5f554d}
.preview-toolbar-title{font-size:11px;font-weight:600;flex:1}
.preview-hint{font-size:9px;color:#8a7e74;background:#ebe5dd;padding:5px 9px;border-radius:999px}
.preview-reset{display:none;border:1px solid #d6d0c8;background:#fff;color:#665d56;font-size:9px;padding:5px 9px;border-radius:7px;cursor:pointer}
.preview-pane.focus-mode .preview-reset{display:block}
.controls-pane{background:#f7f4ef;border-left:1px solid rgba(0,0,0,.08);padding:16px 18px 0;overflow-y:auto;min-width:0}
.controls-pane::-webkit-scrollbar,.preview-pane::-webkit-scrollbar{width:8px;height:8px}
.controls-pane::-webkit-scrollbar-thumb{background:#cfc6bc;border-radius:99px;border:2px solid #f7f4ef}
.preview-pane::-webkit-scrollbar-thumb{background:#cfc6bc;border-radius:99px;border:2px solid #f7f4ef}
.modal-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;align-items:start;flex:1}
.modal-img-wrap{position:relative;display:flex;flex-direction:column;gap:6px}
.modal-img-wrap img{width:100%;height:clamp(300px,48vh,520px);object-fit:contain;border-radius:12px;background:#fff;border:1px solid rgba(255,255,255,.09);cursor:zoom-in;transition:box-shadow .2s,transform .2s}
.modal-img-wrap img:hover{box-shadow:0 14px 36px rgba(0,0,0,.28);transform:translateY(-1px)}
.modal-img-wrap .img-label{position:absolute;top:10px;left:10px;background:rgba(32,30,28,.86);color:#f8f6f3;font-size:10px;font-weight:600;padding:5px 10px;border-radius:7px;letter-spacing:.4px;z-index:2;backdrop-filter:blur(8px)}
.preview-pane.focus-mode .modal-images{grid-template-columns:1fr}
.preview-pane.focus-mode .modal-img-wrap:not(.focused){display:none}
.preview-pane.focus-mode .modal-img-wrap.focused img{height:clamp(520px,68vh,720px);cursor:zoom-out}
.modal-msg{background:#ebe5dd;border-radius:10px;padding:11px 14px;margin:0 0 10px;text-align:center;font-size:10px;color:#6b5c4e;line-height:1.65;font-family:'Lexend',sans-serif;font-weight:300}
.modal-msg b{font-weight:600;color:#2c2420}
.modal-btns{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap;position:sticky;bottom:0;background:linear-gradient(to bottom,rgba(247,244,239,0),#f7f4ef 12px);padding:20px 0 16px;z-index:4}
.buy-btn{padding:9px 16px;border-radius:8px;border:none;font-size:11px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;transition:.2s;flex:1;min-width:0;letter-spacing:.3px}
.buy-btn:hover{opacity:.85}
.btn-download{background:transparent;color:#6b5c4e;border:1px solid #d6d0c8;flex:0 0 100%;margin-top:2px}
#dl-color{height:44px;background:#fff;color:#5f554d;border-color:#d7d0c8}
#dl-sketch{height:44px;background:#2c2420;color:#fff;border-color:#2c2420}
.dl-divider{text-align:center;color:#c4bdb4;font-size:10px;margin:8px 0 2px;font-weight:400;letter-spacing:1px;text-transform:uppercase}
.load-more{text-align:center;padding:30px}
.spinner{display:inline-block;width:24px;height:24px;border:2px solid rgba(44,36,32,.08);border-top-color:#6b5c4e;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.end-msg{text-align:center;padding:20px;color:#a09890;font-family:'Cormorant Garamond',serif;font-size:14px;font-style:italic}
.admin-delete{position:absolute;top:18px;right:68px;width:28px;height:28px;border-radius:50%;border:1px solid rgba(220,38,38,.2);background:#fff;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:.2s;opacity:.5;z-index:5}
.admin-delete:hover{opacity:1;background:rgba(220,38,38,.08)}

/* Sketch Lab — compact, Photoshop-style controls */
.sketch-editor{margin:10px 0;padding:12px 14px;background:#f0ece6;border-radius:12px;display:flex;flex-direction:column;gap:9px}
.sketch-editor-head{display:flex;align-items:center;gap:8px}
.sketch-editor-title{font-size:12px;font-weight:700;color:#2c2420;flex:1}
.sketch-save-note{font-size:9px;color:#8a7e74;background:rgba(255,255,255,.58);padding:3px 7px;border-radius:999px}
.sketch-status{font-size:10px;color:#8a7e74;min-height:14px;line-height:1.4}
.sketch-status.ready{color:#2f7a52}.sketch-status.warn{color:#a05c16}
.sketch-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.sketch-preset,.curve-preset{border:1px solid #d6d0c8;background:#fff;color:#5f554d;border-radius:7px;padding:6px 4px;font-size:9px;font-weight:600;cursor:pointer;transition:.18s}
.sketch-preset:hover,.curve-preset:hover{border-color:#8a7e74;background:#faf8f5}
.adjustment-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px}
.adjustment-row{display:grid;grid-template-columns:55px 1fr 34px;align-items:center;gap:6px;min-width:0}
.adjustment-row label{font-size:9px;color:#6b5c4e;white-space:nowrap}
.adjustment-row input[type=range]{width:100%;min-width:0;accent-color:#77685c}
.adjustment-value{font-size:9px;color:#6b5c4e;text-align:right;font-variant-numeric:tabular-nums}
.levels-row{display:grid;grid-template-columns:55px 1fr;align-items:center;gap:6px}
.curve-editor{display:grid;grid-template-columns:1fr 108px;gap:8px;align-items:stretch}
.curve-stage{position:relative;height:96px;border-radius:8px;overflow:hidden;border:1px solid #d4cec7;background:#fff}
#curve-canvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}
.curve-actions{display:flex;flex-direction:column;gap:5px}
.curve-label{font-size:9px;color:#6b5c4e;margin-bottom:1px}
.editor-actions{display:flex;justify-content:space-between;gap:6px}
.editor-action{font-size:9px;padding:5px 10px;border:1px solid #ccc;border-radius:7px;background:#fff;color:#665d56;cursor:pointer}
.sketch-preview-loading{background:linear-gradient(100deg,#f4f1ed 30%,#fff 50%,#f4f1ed 70%)!important;background-size:220% 100%!important;animation:sketchShimmer 1.15s infinite linear}
@keyframes sketchShimmer{to{background-position-x:-220%}}
.controls-pane .sketch-editor{margin:0;padding:0;background:transparent;border-radius:0;gap:10px}
.controls-pane .adjustment-grid{grid-template-columns:1fr;gap:7px}
.controls-pane .adjustment-row{grid-template-columns:78px 1fr 36px;gap:8px}
.controls-pane .adjustment-row label{font-size:10px}
.controls-pane .curve-editor{grid-template-columns:1fr;gap:7px}
.controls-pane .curve-stage{height:138px}
.controls-pane .curve-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.controls-pane .curve-label{grid-column:1/-1}
.controls-pane .sketch-presets{gap:6px}
.controls-pane .sketch-preset{padding:7px 3px}
@media(max-width:1050px){
  .modal{width:calc(100vw - 32px);height:94vh}
  .modal-workspace{grid-template-columns:1fr;overflow-y:auto}
  .preview-pane{overflow:visible;flex:0 0 auto}
  .controls-pane{overflow:visible;border-left:0;border-top:1px solid rgba(0,0,0,.08);padding-bottom:0}
  .modal-img-wrap img{height:clamp(280px,38vh,430px)}
  .preview-pane.focus-mode .modal-img-wrap.focused img{height:clamp(420px,58vh,620px)}
}
@media(max-width:640px){
  .modal-overlay{align-items:stretch}
  .modal{width:100vw;height:100dvh;max-height:none;border-radius:0}
  .studio-header{height:56px;flex-basis:56px;padding:0 12px 0 14px}
  .studio-mark{width:30px;height:30px}.studio-title{font-size:18px}.studio-subtitle{display:none}
  .preview-pane{padding:12px;gap:10px}
  .preview-hint{display:none}
  .modal-images{grid-template-columns:1fr;gap:12px}
  .modal-img-wrap img{height:auto;max-height:62vh;aspect-ratio:4/3}
  .preview-pane.focus-mode .modal-img-wrap.focused img{height:auto;max-height:72vh}
  .controls-pane{padding:14px 12px 0}
  .sketch-presets{grid-template-columns:repeat(2,1fr)}
  .controls-pane .adjustment-row{grid-template-columns:72px 1fr 34px}
  .controls-pane .curve-actions{grid-template-columns:repeat(2,1fr)}
}
