@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-vietnamese-wght-normal-XAtsl5Q_.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-ext-wght-normal-C4zznr8T.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-wght-normal-E0tuGl4L.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0d1012;--surface:#161b1e;--line:#242b2f;--text:#eef1ec;--muted:#98a29d;--accent:#ff6b3d;--accent-ink:#1a0b05;--font-latin:"Archivo Variable", "Helvetica Neue", Arial;--font-cjk:"Apple SD Gothic Neo", "Malgun Gothic", "Hiragino Sans", "Yu Gothic UI", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK KR";--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root:lang(ko){--font-cjk:"Pretendard", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", "Noto Sans CJK KR"}:root:lang(ja){--font-cjk:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Meiryo", "Noto Sans JP", "Noto Sans CJK JP"}:root:lang(zh-Hans){--font-cjk:"PingFang SC", "Microsoft YaHei", "Noto Sans SC", "Noto Sans CJK SC"}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-latin), var(--font-cjk), sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5}p,h1{margin:0}#app{isolation:isolate;grid-template-rows:auto 1fr;min-height:100svh;display:grid;position:relative;overflow:hidden}#app:before{content:"";z-index:-1;aspect-ratio:1;background:radial-gradient(closest-side, transparent calc(50% - 1px), var(--line) calc(50% - 1px) 50%, transparent 50% calc(80% - 1px), var(--line) calc(80% - 1px) 80%, transparent 80%);pointer-events:none;width:min(150vmin,1500px);position:absolute;top:46svh;left:50%;translate:-50% -50%}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.top{justify-content:space-between;align-items:center;gap:16px;padding:20px clamp(16px,4vw,40px);display:flex}.brand{color:var(--text);letter-spacing:-.01em;align-items:center;gap:10px;font-size:20px;font-weight:800;text-decoration:none;display:inline-flex}.brand svg{width:26px;height:26px}.brand path{fill:none;stroke:var(--text);stroke-width:7px;stroke-linecap:round;stroke-linejoin:round}.brand circle{fill:var(--accent)}.lang select{appearance:none;border:1px solid var(--line);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%2398a29d' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2.5 4.5 3.5 3.5 3.5-3.5'/%3E%3C/svg%3E") no-repeat right 12px center / 12px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:8px 34px 8px 14px;font-size:14px}.lang select:hover{border-color:var(--muted)}main{padding:0 clamp(16px,4vw,40px)}.stage{place-items:center;min-height:calc(100svh - 80px);padding-bottom:clamp(24px,6vh,72px);display:grid}.result{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:880px;display:flex}.sample{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;margin-bottom:clamp(12px,3vh,36px);font-size:13px;display:flex}.sample-tag{border:1px solid var(--muted);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.headline{letter-spacing:-.01em;text-wrap:balance;max-width:24em;font-size:clamp(20px,2.6vw,30px);font-weight:600;line-height:1.3}.phrase{display:inline-block}.hero{margin-top:clamp(14px,3vh,32px)}.hero-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:14px;font-weight:600}.hero-figure{letter-spacing:-.035em;font-variant-numeric:tabular-nums lining-nums;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0;font-size:clamp(88px,min(23vw,24vh),264px);font-weight:800;line-height:.95;display:flex}.hero-unit{white-space:nowrap;width:0;color:var(--accent);letter-spacing:0;font-size:max(22px,.24em);line-height:1.2;position:relative;left:.3em}.change{color:var(--accent);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 14px;margin-top:clamp(10px,2vh,20px);font-size:clamp(17px,1.9vw,22px);font-weight:600;display:flex}.change-steps{color:var(--text)}.change-steps+.change-summary:before{content:"";background:var(--muted);vertical-align:middle;border-radius:50%;width:4px;height:4px;margin-right:14px;display:inline-block}.reason{text-wrap:balance;max-width:34em;margin-top:clamp(14px,2.6vh,26px);font-size:clamp(16px,1.7vw,20px);line-height:1.55}.actions{flex-direction:column;align-items:center;gap:14px;margin-top:clamp(16px,3vh,40px);display:flex}.primary{background:var(--accent);min-height:52px;color:var(--accent-ink);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:10px;padding:12px 28px;font-size:17px;font-weight:700;transition:filter .12s,transform .12s;display:inline-flex}.primary svg,.more svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.primary:hover{filter:brightness(1.08)}.primary:active{transform:translateY(1px)}.download-status{min-height:1.4em;color:var(--muted);margin:-6px 0;font-size:14px}.secondary{flex-wrap:wrap;justify-content:center;gap:4px 22px;display:flex}button.more{cursor:pointer;background:0 0;border:0;font-family:inherit}.primary:disabled{opacity:.6;cursor:progress}.more{color:var(--muted);align-items:center;gap:6px;padding:4px 6px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.more svg{width:16px;height:16px}.more:hover{color:var(--text)}.note{max-width:44em;color:var(--muted);text-wrap:pretty;margin-top:clamp(4px,1.5vh,16px);font-size:14px}.details{border-top:1px solid var(--line);background:var(--bg);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(32px,5vw,72px) clamp(32px,6vw,88px);max-width:1040px;margin:0 auto;padding:clamp(40px,8vh,88px) 0 clamp(72px,12vh,128px);scroll-margin-top:16px;display:grid}.block-method{grid-row:span 2}.block h2{letter-spacing:-.01em;margin:0 0 20px;font-size:clamp(20px,2vw,24px);font-weight:700;line-height:1.3}.steps,.limits{gap:16px;margin:0;padding:0;font-size:16px;line-height:1.6;list-style:none;display:grid}.steps{counter-reset:step}.steps li{counter-increment:step;padding-left:40px;position:relative}.steps li:before{content:counter(step);border:1px solid var(--accent);width:26px;height:26px;color:var(--accent);border-radius:50%;place-items:center;font-size:14px;font-weight:700;line-height:1;display:grid;position:absolute;top:.05em;left:0}.limits{color:var(--muted)}.limits li{border-left:1px solid var(--line);padding-left:18px}.plain{font-size:16px;line-height:1.6}.records{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:28px;font-size:15px}.records caption{color:var(--muted);letter-spacing:.04em;text-align:left;padding-bottom:10px;font-size:13px;font-weight:600}.records th,.records td{border-top:1px solid var(--line);text-align:left;padding:10px 12px 10px 0;font-weight:450}.records thead th{color:var(--muted);font-size:13px;font-weight:600}.records td{font-size:17px;font-weight:700}@media (width<=760px){.details{grid-template-columns:minmax(0,1fr)}.block-method{grid-row:auto}}:focus-visible{outline:2px solid var(--text);outline-offset:3px}:lang(ko){word-break:keep-all}:lang(ja),:lang(zh-Hans){line-break:strict}:lang(ja){word-break:auto-phrase}:lang(ko) .hero-label,:lang(ja) .hero-label,:lang(zh-Hans) .hero-label,:lang(ko) .sample-tag,:lang(ja) .sample-tag,:lang(zh-Hans) .sample-tag{letter-spacing:.02em}.dev{border:1px dashed var(--line);background:var(--bg);border-radius:10px;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 8px;font-size:12px;display:flex;position:fixed;bottom:12px;left:12px}.dev-label{color:var(--muted);padding:0 6px}.dev button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:3px 8px}.dev button[aria-pressed=true]{background:var(--surface);color:var(--text)}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary{transition:none}}.landing{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:880px;display:flex}.landing-title{letter-spacing:-.025em;text-wrap:balance;max-width:18em;font-size:clamp(26px,min(3.6vw,6vh),48px);font-weight:800;line-height:1.12}.landing-lead{max-width:34em;color:var(--muted);text-wrap:balance;margin-top:clamp(10px,2vh,18px);font-size:clamp(16px,1.6vw,19px)}.dpi-form{flex-direction:column;align-items:center;margin-top:clamp(16px,3.5vh,48px);display:flex}.dpi-field{letter-spacing:-.035em;justify-content:center;align-items:baseline;gap:0;margin-top:6px;font-size:clamp(64px,min(17vw,13vh),168px);font-weight:800;line-height:1;display:flex}.dpi-field input{border:0;border-bottom:3px solid var(--line);width:3.3em;color:var(--text);caret-color:var(--accent);font:inherit;letter-spacing:inherit;font-variant-numeric:tabular-nums lining-nums;text-align:center;background:0 0;border-radius:0;padding:0 0 .04em}.dpi-field input::placeholder{color:var(--line)}.dpi-field input:focus{border-bottom-color:var(--accent);outline:none}.dpi-error{min-height:1.5em;color:var(--accent);margin-top:8px;font-size:15px;font-weight:600}.dpi-form .primary{margin-top:4px}.dpi-form .more{text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;margin-top:12px;font-family:inherit}.dpi-help{max-width:40em;color:var(--muted);text-wrap:balance;margin-top:10px;font-size:14px}.flow{border-top:1px solid var(--line);width:100%;margin-top:clamp(14px,3vh,48px);padding-top:clamp(12px,2.5vh,28px)}.flow h2{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;font-size:14px;font-weight:600}:lang(ko) .flow h2,:lang(ja) .flow h2,:lang(zh-Hans) .flow h2{letter-spacing:.02em}.flow ol{counter-reset:flow;text-align:left;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;font-size:15px;line-height:1.45;list-style:none;display:grid}.flow li{counter-increment:flow;gap:10px;display:flex}.flow li:before{content:counter(flow);color:var(--accent);font-variant-numeric:tabular-nums;flex:none;font-weight:800}.landing .note{margin-top:clamp(14px,3vh,28px)}.mobile-notice{flex-direction:column;align-items:center;gap:16px;margin-top:32px;font-size:17px;display:flex}.copy-status{min-height:1.5em;color:var(--muted);overflow-wrap:anywhere;font-size:14px}@media (width<=760px){.flow ol{grid-template-columns:minmax(0,1fr);gap:10px}}.test-root{z-index:10;background:var(--bg);position:fixed;inset:0}.test-loading{height:100%;color:var(--muted);place-items:center;display:grid}.test{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:relative;overflow:hidden}.test-canvas{width:100%;height:100%;display:block}.crosshair{background:linear-gradient(var(--text), var(--text)) center / 2px 2px no-repeat, linear-gradient(var(--text), var(--text)) left center / 7px 2px no-repeat, linear-gradient(var(--text), var(--text)) right center / 7px 2px no-repeat, linear-gradient(var(--text), var(--text)) center top / 2px 7px no-repeat, linear-gradient(var(--text), var(--text)) center bottom / 2px 7px no-repeat;filter:drop-shadow(0 0 1px #000);opacity:0;pointer-events:none;width:22px;height:22px;position:absolute;top:50%;left:50%;translate:-50% -50%}.test.is-live .crosshair{opacity:1}.crosshair.hit{animation:.14s ease-out hit}@keyframes hit{0%{scale:1.7}to{scale:1}}.progress{opacity:0;pointer-events:none;gap:4px;padding:10px clamp(16px,4vw,40px) 0;display:flex;position:absolute;top:0;left:0;right:0}.progress span{background:var(--line);border-radius:3px;flex:1;height:5px;overflow:hidden}.progress i{background:var(--accent);width:0;height:100%;display:block}.hud{color:var(--text);font-variant-numeric:tabular-nums;opacity:0;pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:start;gap:16px;padding:30px clamp(16px,4vw,40px) 0;font-size:17px;font-weight:600;display:grid;position:absolute;top:0;left:0;right:0}.test.is-live .hud,.test.is-live .progress{opacity:1}.hud-side{flex-direction:column;gap:2px;display:flex}.hud-total{color:var(--muted);font-size:14px}.hud-clock{align-items:center;gap:10px;display:flex}.hud-clock[hidden]{display:none}.hud-clock svg{fill:none;width:30px;height:30px;stroke:var(--accent);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.hud-time{min-width:1.3em;font-size:44px;font-weight:800;line-height:1}.hud-hits{text-align:right}.banner{text-align:center;text-wrap:balance;width:min(560px,100% - 32px);text-shadow:0 1px 6px var(--bg);pointer-events:none;flex-direction:column;align-items:center;gap:6px;font-size:clamp(16px,1.8vw,20px);display:flex;position:absolute;top:13%;left:50%;translate:-50%}.banner-title{letter-spacing:-.02em;font-size:clamp(26px,3.4vw,40px);font-weight:800}.banner-big{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(64px,13vh,128px);font-weight:800;line-height:1}.banner-big.is-accent{color:var(--accent)}.panel{background:color-mix(in srgb, var(--bg) 82%, transparent);place-items:center;padding:16px;display:grid;position:absolute;inset:0}.panel[hidden],.banner[hidden]{display:none}.panel-card{text-align:center;flex-direction:column;align-items:center;width:min(520px,100%);display:flex}.panel-card h1{letter-spacing:-.02em;font-size:clamp(30px,4vw,48px);font-weight:800}.panel-body{text-wrap:balance;margin-top:12px;font-size:18px}.panel-error{min-height:1.5em;color:var(--accent);text-wrap:balance;margin-top:12px;font-size:15px;font-weight:600}.panel-card .primary{margin-top:8px}.panel-note{color:var(--muted);text-wrap:balance;margin-top:16px;font-size:14px}.panel-row{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px;display:flex}.ghost{border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:8px 16px;font-size:14px}.ghost:hover{border-color:var(--muted);color:var(--text)}@media (prefers-reduced-motion:reduce){.crosshair.hit{animation:none}}@media (width<=520px){.hero-unit{width:auto;margin-left:.3em;left:0}}.eyebrow{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin-bottom:clamp(8px,1.6vh,14px);font-size:14px;font-weight:700}:lang(ko) .eyebrow,:lang(ja) .eyebrow,:lang(zh-Hans) .eyebrow{letter-spacing:.02em}.guide{border-top:1px solid var(--line);background:var(--bg);grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,5vw,64px) clamp(32px,6vw,88px);max-width:1040px;margin:0 auto;padding:clamp(40px,8vh,88px) 0 clamp(72px,12vh,128px);font-size:16px;line-height:1.65;display:grid}.guide .block>p{text-wrap:pretty;margin-bottom:14px}.guide .steps{margin:18px 0}.guide-note{color:var(--muted);font-size:15px}.faq-item+.faq-item{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.faq-item h3{margin:0 0 6px;font-size:17px;font-weight:700}.faq-item p{color:var(--muted)}@media (width<=760px){.guide{grid-template-columns:minmax(0,1fr)}}.ad-rail{width:160px;display:none;position:absolute;top:112px}.ad-rail-left{left:calc(50% - 704px)}.ad-rail-right{right:calc(50% - 704px)}.ad-label{color:var(--muted);letter-spacing:.04em;text-align:center;margin-bottom:6px;font-size:11px}.ad-placeholder{border:1px dashed var(--line);width:160px;height:600px;color:var(--muted);place-items:center;font-size:12px;display:grid}@media (width>=1440px){.ad-rail{display:block}}a.primary{text-decoration:none}.result>.download-status{margin-top:16px}
