:root{--bg: #04131f;--panel: rgba(6, 24, 38, .86);--ink: #f2f7fa;--muted: #9fb3c2;--accent: #35c4ff;--brand: #35c4ff;--local: #ff9f43;--public: #2ecc71;--warn: #ffd166;--danger: #ff6b6b;--radius: 14px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font-family:-apple-system,Apple SD Gothic Neo,Malgun Gothic,Noto Sans KR,system-ui,sans-serif;overscroll-behavior:none;-webkit-user-select:none;user-select:none}button{font:inherit;color:inherit}[hidden]{display:none!important}#app{position:fixed;inset:0;overflow:hidden;background:#000}#camera-view{position:absolute;inset:0}#ar-video,#ar-canvas,#ar-fallback-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}#ar-fallback-bg{z-index:0}#ar-canvas{pointer-events:none;z-index:1}#ar-marker{position:absolute;inset:0;z-index:1}#ar-marker a-scene,#ar-marker video,#ar-marker canvas{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover}.chip{border:1px solid rgba(255,255,255,.2);background:var(--panel);border-radius:999px;padding:7px 12px;font-size:13px}.btn{display:block;width:100%;padding:15px 18px;border:0;border-radius:var(--radius);background:var(--accent);color:#031521;font-weight:700;font-size:16px;margin-top:10px}.btn--ghost{background:#ffffff1a;color:var(--ink)}.btn--warn{background:var(--warn)}.btn:disabled{opacity:.45}.card{background:var(--panel);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:16px;margin-bottom:12px}h1{font-size:26px;line-height:1.25;margin:8px 0 12px}h2{font-size:19px;margin:0 0 8px}p{color:var(--muted);line-height:1.55;margin:0 0 12px}.eyebrow{font-size:12px;letter-spacing:.18em;color:var(--accent);font-weight:700}.spacer{flex:1}.alert-banner{position:absolute;top:0;left:0;right:0;z-index:25;padding:calc(var(--safe-top) + 10px) 16px 10px;background:var(--warn);color:#1b1300;font-weight:700;font-size:14px;display:flex;gap:8px;align-items:center}.alert-banner.level-danger{background:var(--danger);color:#fff}.status-bar{position:absolute;top:calc(var(--safe-top) + 12px);left:12px;right:12px;z-index:11;display:flex;gap:8px;align-items:center;pointer-events:none}.status-bar>*{pointer-events:auto}.status-bar .pill{background:var(--panel);border-radius:999px;padding:8px 12px;font-size:13px;border:0}.status-bar .pill--hint{flex:1;color:var(--muted);text-align:center}.alert-banner:not([hidden])~.status-bar{top:calc(var(--safe-top) + 58px)}.guide-overlay{position:absolute;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;pointer-events:none;padding:24px}.guide-overlay .msg{background:var(--panel);border-radius:var(--radius);padding:12px 16px;font-size:14px;color:var(--ink);text-align:center;max-width:320px}.guide-overlay .frame{position:absolute;inset:22% 12%;border:3px dashed rgba(53,196,255,.8);border-radius:18px}.content-label{position:absolute;left:12px;right:12px;bottom:calc(var(--safe-bottom) + 132px);z-index:9;background:var(--panel);border-radius:var(--radius);padding:10px 12px;display:flex;align-items:center;gap:10px;transition:opacity .3s}.content-label .tag{font-size:11px;font-weight:800;padding:3px 8px;border-radius:6px;color:#031521;flex:0 0 auto}.tag--brand{background:var(--brand)}.tag--local{background:var(--local)}.tag--public{background:var(--public)}.content-label .title{flex:1;font-size:14px;font-weight:700}.content-label .cta{flex:0 0 auto;border-radius:999px;border:0;background:var(--warn);color:#1b1300;font-weight:700;padding:8px 12px;font-size:13px}.content-dots{position:absolute;left:0;right:0;bottom:calc(var(--safe-bottom) + 116px);z-index:9;display:flex;justify-content:center;gap:6px}.content-dots button{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:#ffffff59}.content-dots button.is-active{background:var(--accent);width:20px;border-radius:4px}.pitch-control{position:absolute;right:10px;top:50%;transform:translateY(-50%);z-index:9;display:flex;flex-direction:column;align-items:center;gap:8px}.pitch-control label{font-size:11px;color:var(--muted)}.pitch-control input[type=range]{writing-mode:vertical-lr;direction:rtl;height:160px;width:28px;accent-color:var(--accent)}.pitch-control .chip{font-size:12px;padding:6px 10px}.action-bar{position:absolute;left:0;right:0;bottom:0;z-index:10;display:flex;align-items:flex-end;justify-content:space-around;padding:10px 8px calc(var(--safe-bottom) + 34px);background:linear-gradient(transparent,#000000bf)}.action{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:0;font-size:11px;color:var(--ink);min-width:64px}.action .ico{font-size:22px;line-height:1}.action--shutter{min-width:76px}.action--shutter .shutter{display:block;width:68px;height:68px;border-radius:50%;background:#fff;border:5px solid rgba(255,255,255,.35);background-clip:padding-box;transition:transform .1s}.action--shutter:active .shutter{transform:scale(.9)}.badge{position:absolute;top:-4px;right:8px;background:var(--warn);color:#1b1300;font-style:normal;font-weight:800;font-size:10px;border-radius:999px;padding:1px 6px}.ai-badge{position:absolute;left:50%;transform:translate(-50%);bottom:calc(var(--safe-bottom) + 8px);z-index:30;font-size:11px;letter-spacing:.06em;padding:4px 11px;border-radius:999px;background:#0009;color:#d9e6ef;border:1px solid rgba(255,255,255,.2);pointer-events:none}.sheet{position:absolute;z-index:20;background:var(--panel);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;flex-direction:column;overflow-y:auto}.sheet--full{inset:0;padding:calc(var(--safe-top) + 24px) 20px calc(var(--safe-bottom) + 48px);background:var(--bg)}.sheet--bottom{left:0;right:0;bottom:0;max-height:78%;border-radius:20px 20px 0 0;padding:14px 16px calc(var(--safe-bottom) + 44px)}.sheet-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.sheet-head h2{flex:1;margin:0;font-size:16px}.steps{list-style:none;padding:0;margin:0 0 16px}.steps li{display:flex;gap:10px;margin:10px 0;color:var(--muted);line-height:1.5}.steps li:before{content:"✓";color:var(--accent);font-weight:700}.slot-card{display:flex;gap:14px;align-items:center;cursor:pointer}.slot-card .thumb{width:56px;height:56px;border-radius:12px;flex:0 0 auto;background:linear-gradient(135deg,var(--accent),#0b5f8a);display:grid;place-items:center;font-size:26px}.slot-card small{color:var(--muted)}.preview{width:100%;border-radius:var(--radius);background:#000}.coupon{border:2px dashed var(--accent);text-align:center;padding:18px 14px}.coupon .shop{font-size:16px;font-weight:800}.coupon .benefit{font-size:22px;font-weight:800;color:var(--warn);margin:6px 0}.coupon .qr{width:180px;height:180px;margin:10px auto;background:#fff;border-radius:10px;padding:8px}.coupon .code{letter-spacing:.12em;font-weight:700}.coupon-list .row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:14px}.chat-log{flex:1;overflow-y:auto;min-height:160px;max-height:42vh;padding:4px 0}.msg{max-width:86%;padding:10px 13px;border-radius:14px;margin:6px 0;font-size:14px;line-height:1.5;white-space:pre-wrap}.msg--user{margin-left:auto;background:var(--accent);color:#031521}.msg--ai{background:#ffffff14}.msg--ai.is-pending{color:var(--muted)}.msg--sys{font-size:12px;color:var(--muted);text-align:center;max-width:100%}.chat-chips{display:flex;gap:6px;padding:6px 0;overflow-x:auto}.chat-form{display:flex;gap:8px;padding-top:8px}.chat-form input{flex:1;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#00000040;color:var(--ink);padding:12px 14px;font-size:15px}.chat-form button{border-radius:999px;border:0;background:var(--accent);padding:0 16px;font-weight:700;color:#031521}.shutter-flash{position:absolute;inset:0;z-index:40;background:#fff;animation:flash .25s ease-out forwards;pointer-events:none}@keyframes flash{0%{opacity:.9}to{opacity:0}}.toast{position:absolute;top:calc(var(--safe-top) + 64px);left:50%;transform:translate(-50%);z-index:50;background:var(--warn);color:#1b1300;padding:10px 16px;border-radius:999px;font-size:14px;max-width:90%;text-align:center}body.demo-mode .pitch-control input{height:90px}
