:root{--color-bg: #fafafa;--color-surface: #ffffff;--color-surface-muted: #f6f6fb;--color-border: #e7e5f0;--color-border-strong: #d7d4e6;--color-text: #1a1730;--color-text-muted: #6b6880;--color-text-faint: #9997ab;--color-primary: #4f46e5;--color-primary-hover: #4338ca;--color-primary-active: #3730a3;--color-primary-soft: #eef0ff;--color-primary-soft-strong: #e0e1ff;--color-primary-contrast: #ffffff;--color-mint: #0fb8a6;--color-mint-dark: #0a8f81;--color-mint-soft: #e2fbf6;--color-danger: #e02455;--color-danger-bg: #ffe2ea;--color-danger-border: #ffc2d3;--color-danger-text: #9d1240;--color-warn-bg: #fff4e0;--color-warn-border: #ffddaa;--color-warn-text: #8a5a00;--color-info-bg: #eef1fb;--color-info-border: #d6ddf5;--color-info-text: #313a63;--color-tone-pink-bg: #ffe4e8;--color-tone-pink-bg-hover: #ffd0d7;--color-tone-pink-border: #ffbdc7;--color-tone-pink-border-hover: #ff9aab;--color-tone-beige-bg: #f6ecdd;--color-tone-beige-bg-hover: #eedfc5;--color-tone-beige-border: #e2cfa8;--color-tone-beige-border-hover: #d1b47e;--color-tone-mint-bg: var(--color-mint-soft);--color-tone-mint-bg-hover: #c7f3ea;--color-tone-mint-border: #a9e8da;--color-tone-mint-border-hover: #7ed9c4;--color-tone-sky-bg: #e3f0ff;--color-tone-sky-bg-hover: #cde4ff;--color-tone-sky-border: #b7d7ff;--color-tone-sky-border-hover: #8fc0ff;--color-tone-lavender-bg: #ede6fb;--color-tone-lavender-bg-hover: #ddd0f7;--color-tone-lavender-border: #cbb9ef;--color-tone-lavender-border-hover: #b298e6;--color-tone-yellow-bg: #fff6d8;--color-tone-yellow-bg-hover: #ffedb0;--color-tone-yellow-border: #ffe28a;--color-tone-yellow-border-hover: #f6cf55;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px;--radius-full: 999px;--shadow-xs: 0 1px 2px rgba(26, 23, 48, .05);--shadow-sm: 0 2px 8px rgba(26, 23, 48, .06);--shadow-md: 0 8px 24px rgba(26, 23, 48, .08);--shadow-primary: 0 10px 24px rgba(79, 70, 229, .25);--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 32px;--space-6: 48px;--max-width: 720px;--font-sans: -apple-system, "Pretendard Variable", "Pretendard", "Malgun Gothic", "Apple SD Gothic Neo", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}html,body{overflow-x:hidden}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3{font-weight:800;letter-spacing:-.02em}a{color:var(--color-primary)}.app-shell{max-width:var(--max-width);margin-inline:auto;padding:var(--space-3);padding-bottom:var(--space-6)}.app-header{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.app-header h1{font-size:1.4rem;margin:0}.app-header .tagline{color:var(--color-text-muted);margin:0;font-size:.95rem}.app-header a{text-decoration:none;color:inherit}.brand-logo{display:block;height:34px;width:auto}.wordmark .brand-logo{height:42px}.app-header--hero{position:relative;padding:var(--space-4) var(--space-3);margin:calc(var(--space-3) * -1) calc(var(--space-3) * -1) var(--space-4);background:linear-gradient(155deg,var(--color-primary-soft) 0%,#ffffff 55%,var(--color-mint-soft) 100%);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);text-align:center}.app-header--hero .wordmark{font-size:.85rem;font-weight:800;letter-spacing:.01em;margin:0 auto var(--space-3);color:var(--color-primary)}.app-header--hero .hero-headline{font-size:clamp(1.35rem,5.5vw,2rem);font-weight:800;line-height:1.32;letter-spacing:-.01em;margin:0 auto var(--space-2);max-width:22ch;color:var(--color-text)}.app-header--hero .hero-subcopy{margin:0 auto var(--space-3);max-width:30ch;font-size:.95rem;color:var(--color-text-muted)}.app-header--hero .hero-cta{margin-bottom:var(--space-3);display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-2)}.app-header--hero .hero-trust{margin:0 auto;max-width:38ch;font-size:.8rem;color:var(--color-text-muted)}button,.btn{font-family:inherit;font-size:1rem;font-weight:700;padding:12px var(--space-4);border-radius:var(--radius-full);border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease,filter .12s ease;white-space:nowrap}.btn-primary,button.primary{background:var(--color-primary);color:var(--color-primary-contrast);box-shadow:var(--shadow-primary)}.btn-primary:hover,button.primary:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.btn-primary:active,button.primary:active{background:var(--color-primary-active);transform:translateY(0)}.btn-primary:focus-visible,button.primary:focus-visible{box-shadow:0 0 0 4px var(--color-primary-soft),var(--shadow-primary)}.btn-secondary,button.secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}.btn-secondary:hover,button.secondary:hover{border-color:var(--color-mint-dark);color:var(--color-mint-dark)}.btn-ghost{background:transparent;border-color:transparent;color:var(--color-primary);padding-left:var(--space-2);padding-right:var(--space-2);box-shadow:none}.btn-ghost:hover{background:var(--color-primary-soft)}.btn-sm{padding:8px var(--space-3);font-size:.85rem}.btn-lg{padding:15px 32px;font-size:1.05rem}.btn-block{width:100%}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible,[role=radio]:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}form.search-form{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.home-search-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-4)}.home-search-card input[type=search]{padding:16px 18px 16px 46px;font-size:1.05rem}.home-search-card .search-input-wrap .search-icon{font-size:1.15rem}.search-form .field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.search-form label,.field-label{font-size:.85rem;font-weight:700;color:var(--color-text-muted)}.search-input-wrap{position:relative}.search-input-wrap .search-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);pointer-events:none;font-size:1.05rem}input[type=search],input[type=text],select{font-family:inherit;font-size:1rem;padding:14px var(--space-3);border-radius:var(--radius-full);border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text);width:100%;transition:border-color .12s ease,box-shadow .12s ease}.search-input-wrap input[type=search]{padding-left:44px}input[type=search]:hover,input[type=text]:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-xs)}input[type=search]:focus,input[type=text]:focus,select:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-soft);outline:none}.chip-group{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip-scroll{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;-webkit-overflow-scrolling:touch;min-width:0}.chip{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-height:40px;padding:9px 16px;border-radius:var(--radius-full);border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text);text-decoration:none;font-size:.88rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow-xs);transition:transform .1s ease,border-color .12s ease,background-color .12s ease,color .12s ease,box-shadow .12s ease}.chip:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.chip:active{transform:translateY(0);box-shadow:var(--shadow-xs)}.chip[aria-checked=true],.chip.is-selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}.chip .chip-emoji{font-size:1em;line-height:1}.chip .chip-check{font-size:.85em;line-height:1}.chip.tone-pink{background:var(--color-tone-pink-bg);border-color:var(--color-tone-pink-border)}.chip.tone-pink:hover{background:var(--color-tone-pink-bg-hover);border-color:var(--color-tone-pink-border-hover);color:var(--color-text)}.chip.tone-beige{background:var(--color-tone-beige-bg);border-color:var(--color-tone-beige-border)}.chip.tone-beige:hover{background:var(--color-tone-beige-bg-hover);border-color:var(--color-tone-beige-border-hover);color:var(--color-text)}.chip.tone-mint{background:var(--color-tone-mint-bg);border-color:var(--color-tone-mint-border)}.chip.tone-mint:hover{background:var(--color-tone-mint-bg-hover);border-color:var(--color-tone-mint-border-hover);color:var(--color-text)}.chip.tone-sky{background:var(--color-tone-sky-bg);border-color:var(--color-tone-sky-border)}.chip.tone-sky:hover{background:var(--color-tone-sky-bg-hover);border-color:var(--color-tone-sky-border-hover);color:var(--color-text)}.chip.tone-lavender{background:var(--color-tone-lavender-bg);border-color:var(--color-tone-lavender-border)}.chip.tone-lavender:hover{background:var(--color-tone-lavender-bg-hover);border-color:var(--color-tone-lavender-border-hover);color:var(--color-text)}.chip.tone-yellow{background:var(--color-tone-yellow-bg);border-color:var(--color-tone-yellow-border)}.chip.tone-yellow:hover{background:var(--color-tone-yellow-bg-hover);border-color:var(--color-tone-yellow-border-hover);color:var(--color-text)}.scenario-quicklinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.scenario-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:92px;padding:var(--space-3);border-radius:var(--radius-md);border:1.5px solid var(--color-border);background:var(--color-surface);text-decoration:none;color:var(--color-text);font-size:.88rem;font-weight:700;text-align:center;box-shadow:var(--shadow-xs);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.scenario-tile .tile-emoji{font-size:1.75rem;line-height:1}.scenario-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary)}.scenario-tile:active{transform:translateY(0)}.scenario-tile.tone-pink{background:var(--color-tone-pink-bg);border-color:var(--color-tone-pink-border)}.scenario-tile.tone-pink:hover{background:var(--color-tone-pink-bg-hover);border-color:var(--color-tone-pink-border-hover)}.scenario-tile.tone-beige{background:var(--color-tone-beige-bg);border-color:var(--color-tone-beige-border)}.scenario-tile.tone-beige:hover{background:var(--color-tone-beige-bg-hover);border-color:var(--color-tone-beige-border-hover)}.scenario-tile.tone-mint{background:var(--color-tone-mint-bg);border-color:var(--color-tone-mint-border)}.scenario-tile.tone-mint:hover{background:var(--color-tone-mint-bg-hover);border-color:var(--color-tone-mint-border-hover)}.scenario-tile.tone-sky{background:var(--color-tone-sky-bg);border-color:var(--color-tone-sky-border)}.scenario-tile.tone-sky:hover{background:var(--color-tone-sky-bg-hover);border-color:var(--color-tone-sky-border-hover)}.scenario-tile.tone-lavender{background:var(--color-tone-lavender-bg);border-color:var(--color-tone-lavender-border)}.scenario-tile.tone-lavender:hover{background:var(--color-tone-lavender-bg-hover);border-color:var(--color-tone-lavender-border-hover)}.scenario-tile.tone-yellow{background:var(--color-tone-yellow-bg);border-color:var(--color-tone-yellow-border)}.scenario-tile.tone-yellow:hover{background:var(--color-tone-yellow-bg-hover);border-color:var(--color-tone-yellow-border-hover)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.restaurant-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.restaurant-card{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.restaurant-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--color-primary-soft-strong)}.restaurant-card:active{transform:translateY(-1px)}.restaurant-card-main{display:flex;flex-direction:column;gap:var(--space-2)}.restaurant-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.restaurant-card h3{margin:0;font-size:1.15rem}.restaurant-card .address{color:var(--color-text-muted);font-size:.88rem;margin:0;display:flex;align-items:center;gap:4px}.detail-link{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:12px var(--space-4);border-radius:var(--radius-full);border:none;background:var(--color-primary);color:var(--color-primary-contrast);text-decoration:none;font-size:.92rem;font-weight:700;white-space:nowrap;align-self:flex-start;box-shadow:var(--shadow-primary);transition:transform .12s ease,background-color .12s ease}.detail-link:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.risk-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:8px var(--space-3);border-radius:var(--radius-full);width:fit-content;font-weight:700}.risk-badge .score{font-size:1.15rem;font-weight:800}.risk-badge .label{font-weight:700;padding:2px 10px;border-radius:var(--radius-full);background:#ffffff8c;font-size:.82rem}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:800;letter-spacing:.01em;width:fit-content}.badge-ad{background:var(--color-tone-yellow-bg);color:#7a5900;border:1px solid var(--color-tone-yellow-border)}.badge-partner{background:var(--color-tone-mint-bg);color:var(--color-mint-dark);border:1px solid var(--color-tone-mint-border)}.badge-neutral{background:var(--color-surface-muted);color:var(--color-text-muted);border:1px solid var(--color-border)}.risk-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:.85rem;color:var(--color-text-muted)}.reasons-list{margin:0;padding-left:1.2rem;font-size:.9rem;display:flex;flex-direction:column;gap:2px}.reasons-list.warnings li{color:var(--color-warn-text)}.exclusion-notice,.uncertainty-notice{border-radius:var(--radius-md);padding:var(--space-3);font-size:.9rem}.exclusion-notice{background:var(--color-danger-bg);color:var(--color-danger-text);border:1.5px solid var(--color-danger-border);display:flex;flex-direction:column;gap:4px}.exclusion-notice strong{display:inline-flex;align-items:center;gap:6px;font-size:.95rem}.uncertainty-notice{background:var(--color-warn-bg);color:var(--color-warn-text);border:1px solid var(--color-warn-border);display:flex;align-items:center;gap:6px}.data-integrity-notice{background:var(--color-info-bg);color:var(--color-info-text);border:1px solid var(--color-info-border);border-radius:var(--radius-md);padding:var(--space-3);font-size:.85rem}.state-message{padding:var(--space-6) var(--space-3);text-align:center;color:var(--color-text-muted);display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.state-message .state-icon{font-size:2rem;line-height:1}.state-message[role=alert]{color:var(--color-danger-text)}.detail-hero{background:linear-gradient(155deg,var(--color-primary-soft) 0%,#ffffff 60%);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4)}.detail-hero h2{margin:0 0 4px;font-size:1.5rem}.detail-section{margin-top:var(--space-5)}.section-tone-indigo,.section-tone-mint,.section-tone-sky,.section-tone-lavender{border-radius:var(--radius-lg);padding:var(--space-3)}.section-tone-indigo{background:var(--color-primary-soft)}.section-tone-mint{background:var(--color-tone-mint-bg)}.section-tone-sky{background:var(--color-tone-sky-bg)}.section-tone-lavender{background:var(--color-tone-lavender-bg)}.detail-section h2{font-size:1.05rem;margin:0}.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.section-heading-label{display:inline-flex;align-items:center;gap:6px}.section-icon{font-size:1.1rem;line-height:1}.page-title{margin-bottom:var(--space-3)}.page-title h2{margin:0}.scenario-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.scenario-result-row{border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface);box-shadow:var(--shadow-xs)}.scenario-result-row .scenario-row-header{display:flex;align-items:center;gap:6px;margin-bottom:var(--space-2)}.scenario-result-row h3{margin:0;font-size:1rem}.scenario-result-row.highlighted{border-color:var(--color-primary);border-width:2px;box-shadow:0 0 0 4px var(--color-primary-soft)}.source-list,.parking-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.source-list li,.parking-list li{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px var(--space-3);font-size:.9rem}.table-scroll{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}table.summary-table{width:100%;border-collapse:collapse;font-size:.85rem}table.summary-table th,table.summary-table td{text-align:left;padding:10px var(--space-3);border-bottom:1px solid var(--color-border)}table.summary-table th{background:var(--color-surface-muted);font-weight:700}table.summary-table tr:last-child td{border-bottom:none}.back-link{display:inline-flex;align-items:center;gap:4px;margin-bottom:var(--space-3);font-weight:700;text-decoration:none}.ad-slot{border-radius:var(--radius-lg);border:1.5px dashed var(--color-border-strong);background:var(--color-surface-muted);padding:var(--space-3);display:flex;flex-direction:column;gap:6px}.ad-slot .ad-label-row{display:flex;align-items:center;justify-content:space-between}.ad-slot .ad-body{color:var(--color-text-muted);font-size:.88rem}.ad-slot--banner{min-height:64px;justify-content:center;align-items:center;text-align:center;background:linear-gradient(120deg,var(--color-primary-soft),var(--color-mint-soft));border-style:solid;border-color:transparent}.ad-slot--banner.ad-slot--filled{min-height:96px}.ad-slot--inline{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-3)}.ad-slot--sponsor-card{border-style:solid;border-color:var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-xs)}.ad-slot--filled{border-style:solid}.app-footer{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border);text-align:center}.app-footer p{margin:0;font-size:.78rem;color:var(--color-text-faint)}.app-footer strong{color:var(--color-text-muted);font-weight:700}.app-footer-sub{font-size:.95em}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (min-width: 768px){.app-shell{padding:var(--space-4)}.app-header--hero{padding:var(--space-5) var(--space-4);margin:calc(var(--space-4) * -1) calc(var(--space-4) * -1) var(--space-5)}.app-header--hero .hero-cta .btn-lg{min-width:220px}.brand-logo{height:40px}.wordmark .brand-logo{height:50px}.search-form{flex-direction:row;align-items:flex-end}.search-form .field{flex:1}.chip-scroll{flex-wrap:wrap;overflow-x:visible;padding-bottom:0;gap:var(--space-3)}.restaurant-card{flex-direction:row;align-items:center;justify-content:space-between}.restaurant-card .restaurant-card-main{flex:1}.scenario-quicklinks{grid-template-columns:repeat(4,minmax(0,1fr))}.scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){:root{--max-width: 1160px}.scenario-quicklinks{grid-template-columns:repeat(5,minmax(0,1fr))}.scenario-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.brand-logo{height:46px}.wordmark .brand-logo{height:58px}}
