*{box-sizing:border-box}body{margin:0;background:#e8e1cd;color:#283f38;font-family:Arial,'Apple SD Gothic Neo',sans-serif}canvas{display:block;width:100vw;height:100vh}header{position:absolute;top:30px;left:36px;right:36px;display:flex;justify-content:space-between;align-items:center}strong{font-size:32px;letter-spacing:-2px}strong span{display:block;font-size:10px;letter-spacing:3px}button{border:1px solid #bcc2ad;background:#fffbed;padding:12px 18px;border-radius:8px;color:#283f38;cursor:pointer;font:inherit}button:hover{background:#e5edcf}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #dd7349}aside{position:absolute;top:150px;left:36px;pointer-events:none}small{font-size:11px;letter-spacing:2px}h1{font-size:50px;line-height:1.15;letter-spacing:-3px;margin:18px 0}p{line-height:1.7;font-size:14px}.hint{margin-top:36px;font-size:12px}footer{position:absolute;bottom:20px;left:36px;font-size:10px;max-width:65%}dialog{border:0;border-radius:16px;padding:30px;background:#fffbed;color:#283f38;width:420px;max-width:92vw;max-height:85vh;box-shadow:0 20px 100px #21372e55}dialog::backdrop{background:#20392e60;backdrop-filter:blur(5px)}h2{font-size:28px;letter-spacing:-1px}label{display:block;font-size:12px;margin-top:18px}input,select{display:block;width:100%;padding:12px;margin-top:7px;background:#f3f0df;border:1px solid #c7cbb9;border-radius:6px;font:inherit}.primary{background:#2b5041;color:white;width:100%;margin-top:14px}.art{height:160px;background:#e3dbc0;display:grid;place-items:center;font-size:90px;border-radius:10px}.tag{font-size:11px;color:#7c836b}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.close{float:right}.row{display:block;width:100%;text-align:left;margin:8px 0}#pad{position:absolute;bottom:50px;right:25px;text-align:center;touch-action:none}#pad button{margin:3px;min-width:48px}@media(max-width:600px){header{top:18px;left:18px;right:18px}strong{font-size:25px}header button{font-size:11px;padding:10px}aside{left:18px;top:100px}h1{font-size:32px}.hint{display:none}aside p{font-size:11px}footer{left:18px;font-size:9px}}

@media(max-width:600px){header>div{display:flex;gap:3px}header button{padding:9px 6px;font-size:10px}}

#minimap{position:absolute;right:22px;top:100px;width:110px;background:#fffbeddd;border-radius:12px;padding:9px;pointer-events:none}#minimap svg{width:100%}#minimap span{display:block;text-align:center;font-size:9px}@media(max-width:600px){#minimap{width:82px;top:92px;right:15px}}

#construction-notice{position:fixed;z-index:10;top:95px;left:50%;transform:translateX(-50%);padding:14px 22px;background:#fff2c9;color:#43584c;border:2px solid #d4b36b;border-radius:14px;box-shadow:0 6px 22px #354b3425;font-weight:bold;white-space:nowrap;pointer-events:none}

.sale-link{display:block;text-align:center;text-decoration:none;padding:13px 16px;border-radius:8px}.sale-link:hover{background:#416b54}.sale-link:focus-visible{outline:3px solid #dd7349;outline-offset:3px}

#item .item-close-bar{position:sticky;top:8px;z-index:2;height:0;margin:-22px -22px 22px 0}
#item .close{position:absolute;top:0;right:0;float:none;width:36px;height:36px;padding:0;border:0;border-radius:50%;font-size:24px;line-height:1;background:#fffbed;color:#3e5549}
#item .close:hover{background:#eee9d9}

#item .art{overflow:hidden}#item .art canvas{width:100%;height:100%;object-fit:cover}

#item .art.illustrated{height:240px;margin-top:14px;background:#faf2e0;border:1px solid #ded3b9}
#item .art img{display:block;width:100%;height:238px;min-height:0;object-fit:contain;padding:14px}
@media(max-height:700px){#item .art.illustrated{height:180px}#item .art img{height:178px}}

.product-brand{margin:18px 0 5px;font-size:12px;font-weight:700;letter-spacing:1.5px;color:#7b8066}
#item .product-title{margin:0 0 16px;font-size:27px;line-height:1.3}
.product-details{border-top:1px solid #ddd7c4;padding-top:12px;margin-bottom:18px}
.product-details p{margin:6px 0}.product-category{font-size:11px;color:#7b8066}.product-price{font-weight:700}
.bookmark-button{width:100%}
#seller{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;border-radius:0;padding:0;overflow:hidden}
#seller[open]{display:flex;flex-direction:column}
.seller-toolbar{padding:18px 60px 10px 20px;flex-shrink:0;border-bottom:1px solid #ddd7c4}
.seller-toolbar h2{font-size:18px;letter-spacing:-.5px;margin:0}.seller-toolbar p{font-size:11px;margin:5px 0 0;color:#7b8066}
.seller-help{font-size:12px;line-height:1.6;padding:10px 20px;background:#eee9d9;flex-shrink:0}.seller-help a{color:#2b5041}
#seller iframe{display:block;width:100%;flex:1;min-height:0;border:0;background:white}
#seller .close,#login-required .close{position:absolute;top:8px;right:8px;width:36px;height:36px;padding:0;border:0;border-radius:50%;font-size:24px;line-height:1;background:#fffbed;color:#3e5549}
#seller .close:hover,#login-required .close:hover{background:#eee9d9}

#item .art.illustrated{position:relative}
#item .art .thumbnail-preview{position:absolute;inset:0;filter:blur(6px)}
#item .art .thumbnail-pending{opacity:0}

/* Keep browser zoom separate from the 3D canvas gestures. */
html{touch-action:manipulation}
#lobby input,#lobby select{font-size:16px}
dialog{touch-action:pan-y;overscroll-behavior:contain;max-height:85dvh}

/* Empty header space must not swallow taps on the market behind it. */
header{pointer-events:none}header button,header a{pointer-events:auto}
#connection-status{font-size:12px;color:#526b5d;margin:4px 0}
#connection-status[data-state=connected]{color:#356944}

.oauth-button{display:block;width:100%;margin:12px 0;font-weight:700;border-radius:12px;padding:16px}.oauth-google{background:white;color:#333}.oauth-kakao{background:#fee500;color:#191919;border-color:#fee500}.oauth-naver{background:#03a94d;color:white;border-color:#03a94d;padding:4px;min-height:58px;overflow:hidden}.oauth-naver img{display:block;width:100%;height:48px;object-fit:contain}.member-error{color:#a33b32;font-size:14px}#member-status:empty{display:none}#member-status{font-size:13px}#lobby-login{display:block;width:100%;margin-bottom:12px}#login-required{max-width:420px}#login-required>button:not(.close){margin:8px 0}#collection{width:min(560px,94vw)}.saved-products{display:grid;gap:12px}.saved-product{display:flex;align-items:center;text-align:left;width:100%;gap:14px;padding:10px}.saved-product img{width:84px;height:72px;object-fit:contain;border-radius:8px;background:#fffbed}.saved-product strong,.saved-product small{display:block}.saved-product small{margin-top:8px;font-size:12px}.account-admin{display:block;margin-top:20px}#lobby .primary{width:100%}
