*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{color:#000;-webkit-font-smoothing:antialiased;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans KR,sans-serif}.app{background:#fff;flex-direction:column;max-width:480px;height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden}.update-banner{color:#fff;z-index:1000;background:#000;align-items:center;gap:8px;width:100%;max-width:480px;padding:12px 16px;font-size:13px;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0003}.update-banner span{flex:1}.update-banner button{cursor:pointer;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:opacity .15s}.update-banner button:first-of-type{color:#000;background:#fff}.update-banner button:last-of-type{color:#fff;background:0 0;border:1px solid #fff}.update-banner button:active{opacity:.7}.header{border-bottom:1px solid #e5e5e5;flex-shrink:0;justify-content:flex-end;align-items:center;padding:12px 20px;display:flex}.header-count{color:#888;font-variant-numeric:tabular-nums;font-size:13px}.swipe-area{-webkit-user-select:none;user-select:none;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:24px 20px 16px;display:flex;overflow:hidden}.card{will-change:transform;background:#fff;border:1.5px solid #000;border-radius:12px;width:100%;max-width:400px;padding:28px 24px}.card-header-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.card-animate{animation:.3s card-pop}@keyframes card-pop{0%{opacity:.6;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.store-name{letter-spacing:-.5px;word-break:keep-all;flex:1;font-size:26px;font-weight:700;line-height:1.3}.edit-btn{color:#666;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s}.edit-btn:hover{background:#f5f5f5;border-color:#bbb}.edit-btn:active{background:#eee}.divider{background:#e5e5e5;height:1px;margin-bottom:16px}.info-row{align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.label{color:#888;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;min-width:36px;padding-top:2px;font-size:11px;font-weight:600}.value{color:#111;word-break:keep-all;font-size:14px;line-height:1.5}.value.note{color:#444;font-size:13px}.coords-row{border-top:1px solid #f5f5f5;margin-top:8px;padding-top:8px}.coords-value{color:#888;font-family:Courier New,monospace;font-size:12px}.links{gap:8px;margin-top:20px;display:flex}.link-btn{border-radius:8px;flex:1;justify-content:center;align-items:center;padding:10px 12px;font-size:13px;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-flex}.link-btn:active{opacity:.7}.link-btn.naver{color:#fff;background:#03c75a}.link-btn.tmap{color:#fff;cursor:pointer;background:#1e90ff;border:none}.swipe-hint{color:#bbb;align-items:center;gap:8px;margin-top:20px;font-size:13px;display:flex}.hint-arrow{font-size:18px;line-height:1}.hint-text{font-size:12px}.bottom-nav{border-top:1px solid #e5e5e5;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px 20px;display:flex}.nav-btn{cursor:pointer;background:#fff;border:1.5px solid #000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:24px;line-height:1;transition:background .15s,color .15s;display:flex}.nav-btn:hover:not(:disabled){color:#fff;background:#000}.nav-btn:disabled{opacity:.2;cursor:default}.dots{flex-wrap:wrap;flex:1;justify-content:center;gap:5px;max-height:44px;padding:0 8px;display:flex;overflow:hidden}.dot{cursor:pointer;background:#ddd;border:none;border-radius:50%;flex-shrink:0;width:7px;height:7px;padding:0;transition:background .2s,transform .2s}.dot-active{background:#000;transform:scale(1.3)}@media (width>=481px){.app{border-left:1px solid #e5e5e5;border-right:1px solid #e5e5e5;box-shadow:0 0 40px #00000014}}.modal-overlay{z-index:200;background:#00000080;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}@media (width>=481px){.modal-overlay{align-items:center}}.modal{background:#fff;border-radius:16px 16px 0 0;width:100%;max-width:480px;padding:24px 20px 32px;animation:.25s modal-slide-up;box-shadow:0 -4px 24px #0000001f}@media (width>=481px){.modal{border-radius:16px;max-width:420px;animation:.2s modal-fade-in}}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes modal-fade-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.modal-title{letter-spacing:-.3px;font-size:18px;font-weight:700}.modal-close{cursor:pointer;color:#666;background:#f5f5f5;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;transition:background .15s;display:flex}.modal-close:hover{background:#eee}.modal-store-name{color:#333;margin-bottom:12px;font-size:14px;font-weight:600}.modal-desc{color:#666;margin-bottom:12px;font-size:13px;line-height:1.6}.modal-desc-sub{color:#aaa;word-break:break-all;font-family:Courier New,monospace;font-size:11px}.modal-current{background:#f8f8f8;border-radius:8px;align-items:center;gap:8px;margin-bottom:14px;padding:10px 12px;display:flex}.modal-current-label{color:#888;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;font-size:11px;font-weight:600}.modal-current-value{color:#444;font-family:Courier New,monospace;font-size:12px}.modal-input{resize:none;box-sizing:border-box;border:1.5px solid #ddd;border-radius:8px;outline:none;width:100%;padding:12px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .15s}.modal-input:focus{border-color:#000}.modal-error{color:#e53e3e;white-space:pre-line;margin-top:8px;font-size:12px;line-height:1.5}.modal-success{color:#38a169;margin-top:8px;font-size:13px;font-weight:600}.modal-actions{gap:8px;margin-top:16px;display:flex}.modal-btn{cursor:pointer;border:none;border-radius:8px;flex:1;padding:13px;font-size:14px;font-weight:600;transition:opacity .15s}.modal-btn:active{opacity:.7}.modal-btn.cancel{color:#444;background:#f5f5f5}.modal-btn.save{color:#fff;background:#000}
