*{box-sizing:border-box}html{color:#0f172a;background:#f8fafc;font-family:Inter,Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:linear-gradient(#f8fafc 0%,#fff 45%,#f8fafc 100%);min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}#app{min-height:100vh}.page{justify-content:center;min-height:100vh;padding:64px 20px 90px;display:flex}.hero{text-align:center;width:100%;max-width:820px}.badge{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;justify-content:center;align-items:center;gap:7px;margin-bottom:20px;padding:8px 14px;font-size:14px;font-weight:700;display:inline-flex}h1{letter-spacing:-2.5px;color:#0f172a;margin:0;font-size:clamp(44px,8vw,64px);font-weight:850;line-height:1}.headline{letter-spacing:-1px;color:#0f172a;max-width:720px;margin:26px auto 0;font-size:clamp(25px,5vw,34px);font-weight:800;line-height:1.35}.description{color:#64748b;max-width:660px;margin:18px auto 0;font-size:16px;line-height:1.75}.upload-box{background:#fffffff2;border:2px dashed #cbd5e1;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:10px;margin-top:42px;padding:44px 30px;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex;box-shadow:0 12px 34px #0f172a0f}.upload-box:hover{border-color:#2563eb;transform:translateY(-2px);box-shadow:0 16px 42px #0f172a17}.upload-icon{margin-bottom:4px;font-size:36px}.upload-box strong{color:#0f172a;font-size:19px}.upload-box span{color:#64748b;font-size:14px;line-height:1.5}.hero button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:12px;padding:12px 20px;font-size:15px;font-weight:750;transition:background .18s,transform .18s,box-shadow .18s,opacity .18s;box-shadow:0 5px 14px #2563eb2e}.hero button:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 8px 18px #2563eb38}.hero button:active{transform:translateY(0)}.hero button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}#cleanButton,#cleanPdfButton,#downloadMasked,#copyCleanedButton{margin-top:14px}#scanResult,#pdfResult,#textResult,#ocrPrivacyResult,#pdfTextResult,#cleanStatus,#pdfCleanStatus,#ocrStatus,#pdfTextStatus{text-align:left;color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;width:100%;margin:16px auto 0;padding:15px 18px;font-size:14px;line-height:1.65}#scanResult p,#pdfResult p,#textResult p,#ocrPrivacyResult p,#pdfTextResult p,#cleanStatus p,#pdfCleanStatus p,#ocrStatus p,#pdfTextStatus p{margin:4px 0}#scanResult h3,#pdfResult h3,#textResult h3,#ocrPrivacyResult h3,#pdfTextResult h3{color:#0f172a;margin:0 0 8px;font-size:16px}.text-tool{text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:22px;width:100%;margin-top:28px;padding:30px;box-shadow:0 10px 30px #0f172a0e}.text-tool h2{letter-spacing:-.5px;color:#0f172a;margin:0;font-size:22px;line-height:1.35}.text-tool>p{color:#64748b;margin:9px 0 18px;font-size:14px;line-height:1.65}textarea{resize:vertical;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:14px;outline:none;width:100%;min-height:150px;margin-top:15px;padding:16px;font-size:14px;line-height:1.65;transition:border-color .18s,box-shadow .18s;display:block}textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}textarea[readonly]{background:#f8fafc}#maskedCanvas{object-fit:contain;background:#fff;border:1px solid #e2e8f0;border-radius:14px;width:100%;height:auto;max-height:600px;margin-top:18px;display:block}[hidden]{display:none!important}.privacy{flex-wrap:wrap;justify-content:center;gap:9px;margin-top:34px;display:flex}.privacy>*{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:650}@media (width<=640px){.page{padding:42px 14px 60px}h1{letter-spacing:-1.7px}.headline{margin-top:22px}.description{font-size:15px}.upload-box{border-radius:20px;margin-top:32px;padding:34px 20px}.text-tool{border-radius:18px;margin-top:20px;padding:22px 17px}.text-tool h2{font-size:20px}.hero button{width:100%;padding:13px 16px}textarea{min-height:135px}.privacy{gap:7px}.privacy>*{font-size:12px}}
