:root { --ink:#0f172a; --accent:#111827; --line:#e2e8f0; --bg:#f4f7fb; --card:#fff; }
* { box-sizing: border-box; }
html, body { margin:0; padding:0; background:var(--bg); color:var(--ink); font:14px/1.5 "Noto Sans CJK KR","Noto Sans CJK","Malgun Gothic",sans-serif; }
html.is-modal-open, html.is-modal-open body { overflow:hidden; overscroll-behavior:none; }
a { color:inherit; }
.top { display:flex; align-items:center; gap:16px; padding:14px 18px; background:#0b1220; color:#fff; }
.top b { letter-spacing:.08em; font-size:16px; }
.top nav { margin-left:auto; display:flex; gap:12px; font-size:13px; }
.top a { color:#e2e8f0; text-decoration:none; }
.wrap { max-width:880px; margin:0 auto; padding:18px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:16px; overflow:hidden; }
.hero img, .hero video { width:100%; display:block; background:#111; max-height:640px; object-fit:contain; }
.pad { padding:18px; }
.price { font-size:22px; font-weight:700; }
.was { color:#8a8172; text-decoration:line-through; margin-right:8px; font-size:14px; }
.btn, button.btn, input.btn { background:var(--accent); color:#fff; border:0; border-radius:10px; padding:12px 16px; font-weight:700; cursor:pointer; }
.btn.ghost { background:#fff; color:var(--ink); border:1px solid var(--line); }
.btn.block { width:100%; }
label { display:block; margin:12px 0 6px; font-size:13px; font-weight:600; color:#334155; }
input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=submit]):not([type=button]), select, textarea { width:100%; height:42px; border:1px solid #cbd5e1; border-radius:10px; padding:0 12px; font:inherit; background:#fff; color:var(--ink); outline:none; }
textarea { height:auto; min-height:96px; padding:10px 12px; }
input:focus, select:focus, textarea:focus { border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.18); }
.row { display:flex; gap:8px; }
.row > * { flex:1; }
.note { color:#64748b; font-size:12px; }
.list { width:100%; border-collapse:collapse; background:#fff; }
.list th, .list td { border-bottom:1px solid var(--line); padding:10px 8px; text-align:center; font-size:13px; }
.list th { background:#f8fafc; color:#475569; }
.list td.left, .list th.left { text-align:left; }
.list td.num, .list th.num { text-align:right; }
.site-modal { position:fixed; inset:0; background:rgba(0,0,0,.45); display:none; align-items:center; justify-content:center; z-index:50; padding:18px; }
.site-modal.is-open { display:flex; }
.site-modal__box { width:min(420px, 100%); background:#fff; border-radius:16px; overflow:hidden; }
.site-modal__head { display:flex; align-items:center; background:#0b1220; color:#fff; padding:12px 14px; }
.site-modal__head h2 { margin:0; font-size:16px; flex:1; }
.site-modal__x { background:transparent; color:#fff; border:0; cursor:pointer; }
.site-modal__body { padding:18px 16px; white-space:pre-wrap; }
.site-modal__actions { display:flex; justify-content:flex-end; gap:8px; padding:0 16px 16px; }
.upload-dropzone { border:1px dashed #94a3b8; border-radius:12px; padding:14px; background:#f8fafc; }
.upload-dropzone.is-over { background:#eff6ff; border-color:#2563eb; }
.flash { background:#eff6ff; border:1px solid #bfdbfe; color:#1e3a8a; border-radius:10px; padding:10px 12px; margin-bottom:12px; }
.foot { text-align:center; color:#64748b; font-size:12px; padding:24px; }
