/* KhoonLabs original utility interface. */
.kx{--ink:#302b27;--muted:#766c62;--brown:#865331;--cream:#f5f0e8;--line:#e6dbce;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Pretendard","Noto Sans KR",sans-serif;max-width:1240px;margin:auto;font-size:15px;line-height:1.65;text-align:left}.kx *{box-sizing:border-box}.kx [hidden]{display:none!important}.kx button,.kx input,.kx select{font:inherit}.kx button{border:1px solid var(--line);background:white;color:var(--ink);border-radius:14px;padding:12px 17px;min-height:46px;cursor:pointer;line-height:1.4;transition:background .2s,transform .2s}.kx button:hover{background:#eee5d9}.kx button:disabled{opacity:.45;cursor:default}.kx :focus-visible{outline:3px solid #b9844e;outline-offset:3px}.kx .kx-primary{background:var(--brown);color:white;border-color:var(--brown);font-weight:700;padding:17px 22px;box-shadow:0 3px 0 #5c34121a}.kx .kx-primary:hover{background:#663c23}.kx input:not([type=checkbox]),.kx select{width:100%;min-height:46px;border:1px solid #d5c3ae;background:white;color:var(--ink);border-radius:10px;padding:9px;font-size:16px}.kx input[type=range]{padding:0;accent-color:var(--brown)}.kx label{display:block;font-size:13px;font-weight:600;margin:12px 0}.kx input{margin-top:6px}.kx h1{font-size:17px;letter-spacing:-.03em;color:var(--brown);font-weight:600;margin:24px 0}.kx h2,.kx h3{color:var(--ink);line-height:1.2;letter-spacing:-.045em;margin:12px 0 18px}.kx h3{font-size:21px}.kx p{margin:12px 0}.kx .kx-kicker{font-size:10px;letter-spacing:.19em;font-weight:700;color:#917963}.kx .kx-hero{display:grid;grid-template-columns:1fr 1.12fr;gap:34px;align-items:center;padding:42px 0 60px}.kx-copy>h2{font-size:clamp(38px,4.6vw,65px);font-weight:750;line-height:1.12;margin:24px 0}.kx h2 em{font-style:normal;color:#9c7250}.kx .kx-lead{font-size:17px;color:var(--muted);margin:26px 0}.kx .kx-badges{font-size:12px;font-weight:650;letter-spacing:.02em}.kx-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:20px 0}.kx-actions .kx-primary{display:flex;gap:24px;align-items:center;justify-content:space-between}.kx .kx-fine{font-size:12px;color:var(--muted);line-height:1.8}.kx .kx-privacy{font-size:12px;color:#705132}.kx-showcase{position:relative;min-width:0;height:650px;overflow:hidden;border-radius:32px;background:radial-gradient(ellipse at 60% 15%,#fffcf7,#ede3d5 80%);padding:28px;isolation:isolate}.kx-demo-label{font-size:10px;letter-spacing:.23em;color:#8f7e6d;font-weight:700;text-align:center}.kx-stack{position:relative;height:460px;max-width:420px;margin:30px auto 0}.kx-stack img{position:absolute;width:205px;height:285px;object-fit:cover;object-position:top;box-shadow:0 20px 55px #6847282b;border:6px solid white;border-radius:15px}.kx-shot-one{left:10px;top:0;transform:rotate(-7deg)}.kx-shot-two{right:4px;top:145px;transform:rotate(7deg)}.kx-overlap{position:absolute;z-index:2;left:45px;top:205px;background:#895331;color:white;border:1px solid #e5c7a2;border-radius:30px;padding:9px 18px;font-size:12px;box-shadow:0 6px 22px #5e351d30}.kx-stack .kx-joined{width:198px;height:450px;object-fit:cover;left:calc(50% - 99px);top:0;opacity:0;transform:translateY(25px);border-radius:15px;z-index:3}.kx-play .kx-shot-one,.kx-play .kx-shot-two,.kx-play .kx-overlap{animation:kx-away 5.5s both}.kx-play .kx-joined{animation:kx-arrive 5.5s both}.kx-show-note{position:absolute;bottom:45px;left:20px;right:20px;text-align:center;font-size:10px;color:#8d7b68!important}.kx .kx-replay{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-size:11px;border:0;background:transparent;min-height:30px;padding:4px 12px}.kx-document{position:relative;width:80%;height:430px;margin:36px auto;background:#fffdf9;padding:30px 25px;box-shadow:0 30px 50px #68472825;transform:rotate(-5deg);border-radius:4px}.kx-doc-top{font-size:12px;font-weight:800;letter-spacing:.06em;border-bottom:1px solid #ddcdbd;padding-bottom:20px}.kx-doc-top span{float:right;font-size:7px;color:#9c8e80}.kx-document h3{font-size:23px;margin:28px 0 8px}.kx-document p{font-size:10px;color:#8d7b68}.kx-doc-lines{height:65px;background:repeating-linear-gradient(0deg,transparent 0 11px,#e7e0d7 12px 14px);margin:22px 0}.kx-doc-lines.short{width:75%;height:42px}.kx-demo-sensitive{font-size:13px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.kx-demo-sensitive span{position:relative;background:#f3e4c6;padding:2px 4px}.kx-demo-sensitive span:after{content:"";position:absolute;inset:-2px;background:#25221f;transform:scaleX(0);transform-origin:left}.kx-play .kx-demo-sensitive span:after{animation:kx-redact 5.5s forwards}.kx-doc-stamp{font-size:8px;color:#ad9274;line-height:2.2;letter-spacing:.1em}.kx-doc-stamp b{color:#5a4a3a}.kx-floating-label{position:absolute;right:18px;bottom:125px;background:#48392c;color:#fff3e4;padding:12px 19px;border-radius:30px;font-size:12px;box-shadow:0 10px 40px #4f331c38}.kx-status{padding:17px 22px;background:var(--cream);border:1px solid var(--line);border-radius:16px;overflow-wrap:anywhere}.kx-status[data-error=true]{color:#b42318;background:#fff1f0;border-color:#e9b9b1}.kx-work{padding:35px 0}.kx-work-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 30px}.kx-work-head h2{font-size:36px}.kx-files{display:flex;gap:12px;overflow-x:auto;padding:8px 2px 24px}.kx-file{flex:0 0 145px;border:1px solid var(--line);border-radius:15px;padding:8px;background:#fffcf8}.kx-file img{width:100%;height:100px;object-fit:cover;object-position:top;border-radius:8px}.kx-file p{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kx-file button{padding:4px 9px;min-height:36px;border-radius:8px}.kx-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:25px;align-items:start}.kx-panel{border:1px solid var(--line);border-radius:22px;background:#faf7f2;padding:24px;min-width:0}.kx-panel p{font-size:13px;color:var(--muted)}.kx-panel .kx-step{font-size:10px;letter-spacing:.16em;color:var(--brown);font-weight:700}.kx-panel>button{width:100%;margin:6px 0}.kx hr{height:1px;background:var(--line);border:0;margin:26px 0}.kx-pair{display:flex;align-items:center;gap:8px;min-width:0}.kx-pair>*{flex:1;min-width:0}.kx-pair button{font-size:12px;padding:10px}.kx-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:10px;background:#f8f4ee;border-radius:13px;margin-bottom:10px;font-size:12px}.kx-toolbar label{display:flex;align-items:center;gap:8px;margin:0}.kx-toolbar select{width:auto;font-size:13px;min-height:42px}.kx-toolbar button{min-height:42px;font-size:12px;padding:8px 12px}.kx-stage{background:#eae6e0;max-height:850px;overflow:auto;border-radius:16px;padding:18px;text-align:center}.kx-stage>canvas{display:block;margin:auto;max-width:100%;height:auto;background:white;box-shadow:0 8px 25px #46351a15}.kx-stage.actual>canvas{max-width:none}.kx-seams{display:flex;flex-direction:column;gap:8px}.kx-seams button{font-size:12px;text-align:left}.kx button[aria-pressed=true]{border-color:#865331;background:#eadecf;color:#653a20}.kx-seam-preview{margin:15px 0}.kx-seam-preview canvas{width:100%;border:1px solid #c7b5a0;border-radius:8px;touch-action:none;cursor:ns-resize}.kx-explain{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:70px 0;border-top:1px solid var(--line);margin-top:50px}.kx-explain span{font-size:10px;color:#9b8069;letter-spacing:.14em}.kx-explain h3{font-size:23px;margin-top:22px}.kx-explain p{font-size:14px;color:var(--muted)}.kx-faq{max-width:850px;margin:20px auto 50px}.kx-faq h2{font-size:30px;margin-bottom:30px}.kx details{border-top:1px solid var(--line);padding:19px 0}.kx summary{font-weight:650;cursor:pointer;line-height:1.6}.kx details p{font-size:14px;color:var(--muted)}.kx-pdf-grid{grid-template-columns:290px minmax(0,1fr)}.kx-document-info{background:var(--cream);padding:18px 22px;border-radius:14px;margin-bottom:20px;overflow-wrap:anywhere;font-size:13px}.kx-candidates{max-height:800px;overflow:auto}.kx-candidate{padding:15px 0;border-bottom:1px solid var(--line)}.kx-candidate>button{display:block;text-align:left;width:100%;padding:10px;font-size:13px;overflow-wrap:anywhere;margin:5px 0;background:white}.kx-candidate p{margin:4px 0;font-size:11px}.kx-candidate[data-state=redact]{border-left:3px solid #342a21;padding-left:8px}.kx-candidate[data-state=keep]{opacity:.7}.kx-pdf-stage{overflow:auto;background:#eae6e0;border-radius:15px;padding:20px;max-height:1000px}.kx-paper{position:relative;margin:auto;background:white;box-shadow:0 5px 20px #3e2d2015;min-width:0}.kx-paper canvas{display:block;width:100%;height:100%;max-width:none;touch-action:pan-x pan-y}.kx-masks{position:absolute;inset:0;pointer-events:none}.kx-masks button,.kx-drawing{position:absolute;border-radius:0;padding:0;min-height:0;min-width:0;margin:0;pointer-events:auto;background:#27231f;border:0}.kx-masks button:hover{background:#27231f;outline:3px solid #d6a46f}.kx-masks button.pending{background:#edb64736;border:2px solid #d99c26}.kx-masks button.keep{background:#75b88d18;border:1px dashed #4f9770}.kx-original .kx-masks{visibility:hidden}.kx-draw .kx-paper canvas{touch-action:none;cursor:crosshair}.kx-draw .kx-masks{pointer-events:none}.kx-draw .kx-masks button{pointer-events:none}.kx-drawing{background:#25211f99}.kx-save{margin-top:24px}.kx-save .kx-export-note{color:#714726;font-size:13px}.kx-check{display:flex!important;gap:10px;align-items:flex-start;font-size:14px!important}.kx-check input{flex:0 0 auto;width:19px;height:19px;accent-color:var(--brown)}.kx-editor{min-width:0}.kx-ready-download{display:block;padding:16px;background:#eee5d9;border-radius:12px;font-weight:700;overflow-wrap:anywhere}.kx-seam-preview>p{font-size:11px}.kx-tool-post .inside-article{padding:35px!important}.kx-tool-post .entry-content{margin:0}.kx-tool-post .site-content{max-width:1360px;margin:auto}
@keyframes kx-away{0%,38%{opacity:1}62%,100%{opacity:0;transform:translateY(0) rotate(0) scale(.85)}}@keyframes kx-arrive{0%,45%{opacity:0;transform:translateY(25px)}75%,100%{opacity:1;transform:translateY(0)}}@keyframes kx-redact{0%,25%{transform:scaleX(0)}55%,100%{transform:scaleX(1)}}
@media(max-width:900px){.kx .kx-hero{gap:20px}.kx-showcase{height:590px}.kx-grid{grid-template-columns:minmax(0,1fr) 280px;gap:15px}.kx-pdf-grid{grid-template-columns:250px minmax(0,1fr)}.kx-panel{padding:18px}.kx-document{width:90%;padding:25px 20px}.kx-tool-post .inside-article{padding:25px!important}}
@media(max-width:680px){.kx .kx-hero{grid-template-columns:1fr;padding:20px 0 30px;gap:25px}.kx-copy>h2{font-size:44px}.kx h1{margin:20px 0}.kx .kx-lead{font-size:16px;margin:20px 0}.kx-showcase{height:610px;border-radius:24px}.kx .kx-grid,.kx .kx-pdf-grid{grid-template-columns:1fr}.kx .kx-candidate-panel{order:0}.kx-candidates{max-height:420px}.kx-stage{max-height:650px;padding:12px}.kx-work-head h2{font-size:29px}.kx-work-head>button{font-size:12px;padding:12px}.kx-explain{grid-template-columns:1fr;gap:25px;padding:40px 0}.kx-explain h3{margin-top:10px}.kx-faq h2{font-size:26px}.kx-toolbar{gap:5px;padding:8px}.kx-toolbar button{padding:8px;font-size:11px}.kx-pdf-stage{padding:10px;max-height:800px}.kx-tool-post .inside-article{padding:20px 16px!important}.kx-file{flex-basis:132px}.kx-document{height:420px;max-width:300px;margin-top:38px}.kx-floating-label{right:8px;bottom:120px}.kx-actions{gap:8px}.kx-actions>button{font-size:14px}.kx-paper{max-width:none}}
@media(prefers-reduced-motion:reduce){.kx *{animation:none!important;transition:none!important}.kx .kx-shot-one,.kx .kx-shot-two,.kx .kx-overlap{opacity:0}.kx .kx-joined{opacity:1;transform:none}.kx .kx-demo-sensitive span:after{transform:scaleX(1)}}

.kx [data-role=page]{white-space:nowrap;flex:0 0 auto}.kx .kx-masks button[data-active=true]{outline:3px solid #b4824c;outline-offset:3px}

/* Match the approved hierarchy through the site theme heading rules. */
.kx-tool-post .entry-content .kx .kx-copy>h2{font-size:clamp(40px,4.6vw,64px)!important;line-height:1.15!important;letter-spacing:-.05em!important;margin:24px 0!important}.kx-tool-post .entry-content .kx .kx-work-head h2{font-size:36px!important}.kx-tool-post .entry-content .kx .kx-explain h3{font-size:23px!important}.kx-tool-post .entry-content .kx .kx-faq h2{font-size:30px!important}@media(max-width:680px){.kx-tool-post .entry-content .kx .kx-copy>h2{font-size:44px!important}.kx-tool-post .entry-content .kx .kx-work-head h2{font-size:29px!important}.kx-tool-post .entry-content .kx .kx-faq h2{font-size:26px!important}}

.kx .kx-back-list{display:none}@media(max-width:680px){.kx .kx-back-list{display:block;width:100%;margin:12px 0}}

/* Shared example scale: retain larger stages; keep editor sizing independent. */
@media(min-width:681px){.kx .kx-hero{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:28px}}

/* Keep the reversible bulk action readable through theme hover/focus colors. */
#kx-redact [data-action="all"]{color:var(--ink);background:#fff;border-color:var(--line)}
#kx-redact [data-action="all"]:hover,#kx-redact [data-action="all"]:focus{color:var(--ink);background:#eee5d9}
#kx-redact [data-action="all"][aria-pressed="true"]{color:#653a20;background:#eadece;border-color:#865331}

/* Review is a visible, separate step before masking. Hero only. */
#kx-redact .kx-redact-show{height:650px}
#kx-redact .kx-review-story{position:absolute;top:62px;left:18px;right:18px;height:32px;text-align:center;font-size:16px;font-weight:750;color:#68462d;line-height:1.5}
#kx-redact .kx-review-story>span,#kx-redact .kx-floating-label>span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;visibility:hidden;white-space:nowrap}
#kx-redact .kx-review-story .kx-review-scan,#kx-redact .kx-floating-label .kx-review-scan{visibility:visible}
#kx-redact .kx-redact-show .kx-document{margin-top:66px;height:410px;transform:rotate(-4deg);transition:none;overflow:hidden}
#kx-redact .kx-redact-show .kx-doc-top{padding-bottom:15px}
#kx-redact .kx-redact-show .kx-document h3{margin:24px 0 8px}
#kx-redact .kx-redact-show .kx-doc-lines{margin:18px 0;height:55px}
#kx-redact .kx-redact-show .kx-doc-lines.short{height:35px}
#kx-redact .kx-redact-show .kx-demo-sensitive{gap:10px}
#kx-redact .kx-redact-show .kx-demo-sensitive span{background:transparent;outline:2px solid transparent;outline-offset:3px}
#kx-redact .kx-redact-show .kx-demo-sensitive span:before{content:'✓';position:absolute;left:calc(100% + 11px);top:-2px;color:#fff;background:#775035;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;font-size:13px;font-weight:800;opacity:0;transform:scale(.5)}
#kx-redact .kx-scan-beam{position:absolute;z-index:4;left:0;right:0;top:0;height:72px;background:linear-gradient(transparent,#c8965340);border-bottom:2px solid #bd925b;box-shadow:0 4px 20px #d3a76b33;opacity:0;pointer-events:none}
#kx-redact .kx-redact-show .kx-floating-label{bottom:108px;right:16px;width:270px;height:48px;padding:0;border:1px solid #ffffff45;font-size:12px}
#kx-redact .kx-review-dots{font-style:normal;font-size:22px;margin-left:10px;letter-spacing:4px}
#kx-redact .kx-redact-show .kx-show-note{bottom:44px;font-size:10px;line-height:1.7}
#kx-redact .kx-redact-show .kx-replay{color:#68462d!important;background:#fff9f0!important;border:1px solid #d6c2aa;bottom:10px;white-space:nowrap}
#kx-redact .kx-play .kx-review-scan{animation:kr-scan-phase 8s both}
#kx-redact .kx-play .kx-review-found{animation:kr-found-phase 8s both}
#kx-redact .kx-play .kx-review-check{animation:kr-check-phase 8s both}
#kx-redact .kx-play .kx-review-done{animation:kr-done-phase 8s both}
#kx-redact .kx-play .kx-scan-beam{animation:kr-scan 8s both}
#kx-redact .kx-play .kx-demo-sensitive span{animation:kr-candidate 8s both}
#kx-redact .kx-play .kx-demo-sensitive span:nth-child(2){animation-name:kr-candidate-two}
#kx-redact .kx-play .kx-demo-sensitive span:before{animation:kr-check-one 8s both}
#kx-redact .kx-play .kx-demo-sensitive span:nth-child(2):before{animation-name:kr-check-two}
#kx-redact .kx-play .kx-demo-sensitive span:after{animation:kr-mask 8s both}
#kx-redact .kx-play .kx-demo-sensitive span:nth-child(2):after{animation-name:kr-mask-two}
@keyframes kr-scan-phase{0%,29%{visibility:visible;opacity:1}30%,100%{visibility:hidden;opacity:0}}
@keyframes kr-found-phase{0%,29%{visibility:hidden;opacity:0}30%,49%{visibility:visible;opacity:1}50%,100%{visibility:hidden;opacity:0}}
@keyframes kr-check-phase{0%,49%{visibility:hidden;opacity:0}50%,89%{visibility:visible;opacity:1}90%,100%{visibility:hidden;opacity:0}}
@keyframes kr-done-phase{0%,89%{visibility:hidden;opacity:0}90%,100%{visibility:visible;opacity:1}}
@keyframes kr-scan{0%{opacity:0;transform:translateY(-72px)}5%{opacity:1}29%{opacity:1;transform:translateY(410px)}32%,100%{opacity:0;transform:translateY(410px)}}
@keyframes kr-candidate{0%,25%{background:transparent;outline-color:transparent}32%,72%{background:#f3dfa9;outline-color:#b77b2e}86%,100%{background:transparent;outline-color:transparent}}
@keyframes kr-candidate-two{0%,29%{background:transparent;outline-color:transparent}36%,75%{background:#f3dfa9;outline-color:#b77b2e}89%,100%{background:transparent;outline-color:transparent}}
@keyframes kr-check-one{0%,49%{opacity:0;transform:scale(.5)}55%,78%{opacity:1;transform:scale(1)}88%,100%{opacity:0;transform:scale(1)}}
@keyframes kr-check-two{0%,58%{opacity:0;transform:scale(.5)}64%,82%{opacity:1;transform:scale(1)}92%,100%{opacity:0;transform:scale(1)}}
@keyframes kr-mask{0%,73%{transform:scaleX(0)}83%,100%{transform:scaleX(1)}}
@keyframes kr-mask-two{0%,78%{transform:scaleX(0)}89%,100%{transform:scaleX(1)}}
@media(max-width:900px){#kx-redact .kx-review-story{font-size:14px}#kx-redact .kx-redact-show .kx-floating-label{width:250px;font-size:11px}}
@media(max-width:680px){#kx-redact .kx-redact-show{height:630px}#kx-redact .kx-review-story{font-size:13px;top:60px;left:8px;right:8px}#kx-redact .kx-redact-show .kx-document{width:92%;padding:25px 16px;max-width:340px;margin-top:66px}#kx-redact .kx-redact-show .kx-document h3{font-size:21px}#kx-redact .kx-redact-show .kx-floating-label{bottom:105px;right:10px;width:250px}#kx-redact .kx-redact-show .kx-show-note{left:10px;right:10px;font-size:9px}}
@media(prefers-reduced-motion:reduce){#kx-redact .kx-review-story>span,#kx-redact .kx-floating-label>span{visibility:hidden!important}#kx-redact .kx-review-story .kx-review-done,#kx-redact .kx-floating-label .kx-review-done{visibility:visible!important}#kx-redact .kx-scan-beam,#kx-redact .kx-demo-sensitive span:before{display:none}#kx-redact .kx-demo-sensitive span:after{transform:scaleX(1)!important}}
