:root{--font-display:"Sora", "Zen Kaku Gothic New", "Noto Sans KR", "Noto Sans SC", sans-serif;--font-ui:"Inter", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans KR", "Noto Sans SC", Meiryo, system-ui, sans-serif;font-family:var(--font-ui);color:#1d1d1f;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"cv11", "ss01";line-height:1.5}html{font-size:100%}*{box-sizing:border-box}body{color:#1d1d1f;background:#f5f5f7;min-height:100vh;margin:0;font-weight:400}:root{--bg:#f5f5f7;--surface:#fff;--surface-2:#f5f5f7;--text:#1d1d1f;--text-2:#515154;--text-3:#6e6e73;--line:#e3e3e8;--line-strong:#d2d2d7;--accent:#0071e3;--accent-hover:#0077ed;--accent-tint:#0071e314;--accent-text:#0067cf;--radius-card:18px;--radius-ctrl:12px;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 16px #0000000f;--shadow-lg:0 10px 30px #00000014;--fs-display:2.125rem;--fs-wordmark:clamp(1.75rem, 5.2vw, 2.5rem);--fs-h2:1.375rem;--fs-title:1.0625rem;--fs-body:.9375rem;--fs-sm:.8125rem;--fs-xs:.75rem}.page{flex-direction:column;gap:20px;max-width:1200px;margin:0 auto;padding:20px;display:flex}.layout{grid-template-columns:160px minmax(0,1fr) 160px;align-items:start;gap:20px;display:grid}@media (width<=1100px){.layout{grid-template-columns:120px minmax(0,1fr) 120px;gap:14px}}@media (width<=900px){.layout{grid-template-columns:1fr}.ad-side{position:static!important}}.app{text-align:left;flex-direction:column;gap:20px;display:flex}.app-header h1{font-family:var(--font-display);font-size:var(--fs-wordmark);letter-spacing:-.02em;align-items:center;gap:9px;margin:0 0 8px;font-weight:800;line-height:1;display:flex}.logo-icon{color:var(--accent);flex:none;width:1.05em;height:1.05em}.logo-text{font-family:var(--font-display);color:var(--text);letter-spacing:inherit;font-weight:800;animation:.3s fadeIn}html:lang(ja) .app-header h1,html:lang(ko) .app-header h1,html:lang(zh) .app-header h1{letter-spacing:normal}html:lang(ja) .logo-text{font-weight:900}html:lang(ko) .logo-text,html:lang(zh) .logo-text{font-weight:700}.progress{color:var(--text-3);margin:0;font-size:.8125rem;font-weight:500}.progress-bar{background:var(--line);border-radius:999px;height:4px;margin-top:8px;overflow:hidden}.progress-bar>span{background:var(--accent);border-radius:999px;height:100%;transition:width .35s;display:block}.summary-bar{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.summary-pill{color:var(--text-2);background:var(--surface);border:1px solid var(--line-strong);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:100%;padding:5px 12px;font-size:.75rem;transition:all .15s;overflow:hidden}.summary-pill:hover{border-color:var(--accent);color:var(--accent)}.summary-pill:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.step-area{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);min-height:240px;box-shadow:var(--shadow-md);padding:36px 32px}.step-area h2{font-family:var(--font-display);font-size:var(--fs-h2);letter-spacing:-.01em;margin:0 0 24px;font-weight:700;line-height:1.2}.step-area h2:focus{outline:none}.placeholder{color:var(--text-2);font-size:.9375rem}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:44px 20px;display:flex}.empty-state-icon{color:var(--text-3)}.empty-state-text{color:var(--text-2);max-width:30em;margin:0;font-size:.9375rem}.empty-state-cta{background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-ctrl);color:#fff;cursor:pointer;margin-top:4px;padding:11px 22px;font-size:.875rem;font-weight:600;transition:all .15s}.empty-state-cta:hover{background:var(--accent-hover)}@media (pointer:coarse){.chip,.nav button,.summary-pill,.sort-select,.empty-state-cta,.price-go,.price-summary,.research-skip,.consent-accept,.consent-decline{min-height:44px}.modal-close{min-width:44px;min-height:44px}.price-go{align-items:center;display:inline-flex}}.hint{color:var(--accent-text);margin:18px 0 0;font-size:.8125rem;font-weight:500}.field-help{color:var(--text-2);margin:-10px 0 22px;font-size:.8125rem}.results-note{color:var(--text);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius-ctrl);margin:0 0 16px;padding:10px 14px;font-size:.84375rem}.site-footer{border-top:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:6px;margin-top:8px;padding-top:16px;display:flex}.footer-link{color:var(--accent-text);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8125rem;text-decoration:underline}.footer-link:hover{color:var(--accent)}.footer-note{color:var(--text-3);margin:0;font-size:.75rem;line-height:1.5}.consent-banner{z-index:50;background:var(--surface);border-top:1px solid var(--line-strong);box-shadow:var(--shadow-lg);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 16px;padding:14px 18px;display:flex;position:fixed;bottom:0;left:0;right:0}.consent-text{color:var(--text);max-width:60ch;margin:0;font-size:.8125rem}.consent-link{color:var(--accent-text);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.consent-actions{gap:8px;display:flex}.consent-accept,.consent-decline{border-radius:var(--radius-ctrl);cursor:pointer;padding:8px 18px;font-size:.8125rem;font-weight:600}.consent-accept{background:var(--accent);color:#fff;border:1px solid var(--accent)}.consent-accept:hover{background:var(--accent-hover)}.consent-decline{background:var(--surface);color:var(--text-2);border:1px solid var(--line-strong)}.modal-overlay{z-index:60;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-card);width:100%;max-width:640px;max-height:85vh;box-shadow:var(--shadow-lg);padding:28px 28px 32px;position:relative;overflow-y:auto}.modal-close{color:var(--text-3);cursor:pointer;background:0 0;border:none;font-size:1.6rem;line-height:1;position:absolute;top:10px;right:12px}.modal-close:hover{color:var(--text)}.modal-title{font-family:var(--font-display);font-size:var(--fs-h2);margin:0 0 12px}.modal-body{color:var(--text-2);font-size:.875rem;line-height:1.7}.modal-body h3{color:var(--text);margin:18px 0 4px;font-size:.9375rem}.modal-body p{margin:0 0 8px}.intro{flex-direction:column;gap:28px;display:flex}.intro-hero{flex-direction:column;gap:14px;min-height:6em;animation:.3s fadeIn;display:flex}.intro-lead{letter-spacing:-.01em;color:var(--text);margin:0;font-size:1.375rem;font-weight:600;line-height:1.4}.intro-audiences{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.audience-chip{color:var(--text-2);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:.8125rem}.intro-langs-label{color:var(--text-3);align-items:center;gap:6px;margin-bottom:12px;font-size:.8125rem;font-weight:500;display:flex}.group{margin-bottom:26px}.group:last-child{margin-bottom:0}.group-label{color:var(--text);margin-bottom:12px;font-size:.9375rem;font-weight:600;display:block}.chips{flex-wrap:wrap;gap:10px;display:flex}.chip{border:1px solid var(--line-strong);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;padding:10px 18px;font-size:.875rem;font-weight:500;transition:all .15s}.chip:hover{border-color:var(--text-3);background:var(--surface-2)}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.chip.active:hover{background:var(--accent-hover)}.chip-multi .chip-check{width:0;margin-right:0;font-weight:700;transition:width .12s,margin-right .12s;display:inline-block;overflow:hidden}.chip-multi.active .chip-check{width:1em;margin-right:4px}.budget-custom{margin-bottom:26px}.budget-input{box-sizing:border-box;border-radius:var(--radius-ctrl);border:1px solid var(--line-strong);background:var(--surface);width:100%;color:var(--text);margin-top:8px;padding:13px 15px;font-size:1rem}.budget-input::placeholder{color:var(--text-3)}.chip:focus-visible,.nav button:focus-visible,.price-go:focus-visible,.budget-input:focus-visible,.sort-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.results{gap:16px;display:grid}.results-toolbar{align-items:center;gap:8px;margin-bottom:2px;display:flex}.sort-label{color:var(--text-2);font-size:.8125rem;font-weight:500}.sort-select{background:var(--surface);color:var(--text);border:1px solid var(--line-strong);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236e6e73' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border-radius:10px;padding:8px 30px 8px 12px;font-size:.8125rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);padding:22px;transition:box-shadow .2s}.card:hover{box-shadow:var(--shadow-md)}.card.top{border-color:var(--line);box-shadow:var(--shadow-lg);background:linear-gradient(var(--accent-tint), var(--accent-tint)), var(--surface)}.card-main{flex-wrap:wrap;align-items:flex-start;gap:18px;display:flex}.card-photo{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;flex-direction:column;flex:0 0 100px;justify-content:center;align-items:center;gap:4px;width:100px;height:100px;display:flex;overflow:hidden}.card-photo-img{object-fit:contain;background:#fff;width:100%;height:100%;padding:6px}.card-photo-icon{color:var(--text-3)}.card-photo-brand{color:var(--text-3);font-size:.75rem;font-weight:600}.card-info{flex:220px;min-width:0}.card-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.card-head>div:first-child{min-width:0}.card h3{font-family:var(--font-display);font-size:var(--fs-title);overflow-wrap:anywhere;margin:0;font-weight:700;line-height:1.2}.rank-badge{color:var(--accent);margin-right:6px;font-size:.75rem;font-weight:700}.brand{color:var(--text-2);margin-top:4px;font-size:.8125rem}.price{text-align:right;white-space:nowrap;font-size:1.125rem;font-weight:700}.price small{color:var(--text-3);font-size:.75rem;font-weight:400;display:block}.tags{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.tag{color:var(--text-2);background:var(--surface-2);border:1px solid var(--line);border-radius:7px;padding:3px 9px;font-size:.75rem}.why{color:var(--text-2);margin-top:12px;font-size:.8125rem}.card-radar{text-align:center;flex:0 0 204px}.card-radar-title{color:var(--text-3);margin-bottom:2px;font-size:.75rem;font-weight:600}.radar{width:176px;max-width:100%;margin:0 auto;display:block;overflow:visible}.radar-ring{fill:none;stroke:var(--line);stroke-width:1px}.radar-axis{stroke:var(--line);stroke-width:1px}.radar-area{fill:#0071e314;stroke:var(--accent);stroke-width:1.5px}.radar-label{fill:var(--text-2);font-size:.75rem;font-weight:500}.radar-values{text-align:left;grid-template-columns:1fr auto;gap:2px 10px;margin:8px 0 0;padding:0;font-size:.75rem;list-style:none;display:grid}.radar-values li{display:contents}.radar-values li span:first-child{color:var(--text-2)}.radar-values li span:last-child{font-variant-numeric:tabular-nums;color:var(--text-2);text-align:right;font-weight:600}.price-table{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.price-table-title{color:var(--text);margin-bottom:10px;font-size:.8125rem;font-weight:700}.price-rows{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.price-row{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:9px 12px;display:grid}.price-row.cheapest{border-color:var(--accent);background:var(--accent-tint)}.price-store{color:var(--text);align-items:center;gap:6px;min-width:0;font-size:.8125rem;display:flex}.cheapest-badge{color:var(--accent);background:var(--accent-tint);border-radius:6px;padding:2px 7px;font-size:.75rem;font-weight:700}.price-amount{white-space:nowrap;font-size:.875rem;font-weight:700}.price-go{color:var(--accent-text);border:1px solid var(--line-strong);white-space:nowrap;border-radius:8px;padding:5px 12px;font-size:.75rem;font-weight:600;text-decoration:none;transition:all .15s}.price-go:hover{border-color:var(--accent);background:var(--accent-tint)}.price-disclaimer{color:var(--text-3);margin:12px 0 0;font-size:.75rem}.ad-slot{border:1px solid var(--line);border-radius:var(--radius-card);text-align:center;background:var(--surface-2);flex-direction:column;justify-content:center;align-items:center;padding:16px;display:flex}.ad-slot-label{letter-spacing:.08em;color:var(--text-3);text-transform:uppercase;font-size:.75rem;font-weight:500}.ad-slot-note{color:var(--text-2);margin-top:4px;font-size:.8125rem}.ad-banner{min-height:100px}.ad-side{min-height:600px;position:sticky;top:20px}.ad-inline{min-height:90px;margin-top:16px}@media (width<=900px){.ad-banner,.ad-side{min-height:56px}.ad-inline{min-height:70px;margin-top:12px}.ad-slot{padding:8px 12px}.ad-slot-note{display:none}}.nav{justify-content:space-between;gap:12px;display:flex}.nav button{border-radius:var(--radius-ctrl);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);cursor:pointer;flex:1;padding:14px;font-size:.9375rem;font-weight:600;transition:all .15s}.nav button:hover:not(:disabled){background:var(--surface-2)}.nav button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.nav button.primary:hover:not(:disabled){background:var(--accent-hover)}.nav button:disabled,.nav button[aria-disabled=true]{cursor:not-allowed;background:var(--surface-2);border-color:var(--line-strong);color:var(--text-2);box-shadow:none}.researching{text-align:center;color:var(--text-2);flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:56px 20px;font-size:.9375rem;display:flex}.researching p{margin:0;font-weight:500}.spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.research-bar{background:var(--line);border-radius:999px;width:240px;max-width:80%;height:5px;overflow:hidden}.research-bar>span{background:var(--accent);border-radius:999px;height:100%;transition:width .4s;display:block}.research-skip{color:var(--text-2);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:999px;padding:7px 16px;font-size:.8125rem;transition:all .15s}.research-skip:hover{border-color:var(--accent);color:var(--accent)}.research-skip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}@media (width<=560px){.step-area{padding:24px 18px}.card-head{flex-direction:column;gap:6px}.price{text-align:left}.card-radar{flex-basis:100%}.price-row{grid-template-columns:1fr auto}.price-store{flex-wrap:wrap}.price-go{text-align:center;grid-column:1/-1;justify-content:center;align-items:center;min-height:44px;display:flex}.chip{align-items:center;min-height:44px;padding:12px 18px;display:inline-flex}.summary-pill{min-height:40px;padding:9px 14px}.sort-select{min-height:44px;padding:10px 12px;font-size:1rem}.intro-lead{font-size:1.1875rem}}details.price-table>summary{cursor:pointer;color:var(--text);flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:.8125rem;font-weight:700;list-style:none;display:flex}details.price-table>summary::-webkit-details-marker{display:none}.price-summary-title{color:var(--text);margin-right:4px;font-weight:700}.price-summary-cheapest{color:var(--text-2);align-items:center;gap:6px;font-weight:600;display:inline-flex}.price-summary-chevron{color:var(--text-3);margin-left:auto;font-size:.75rem;transition:transform .2s}details.price-table[open] .price-summary-chevron{transform:rotate(180deg)}details.price-table .price-rows{margin-top:10px}.step-hero{background:var(--surface-2);border-radius:18px 18px 0 0;height:168px;margin:-36px -32px 24px;position:relative;overflow:hidden}.step-hero img{object-fit:cover;width:100%;height:100%;display:block}.step-hero:after{content:"";background:linear-gradient(#0000001f,#fff0 45%,#fff 100%);position:absolute;inset:0}.step-hero-fallback:after{display:none}@media (width<=560px){.step-hero{height:120px;margin:-24px -18px 18px}}.logo-button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;margin:0;padding:0;line-height:1;display:inline-flex}.logo-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:10px}.logo-button:hover .logo-text{filter:brightness(1.08)}.step-hero .slide{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 1s;position:absolute;inset:0}.step-hero .slide-on{opacity:1}.price,.price-amount,.price-go,.progress,.budget-input{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.card.top .rank-badge{background:var(--accent);color:#fff;border-radius:999px;margin-right:8px;padding:2px 9px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
