:root{--bg: #FBF8F3;--card: #FFFFFF;--line: #E6E0D6;--line-strong: #D6CEC1;--ink: #26231F;--muted: #6B655C;--brand: #2E7D74;--brand-ink: #1F5F58;--brand-soft: #E3F0EC;--warm: #E0995C;--warm-soft: #FDF4EA;--warm-line: #F0C9A6;--warm-ink: #5A3A1E;--chip: #EEE9E0;--danger: #B3402F;--on-brand: #FFFFFF;color-scheme:light}:root[data-theme=dark]{--bg: #1B2440;--card: #232E4F;--line: #34406A;--line-strong: #46538A;--ink: #EDE8DF;--muted: #A9B0C6;--brand: #F2B96B;--brand-ink: #F7CD93;--brand-soft: #2E3A5E;--warm: #F2B96B;--warm-soft: #2B3555;--warm-line: #5A5170;--warm-ink: #F3DDBF;--chip: #2A3558;--danger: #F08C7A;--on-brand: #1B2440;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink)}body{font-family:Noto Sans KR,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--brand)}button,input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.app{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}.page{flex:1;padding:8px 20px 104px;display:flex;flex-direction:column;gap:18px}.page.center{justify-content:center;padding-bottom:40px}.top{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 4px;min-height:60px}.top .back{display:flex;align-items:center;gap:4px}.wordmark{display:flex;align-items:center;gap:10px;font-family:Gowun Dodum,Noto Sans KR,sans-serif;font-size:22px;color:var(--ink);text-decoration:none}.iconbtn{width:44px;height:44px;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;cursor:pointer;color:var(--ink);text-decoration:none}.iconbtn:hover{background:var(--chip)}h1{font-size:22px;line-height:1.4;margin:0;font-weight:700}h2{font-size:16px;margin:0;font-weight:700}p{margin:0}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:11px;line-height:1.6}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px}.warn{background:var(--warm-soft);border:1px solid var(--warm-line);color:var(--warm-ink);border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.6}.field{display:flex;flex-direction:column;gap:8px}.label{font-size:14px;font-weight:500}.label .opt{font-weight:400;color:var(--muted)}.input,.textarea,.select{width:100%;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);font-size:15px}.textarea{resize:none;line-height:1.55}.input:focus,.textarea:focus,.select:focus{border-color:var(--brand);outline:none}.select{height:46px;padding:0 12px}.btn{height:52px;border-radius:14px;border:0;background:var(--brand);color:var(--on-brand);font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none;width:100%}.btn:disabled{opacity:.5;cursor:default}.btn.ghost{background:var(--card);color:var(--ink);border:1.5px solid var(--line);font-weight:500}.btn.small{height:44px;font-size:14px}.btn.danger{background:var(--card);color:var(--danger);border:1.5px solid var(--line);font-weight:500}.linkbtn{background:none;border:0;padding:0;color:var(--brand);cursor:pointer;font-size:14px;font-weight:500;text-decoration:underline;text-underline-offset:3px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{min-height:38px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);font-size:14px;cursor:pointer;display:inline-flex;align-items:center}.chip[aria-pressed=true]{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-ink);font-weight:500}.tag{padding:2px 10px;border-radius:999px;background:var(--brand-soft);color:var(--brand-ink);font-size:12px;font-weight:500}.seg{display:inline-flex;background:var(--chip);border-radius:999px;padding:3px}.seg button{height:32px;padding:0 14px;border-radius:999px;border:0;background:transparent;color:var(--muted);font-size:13px;cursor:pointer}.seg button[aria-pressed=true]{background:var(--card);color:var(--ink);font-weight:500;box-shadow:0 1px 2px #00000014}.radio{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);font-size:14px;cursor:pointer}.radio:has(input:checked){border-color:var(--brand)}.radio input{accent-color:var(--brand);width:18px;height:18px;margin:0}.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;cursor:pointer}.check input{accent-color:var(--brand);width:20px;height:20px;margin:2px 0 0;flex:none}.switchrow{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px}.switch{position:relative;width:50px;height:30px;flex:none}.switch input{opacity:0;width:100%;height:100%;margin:0;position:absolute;cursor:pointer}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--line-strong);border-radius:999px;transition:background .15s;pointer-events:none}.switch span:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .15s}.switch input:checked+span{background:var(--brand)}.switch input:checked+span:after{transform:translate(20px)}.tabbar{position:fixed;left:0;right:0;bottom:0;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:10}.tabbar nav{max-width:480px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}.tabbar a{height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:12px;color:var(--muted);text-decoration:none}.tabbar a.active{color:var(--brand);font-weight:700}.credit{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted)}.credit strong{color:var(--ink)}.answer h2{margin-bottom:6px}.answer ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.answer sup{font-size:10px;color:var(--brand);font-weight:700;margin-left:2px}.refs{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px;font-size:13px;line-height:1.5}.refs a{font-weight:500;word-break:break-word}.evidence{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.dot{width:8px;height:8px;border-radius:50%;background:var(--brand);display:inline-block}.loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 0;text-align:center}.spinner{width:36px;height:36px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--brand);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation:none}}.list{display:flex;flex-direction:column;gap:10px}.item{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink)}.item .meta{font-size:12px;color:var(--muted);display:flex;gap:6px}.tel{min-height:64px;padding:0 18px;border-radius:16px;display:flex;align-items:center;justify-content:space-between;text-decoration:none}.tel.primary{background:var(--brand);color:var(--on-brand)}.tel.secondary{background:var(--card);border:1.5px solid var(--brand);color:var(--ink)}.tel.plain{background:var(--card);border:1px solid var(--line);color:var(--ink);min-height:56px;font-size:14px}.tel .num{font-size:21px;font-weight:700}.tel .what{font-size:13px;opacity:.85}.error{color:var(--danger);font-size:14px}.notice{font-size:13px;padding:10px 12px;border-radius:12px;background:var(--brand-soft);color:var(--brand-ink)}hr{border:0;border-top:1px solid var(--line);margin:4px 0;width:100%}.bar{width:100%;max-width:320px;height:10px;border-radius:999px;background:var(--chip);overflow:hidden}.bar span{display:block;height:100%;background:var(--brand);border-radius:999px;transition:width .3s ease}.stages{list-style:none;margin:0;padding:0;display:flex;gap:6px;flex-wrap:wrap;justify-content:center;font-size:12px}.stages li{padding:3px 10px;border-radius:999px;background:var(--chip);color:var(--muted)}.stages li.now{background:var(--brand-soft);color:var(--brand-ink);font-weight:700}.stages li.done{color:var(--brand-ink)}@media (prefers-reduced-motion: reduce){.bar span{transition:none}}.update{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 16px;background:var(--brand);color:var(--on-brand);font-size:14px}.update button{border:0;border-radius:999px;padding:6px 14px;background:var(--on-brand);color:var(--brand);font-weight:700;cursor:pointer}.version{font-size:11px;color:var(--muted);text-align:center}
