:root{--color-primary:#1e6b4c;--color-primary-dark:#1c5e42;--color-primary-light:#2e7d5b;--color-text:#101e23;--color-text-secondary:#5b6b72;--color-bg-light:#eaf7ef;--color-bg-faq:#f4f6fa;--color-card:#fff;--color-border:#e5e9ec;--icon1-bg:#d9f2e3;--icon1:#1e6b4c;--icon2-bg:#d6f5f3;--icon2:#2aafa8;--icon3-bg:#dce8fb;--icon3:#3b7ddb;--radius-pill:999px;--radius-card:18px;--radius-input:12px;--shadow-card:0 4px 20px #101e230f;--shadow-pop:0 10px 40px #101e231f;--font-heading:"Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:"Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;--container:1200px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-card);margin:0;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-text);margin:0;font-weight:700;line-height:1.15}p{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%}button{cursor:pointer;font-family:inherit}:focus-visible{outline:3px solid var(--color-primary-light);outline-offset:2px;border-radius:6px}#root{flex-direction:column;min-height:100svh;display:flex}.main-content{flex-direction:column;flex:1;display:flex}.container{width:100%;max-width:var(--container);margin:0 auto;padding-inline:clamp(20px,5vw,72px)}.btn{font-weight:700;font-family:var(--font-body);border-radius:var(--radius-pill);text-align:center;border:none;justify-content:center;align-items:center;gap:.5em;padding:15px 32px;font-size:16px;transition:transform .12s,background .15s,box-shadow .15s;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.btn-sm{padding:10px 20px;font-size:15px}.btn-ghost-light{color:#fff;background:#ffffff24;box-shadow:inset 0 0 0 1.5px #ffffff8c}.btn-ghost-light:hover{background:#ffffff3d;transform:translateY(-1px)}.btn-outline{color:var(--color-primary);box-shadow:inset 0 0 0 1.5px var(--color-border);background:0 0}.btn-outline:hover{background:var(--color-bg-light)}.btn-block{width:100%}.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}.site-header{z-index:40;-webkit-backdrop-filter:saturate(1.1)blur(8px);backdrop-filter:saturate(1.1)blur(8px);background:#ffffffe6;border-bottom:1px solid #0000;position:sticky;top:0}.site-header.scrolled{border-bottom-color:var(--color-border)}.header-inner{align-items:center;gap:16px;height:74px;display:flex}.brand{font-family:var(--font-heading);color:var(--color-text);flex:none;align-items:center;gap:9px;font-size:22px;font-weight:700;display:flex}.brand svg{flex:none}.header-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.lang{position:relative}.lang-btn{border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text);background:0 0;align-items:center;gap:7px;padding:7px 12px;font-size:14px;font-weight:600;display:inline-flex}.lang-btn:hover{border-color:var(--color-primary-light)}.lang-btn svg{color:var(--color-primary)}.lang-menu{border:1px solid var(--color-border);box-shadow:var(--shadow-pop);z-index:60;background:#fff;border-radius:14px;min-width:180px;max-height:300px;padding:6px;display:none;position:absolute;top:calc(100% + 8px);right:0;overflow:auto}.lang-menu.open{display:block}.lang-menu button{width:100%;color:var(--color-text);text-align:left;background:0 0;border:none;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;font-size:14px;display:flex}.lang-menu button:hover{background:var(--color-bg-light)}.lang-menu button[aria-current=true]{color:var(--color-primary);font-weight:700}.lang-menu .code{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:11px}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.page{animation:.25s fade}.hero{background:linear-gradient(135deg, var(--color-bg-light) 0%, #fff 60%)}.hero-inner{padding-block:clamp(48px,9vw,110px)}.hero h1{letter-spacing:-.01em;max-width:16.8ch;font-size:clamp(30px,7.2vw,56px)}.hero p{color:var(--color-text-secondary);max-width:60ch;margin-top:22px;font-size:clamp(15px,2.2vw,18px)}.hero .cta-row{justify-content:flex-start;margin-top:34px;display:flex}.section{padding-block:clamp(56px,9vw,110px)}.section-head{text-align:center;max-width:60ch;margin:0 auto}.section-head h2{font-size:clamp(26px,5vw,40px)}.section-head p{color:var(--color-text-secondary);margin-top:16px;font-size:clamp(15px,2vw,18px)}.features{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:clamp(32px,4vw,40px);margin-top:8px;display:grid}.feature{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.feature .ic{border-radius:50%;place-items:center;width:88px;height:88px;display:grid}.feature h3{font-size:19px;font-weight:600}.feature p{color:var(--color-text-secondary);max-width:34ch;font-size:15px}.ic.c1{background:var(--icon1-bg);color:var(--icon1)}.ic.c2{background:var(--icon2-bg);color:var(--icon2)}.ic.c3{background:var(--icon3-bg);color:var(--icon3)}.tst-row{align-items:center;gap:12px;display:flex}.tst-container{flex:1;min-width:0}.tst-arrow{border:1px solid var(--color-border);width:44px;height:44px;box-shadow:var(--shadow-card);color:var(--color-text);background:#fff;border-radius:50%;flex:none;place-items:center;display:grid}.tst-arrow:hover{border-color:var(--color-primary-light);color:var(--color-primary)}.tst-scroll{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;grid-template-columns:repeat(4,minmax(240px,1fr));gap:22px;margin-top:12px;padding:8px 4px 20px;display:grid;overflow-x:auto}.tst-scroll::-webkit-scrollbar{height:8px}.tst-scroll::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:999px}.tst{scroll-snap-align:center;border:1px solid var(--color-border);border-radius:var(--radius-card);min-width:0;box-shadow:var(--shadow-card);background:#fff;flex-direction:column;gap:16px;padding:28px;display:flex}.tst blockquote{color:var(--color-text);margin:0;font-size:15.5px}.tst .who{align-items:center;gap:12px;margin-top:auto;display:flex}.avatar{color:#fff;border-radius:50%;flex:none;place-items:center;width:46px;height:46px;font-size:15px;font-weight:700;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.who .nm{font-size:14px;font-weight:700}.who .rl{color:var(--color-text-secondary);font-size:13px}.faq-wrap{background:linear-gradient(180deg, var(--color-bg-faq), #eaecf3)}.faq-list{margin-top:12px;flex-direction:column;gap:16px;max-width:960px;margin-inline:auto;display:flex}.faq{border:1px solid var(--color-border);background:#fff;border-radius:14px;box-shadow:0 2px 10px #101e2308}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;font-size:16px;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary .chev{color:var(--color-text-secondary);flex:none;transition:transform .2s}.faq[open] summary .chev{transform:rotate(180deg)}.faq .ans{color:var(--color-text-secondary);padding:0 24px 22px;font-size:15px}.cta-final{background:var(--color-primary-dark);color:#fff;text-align:center;position:relative;overflow:hidden}.cta-final .container{z-index:2;position:relative}.cta-final h2{color:#fff;font-size:clamp(28px,5vw,44px)}.cta-final .sub{color:#fff;font-weight:700;font-family:var(--font-heading);letter-spacing:.06em;opacity:.95;margin-top:6px;font-size:clamp(15px,2.4vw,22px)}.cta-final .btn{margin-top:26px}.blob{background:var(--color-primary-light);opacity:.35;z-index:1;border-radius:50%;position:absolute}.blob.b1{width:280px;height:280px;top:-70px;left:-90px}.blob.b2{width:200px;height:200px;bottom:-90px;left:40px}.site-footer{border-top:1px solid var(--color-border)}.footer-inner{flex-wrap:wrap;align-items:center;gap:16px;padding-block:26px;display:flex}.footer-inner .copy{color:var(--color-text-secondary);text-align:center;margin-inline:auto;font-size:14px}.footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;display:flex}.footer-links a{color:var(--color-text-secondary);font-size:14px}.footer-links a:hover{color:var(--color-primary)}.app-bg{background:linear-gradient(135deg, var(--color-bg-light), #fff 55%);flex:1;min-height:calc(100vh - 74px)}.app-wrap{padding-block:clamp(32px,6vw,64px)}.card{border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);background:#fff}.auth-card{max-width:460px;margin-inline:auto;padding:clamp(24px,5vw,40px)}.auth-card h1{font-size:clamp(24px,5vw,30px)}.auth-card .lead{color:var(--color-text-secondary);margin-top:10px;font-size:15px}.field{text-align:left;margin-top:18px}.field label{margin-bottom:7px;font-size:14px;font-weight:600;display:block}.field input,.field textarea{border:1px solid var(--color-border);border-radius:var(--radius-input);width:100%;color:var(--color-text);background:#fff;padding:13px 14px;font-family:inherit;font-size:15px}.field textarea{resize:vertical;min-height:110px}.field input:focus,.field textarea:focus{border-color:var(--color-primary-light);outline:none;box-shadow:0 0 0 3px #2e7d5b26}.hint{color:var(--color-text-secondary);margin-top:6px;font-size:12.5px}.req{color:#c0392b}.notice{background:var(--color-bg-light);color:var(--color-primary-dark);border:1px solid #cde9d8;border-radius:12px;margin-top:8px;padding:14px 16px;font-size:14px}.drop{border-radius:var(--radius-card);text-align:center;cursor:pointer;background:#fafcfb;border:2px dashed #cbd5da;padding:26px 18px;transition:border-color .15s,background .15s;display:block}.drop:hover,.drop.drag{border-color:var(--color-primary-light);background:var(--color-bg-light)}.drop .di{background:var(--icon1-bg);width:52px;height:52px;color:var(--icon1);border-radius:50%;place-items:center;margin:0 auto 12px;display:grid}.drop .dt{font-size:15px;font-weight:600}.drop .ds{color:var(--color-text-secondary);margin-top:4px;font-size:13px}.drop.has-file{border-style:solid;border-color:var(--color-primary);background:var(--color-bg-light)}.form-card{max-width:640px;margin-inline:auto;padding:clamp(24px,5vw,40px)}.form-card h1{font-size:clamp(24px,5vw,32px)}.form-card .lead{color:var(--color-text-secondary);margin-top:8px;font-size:15px}.results-wrap{max-width:860px;margin-inline:auto}.result-hero{flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:22px;padding:clamp(20px,4vw,28px);display:flex}.result-hero .who-meta{min-width:0}.result-hero .cand{font-family:var(--font-heading);font-size:clamp(20px,4vw,26px);font-weight:700}.result-hero .pos{color:var(--color-text-secondary);margin-top:2px;font-size:14px}.score-badge{align-items:center;gap:14px;margin-left:auto;display:flex}.ring{--v:70;background:conic-gradient(var(--color-primary) calc(var(--v) * 1%), #e7edea 0);border-radius:50%;flex:none;place-items:center;width:74px;height:74px;display:grid;position:relative}.ring:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:8px}.ring b{font-family:var(--font-heading);color:var(--color-primary-dark);font-size:18px;position:relative}.score-badge .sl{color:var(--color-text-secondary);max-width:12ch;font-size:13px}.rsection{margin-bottom:18px;padding:clamp(20px,4vw,28px);position:relative}.rsection h3{align-items:center;gap:10px;font-size:19px;font-weight:700;display:flex}.rsection h3 .num{background:var(--color-bg-light);width:26px;height:26px;color:var(--color-primary-dark);font-size:13px;font-weight:700;font-family:var(--font-body);border-radius:8px;flex:none;place-items:center;display:grid}.rsection ul{color:var(--color-text);flex-direction:column;gap:9px;margin:14px 0 0;padding-left:20px;font-size:15px;display:flex}.rsection ul li{padding-left:2px}.qual-features{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;margin-top:18px;display:grid}.qf{border:1px solid var(--color-border);border-radius:14px;padding:16px}.qf .qf-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.qf .qf-name{font-size:14px;font-weight:600}.qf .qf-score{font-family:var(--font-heading);color:var(--color-primary-dark);font-size:15px;font-weight:700}.bar{background:#e7edea;border-radius:999px;height:7px;margin:10px 0 12px;overflow:hidden}.bar>i{background:var(--color-primary);border-radius:999px;height:100%;display:block}.qf ul{color:var(--color-text-secondary);flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:13.5px;display:flex}.tier-label{letter-spacing:.05em;text-transform:uppercase;color:var(--color-primary-dark);background:var(--color-bg-light);border-radius:999px;align-items:center;gap:6px;margin-bottom:14px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.tier-label.prem{color:#8a6d1f;background:#fbf3da}.locked .lock-body{filter:blur(6px);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.65}.unlock-card{text-align:center;margin-bottom:18px;padding:clamp(22px,5vw,32px)}.unlock-card .lk-ic{color:#8a6d1f;background:#fbf3da;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 12px;display:grid}.unlock-card p{color:var(--color-text-secondary);max-width:40ch;margin:6px auto 16px;font-size:14px}.unlock-card h4{font-family:var(--font-heading);font-size:18px}.unlocked .lock-body{filter:none;opacity:1;pointer-events:auto;-webkit-user-select:auto;user-select:auto}.results-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px;display:flex}.legal-wrap{max-width:800px;margin-inline:auto}.back-link{color:var(--color-primary);align-items:center;gap:6px;margin-bottom:16px;font-size:14px;font-weight:600;display:inline-flex}.back-link:hover{color:var(--color-primary-dark)}.legal{padding:clamp(24px,5vw,44px)}.legal h1{font-size:clamp(24px,5vw,34px)}.legal h2{margin-top:26px;font-size:19px}.legal p{color:var(--color-text-secondary);margin-top:10px;font-size:15.5px}.legal .legal-date{margin-top:28px;font-size:13.5px;font-style:italic}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:80;background:#101e238c;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.overlay.open{display:flex}.proc{text-align:center;max-width:340px;box-shadow:var(--shadow-pop);background:#fff;border-radius:20px;padding:36px 30px}.spinner{border:5px solid var(--color-bg-light);border-top-color:var(--color-primary);border-radius:50%;width:52px;height:52px;margin:0 auto 18px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.proc h3{font-size:19px}.proc p{color:var(--color-text-secondary);margin-top:6px;font-size:14px}.ad{width:100%;max-width:520px;box-shadow:var(--shadow-pop);background:#0f1a1e;border-radius:20px;overflow:hidden}.ad .screen{aspect-ratio:16/9;color:#fff;text-align:center;background:linear-gradient(135deg,#123,#1e6b4c);flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:relative}.ad .screen .badge{letter-spacing:.05em;background:#0006;border-radius:6px;padding:4px 8px;font-size:11px;position:absolute;top:12px;left:12px}.ad .screen .play{background:#ffffff26;border-radius:50%;place-items:center;width:64px;height:64px;margin-bottom:14px;display:grid}.ad .screen .ad-title{font-family:var(--font-heading);font-size:20px}.ad .screen .ad-sub{opacity:.85;margin-top:4px;font-size:13px}.ad .bar-time{background:#ffffff40;height:4px}.ad .bar-time>i{background:#fff;width:0%;height:100%;display:block}.ad .controls{color:#fff;background:#0f1a1e;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.ad .controls .t{opacity:.8;font-size:13px}.toast{background:var(--color-text);color:#fff;box-shadow:var(--shadow-pop);opacity:0;pointer-events:none;z-index:90;text-align:center;border-radius:12px;max-width:calc(100% - 32px);padding:12px 18px;font-size:14px;transition:opacity .2s,transform .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.devnote{color:#7a5f14;text-align:center;background:#fbf3da;padding:7px 14px;font-size:12.5px}@media (width<=640px){.footer-inner{text-align:center;flex-direction:column}.footer-inner .copy{margin-inline:0}.footer-links{justify-content:center;width:100%}.hero .cta-row{justify-content:center}.hero .cta-row .btn{min-width:257px;font-size:18px}}@media (width<=520px){.lang-btn .lang-name{display:none}.result-hero{flex-direction:column;align-items:flex-start}.score-badge{margin-left:0}}@media (width<=360px){.brand{font-size:19px}.btn{padding:13px 22px;font-size:15px}}@media (prefers-reduced-motion:reduce){:not(.spinner){transition-duration:.001ms!important;animation-duration:.001ms!important}}html:lang(ja){--font-heading:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--font-body:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif}html:lang(ko){--font-heading:"Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-body:"Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif}:lang(ja) .hero h1,:lang(ko) .hero h1{letter-spacing:normal;max-width:11em;line-height:1.5}:lang(ja) .hero p,:lang(ko) .hero p,:lang(ja) .section-head,:lang(ko) .section-head{max-width:34em}:lang(ja) .feature p,:lang(ko) .feature p{max-width:20em}:lang(ja) .score-badge .sl,:lang(ko) .score-badge .sl{max-width:7em}:lang(ja) .unlock-card p,:lang(ko) .unlock-card p{max-width:24em}:lang(ja) h1,:lang(ja) h2,:lang(ja) h3,:lang(ja) h4,:lang(ko) h1,:lang(ko) h2,:lang(ko) h3,:lang(ko) h4{letter-spacing:normal;line-height:1.5}
