:root{color:#1c3147;background:#f4f9fc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(135deg,#effaff,#f9fbff 48%,#eff7ff)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(43,147,208,.35);outline-offset:2px}textarea{resize:vertical}[hidden]{display:none!important}.page-glow{position:fixed;width:42vw;height:42vw;border-radius:999px;filter:blur(70px);opacity:.26;pointer-events:none;z-index:0}.glow-one{background:#93d8f1;top:-21vw;left:-11vw}.glow-two{background:#bbc4fa;bottom:-27vw;right:-12vw}.shell{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:26px 0 56px;position:relative;z-index:1}.hero,.tool-section,.workspace{border:1px solid rgba(177,204,225,.65);background:#ffffffad;box-shadow:0 16px 46px #37658914;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hero{border-radius:30px;padding:25px 42px 40px;text-align:center}.hero-top{display:flex;align-items:center;justify-content:space-between;gap:18px}.back-link{display:inline-flex;align-items:center;min-height:38px;padding:8px 15px;border:1px solid #b8d9e8;border-radius:22px;color:#276d8e;background:#f3fbff;box-shadow:0 4px 12px #37759714;text-decoration:none;font-weight:700;font-size:.88rem}.back-link:hover{color:#1e5a77;border-color:#82bed8;background:#e9f7fd}.local-badge{color:#20706b;background:#e4f7f3;border:1px solid #c5ece4;padding:6px 11px;border-radius:999px;font-size:.78rem;font-weight:750}.eyebrow,.section-heading p,.panel-title p{margin:29px 0 8px;color:#3c89af;font-size:.75rem;font-weight:800;letter-spacing:.14em}h1,h2,h3,p{margin-top:0}h1{margin-bottom:12px;font-size:clamp(2rem,5vw,3.35rem);letter-spacing:-.065em;color:#17314c}.hero-description{color:#5c7184;max-width:630px;margin:0 auto 25px;line-height:1.75}.tool-search{width:min(620px,100%);display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #d5e2ec;border-radius:16px;padding:0 15px;margin:0 auto;box-shadow:0 6px 20px #3765890f;color:#5a91af}.tool-search>span{font-size:1.28rem;line-height:1}.tool-search input{border:0;background:transparent;width:100%;padding:15px 0;color:inherit;outline:0}.category-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:19px 0}.category-nav a{color:#48708a;text-decoration:none;background:#ffffffb3;border:1px solid #d8e6ef;border-radius:999px;padding:8px 14px;font-size:.87rem;font-weight:700}.tool-section{margin-top:20px;padding:25px;border-radius:25px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:17px}.section-heading p{margin:0 0 5px}.section-heading h2{color:#1e3d58;font-size:1.36rem;letter-spacing:.035em;margin:0}.section-heading>span{color:#8397a7;font-size:.86rem}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.tool-grid.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}.tool-grid.four-up{grid-template-columns:repeat(5,minmax(0,1fr))}.tool-grid.six-up{grid-template-columns:repeat(3,minmax(0,1fr))}.tool-card{min-height:96px;text-align:left;display:flex;align-items:center;gap:12px;border:1px solid #dce8f0;border-radius:18px;background:#ffffffc7;padding:13px;color:#24435e;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.tool-card:hover{transform:translateY(-2px);border-color:#9fc9df;box-shadow:0 11px 24px #2a6f971a}.tool-card>span:nth-child(2){min-width:0;display:grid;gap:4px;flex:1}.tool-card strong{font-size:.95rem}.tool-card small{color:#708596;font-size:.76rem;line-height:1.42}.tool-icon{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;border-radius:13px;font-size:.84rem;font-weight:800}.tone-image{background:#e9f3ff;color:#3480bd}.tone-qr{background:#e9f8f2;color:#2d8c6a}.tone-extract{background:#fff1e4;color:#c67c35}.tone-text{background:#eef0ff;color:#6574be}.tone-csv{background:#e7f8ef;color:#29835c}.tone-json{background:#edf5ff;color:#4380ba}.tone-time{background:#f9edff;color:#9164b0}.tone-coding{background:#e8f6f5;color:#28847c}.tone-hash{background:#f0edff;color:#6f5ab8;font-size:.66rem}.tone-password{background:#fff0f2;color:#c26178}.tone-luhn{background:#fdf4df;color:#a76b22}.tone-document{background:#eaf1ff;color:#5571bc;font-size:.7rem}.tone-merge{background:#eef9f4;color:#2f8b69}.tone-viewer{background:#fff3e9;color:#bf7837}.workspace{margin-top:20px;border-radius:25px;overflow:hidden;scroll-margin-top:18px}.workspace-empty{min-height:180px;display:grid;place-content:center;justify-items:center;gap:12px;color:#8197a8}.workspace-empty span{width:43px;height:43px;display:grid;place-items:center;color:#50a5c7;background:#e7f7fb;border-radius:14px}.workspace-empty p{margin:0}.tool-panel{padding:28px}.panel-title{display:flex;justify-content:space-between;align-items:start;gap:20px;padding-bottom:18px;border-bottom:1px solid #dce8ef;margin-bottom:20px}.panel-title p{margin:0 0 6px}.panel-title h2{margin:0;font-size:1.5rem;letter-spacing:-.045em}.close-panel{width:34px;height:34px;border:0;border-radius:12px;background:#eff5f8;color:#5e7588;font-size:1.55rem;line-height:1}.panel-grid{display:grid;gap:16px}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.image-layout{grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr)}.control-card,.result-card,.preview-card{display:grid;align-content:start;gap:14px;border:1px solid #dce7ee;border-radius:20px;padding:19px;background:#ffffffc7}.control-card h3,.result-card h3{margin:0;color:#28455f;font-size:1rem}.viewer-layout{grid-template-columns:1fr}.viewer-control-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.viewer-control-card .file-drop{min-height:118px}.viewer-control-card .primary-button{min-width:132px}.document-file-list{margin:0;padding-left:1.35rem;min-height:100px;max-height:240px;overflow:auto;color:#486276;font-size:.86rem;line-height:1.7}.document-file-list li{overflow-wrap:anywhere}.document-result{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 12px;border:1px solid #b9dfcf;border-radius:14px;color:#28735c;background:#effaf5;font-size:.84rem;font-weight:700}.document-result>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-result .download-button{display:inline-block;white-space:nowrap;padding:9px 12px}.document-preview-card{display:flex;flex-direction:column;min-height:650px;padding:0;overflow:hidden;background:#f6f9fb}.document-preview-empty{align-self:center;max-width:280px;margin:auto;color:#7990a1;text-align:center;line-height:1.65}.document-preview-toolbar{display:flex;align-items:center;gap:10px;min-height:51px;padding:10px 15px;border-bottom:1px solid #dce7ee;color:#637c8f;background:#fbfdfe;font-size:.78rem}.document-preview-toolbar span:nth-child(2){min-width:0;overflow:hidden;color:#31536c;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.document-preview-toolbar span:last-child{margin-left:auto;white-space:nowrap}.preview-document-mark{display:inline-grid;place-items:center;width:30px;height:30px;color:#2e7864;border:1px solid #9bcbbc;border-radius:8px;background:#ecf8f3;font-size:.65rem;font-weight:900}.document-preview-card iframe{flex:1;width:100%;min-height:590px;height:100%;border:0;background:#fff}label{display:grid;gap:7px;color:#587083;font-size:.86rem;font-weight:700}input,select,textarea{width:100%;border:1px solid #cfdfe9;border-radius:12px;color:#244158;background:#fffffff5;padding:10px 11px;outline:0;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:#67abc9;box-shadow:0 0 0 3px #51a6ca21}textarea{line-height:1.55;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.86rem}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.four-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}fieldset{margin:0;padding:12px;border:1px solid #dce7ee;border-radius:13px}legend{padding:0 4px;color:#587083;font-size:.79rem;font-weight:750}.file-drop{position:relative;min-height:95px;display:grid;place-content:center;justify-items:center;text-align:center;border:1px dashed #91b9d0;border-radius:15px;background:#f7fbfd;color:#377b9e;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.file-drop input{display:none}.file-drop small{color:#7c93a3;font-weight:500;margin-top:4px}.file-drop.has-file{border-style:solid;border-color:#92c8b6;background:#f3fbf7;color:#277a62}.file-drop.has-file small{max-width:min(95%,440px);overflow:hidden;color:#668b7f;text-overflow:ellipsis;white-space:nowrap}.file-drop.is-dragging{border-color:#3f9fc5;background:#e9f8fd;box-shadow:inset 0 0 0 2px #3f9fc526;transform:scale(1.01)}.file-drop.is-busy{pointer-events:none;border-style:solid;border-color:#7ab7ca;background:#edf8fb}.file-drop.is-busy:after{position:absolute;right:13px;top:13px;width:14px;height:14px;border:2px solid #80b6cb;border-top-color:transparent;border-radius:50%;content:"";animation:file-processing .75s linear infinite}.primary-button,.secondary-button,.copy-button,.download-button{border:0;border-radius:12px;padding:11px 14px;font-weight:750;text-align:center;text-decoration:none;transition:transform .15s ease,opacity .15s ease}.primary-button:hover,.secondary-button:hover,.copy-button:hover,.download-button:hover{transform:translateY(-1px)}.primary-button:disabled{cursor:wait;opacity:.72}.primary-button{color:#fff;background:linear-gradient(135deg,#328bc0,#38a599)}.secondary-button{color:#326b8d;background:#eaf4fa}.copy-button{color:#276d68;background:#e6f7f1}.download-button{display:block;color:#fff;background:#318bc0}.button-row{display:flex;gap:10px}.button-row>*{flex:1}.button-row.wrap{flex-wrap:wrap}.button-row.wrap>*{flex:0 1 auto}.hint{color:#778d9d;font-size:.81rem;line-height:1.55;margin:0}.hint.error{color:#b4515a}.preview-card{min-height:330px;place-items:center}.preview-card canvas{max-width:100%;max-height:480px;width:auto;height:auto;border-radius:12px;background:repeating-conic-gradient(#f1f5f7 0% 25%,#fff 0% 50%) 50% / 20px 20px}.qr-canvas{display:block;max-width:100%;margin:0 auto}.result-header{display:flex;justify-content:space-between;gap:10px;align-items:center}.result-header h3{margin:0}.result-header span{color:#738c9d;font-size:.8rem}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.check-grid label{display:flex;align-items:center;gap:8px;font-size:.83rem}.check-grid input{width:auto;accent-color:#348f9a}.csv-preview{margin:0;min-height:260px;overflow:auto;white-space:pre-wrap;color:#39556c;background:#f7fafc;border:1px solid #e0e9ef;border-radius:12px;padding:12px;font:.8rem/1.55 SFMono-Regular,Consolas,monospace}.luhn-result{margin:0;border-radius:12px;padding:12px;background:#f5f8fa;color:#6f8596}.luhn-result.valid{color:#267863;background:#e6f7f0}.luhn-result.invalid{color:#b3555b;background:#fff0f1}output{color:#358aaf;font-weight:800}footer{text-align:center;padding-top:27px;color:#8095a5;font-size:.82rem}@keyframes file-processing{to{transform:rotate(360deg)}}.tool-route .category-nav,.tool-route .tool-section,.tool-route .tool-search,.tool-route .workspace-empty{display:none}.tool-route .hero{padding-bottom:27px}.tool-route .hero-description{margin-bottom:0}.tool-route .workspace{margin-top:20px}.tool-route .back-link{min-height:38px;padding:8px 15px;border-radius:22px}.tool-route .close-panel{display:inline-grid;place-items:center;width:38px;height:38px;margin-top:6px;border:1px solid #b8d9e8;border-radius:11px;color:#276d8e;background:#f3fbff;font-size:1.3rem;line-height:1}.tool-route .close-panel:hover{color:#1e5a77;border-color:#82bed8;background:#e9f7fd}@media(max-width:980px){.tool-grid.four-up{grid-template-columns:repeat(3,minmax(0,1fr))}.image-layout{grid-template-columns:1fr}}@media(max-width:720px){.shell{width:min(100% - 28px,1180px);padding-top:14px}.hero{padding:19px 18px 26px;border-radius:23px}.hero-top{align-items:flex-start}.local-badge{text-align:right}.eyebrow{margin-top:26px}.tool-section,.tool-panel{padding:18px;border-radius:20px}.section-heading{align-items:start;flex-direction:column;gap:6px}.tool-grid,.tool-grid.three-up,.tool-grid.four-up,.two-columns,.viewer-layout,.viewer-control-card{grid-template-columns:1fr}.tool-card{min-height:82px}.form-row{grid-template-columns:1fr}.four-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.button-row{flex-wrap:wrap}.button-row>*{flex:1 1 130px}.document-result{grid-template-columns:1fr}.document-result .download-button{width:100%}.document-preview-toolbar span:last-child{display:none}.preview-card{min-height:220px}.document-preview-card,.document-preview-card iframe{min-height:460px}.check-grid{grid-template-columns:1fr}}
