/* 생성물: node scripts/build-icons-css.mjs (원본 brand/icons/sprite.svg). 손으로 고치지 않는다. */
/* 아이콘은 CSS 마스크라 글자색(currentColor)을 따른다. 크기 ic-sm 16 · 기본 20 · ic-lg 26. 아이콘만 두지 않고 늘 글자 라벨과 함께 쓴다. */
.ic { display: inline-block; flex: 0 0 auto; width: 20px; height: 20px; vertical-align: -4px; background-color: currentColor; -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; }
.ic-sm { width: 16px; height: 16px; vertical-align: -3px; }
.ic-lg { width: 26px; height: 26px; vertical-align: -7px; }
.ic-now { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.22 5.89A6.5 6.5 0 1 0 18.11 9.78' fill='none' stroke='currentColor' stroke-width='2.6' stroke-linecap='round'/%3E%3Ccircle cx='16.7' cy='7.3' r='2.7' fill='currentColor'/%3E%3C/svg%3E"); }
.ic-list { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 6.5h16M4 12h9M4 17.5h13' fill='none' stroke='currentColor' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ic-bell { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 16.5V11a6 6 0 0 1 12 0v5.5l1.6 2H4.4z' fill='none' stroke='currentColor' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M10 21h4' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ic-more { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='4' width='6.5' height='6.5' rx='1.8' fill='none' stroke='currentColor' stroke-width='2'/%3E%3Crect x='13.5' y='4' width='6.5' height='6.5' rx='1.8' fill='none' stroke='currentColor' stroke-width='2'/%3E%3Crect x='4' y='13.5' width='6.5' height='6.5' rx='1.8' fill='none' stroke='currentColor' stroke-width='2'/%3E%3Crect x='13.5' y='13.5' width='6.5' height='6.5' rx='1.8' fill='none' stroke='currentColor' stroke-width='2'/%3E%3C/svg%3E"); }
.ic-clock { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8.5' fill='none' stroke='currentColor' stroke-width='2'/%3E%3Cpath d='M12 7.5V12l3 2' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ic-walk { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='8.5' cy='8' rx='2.6' ry='3.8' fill='none' stroke='currentColor' stroke-width='2'/%3E%3Cellipse cx='15.5' cy='15' rx='2.6' ry='3.8' fill='none' stroke='currentColor' stroke-width='2'/%3E%3Cpath d='M7.5 14.5h2M14.5 21.2h2' stroke='currentColor' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ic-indoor { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.5 11 12 4l8.5 7M6 9.5V20h12V9.5' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ic-rain { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12a9 9 0 0 1 18 0z' fill='none' stroke='currentColor' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M12 12v6.5a2 2 0 0 0 4 0' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ic-ruler { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='8' y='2.5' width='8' height='19' rx='1.6' fill='none' stroke='currentColor' stroke-width='2'/%3E%3Cpath d='M8 7h3M8 11h4.5M8 15h3M8 19h4.5' stroke='currentColor' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ic-pause { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8.5' fill='none' stroke='currentColor' stroke-width='2'/%3E%3Cpath d='M10 9v6M14 9v6' stroke='currentColor' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ic-cal { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='5' width='16' height='15' rx='2.5' fill='none' stroke='currentColor' stroke-width='2'/%3E%3Cpath d='M4 10h16M9 3v4M15 3v4' stroke='currentColor' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ic-meal { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3v5.5a2 2 0 0 0 2 2V21M11 3v5.5a2 2 0 0 1-2 2M17 21V3c-2 1-3 4-3 7v3h3' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ic-check { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5' fill='none' stroke='currentColor' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ic-chev { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9.5 6 6 6-6 6' fill='none' stroke='currentColor' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ic-down { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9.5 6 6 6-6' fill='none' stroke='currentColor' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ic-globe { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8.5' fill='none' stroke='currentColor' stroke-width='2'/%3E%3Cpath d='M3.5 12h17M12 3.5c-3 3.2-3 13.8 0 17M12 3.5c3 3.2 3 13.8 0 17' fill='none' stroke='currentColor' stroke-width='1.8'/%3E%3C/svg%3E"); }
.ic-close { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 6.5l11 11M17.5 6.5l-11 11' stroke='currentColor' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ic-family { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='8.5' cy='7.5' r='3' fill='none' stroke='currentColor' stroke-width='2'/%3E%3Ccircle cx='16.5' cy='9.5' r='2.3' fill='none' stroke='currentColor' stroke-width='2'/%3E%3Cpath d='M3.5 19.5a5 5 0 0 1 10 0M13.5 19.5a3.5 3.5 0 0 1 7 0' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ic-mail { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5.5' width='18' height='13' rx='2.2' fill='none' stroke='currentColor' stroke-width='2'/%3E%3Cpath d='m3.8 7 8.2 6 8.2-6' fill='none' stroke='currentColor' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ic-swap { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 8h13l-3.5-3.5M19 16H6l3.5 3.5' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ic-map { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.5 6.5 9 4.5l6 2 5.5-2v13L15 19.5l-6-2-5.5 2z M9 4.5v13M15 6.5v13' fill='none' stroke='currentColor' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ic-ticket { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.5 7h17v3a2 2 0 0 0 0 4v3h-17v-3a2 2 0 0 0 0-4z' fill='none' stroke='currentColor' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M14.5 7.5v1.5M14.5 11.2v1.6M14.5 15v1.5' stroke='currentColor' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ic-phone { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='6.5' y='2.5' width='11' height='19' rx='2.5' fill='none' stroke='currentColor' stroke-width='2'/%3E%3Cpath d='M10.5 18h3' stroke='currentColor' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ic-search { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='6' fill='none' stroke='currentColor' stroke-width='2'/%3E%3Cpath d='m15 15 5 5' stroke='currentColor' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ic-info { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8.5' fill='none' stroke='currentColor' stroke-width='2'/%3E%3Cpath d='M12 11v5.5M12 7.6v.4' stroke='currentColor' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ic-alert { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4 21 19.5H3z' fill='none' stroke='currentColor' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M12 10v4.5M12 17v.3' stroke='currentColor' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ic-offline { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9.5a12 12 0 0 1 16 0M7 13a7.5 7.5 0 0 1 10 0M10 16.4a3 3 0 0 1 4 0' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M4 4l16 16' stroke='currentColor' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ic-undo { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 7 4 11l4 4M4.5 11H14a5 5 0 0 1 0 10h-3' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ic-copy { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='8' y='8' width='12' height='12' rx='2.2' fill='none' stroke='currentColor' stroke-width='2'/%3E%3Cpath d='M5 15.5V6a2 2 0 0 1 2-2h8.5' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ic-now { position: relative; }
.ic-now.is-on::after, .is-on > .ic-now::after, [aria-current] > .ic-now::after { content: ""; position: absolute; left: 58.3%; top: 19.2%; width: 22.5%; height: 22.5%; border-radius: 50%; background: var(--nd-coral); }
/* 파크 그림(지형만, 56x44): 도쿄 디즈니랜드 길과 나무 · 도쿄 디즈니씨 수평선과 물결 · 홍콩 산과 바다 */
.nd-park-art { display: inline-block; flex: 0 0 auto; width: 56px; height: 44px; border-radius: 10px; background: center / cover no-repeat; }
.nd-park-art.park-tdl { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 44'%3E%3Crect width='56' height='44' fill='%23EAF3EF'/%3E%3Ccircle cx='44' cy='11' r='4.5' fill='%23E2BE7E'/%3E%3Cpath d='M8.6 27V20M15.6 28V22.5M47 27.5V21.5' stroke='%230F4F47' stroke-width='1.6' stroke-linecap='round'/%3E%3Ccircle cx='8.6' cy='17.5' r='4.2' fill='%233F7D6E'/%3E%3Ccircle cx='15.6' cy='20.6' r='3.1' fill='%233F7D6E'/%3E%3Ccircle cx='47' cy='19' r='3.4' fill='%233F7D6E'/%3E%3Cpath d='M0 27.5c9-2.6 19-3.4 29-2.6s18 1.6 27 .6V44H0z' fill='%230F4F47'/%3E%3Cpath d='M19 44c3.6-6 13.4-7.6 12.4-12.6-.5-2.6-3.6-3.6-2.9-6.1h2.4c-.5 2.2 3.4 3.4 3.9 6.1 1.1 6.2-8.2 8.4-9.4 12.6z' fill='%23F6F4EF'/%3E%3C/svg%3E"); }
.nd-park-art.park-tds { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 44'%3E%3Crect width='56' height='44' fill='%23EAF3EF'/%3E%3Ccircle cx='16' cy='13' r='5' fill='%23E2BE7E'/%3E%3Crect y='23' width='56' height='21' fill='%230F4F47'/%3E%3Cpath d='M5 29.5c2.5-1.8 4.5-1.8 7 0s4.5 1.8 7 0M30 28.5c2.5-1.8 4.5-1.8 7 0s4.5 1.8 7 0M15 35.5c2.5-1.8 4.5-1.8 7 0s4.5 1.8 7 0M39 36.5c2.5-1.8 4.5-1.8 7 0s4.5 1.8 7 0M3 41c2.5-1.8 4.5-1.8 7 0s4.5 1.8 7 0M25 41.5c2.5-1.8 4.5-1.8 7 0s4.5 1.8 7 0' fill='none' stroke='%237FB5A6' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E"); }
.nd-park-art.park-hkdl { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 44'%3E%3Crect width='56' height='44' fill='%23EAF3EF'/%3E%3Cpath d='M0 34 14 16l8 9 10-14 24 23v10H0z' fill='%230F4F47'/%3E%3Cpath d='M0 37c6-3 12-3 18 0s12 3 18 0 13-3 20 0v7H0z' fill='%233F7D6E'/%3E%3Ccircle cx='45' cy='10' r='4.5' fill='%23E2BE7E'/%3E%3C/svg%3E"); }
