:root{--teal: #0f766e;--teal-dark: #115e59;--bg: #f8fafc;--text: #0f172a;--muted: #64748b;--border: #e2e8f0;--radius: 12px}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Pretendard,Apple SD Gothic Neo,Malgun Gothic,sans-serif;-webkit-text-size-adjust:100%}a{color:inherit;text-decoration:none}.app{max-width:640px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;padding-bottom:70px}.app__topbar{display:flex;justify-content:flex-end;padding:8px 16px;padding-top:max(8px,env(safe-area-inset-top,0))}.app__main{flex:1;padding:0 16px}.app__footer{padding:16px;text-align:center;color:var(--muted);font-size:11px}.muted{color:var(--muted);padding:16px}.error{color:#dc2626;padding:16px}.btn{display:inline-block;border:1px solid var(--border);background:#fff;color:var(--text);padding:10px 16px;border-radius:var(--radius);font-size:15px;cursor:pointer}.btn--primary{background:var(--teal);color:#fff;border-color:var(--teal)}.btn--ghost{background:transparent}.btn--lg{font-size:17px;padding:14px 22px;width:100%}.btn:disabled{opacity:.5}.lang-toggle{border:1px solid var(--border);background:#fff;border-radius:999px;width:36px;height:36px;font-weight:600;cursor:pointer}.home__hero{background:linear-gradient(135deg,var(--teal),var(--teal-dark));color:#fff;padding:32px 20px 28px;border-radius:0 0 24px 24px;text-align:center}.home__hero h1{margin:0 0 8px;font-size:24px}.home__tagline{margin:0 0 20px;opacity:.9;font-size:14px}.home__categories{padding:20px}.home__categories h2{font-size:16px;margin:0 0 12px}.tile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.tile{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px;text-align:center;display:flex;flex-direction:column;gap:6px}.tile__icon{font-size:28px}.tile__label{font-weight:600;font-size:15px}.list__header{display:flex;align-items:center;gap:8px;padding:12px 0;flex-wrap:wrap}.list__header h1{font-size:18px;margin:0;flex:1}.list__count{color:var(--muted);font-size:13px}.back{color:var(--teal);font-size:14px}.card-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.card{display:flex;gap:12px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.card[role=button]{cursor:pointer}.card__img{width:88px;height:88px;object-fit:cover;flex-shrink:0;background:#e2e8f0}.card__img--placeholder{display:flex;align-items:center;justify-content:center;font-size:28px}.card__body{padding:10px 12px}.card__title{margin:0 0 4px;font-size:15px}.card__type{display:inline-block;font-size:11px;color:var(--teal);background:#ccfbf1;padding:2px 8px;border-radius:999px;margin-bottom:4px}.card__addr{margin:0;font-size:12px;color:var(--muted)}.search__form{display:flex;flex-direction:column;gap:12px;padding:8px 0 16px}.search__dropdowns{display:grid;grid-template-columns:1fr;gap:8px}.search__field{display:flex;flex-direction:column;gap:4px}.search__label{font-size:12px;color:var(--muted, #777)}.search__select{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:15px;background:#fff}.search__select:disabled{background:#f0f0f0;color:#999}.search__keyword{display:flex;gap:8px}.search__input{flex:1;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);font-size:15px}.search__group{padding:16px 0;border-top:1px solid var(--border)}.search__group-title{font-size:16px;margin:0 0 12px}.near__prompt{padding:24px 0;text-align:center}.near__hint{font-size:13px;margin-top:8px}.near__fallback{display:block;margin-top:16px;font-size:14px;color:var(--accent, #0f766e);text-decoration:none}.near__filter{display:flex;gap:8px;padding:12px 0;align-items:center}.near__filter-label{font-size:12px;color:var(--muted, #777);white-space:nowrap}.near__filter-select{flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:15px;background:#fff}#near-map{width:100%;height:45vh;min-height:240px;border-radius:var(--radius);border:1px solid var(--border);margin-bottom:12px}.near__map-notice{font-size:13px;color:var(--muted, #777);padding:8px 0;margin-bottom:12px}.terms{max-width:720px;margin:0 auto}.terms__body{padding:0 0 32px;line-height:1.7}.terms__title{font-size:22px;margin:16px 0 0}.terms__title-en{font-size:14px;color:var(--muted, #777);margin:4px 0 24px}.terms__body article{margin:0 0 24px;padding-top:16px;border-top:1px solid var(--border)}.terms__body article:first-of-type{border-top:none;padding-top:0}.terms__body h3{font-size:16px;margin:0 0 8px}.terms__body p{font-size:14px;margin:8px 0}.terms__body ol{margin:8px 0;padding-left:20px}.terms__body ol ol{margin:4px 0}.terms__body li{font-size:14px;margin:4px 0}.terms__body ul{margin:8px 0;padding-left:20px}.terms__en{font-size:13px;color:var(--muted, #777);font-style:italic;margin:4px 0 12px}.terms__table-en{font-style:normal}.terms__table{width:100%;border-collapse:collapse;margin:12px 0;font-size:13px}.terms__table th,.terms__table td{border:1px solid var(--border);padding:8px;text-align:left;vertical-align:top}.terms__table th{background:#f5f5f5;font-weight:600}.terms__supplementary{margin:32px 0 0;padding-top:16px;border-top:2px solid var(--border)}.terms__supplementary h3{font-size:16px;margin:0 0 8px}.app__footer a{color:var(--muted, #777);text-decoration:underline}.detail__hero{width:100%;height:200px;object-fit:cover;border-radius:var(--radius);cursor:zoom-in}.detail__section{padding:16px 0;border-top:1px solid var(--border)}.detail__section h2{font-size:14px;color:var(--muted);margin:0 0 8px}.detail__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0;border-top:1px solid var(--border)}.field__label{font-size:12px;color:var(--muted)}.field__value{margin:2px 0 0;font-size:14px}.detail__overview{font-size:14px;line-height:1.6;white-space:pre-line}.detail__gallery{display:flex;flex-wrap:wrap;gap:8px}.detail__gallery img{width:100px;height:100px;object-fit:cover;border-radius:8px;cursor:zoom-in}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000e6;display:flex;align-items:center;justify-content:center;padding:16px}.lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}.lightbox__close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:none;background:#fff3;color:#fff;font-size:18px;cursor:pointer}.pet-badge{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:var(--radius);border:1px solid var(--border)}.pet-badge--always{background:#ecfdf5;border-color:#a7f3d0}.pet-badge--conditional{background:#fffbeb;border-color:#fde68a}.pet-badge--unknown{background:#f1f5f9}.pet-badge__icon{font-size:20px}.pet-badge__label{font-weight:700;font-size:14px}.pet-badge__notes{font-size:12px;color:var(--muted);margin-top:2px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;max-width:640px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid var(--border);padding:6px 0 env(safe-area-inset-bottom,0);z-index:10}.bottom-nav--six{grid-template-columns:repeat(6,1fr)}.bottom-nav__item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;color:var(--muted);font-size:10px}.bottom-nav__item.is-active{color:var(--teal)}.bottom-nav__icon{font-size:20px}@media (min-width: 640px){.tile-grid,.search__dropdowns{grid-template-columns:repeat(3,1fr)}}.auth{padding:0 16px}.auth__form{display:flex;flex-direction:column;gap:12px;max-width:400px;margin:0 auto}.auth__form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.auth__form input{padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);font-size:15px;color:var(--text)}.auth__alt{text-align:center;color:var(--teal);font-size:14px;margin-top:8px}.saved__row{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:12px}.saved__link{flex:1}.saved__title{font-weight:600}.saved__remove{border:none;background:transparent;color:var(--muted);font-size:16px;padding:4px 8px}.bookmark-toggle{margin-top:8px}.reviews__summary{margin:4px 0 12px}.reviews__avg{font-weight:700;color:var(--teal);font-size:18px}.review-list{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:10px}.review{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.review__head{display:flex;gap:8px;align-items:center;margin-bottom:4px}.review__stars{color:#f59e0b;letter-spacing:-1px}.review__tag{font-size:11px;background:#f1f5f9;padding:2px 8px;border-radius:999px}.review__comment{margin:4px 0;font-size:14px;line-height:1.5}.review__time{color:var(--muted);font-size:11px}.review-form{display:flex;flex-direction:column;gap:10px;background:#f8fafc;border:1px solid var(--border);border-radius:var(--radius);padding:12px}.review-form h3{margin:0;font-size:14px}.review-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.review-form input,.review-form select,.review-form textarea{padding:10px;border:1px solid var(--border);border-radius:8px;font-size:14px;color:var(--text)}.stars{display:flex;gap:2px}.star{background:none;border:none;font-size:22px;color:#cbd5e1;cursor:pointer;padding:0}.star.is-on{color:#f59e0b}.itineraries{padding:0 16px}.itinerary-form{display:flex;gap:8px;margin:8px 0 16px}.trip-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.trip{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.trip__head{display:flex;align-items:center;gap:8px;padding:10px 12px}.trip__toggle{background:none;border:none;font-weight:600;font-size:15px;cursor:pointer;flex:1;text-align:left}.trip__dates{font-size:12px;color:var(--muted)}.trip__delete{font-size:14px}.trip__body{padding:0 12px 12px;border-top:1px solid var(--border)}.trip__day{margin:8px 0}.trip__day h4{margin:0 0 4px;font-size:13px;color:var(--teal)}.trip__day ul{list-style:none;padding:0;margin:0}.trip__item{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border)}.trip__item a{flex:1}.trip__hint{font-size:12px;margin-top:8px}.add-to-trip{margin-top:8px}.add-to-trip__panel{margin-top:8px;padding:10px;background:#f8fafc;border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:8px}.add-to-trip__panel label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.add-to-trip__panel select,.add-to-trip__panel input{padding:8px;border:1px solid var(--border);border-radius:6px}.mypage{padding:0 16px}.mypage__profile{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:16px;text-align:center;display:flex;flex-direction:column;gap:8px;align-items:center}.mypage__email{font-weight:700}.mypage__links{margin-top:16px;display:flex;flex-direction:column;gap:10px}.mypage__link{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;font-size:15px}.install-prompt{position:relative;display:flex;align-items:center;gap:8px;margin:0 16px 12px;padding:12px 16px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 4px #0000000f}.install-prompt__btn{flex:1}.install-prompt__dismiss{background:none;border:none;font-size:22px;line-height:1;color:var(--muted);cursor:pointer;padding:0 4px}.install-prompt--ios{flex-direction:column;align-items:stretch;gap:8px}.install-prompt__header{display:flex;justify-content:space-between;align-items:center}.install-prompt__steps{margin:0;padding-left:20px;font-size:14px;line-height:1.6;color:#333}.install-prompt__steps li{margin-bottom:4px}.login-prompt{display:flex;flex-direction:column;gap:8px;padding:12px 16px;background:#f0fdfa;border:1px solid var(--teal);border-radius:var(--radius);margin:8px 0}.login-prompt__reason{margin:0;font-size:14px;color:#333}.login-prompt__btn{align-self:flex-start;text-decoration:none;display:inline-block}.admin{padding:0 16px}.admin__tabs{display:flex;gap:8px;margin:12px 0;border-bottom:1px solid var(--border)}.admin__tab{padding:8px 16px;border:none;background:none;cursor:pointer;font-size:14px;color:var(--muted);border-bottom:2px solid transparent}.admin__tab--active{color:var(--teal);border-bottom-color:var(--teal);font-weight:600}.admin__filters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;align-items:center}.admin__filters select{padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius)}.admin__filters label{font-size:13px;display:flex;align-items:center;gap:4px}.admin__venue-list{list-style:none;padding:0;margin:12px 0}.admin__venue-item{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;background:#fff}.admin__venue-info{flex:1;font-size:14px}.admin__venue-actions{display:flex;gap:4px}.admin__venue-actions .btn{padding:4px 10px;font-size:13px}.pet-badge{font-size:12px;font-weight:600}.pet-badge--always{color:#16a34a}.pet-badge--conditional{color:#d97706}.admin-form{display:flex;flex-direction:column;gap:12px}.admin-form label{display:flex;flex-direction:column;gap:4px;font-size:14px}.admin-form input,.admin-form select,.admin-form textarea{padding:8px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px}.admin-form textarea{resize:vertical}.admin-form fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:12px}.admin-form legend{font-size:14px;font-weight:600;padding:0 4px}.admin-form__row{display:flex;gap:8px}.admin-form__row label{flex:1}.admin-form__coords{display:flex;gap:8px;margin-top:8px}.admin-form__coords label{flex:1}.admin-form__map{height:200px;background:#f0fdfa;border:1px dashed var(--teal);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;cursor:pointer;margin-bottom:8px}.admin-form__map-hint{font-size:13px;padding:8px}.admin-form__images{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.admin-form__image{position:relative}.admin-form__image img{width:80px;height:80px;object-fit:cover;border-radius:var(--radius)}.admin-form__remove-img{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;border:none;border-radius:50%;width:20px;height:20px;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center}.admin-form__add-image{display:flex;gap:4px}.admin-form__add-image input{flex:1}.admin-form__actions{display:flex;gap:8px;margin-top:12px}.admin-form__actions .btn{flex:1}.admin__moderation{margin-top:12px}.admin__report-list{list-style:none;padding:0}.admin__report-item{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;background:#fff;font-size:14px}.admin__report-actions{display:flex;gap:4px}.admin__report-actions .btn{padding:4px 10px;font-size:13px}.admin__duplicates{margin-top:12px}.admin__duplicate-list{list-style:none;padding:0}.admin__duplicate-item{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;background:#fff;font-size:14px}.admin__duplicate-info{display:flex;flex-direction:column;gap:4px}.admin__duplicate-actions{display:flex;gap:4px}.admin__duplicate-actions .btn{padding:4px 10px;font-size:13px}.admin__filters input[type=range]{margin-left:8px;vertical-align:middle}.offline-banner{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fef3c7;color:#92400e;border-bottom:1px solid #fcd34d;font-size:13px}.offline-banner__icon{font-size:16px}.offline-banner__text{flex:1}.offline-banner__sync{padding:4px 10px!important;font-size:12px!important;border:1px solid #92400e!important;color:#92400e!important}.offline-banner__sync:disabled{opacity:.5;cursor:not-allowed}
