:root{color-scheme:light;--ink:#293129;--muted:#6b7465;--accent:#bb4b25;--accent-hover:#a53e1c;--line:#e3e7dc;--paper:#faf9f5;--ease:cubic-bezier(.22,1,.36,1);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}body{min-height:100vh;min-height:100svh;margin:0;display:flex;flex-direction:column;isolation:isolate}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #bb4b2566;outline-offset:4px}::selection{background:#edcebb}[hidden]{display:none!important}.container{width:min(1120px,calc(100% - 80px));margin-inline:auto}.svg-library{position:absolute;width:0;height:0;overflow:hidden}svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ambient{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 50% 44%,#fffdfb 0%,transparent 65%)}.ambient span{position:absolute;border-radius:50%;filter:blur(65px);will-change:transform;opacity:.36}.ambient-one{width:340px;height:300px;left:calc(50% - 380px);top:17%;background:#f1deca;animation:drift-one 18s ease-in-out infinite alternate}.ambient-two{width:420px;height:280px;left:calc(50% + 20px);top:37%;background:#e0e8d6;animation:drift-two 22s ease-in-out infinite alternate}.ambient-three{width:250px;height:210px;left:calc(50% - 180px);top:56%;background:#f0e6d9;opacity:.18!important;animation:drift-one 26s ease-in-out infinite alternate-reverse}.site-header{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px;animation:appear .8s var(--ease) both}.brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:650;letter-spacing:-.4px}.brand-mark{width:32px;height:32px;padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:3px;border-radius:9px;background:var(--accent);box-shadow:0 4px 9px #a54a2314}.brand-mark i{background:white;border-radius:1px}.brand-mark i:last-child{opacity:.55}.brand-dot{color:var(--accent)}.header-note{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;letter-spacing:1.2px}.header-note i{width:5px;height:5px;border-radius:50%;background:#839677;box-shadow:0 0 0 4px #8396770c}
main{flex:1;display:flex;align-items:center;justify-content:center;padding-block:32px 40px}.intro{width:100%;text-align:center}.hero-emblem{position:relative;width:66px;height:66px;margin:0 auto 23px;perspective:500px;animation:emblem-enter 1s var(--ease) both}.hero-mark{position:relative;width:100%;height:100%;display:grid;place-items:center;border:1px solid #fffefb;border-radius:20px;background:linear-gradient(145deg,#fffaf4ed,#f5e9ddd9);color:#b96845;box-shadow:0 12px 25px -13px #a4704147,inset 0 0 0 1px #dec4aa5c;transform:rotate(-7deg);transition:transform .7s var(--ease),box-shadow .7s var(--ease)}.hero-mark svg{height:34px;width:34px;stroke-width:1.8}.hero-emblem:hover .hero-mark{transform:rotate(0) translateY(-3px);box-shadow:0 17px 27px -13px #a4704166,inset 0 0 0 1px #dec4aa5c}.orbit{position:absolute;inset:-11px;border:1px solid #d3bda629;border-radius:50%;animation:orbit 24s linear infinite}.orbit:after{content:"";position:absolute;top:9px;left:9px;width:4px;height:4px;border-radius:50%;background:#c79266;box-shadow:0 0 0 4px #c7926610}
h1{font-size:clamp(36px,4.4vw,53px);line-height:1.35;font-weight:650;letter-spacing:-2px;margin:0;animation:rise .85s .08s var(--ease) backwards}h1 span{color:#68785c;display:inline-block}.description{font-size:14px;color:#6e7866;line-height:1.8;letter-spacing:.3px;margin:13px 0 0;animation:rise .85s .16s var(--ease) backwards}.tool-grid{width:min(740px,100%);margin:31px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tool-card{--rx:0deg;--ry:0deg;--lift:0px;--px:50%;--py:50%;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:13px;min-height:76px;border:1px solid #ffffff;border-radius:14px;padding:16px 18px;background:#ffffffae;box-shadow:0 2px 3px #354b1f03,0 9px 24px -15px #51634221,inset 0 0 0 1px #e5e8de7a;color:#35442c;font-size:13px;font-weight:550;text-align:left;transform:perspective(650px) translateY(var(--lift)) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .3s;animation:rise .85s var(--ease) backwards}.tool-card:nth-child(1){animation-delay:.23s}.tool-card:nth-child(2){animation-delay:.28s}.tool-card:nth-child(3){animation-delay:.33s}.tool-card:nth-child(4){animation-delay:.38s}.tool-card:nth-child(5){animation-delay:.43s}.tool-card:nth-child(6){animation-delay:.48s}.tool-card:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(180px circle at var(--px) var(--py),#f5dcc778,transparent 85%);opacity:0;transition:opacity .4s}.tool-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;border:1px solid #cfae8455;opacity:0;transition:opacity .4s}.tool-card:hover,.tool-card:focus-visible{--lift:-4px;box-shadow:0 17px 28px -15px #526b3d3b,inset 0 0 0 1px #e5e8de7a}.tool-card:hover:before,.tool-card:hover:after,.tool-card:focus-visible:before{opacity:1}.tool-card:active{--lift:-1px;transition-duration:.1s}.tool-icon{height:37px;width:37px;display:grid;place-items:center;border-radius:11px;flex:none;transition:transform .5s var(--ease)}.tool-icon svg{height:20px;width:20px;stroke-width:1.5}.tool-card:hover .tool-icon{transform:scale(1.07) rotate(-5deg)}.tone-orange{color:#b6744f;background:#faeee3}.tone-green{color:#6d8c63;background:#edf3e8}.tone-blue{color:#678598;background:#edf3f8}.tone-amber{color:#a08749;background:#f8f1de}.tone-purple{color:#9180a6;background:#f1eef7}.tone-slate{color:#748d87;background:#edf2ef}.card-arrow{height:15px;width:15px;margin-left:auto;color:#8d9980;opacity:.7;transition:transform .4s var(--ease),color .4s}.tool-card:hover .card-arrow{transform:translate(2px,-2px);color:var(--accent);opacity:1}.privacy-note{display:flex;align-items:center;justify-content:center;gap:6px;margin:21px 0 0;font-size:10px;line-height:1.5;color:#76816b;animation:appear 1s .7s backwards}.privacy-note svg{width:13px;height:13px}.noscript-note{font-size:12px;color:#985636}.site-footer{min-height:73px;padding-block:22px;border-top:1px solid #dfe4d799;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;line-height:1.8;color:#747d6b;animation:appear 1s .2s backwards}.site-footer a{padding-block:4px}
body.modal-open{overflow:hidden}dialog{width:min(720px,calc(100% - 32px));max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);padding:0;border:1px solid #fffdf7;border-radius:21px;background:#fffefa;color:var(--ink);box-shadow:0 28px 100px #1d2e2633,0 2px 8px #2336280d;overflow:auto;overscroll-behavior:contain}dialog::backdrop{background:#29362b59;backdrop-filter:blur(8px)}dialog[open]{animation:panel-in .32s var(--ease) both}dialog[open]::backdrop{animation:appear .3s ease both}dialog.closing{animation:panel-out .2s ease forwards}dialog.closing::backdrop{animation:fade-out .2s ease forwards}.dialog-heading{display:flex;align-items:center;gap:13px;padding:23px 26px 19px;border-bottom:1px solid #e9ecdf}.dialog-heading .tool-icon{height:42px;width:42px;border-radius:13px}.dialog-heading h2{font-size:19px;line-height:1.5;font-weight:600;letter-spacing:-.3px;margin:0}.dialog-heading p{font-size:11px;line-height:1.7;color:#747e68;margin:3px 0 0}.close-button{display:grid;place-items:center;flex:none;width:33px;height:33px;margin-left:auto;border:1px solid #e8eadf;border-radius:50%;background:#f7f8f1;color:#7b866e;transition:transform .3s var(--ease),background .2s}.close-button:hover{transform:rotate(90deg);background:#eef0e6}.close-button svg{width:16px;height:16px}.tool-body{padding:22px 26px 0}.field{display:flex;flex-direction:column;gap:9px;font-size:12px;font-weight:550;color:#5a674e;min-width:0}.field-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:12px;font-weight:550;color:#5a674e;margin-bottom:10px}.field-hint{font-size:11px;line-height:1.8;font-weight:400;color:#738166;margin:12px 0 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.text-button{border:0;padding:3px 0;background:none;font-size:11px;color:var(--accent)}.text-button:hover{text-decoration:underline;text-underline-offset:3px}textarea,input:not([type=range]):not([type=checkbox]):not([type=file]),select{min-width:0;width:100%;border:1px solid #dfe5d5;border-radius:9px;padding:11px 12px;background:#fbfcf7;color:#3d4d31;line-height:1.6;outline:none;transition:border-color .2s,box-shadow .2s;font-size:13px}textarea{display:block;resize:vertical;min-height:108px}textarea:focus,input:not([type=range]):focus,select:focus{border-color:#c9a585;box-shadow:0 0 0 3px #c18a6412}textarea::placeholder,input::placeholder{color:#7e8972}select{cursor:pointer;min-height:44px}input[type=date]{min-height:44px}input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer;margin:9px 0 0;min-height:20px}input[type=checkbox]{width:15px;height:15px;flex:none;margin:0;accent-color:var(--accent)}.code-input{font-family:Consolas,"SFMono-Regular",monospace;font-size:12px;line-height:1.9;tab-size:2}.tool-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:17px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 16px;border-radius:8px;border:1px solid transparent;font-size:12px;line-height:1.5;white-space:nowrap;transition:background .2s,transform .25s var(--ease),box-shadow .25s var(--ease)}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(0)}.button-primary{background:var(--accent);color:white;box-shadow:0 3px 7px #a14c2519}.button-primary:hover:not(:disabled){background:var(--accent-hover);color:white;box-shadow:0 5px 10px #a14c252b}.button-secondary{background:#f7f9f1;color:#5e6e4e;border-color:#e3e8d9}.button-secondary:hover{background:#edf2e5}.push-right{margin-left:auto}.feedback{min-height:18px;margin:15px 26px 18px;font-size:11px;line-height:1.8;color:#5b7a41;overflow-wrap:anywhere}.feedback.error{color:#b34c34}.dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 26px;background:#f6f8f0;border-top:1px solid #e8ecde;font-size:10px;color:#708061}.dialog-footer>span:first-child{display:flex;align-items:center;gap:6px}.dialog-footer svg{width:13px;height:13px}.keyboard-hint{color:#76826b}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:16px}.stats>div{display:flex;flex-direction:column;align-items:center;text-align:center;padding:11px 5px;border-radius:9px;border:1px solid #e8ecde;background:#f6f8f0}.stats strong{font-family:Consolas,monospace;font-size:25px;font-weight:500;line-height:1.4;color:#5f7650;overflow-wrap:anywhere}.stats span{font-size:10px;color:#748067;margin-top:3px}.segmented{display:flex;padding:4px;gap:4px;border:1px solid #e7ecdc;background:#f3f6eb;border-radius:10px;margin-bottom:21px}.segmented button{flex:1;border:0;border-radius:7px;background:transparent;color:#6a7c59;padding:9px 5px;font-size:12px;transition:background .25s,box-shadow .25s,color .25s}.segmented button[aria-pressed=true]{background:#fffefa;box-shadow:0 2px 4px #2942160c;color:#a54e2c}.segmented button:hover{color:var(--accent)}.conversion-row{display:grid;grid-template-columns:1fr 36px 1fr;align-items:end;gap:11px;margin-top:18px}.swap-button{width:36px;height:44px;display:grid;place-items:center;background:transparent;border:0;color:#8a9a79;transition:transform .4s var(--ease)}.swap-button:hover{transform:rotate(180deg)}.swap-button svg{width:20px;height:20px}.result-panel{padding:21px 19px;display:flex;flex-direction:column;align-items:center;gap:7px;border:1px solid #e4e9d9;border-radius:12px;background:linear-gradient(135deg,#f3f6eb,#fafbf6);margin-top:22px;text-align:center;overflow-wrap:anywhere}.result-label{font-size:11px;color:#6f7e5f}.result-panel>strong{max-width:100%;font-family:Consolas,monospace;font-weight:500;font-size:34px;line-height:1.4;color:#566f43}.result-panel .field-hint{margin:0;max-width:100%}.result-panel small{font-family:inherit;font-size:13px;margin-left:8px}.date-result{padding:16px}.section-rule{height:1px;background:#e6eadb;margin:23px 0}.inline-result{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;margin-top:17px;background:#f4f7ed;border:1px solid #e6ebdc;border-radius:9px;font-size:12px;color:#6e7c5f}.inline-result strong{font-size:19px;font-weight:500;font-family:Consolas,monospace;color:#586f45}.password-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;border:0;padding:0;margin:21px 0 17px}.password-options legend{font-size:12px;color:#5a674e;padding:0 0 11px}.password-options>label{display:flex;align-items:center;gap:8px;border:1px solid #e4e9dc;border-radius:8px;padding:12px 13px;font-size:12px;color:#647554;cursor:pointer;transition:background .2s,border-color .2s}.password-options>label:has(input:checked){background:#f5f8ef;border-color:#dce5cf}.password-options>label>span{margin-left:auto;color:#7a886b;font-size:11px}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:11px;color:#748367;cursor:pointer}.password-result{margin-top:22px}.password-result textarea{font-size:20px;font-family:Consolas,monospace;word-break:break-all;overflow-wrap:anywhere;min-height:80px;color:#586f46;background:#f6f8f0}.length-output{font-family:Consolas,monospace;color:var(--accent);font-size:13px}.upload-zone{position:relative;display:flex;flex-direction:column;align-items:center;gap:9px;padding:25px 20px;border:1px dashed #c4d0b6;border-radius:12px;background:#f6f9f0;text-align:center;cursor:pointer;transition:background .2s,border-color .2s}.upload-zone:hover,.upload-zone.dragover{border-color:#b18158;background:#faf1e7}.upload-zone:focus-within{outline:3px solid #bb4b2566;outline-offset:3px}.upload-zone>svg{width:23px;height:23px;margin-bottom:3px;color:#8c9b77}.upload-zone>span{font-size:13px;color:#5b6f46}.upload-zone>small{font-size:10px;color:#798a69}.upload-zone input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.upload-zone+ .field-hint{margin:9px 0 18px;overflow-wrap:anywhere}.quality-field{margin-top:18px}.quality-field>span{display:flex;align-items:center;justify-content:space-between}.quality-field output{font-family:Consolas,monospace;font-weight:400;color:var(--accent)}.image-result{margin-top:18px;padding:14px;border:1px solid #e3e8d8;border-radius:10px;text-align:center;background:repeating-conic-gradient(#f2f4eb 0% 25%,#fff 0% 50%) 50% / 16px 16px}.image-result img{display:block;max-height:160px;max-width:100%;height:auto;object-fit:contain;margin:0 auto}.image-result .field-hint{background:#fffdf7e8;border-radius:5px;padding:5px 8px;overflow-wrap:anywhere}
@keyframes rise{from{opacity:0;transform:translate3d(0,15px,0)}to{opacity:1;transform:translate3d(0,0,0)}}@keyframes appear{from{opacity:0}to{opacity:1}}@keyframes fade-out{to{opacity:0}}@keyframes emblem-enter{from{opacity:0;transform:translateY(15px) rotate(-16deg) scale(.87)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes drift-one{from{transform:translate3d(-20px,0,0) scale(.95)}to{transform:translate3d(70px,35px,0) scale(1.12)}}@keyframes drift-two{from{transform:translate3d(25px,15px,0) scale(1)}to{transform:translate3d(-60px,-30px,0) scale(1.1)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes panel-in{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes panel-out{to{opacity:0;transform:translateY(10px) scale(.985)}}
@media(max-width:900px){.container{width:calc(100% - 56px)}.tool-grid{width:min(690px,100%)}.tool-card{padding:15px 14px;gap:10px}.tool-card>span:not(.tool-icon){font-size:12px}h1{font-size:44px}}
@media(max-width:600px){.container{width:calc(100% - 36px)}.site-header{min-height:72px}.brand{font-size:17px;gap:8px}.brand-mark{width:29px;height:29px;padding:7px}.header-note{font-size:9px;letter-spacing:.5px;gap:6px}.header-note i{height:4px;width:4px}.ambient span{filter:blur(50px);opacity:.25}.ambient-one{width:230px;height:260px;left:-70px;top:15%}.ambient-two{width:260px;height:300px;left:calc(100% - 180px);top:39%}.ambient-three{display:none}main{padding-block:34px 33px}.hero-emblem{height:56px;width:56px;margin-bottom:23px}.hero-mark{border-radius:17px}.hero-mark svg{height:30px;width:30px}.orbit{inset:-9px}.orbit:after{top:7px;left:7px}h1{font-size:36px;letter-spacing:-1.3px;line-height:1.35}h1 span{display:block}.description{font-size:12px;margin-top:14px;letter-spacing:0}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:28px;width:100%}.tool-card{min-height:69px;padding:14px 12px;gap:9px;border-radius:12px}.tool-card>span:not(.tool-icon){font-size:12px;white-space:nowrap}.tool-icon{height:31px;width:31px;border-radius:9px}.tool-icon svg{height:17px;width:17px}.card-arrow{width:12px;height:12px}.privacy-note{font-size:9px;margin-top:18px}.site-footer{min-height:80px;flex-direction:column;justify-content:center;gap:2px;font-size:10px;padding-block:17px}dialog{width:calc(100% - 20px);max-height:calc(100dvh - 24px);border-radius:16px}.dialog-heading{padding:20px 18px 17px;gap:10px}.dialog-heading .tool-icon{height:35px;width:35px;border-radius:10px}.dialog-heading h2{font-size:17px}.dialog-heading p{font-size:10px}.close-button{width:31px;height:31px}.tool-body{padding:19px 18px 0}.feedback{margin:13px 18px 16px;font-size:11px}.dialog-footer{padding:12px 18px;font-size:9px}.keyboard-hint{display:none}.field{font-size:11px;gap:8px}.field-heading{font-size:11px}.form-grid{gap:11px}textarea,input:not([type=range]):not([type=checkbox]):not([type=file]),select{font-size:16px;padding:10px 11px}.code-input{font-size:13px}.button{font-size:11px;padding:9px 12px;min-height:41px}.tool-actions{gap:6px}.stats{gap:6px}.stats strong{font-size:22px}.stats span{font-size:9px}.result-panel>strong{font-size:29px}.result-panel{padding:18px 12px}.password-options>label{font-size:11px;padding:11px 9px;gap:6px}.password-options>label>span{font-size:10px}.password-result textarea{font-size:18px}.upload-zone{padding:21px 15px}.image-result img{max-height:135px}}
@media(max-width:359px){.container{width:calc(100% - 28px)}.brand{font-size:16px}.header-note{font-size:8px}.tool-card{padding-inline:10px;gap:7px}.tool-icon{height:28px;width:28px}.tool-card>span:not(.tool-icon){font-size:11px}.card-arrow{width:10px;height:10px}.form-grid{gap:8px}.tool-actions .push-right{margin-left:0}.stats strong{font-size:19px}.stats span{font-size:8px}}
@media(hover:none){.tool-card:hover{--lift:0px}.tool-card:hover .tool-icon{transform:none}.tool-card:hover .card-arrow{transform:none}.tool-card:before{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ambient span{will-change:auto}.tool-card{transform:none!important}.hero-mark{transform:none}.close-button:hover{transform:none}}
body.page-inactive .ambient span,body.page-inactive .orbit{animation-play-state:paused}
.dialog-heading{position:sticky;top:0;z-index:2;background:#fffefaed;backdrop-filter:blur(12px)}
.upload-zone.is-dragover{border-color:#b18158;background:#faf1e7}
@media(max-width:600px){.password-result textarea{min-height:112px}}
input[type=range]:disabled{cursor:not-allowed;opacity:.4}
