:root{--bg:#0b1622;--surface:#101c2aeb;--surface-strong:#13243a;--text:#eef3f8;--text-dim:#9fb3c8;--accent:#ffb347;--accent-text:#1b1205;--pin:#ff6b4a;--pin-recorded:#5cc8ff;--border:#ffffff1f;--radius:12px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);overflow:hidden}button{font:inherit;cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{height:100%;position:relative}.toolbar{z-index:4;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:absolute;top:8px;left:8px;right:8px}.toolbar>*{pointer-events:auto}.toolbar__title{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.toolbar__random{background:var(--accent);min-height:44px;color:var(--accent-text);border:0;border-radius:999px;flex:none;padding:0 16px;font-weight:700}.toolbar__lang{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);font:inherit;border-radius:999px;align-self:flex-start;padding:0 12px;font-size:.9em}.toolbar__random:disabled{opacity:.4;cursor:not-allowed}.search{flex:auto;min-width:0;position:relative}.search__input{border:1px solid var(--border);background:var(--surface);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:999px;padding:10px 14px}.search__panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-strong);max-height:60vh;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.search__results{margin:0;padding:0;list-style:none}.search__empty{color:var(--text-dim);margin:0;padding:10px}.search__places{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}.search__find{border:1px dashed var(--accent);width:100%;min-height:44px;color:var(--accent);text-align:left;background:0 0;border-radius:8px;padding:8px 10px}.search__credit{color:var(--text-dim);margin:6px 4px 0;font-size:.75em}.search__credit a{color:inherit}.search__result{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:8px;flex-direction:column;padding:8px 10px;display:flex}.search__result:hover{background:#ffffff14}.tag{background:var(--pin-recorded);color:#04202e;vertical-align:middle;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:.75em;font-weight:700}.tag--found{color:#08240c;background:#7ee08a}.tag--none{color:var(--text-dim);background:#ffffff29}.search__place{color:var(--text-dim);font-size:.85em}.filters{flex-direction:column;gap:6px;min-width:0;max-width:100%;display:flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);min-width:44px;min-height:44px;color:var(--text);border-radius:999px;flex:none;padding:0 14px;font-size:.9em}.chip--toggle{align-self:flex-start}.filters__actions{flex-wrap:wrap;gap:6px;display:flex}.chip--reset{color:var(--text-dim);border-style:dashed}.chip--reset:not(:disabled){color:var(--accent);border-color:var(--accent)}.chip--reset:disabled{opacity:.4;cursor:not-allowed}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:700}.map-area{outline:none;position:absolute;inset:0}.map-view{position:absolute;inset:0}.map-view__canvas{width:100%;height:100%}.map-area__loading,.map-area__notice,.map-view__notice{z-index:1;border-radius:var(--radius);background:var(--surface);color:var(--text);text-align:center;margin:0;padding:12px 18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-view__projection{z-index:1;gap:6px;display:flex;position:absolute;bottom:44px;left:8px}.place-marker{background:var(--accent);pointer-events:none;border:3px solid #fff;border-radius:50%;width:20px;height:20px;box-shadow:0 0 0 6px #ffb34759,0 2px 6px #00000080}@media (width<=767px){.app--playing .place-card,.app--playing .map-view__projection{display:none}}.place-card{z-index:2;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(320px,100% - 24px);max-height:45%;padding:12px;position:absolute;bottom:96px;left:8px;overflow-y:auto}.place-card__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.place-card__title{overflow-wrap:anywhere;margin:0;font-size:1em}.place-card__close{width:44px;height:44px;color:var(--text-dim);background:0 0;border:none;flex:none;font-size:1.3em;line-height:1}.place-card__summary{color:var(--text-dim);margin:6px 0;font-size:.9em}.place-card__list{margin:0;padding:0;list-style:none}.place-card__stream{width:100%;min-height:44px;color:var(--text);text-align:left;background:0 0;border:none;border-radius:6px;padding:6px 4px;display:block}.place-card__stream:hover{background:#ffffff14}.toolbar__row{align-items:center;gap:8px;display:flex}.toolbar__filters-toggle{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 14px;font-weight:700;display:inline-flex}.toolbar__filters-toggle[aria-expanded=true]{border-color:var(--accent)}.toolbar__badge{background:var(--accent);min-width:20px;height:20px;color:var(--accent-text);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:.8em;display:inline-flex}.toolbar__panel{display:none}.toolbar__panel[data-open=true]{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-strong);flex-direction:column;gap:12px;max-height:60vh;padding:12px;display:flex;overflow-y:auto}.pin:before{content:"";background:var(--pin);border:2px solid #fff;border-radius:50%;position:absolute;inset:7px;box-shadow:0 0 0 4px #ff6b4a40}.pin--recorded:before{background:var(--pin-recorded);border-radius:4px;box-shadow:0 0 0 4px #5cc8ff40}.pin--selected:before{background:var(--accent);inset:4px;box-shadow:0 0 0 6px #ffb34759}.pin{background:0 0;border:0;width:32px;height:32px;padding:0}.cluster{background:var(--surface-strong);min-width:36px;height:36px;color:var(--text);border:2px solid #fff;border-radius:999px;padding:0 8px;font-weight:700}.maplibregl-marker-covered{visibility:hidden}.player{z-index:3;border-top:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;background:var(--surface-strong);flex-direction:column;gap:8px;padding:12px;display:flex;position:absolute;bottom:0;left:0;right:0}.player__header,.player__footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.player__title{margin:0;font-size:1.05rem}.player__meta,.player__channel{color:var(--text-dim);margin:0;font-size:.85em}.player__frame{aspect-ratio:16/9;background:#000;border-radius:8px;width:100%;min-height:200px;overflow:hidden}.player__frame iframe,.player__frame video{border:0;width:100%;height:100%;display:block}.player__badge{background:var(--pin-recorded);color:#04202e;border-radius:4px;margin:4px 0 2px;padding:2px 8px;font-size:.8em;font-weight:700;display:inline-block}.player__credit{text-align:right}.player__credit a{color:var(--text)}.player__notice{color:var(--accent);background:#ffb34726;border-radius:8px;margin:0;padding:8px 10px}.player__sound{white-space:nowrap;background:var(--accent);min-height:44px;color:var(--accent-text);border:0;border-radius:999px;flex:none;padding:0 18px;font-weight:700}.player__close{border:1px solid var(--border);min-height:44px;color:var(--text);background:0 0;border-radius:999px;padding:0 16px}@media (width>=768px){.player{border:1px solid var(--border);border-radius:var(--radius);width:400px;bottom:16px;left:auto;right:16px}}@media (width>=1200px){.toolbar{flex-flow:wrap;align-items:flex-start;top:12px;left:12px;right:12px}.search{flex:none;width:360px}.toolbar__row{flex:none}.toolbar__filters-toggle{display:none}.toolbar__panel,.toolbar__panel[data-open=true]{background:0 0;border:0;flex-direction:row;align-items:flex-start;gap:8px;max-height:none;padding:0;display:flex;overflow:visible}.chip{min-height:36px;padding:0 12px}.toolbar__random,.toolbar__lang,.search__input{min-height:40px}}@media (width>=768px){.map-view__projection{bottom:12px;left:12px}.place-card{bottom:60px;left:12px}}@media (pointer:coarse){.chip,.toolbar__random,.toolbar__lang,.search__input{min-height:44px}}@media (width<=360px){.toolbar__filters-toggle,.toolbar__random{padding:0 10px}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
