:root{--bg:#fafaf9;--fg:#1c1917;--muted:#78716c;--line:#e7e5e4;--card:#fff;--accent:#2563eb;--accent-fg:#fff;--user:#dbeafe;--bot:#f5f5f4;--danger:#b91c1c}@media (prefers-color-scheme:dark){:root{--bg:#1c1917;--fg:#f5f5f4;--muted:#a8a29e;--line:#3f3a36;--card:#262220;--accent:#60a5fa;--accent-fg:#0b1220;--user:#1e3a5f;--bot:#2e2a27;--danger:#f87171}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font-family:system-ui,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}main{max-width:1080px;margin:0 auto;padding:16px 16px 120px}.top{border-bottom:1px solid var(--line);align-items:baseline;gap:12px;padding:14px 16px;display:flex}.brand{font-size:1.15rem;font-weight:800}.muted{color:var(--muted)}.small{font-size:.85rem}.section-title{margin:28px 0 12px;font-size:1.05rem}.grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;display:block;overflow:hidden}.card:hover{border-color:var(--accent)}.card-body{padding:10px 12px 14px}.card-name{font-weight:700}.card-summary{color:var(--muted);margin:2px 0 6px;font-size:.85rem}.card-price{font-weight:700}.art{aspect-ratio:4/3;color:#fff;text-shadow:0 1px 2px #0006;align-items:flex-end;padding:10px;font-weight:700;display:flex}.art-large{aspect-ratio:1;border-radius:12px;font-size:1.1rem}.detail{grid-template-columns:1fr 1fr;gap:28px;margin-top:12px;display:grid}@media (max-width:720px){.detail{grid-template-columns:1fr}}.gallery-nav,.row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.info h1{margin:2px 0 4px;font-size:1.5rem}.price{font-size:1.25rem;font-weight:800}.field{flex-direction:column;gap:4px;margin-top:12px;font-size:.9rem;display:flex}.field select{border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:8px;padding:8px}.panel{border:1px solid var(--line);background:var(--card);border-radius:10px;margin-top:12px;padding:12px}.panel p{margin:4px 0 0}.details{color:var(--muted);padding-left:18px}.notice{color:var(--accent);margin-top:8px;font-size:.9rem}.btn{border:1px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer;font:inherit;border-radius:8px;padding:8px 14px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:700}.btn:disabled{opacity:.5;cursor:default}.chip{border:1px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer;font:inherit;border-radius:999px;padding:4px 10px;font-size:.85rem}.chip.on{border-color:var(--accent);color:var(--accent)}.consent{background:var(--card);border:1px solid var(--line);z-index:30;border-radius:12px;max-width:640px;margin:0 auto;padding:14px 16px;font-size:.9rem;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 6px 24px #0002}.consent p{margin:0 0 10px}.consent-actions{justify-content:flex-end;gap:8px;display:flex}.chat-fab{z-index:20;background:var(--accent);color:var(--accent-fg);font:inherit;cursor:pointer;border:0;border-radius:999px;padding:12px 18px;font-weight:700;position:fixed;bottom:16px;right:16px;box-shadow:0 4px 16px #0003}.chat{z-index:20;background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;width:min(380px,100vw - 32px);height:min(520px,100vh - 120px);display:flex;position:fixed;bottom:72px;right:16px;overflow:hidden;box-shadow:0 8px 32px #0003}.chat-head{border-bottom:1px solid var(--line);padding:12px 14px;font-weight:700}.chat-list{flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow-y:auto}.bubble{white-space:pre-wrap;border-radius:12px;max-width:85%;padding:8px 12px;font-size:.92rem}.bubble.user{background:var(--user);align-self:flex-end}.bubble.assistant{background:var(--bot);align-self:flex-start}.bubble.failed{border:1px solid var(--danger)}.debug{color:var(--muted);margin-top:6px;font-size:.75rem}.chat-form{border-top:1px solid var(--line);gap:8px;padding:10px;display:flex}.chat-form input{border:1px solid var(--line);background:var(--bg);min-width:0;color:var(--fg);font:inherit;border-radius:8px;flex:1;padding:8px 10px}.rate{gap:6px;margin-top:6px;display:flex}.rate .chip{padding:2px 8px;font-size:.8rem}
