@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+KR:wght@400;500;600;700&display=swap";:root{color:#14161a;font-synthesis:none;--ink:#14161a;--ink2:#4b5260;--muted:#5b6270;--ground:#f5f6f8;--surface:#fff;--line:#e3e6eb;--soft-line:#eef0f3;--control:#d4d8df;--primary:#2450d8;--primary-text:#1d44b8;--primary-bg:#e8eefd;--negative:#b4380c;--negative-bg:#fdede5;--warning:#7a4f00;--warning-bg:#fff4d6;--unknown:#9aa1ad;--map-ground:#e8ecef;--map-road:#f9fafb;--map-water:#d1e1ed;--map-park:#dce7df;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius:16px;--radius-small:12px;--shadow:0 12px 40px #14161a0d;background:#f5f6f8;font-family:IBM Plex Sans KR,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible{outline:3px solid var(--primary);outline-offset:3px}a{color:inherit;text-decoration:none}button{color:inherit;background:0 0;border:0}h1,h2,p{margin:0}.app-shell{flex-direction:column;height:100dvh;min-height:580px;display:flex}.topbar{height:88px;padding:0 var(--space-8);background:var(--surface);border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.brand{align-items:center;gap:var(--space-3);letter-spacing:-1px;font-size:23px;font-weight:700;display:flex}.brand-mark{background:var(--primary);width:45px;height:45px;color:var(--surface);border-radius:14px;place-items:center;display:grid}.brand small{color:var(--muted);letter-spacing:0;margin-top:2px;font-size:11px;font-weight:400;display:block}.top-actions{align-items:center;gap:var(--space-4);display:flex}.beta-tag{border:1px solid var(--control);color:var(--ink2);border-radius:20px;padding:6px 10px;font-size:11px;font-weight:600}.icon-button{border-radius:var(--radius-small);flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.icon-button:hover{background:var(--ground)}.demo-banner{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--warning-bg);color:var(--warning);flex-shrink:0;min-height:34px;font-size:11px;display:flex}.demo-dot{background:var(--warning);border-radius:50%;width:5px;height:5px}.workspace{flex:1;min-height:0;display:flex;overflow:hidden}.sidebar{background:var(--surface);width:410px;padding:var(--space-6);border-right:1px solid var(--line);flex-shrink:0;overflow-y:auto}.desktop-nav{background:var(--ground);border-radius:var(--radius-small);padding:var(--space-1);gap:var(--space-1);margin-bottom:var(--space-8);display:flex}.desktop-nav button{min-height:42px;color:var(--muted);border-radius:9px;flex:1;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.desktop-nav button.active{background:var(--surface);color:var(--primary-text);font-weight:600;box-shadow:0 2px 6px #14161a08}.desktop-nav svg{width:17px}.section-heading{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.eyebrow{letter-spacing:1.6px;color:var(--muted);margin-bottom:var(--space-2);font-size:10px;font-weight:500}h1{letter-spacing:-1px;font-size:24px;font-weight:600;line-height:1.4}.search{background:var(--ground);border:1px solid var(--line);border-radius:var(--radius-small);align-items:center;gap:10px;height:52px;padding:0 14px;display:flex}.search:focus-within{border-color:var(--primary)}.search svg{color:var(--muted);flex-shrink:0}.search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:none;font-size:13px}.search button{place-items:center;min-width:30px;min-height:38px;display:grid}.filters{gap:var(--space-2);margin:var(--space-4) 0 var(--space-6);display:flex;overflow-x:auto}.filters button{white-space:nowrap;border:1px solid var(--line);min-height:36px;color:var(--ink2);border-radius:20px;padding:0 13px;font-size:11px}.filters .selected{color:var(--surface);background:var(--ink);border-color:var(--ink)}.list-label{color:var(--muted);margin-bottom:var(--space-2);justify-content:space-between;font-size:10px;display:flex}.place-row{align-items:center;gap:var(--space-1);border-bottom:1px solid var(--soft-line);padding:var(--space-2) 0;display:flex}.place-main{align-items:center;gap:var(--space-3);text-align:left;min-width:0;padding:var(--space-3) 0;flex:1;min-height:100px;display:flex}.place-symbol{border-radius:var(--radius-small);background:var(--ground);width:46px;height:50px;color:var(--ink2);flex-shrink:0;place-items:center;display:grid}.place-symbol.japan{background:var(--primary-bg);color:var(--primary-text)}.place-main h2{letter-spacing:-.5px;align-items:center;gap:var(--space-2);font-size:15px;font-weight:600;display:flex}.place-main h2 span{color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:2px 4px;font-size:9px;font-weight:400}.place-main p{color:var(--muted);margin:4px 0 7px;font-size:11px}.status-line{align-items:center;gap:5px;font-size:11px;font-weight:500;display:flex}.status-line i,.map-marker i{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-line small{color:var(--muted);font-size:10px;font-weight:400}.positive{color:var(--primary-text)}.negative{color:var(--negative)}.warning{color:var(--warning)}.unknown{color:var(--muted)}.star{color:var(--unknown)}.star.saved{color:var(--primary)}.star.saved svg{fill:var(--primary-bg)}.trust-note{gap:var(--space-2);color:var(--muted);padding:var(--space-5) 0;align-items:center;font-size:10px;line-height:1.6;display:flex}.trust-note strong{color:var(--ink2);font-weight:500}.map-area{flex:1;min-width:0;position:relative;overflow:hidden}.map-art{opacity:.95;position:absolute;inset:0}.map-art svg{object-fit:cover;width:100%;height:100%}.map-top{z-index:1;left:var(--space-6);right:var(--space-6);top:var(--space-6);justify-content:space-between;align-items:center;display:flex;position:absolute}.map-top>span{align-items:center;gap:var(--space-2);border:1px solid var(--control);background:var(--surface);box-shadow:var(--shadow);border-radius:20px;padding:10px 14px;font-size:11px;display:flex}.map-top small{background:var(--surface);color:var(--muted);border-radius:6px;padding:6px 9px;font-size:10px}.map-marker{white-space:nowrap;border:1px solid var(--control);background:var(--surface);z-index:2;border-radius:24px;align-items:center;gap:6px;min-height:38px;padding:0 13px;font-size:11px;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 5px 15px #14161a10}.map-marker span{color:var(--ink);margin-left:4px;font-size:11px}.map-marker.unknown{border-style:dashed}.map-marker:hover{z-index:3;transform:translate(-50%,-50%)scale(1.03);box-shadow:0 6px 22px #14161a22}.map-caption{left:var(--space-8);bottom:var(--space-8);background:var(--surface);padding:var(--space-5) var(--space-6);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);position:absolute}.map-caption strong{letter-spacing:-.3px;font-size:15px;font-weight:500}.map-caption p{color:var(--muted);margin-top:var(--space-2);font-size:11px}.live-pulse{background:var(--primary);width:7px;height:7px;box-shadow:0 0 0 4px var(--primary-bg);border-radius:50%;margin-right:10px;display:inline-block}.detail-panel{top:var(--space-5);bottom:var(--space-5);background:var(--surface);border:1px solid var(--line);width:min(490px,100% - 40px);box-shadow:var(--shadow);padding:var(--space-4) var(--space-6) var(--space-8);z-index:4;border-radius:20px;position:absolute;left:50%;overflow-y:auto;transform:translate(-50%)}.detail-toolbar{color:var(--muted);margin:0 -10px var(--space-5);justify-content:space-between;align-items:center;font-size:12px;display:flex}.detail-title h1{margin-bottom:var(--space-2);font-size:28px}.detail-title>p{color:var(--muted);font-size:11px;line-height:1.6}.local-time{margin:var(--space-3) 0 var(--space-5);color:var(--muted);font-size:10px;display:inline-block}.main-status{background:var(--ground);border:1px solid var(--line);padding:var(--space-5);border-radius:var(--radius)}.main-status.positive{background:var(--primary-bg);border-color:var(--primary-bg)}.main-status.negative{background:var(--negative-bg);border-color:var(--negative-bg)}.main-status.warning{background:var(--warning-bg);border-color:var(--warning-bg)}.main-status>div{justify-content:space-between;align-items:center;display:flex}.main-status>div>span:first-child{color:var(--ink2);font-size:11px}.main-status h2{letter-spacing:-.7px;margin:var(--space-3) 0 var(--space-2);font-size:22px;font-weight:600}.main-status p{color:var(--ink2);font-size:10px;line-height:1.6}.badge{background:var(--surface);border:1px solid var(--line);white-space:nowrap;border-radius:6px;padding:4px 7px;font-size:9px;font-weight:600}.badge.positive{border-color:var(--primary);color:var(--primary-text)}.badge.warning{border-color:var(--warning)}.dimension-row{align-items:center;gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--soft-line);font-size:13px;display:flex}.dimension-row>div{flex:1}.dimension-row strong{font-size:12px;font-weight:500;display:block}.dimension-row small{color:var(--muted);margin-top:var(--space-1);font-size:10px;display:block}.place-description{color:var(--ink2);margin:var(--space-5) 0;font-size:12px;line-height:1.8}.detail-actions{gap:var(--space-2);flex-direction:column;display:flex}.primary,.secondary{justify-content:center;align-items:center;gap:var(--space-2);min-height:50px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-small);letter-spacing:-.3px;font-size:13px;font-weight:500;display:flex}.primary{background:var(--primary);color:var(--surface);border:1px solid var(--primary)}.primary:hover{filter:brightness(.94)}.secondary{border:1px solid var(--control);background:var(--surface);color:var(--ink)}.secondary:hover{background:var(--ground)}.full{width:100%}.action-note{text-align:center;color:var(--muted);margin:var(--space-3) 0 var(--space-8);font-size:10px;display:block}.history h2{margin-bottom:var(--space-4);font-size:14px;font-weight:600}.history h2 span{color:var(--muted);margin-left:var(--space-2);font-size:11px;font-weight:400}.timeline-row{gap:var(--space-3);padding:0 0 var(--space-5) var(--space-1);display:flex}.timeline-row>i{border:2px solid var(--control);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:4px}.timeline-row strong{font-size:11px;font-weight:400}.timeline-row p{color:var(--muted);margin-top:5px;font-size:10px}.history-empty{padding:var(--space-5);text-align:center;background:var(--ground);border-radius:var(--radius-small);color:var(--muted);font-size:11px}blockquote{margin:var(--space-2) 0;padding:var(--space-3);background:var(--ground);border-radius:var(--radius-small);white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.7}blockquote small{color:var(--muted);margin-top:var(--space-2);font-size:9px;display:block}.progress-card{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--ground);border-radius:var(--radius-small);margin-bottom:var(--space-4);display:flex}.progress-card strong{font-size:11px;font-weight:500;display:block}.progress-card small{color:var(--muted);margin-top:5px;font-size:9px;display:block}.spinner{border:2px solid var(--line);border-top-color:var(--primary);border-radius:50%;flex-shrink:0;width:20px;height:20px;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.bottom-nav{display:none}.empty{text-align:center;padding:var(--space-8) var(--space-3);color:var(--muted)}.empty svg{margin-bottom:var(--space-4)}.empty h2{color:var(--ink2);font-size:14px;font-weight:500}.empty p{margin-top:var(--space-2);font-size:11px;line-height:1.8}.setup-card{margin:var(--space-6) 0;background:var(--ground);padding:var(--space-6);border:1px dashed var(--control);border-radius:var(--radius);text-align:center}.setup-card svg{color:var(--primary);margin-bottom:var(--space-4)}.setup-card h2{font-size:15px;font-weight:500}.setup-card p{color:var(--muted);margin:var(--space-3) 0 var(--space-5);font-size:11px;line-height:1.8}.setup-card button{width:100%}.account h1{margin:var(--space-3) 0 var(--space-6);font-size:27px}.quota-card{background:var(--primary-bg);border:1px solid var(--primary-bg);border-radius:var(--radius);padding:var(--space-6);margin-bottom:var(--space-5);color:var(--primary-text)}.quota-card>span{font-size:11px}.quota-card>strong{margin:var(--space-2) 0;font-size:36px;font-weight:600;display:block}.quota-card>strong small{font-size:12px;font-weight:400}.quota-card p{color:var(--ink2);font-size:10px;line-height:1.9}.menu-row{align-items:center;gap:var(--space-3);text-align:left;border-bottom:1px solid var(--soft-line);width:100%;min-height:58px;font-size:12px;display:flex}.menu-row span{color:var(--muted);margin-left:auto;font-size:11px}.menu-row svg{color:var(--ink2);width:18px}.connection-card{margin-top:var(--space-6);padding:var(--space-5);background:var(--ground);border-radius:var(--radius)}.connection-card h2{margin-bottom:var(--space-4);font-size:12px;font-weight:500}.connection-card p{justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3);font-size:10px;display:flex}.connection-card p span{color:var(--muted)}.connection-card p strong{font-weight:500}.connection-card>small{color:var(--muted);border-top:1px solid var(--line);padding-top:var(--space-3);margin-top:var(--space-4);font-size:9px;line-height:1.8;display:block}dialog{border:1px solid var(--line);padding:var(--space-6);width:min(440px,100% - 32px);max-height:90dvh;color:var(--ink);background:var(--surface);box-shadow:var(--shadow);border-radius:20px}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14161a65}.dialog-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.dialog-head h2{letter-spacing:-.6px;font-size:19px;font-weight:600}.dialog-head .icon-button{margin-right:-10px}.modal-subtitle{color:var(--muted);margin:var(--space-2) 0 var(--space-5);font-size:11px;line-height:1.8}.fixed-question{align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--ground);border-radius:var(--radius-small);font-size:12px;display:flex}.fixed-question svg{color:var(--primary)}.fixed-question strong{font-weight:500}.fixed-question span{color:var(--muted);margin-left:auto;font-size:10px}.checkbox-row{align-items:center;gap:var(--space-3);min-height:52px;padding:var(--space-2);font-size:12px;display:flex}input[type=checkbox]{width:19px;height:19px;accent-color:var(--primary)}.field{margin:var(--space-4) 0;font-size:12px;font-weight:500;display:block}.field input,.field select,.field textarea{border:1px solid var(--control);width:100%;margin-top:var(--space-2);background:var(--surface);color:var(--ink);border-radius:10px;outline:none;min-height:46px;padding:12px;font-size:12px;display:block}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary)}.field textarea{resize:vertical;min-height:90px}.field small{text-align:right;margin-top:var(--space-1);color:var(--muted);font-size:9px;font-weight:400;display:block}.info-box{background:var(--ground);border-radius:var(--radius-small);padding:var(--space-4);color:var(--ink2);margin:var(--space-5) 0;font-size:10px;line-height:1.8}.segmented{gap:var(--space-2);display:flex}.segmented button{border:1px solid var(--control);border-radius:10px;flex:1;min-height:48px;font-size:12px}.segmented button.selected{border-color:var(--primary);background:var(--primary-bg);color:var(--primary-text)}.toast{bottom:var(--space-6);z-index:100;align-items:center;gap:var(--space-3);background:var(--ink);width:max-content;max-width:calc(100% - 32px);color:var(--surface);border-radius:var(--radius-small);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow);font-size:12px;line-height:1.7;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast svg{flex-shrink:0}@media (width>=1400px){.sidebar{width:450px;padding:var(--space-8)}.detail-panel{width:510px}.map-marker{min-height:42px;padding:0 16px;font-size:12px}}@media (width<=760px){.app-shell{height:100dvh;min-height:0}.topbar{height:68px;padding:0 var(--space-5)}.brand{font-size:20px}.brand-mark{border-radius:11px;width:36px;height:36px}.brand-mark svg{width:23px}.brand small{font-size:9px}.desktop{display:none}.beta-tag{padding:5px 8px;font-size:9px}.demo-banner{padding:6px var(--space-4);min-height:29px;font-size:9px;line-height:1.7}.desktop-nav{display:none}.workspace{display:block;position:relative}.sidebar{width:100%;height:100%;padding:var(--space-5) var(--space-5) 80px;border-right:0}.sidebar.hide-mobile{display:none}h1{font-size:23px}.section-heading{margin-top:var(--space-2)}.map-area{display:none}.map-area.detail-mode{background:var(--surface);height:100%;display:block}.detail-mode .map-art,.detail-mode .map-top{display:none}.detail-panel{width:100%;height:100%;max-height:none;box-shadow:none;padding:var(--space-3) var(--space-5) 100px;border:0;border-radius:0;top:0;bottom:0;left:0;transform:none}.detail-toolbar{margin-bottom:var(--space-4)}.detail-title h1{font-size:28px}.bottom-nav{padding:7px var(--space-4) max(10px, env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);z-index:5;flex-shrink:0;justify-content:space-around;align-items:flex-start;min-height:64px;display:flex}.bottom-nav button{min-width:64px;min-height:46px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:10px;display:flex}.bottom-nav button.active{color:var(--primary-text);font-weight:500}.bottom-nav svg{width:22px}.toast{padding:12px 16px;font-size:11px;bottom:90px}.place-row{padding:var(--space-1) 0}.place-main{min-height:102px}.place-main h2{font-size:16px}.place-main p,.status-line{font-size:12px}.status-line small,.list-label{font-size:11px}.filters button{min-height:38px;font-size:12px}.trust-note{font-size:11px}dialog{padding:var(--space-5);margin:auto auto max(12px, env(safe-area-inset-bottom));border-radius:20px;width:calc(100% - 24px)}.account h1{font-size:30px}.quota-card>span{font-size:12px}.quota-card p,.connection-card p{font-size:11px}.connection-card>small{font-size:10px}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}
