:root{--bg: #fbfaf7;--ink: #1b1d24;--body: #4a4e5a;--muted: #6b6f7b;--faint: #9a9da8;--line: #eceae4;--line-strong: #e2e0da;--blue: #2f6feb;--blue-dark: #2459c9;--card: #fff;--serif: "Bricolage Grotesque", sans-serif;--sans: Figtree, system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;color:var(--ink);background:var(--bg);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--blue);text-decoration:none}a:hover{color:var(--blue-dark)}button{cursor:pointer}img{max-width:100%}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.shell{min-height:100vh;background:var(--bg)}.top{position:sticky;top:0;z-index:20;background:#fbfaf7f0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.top-inner,.wrap{max-width:1200px;margin:0 auto}.top-inner{display:flex;align-items:center;gap:20px;height:64px;padding:0 32px}.logo{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;flex:none}.logo:hover{color:inherit;text-decoration:none}.logo-mark{display:grid;grid-template-columns:1fr 1fr;gap:3px;width:26px;height:26px}.logo-mark i{display:block}.logo-mark i:nth-child(1){background:#d93b3f;border-radius:4px 2px 2px}.logo-mark i:nth-child(2){background:#2f6feb;border-radius:2px 4px 2px 2px}.logo-mark i:nth-child(3){background:#13894b;border-radius:2px 2px 2px 4px}.logo-mark i:nth-child(4){background:#7c3aed;border-radius:2px 2px 4px}.word{font:800 19px/1 var(--serif);letter-spacing:-.02em}.word span{color:var(--faint);font-weight:500}.cat-nav{display:flex;gap:2px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.cat-nav button,.ghost-btn,.chip,.text-btn,.primary,.soft{border:none;background:transparent;border-radius:10px}.cat-nav button{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:8px 12px;font-weight:600;font-size:14px;color:var(--ink)}.cat-nav button:hover,.cat-nav button.on{background:#f0eee8}.dot{width:8px;height:8px;border-radius:50%}.caret{font-size:10px;color:var(--faint)}.nav-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line-strong);border-radius:12px;padding:0 12px;height:40px;flex:0 1 240px;min-width:140px}.nav-search input,.hero-search input,.yt-row input{border:none;background:transparent;outline:none;min-width:0;flex:1}.nav-search input{font-weight:500;font-size:14px}.icon-btn{width:44px;height:44px;border-radius:12px;font-size:18px}.icon-btn.light{border:1px solid var(--line-strong);background:#fff}.icon-btn.dark{border:none;background:var(--ink);color:#fff}.mobile-tools{display:none;margin-left:auto;gap:8px}.menu{position:absolute;left:0;right:0;top:64px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 40px #1418281a}.menu-inner{max-width:1200px;margin:0 auto;padding:22px 32px 26px;display:flex;gap:32px}.menu-side{width:220px;border-radius:18px;padding:20px;flex:none}.menu-side strong{display:block;font:700 22px/1.2 var(--serif)}.menu-side p{margin:6px 0 0;font-size:14px;color:var(--body)}.menu-side button,.primary{margin-top:18px;border:none;color:#fff;border-radius:10px;padding:9px 14px;font-weight:600;font-size:13px}.menu-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px;align-content:start}.menu-item,.side-link{display:flex;gap:12px;align-items:center;padding:10px;border-radius:12px;color:inherit;text-decoration:none}.menu-item:hover,.side-link:hover,.mobile-link:hover{background:#f6f5f1;text-decoration:none;color:inherit}.glyph{display:grid;place-items:center;flex:none;font-family:var(--mono);font-weight:700}.glyph.sm{width:38px;height:38px;border-radius:10px;font-size:12px}.glyph.md{width:44px;height:44px;border-radius:12px;font-size:12px}.glyph.lg{width:48px;height:48px;border-radius:14px;background:#fff;font-size:13px}.menu-item b,.tool-row b{display:block;font-size:14.5px}.menu-item small,.tool-row small{display:block;color:var(--muted);font-size:12.5px}.mobile-panel{display:none;position:absolute;left:0;right:0;top:64px;max-height:calc(100vh - 64px);overflow:auto;background:var(--bg);padding:12px 16px 40px}.mobile-panel.open{display:flex;flex-direction:column;gap:14px}.mobile-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px}.mobile-card h2{display:flex;align-items:center;gap:8px;margin:2px 4px 8px;font:700 16px var(--serif)}.mobile-link{display:flex;align-items:center;gap:12px;min-height:46px;padding:4px;border-radius:10px;color:inherit;text-decoration:none;font-weight:600}.hero{padding:72px 32px 28px;display:flex;flex-direction:column;align-items:center;text-align:center}.pills{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-bottom:20px}.pills span{border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:600}h1,h2,h3{font-family:var(--serif);letter-spacing:-.02em}.hero h1{margin:0;font-weight:800;font-size:68px;letter-spacing:-.035em;line-height:1.02;max-width:860px}.hero p{margin:18px 0 0;font-size:18px;color:var(--body);max-width:560px}.hero-search{margin-top:30px;width:100%;max-width:620px;display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--line-strong);border-radius:18px;padding:8px 8px 8px 18px;box-shadow:0 10px 30px #1418280f}.hero-search span,.nav-search span{color:var(--faint)}.hero-search input{font-weight:500;font-size:16px;height:44px}.hero-search button,.primary.wide{border:none;background:var(--blue);color:#fff;border-radius:12px;height:44px;padding:0 20px;font-weight:600}.hero-search button:hover,.primary.wide:hover,.primary:hover{background:var(--blue-dark)}.popular-line{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-items:center;font-size:13.5px;color:var(--muted)}.popular-line a{color:var(--ink);font-weight:600;border-bottom:1.5px solid #d9d6ce;text-decoration:none}.popular-line a:hover{color:var(--blue);border-color:var(--blue)}.ad-slot{display:grid;gap:4px;margin:28px auto 0;width:100%;max-width:970px;text-align:center}.ad-label{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.ad-slot .adsbygoogle{min-height:90px}.ad-home,.ad-toolBottom{min-height:110px}.ad-toolArticle{margin:8px 0;max-width:none}.ad-toolArticle .adsbygoogle{min-height:250px}.ad-toolSide,.ad-search{margin:0;width:300px;position:sticky;top:88px}.ad-toolSide .adsbygoogle,.ad-search .adsbygoogle{min-height:250px}.ad-search{flex:none}.ad-row{padding:0 32px}.ad-slot.ad-preview .ad-fill{display:grid;place-content:center;gap:4px;min-height:90px;padding:14px;border:1.5px dashed #c9c5ba;border-radius:12px;background:repeating-linear-gradient(135deg,#f6f5f0 0,#f6f5f0 12px,#f1efe8 12px,#f1efe8 24px);color:var(--muted);font-size:12.5px}.ad-slot.ad-preview .ad-fill b{color:var(--body);font-size:13px}.ad-toolSide.ad-preview .ad-fill,.ad-search.ad-preview .ad-fill,.ad-toolArticle.ad-preview .ad-fill{min-height:250px}.tool-article{margin-top:40px;display:grid;gap:22px;max-width:900px}.article-block h2{margin:0 0 10px;font-size:22px;font-weight:700;letter-spacing:-.01em}.article-block p{margin:0 0 10px;color:var(--body);line-height:1.65;font-size:15.5px}.article-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}.article-steps,.article-features{margin:0;padding:0;list-style:none;display:grid;gap:10px}.article-steps{counter-reset:step}.article-steps li,.article-features li{position:relative;padding:12px 14px 12px 48px;background:#fff;border:1px solid var(--line);border-radius:14px;color:var(--body);line-height:1.5;font-size:14.5px}.article-steps li:before{counter-increment:step;content:counter(step);position:absolute;left:12px;top:10px;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--tool, var(--ink));color:#fff;font-weight:700;font-size:13px}.article-features li:before{content:"✓";position:absolute;left:16px;top:11px;color:var(--tool, var(--ink));font-weight:800}.faq{display:grid;gap:8px}.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 16px}.faq summary{cursor:pointer;list-style:none;padding:14px 24px 14px 0;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:0;top:11px;font-size:20px;color:var(--muted)}.faq details[open] summary:after{content:"−"}.faq summary h3{display:inline;margin:0;font-family:var(--sans);font-size:15.5px;font-weight:600}.faq details p{margin:0 0 14px;color:var(--body);line-height:1.6}.info-page{padding:32px 32px 0;max-width:820px}.info-page h1{margin:12px 0 8px;font-size:40px;font-weight:800;letter-spacing:-.03em}.info-page .info-lead{font-size:17px;color:var(--body);line-height:1.6}.info-page h2{margin:30px 0 10px;font-size:22px}.info-page p,.info-page li{color:var(--body);line-height:1.7;font-size:15.5px}.info-page ul{padding-left:20px;display:grid;gap:6px}.static-nav{display:flex;gap:16px}.static-nav a{color:var(--body);font-weight:600}.static-panel{min-height:360px;display:grid;place-items:center;color:var(--muted)}a.chip{display:inline-flex;align-items:center;text-decoration:none}a.chip:hover{text-decoration:none;filter:brightness(.97)}.band{padding:36px 32px 0}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.chip{flex:none;border:1.5px solid var(--line-strong);background:#fff;color:var(--ink);border-radius:999px;padding:9px 16px;font-weight:600;font-size:14px;min-height:42px}.section{padding:40px 32px 0}.section h2,.block-title{margin:0 0 14px;font-weight:700;font-size:24px}.section-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.section-head h2{margin:0}.section-head em{color:var(--faint);font-style:normal;font-size:14px;font-family:var(--sans)}.popular-grid,.tool-grid,.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.popular-card{border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:14px;color:inherit;text-decoration:none;min-height:168px}.popular-card:hover{transform:translateY(-2px);text-decoration:none;color:inherit}.popular-card header,.tool-card{display:flex;justify-content:space-between}.popular-card header span{font-size:12px;font-weight:600}.popular-card h3,.tool-row b{font-family:var(--serif)}.popular-card h3{margin:0;font-size:19px;font-weight:700}.popular-card p,.tool-row small{margin:4px 0 0;color:var(--body);font-size:14px}.tool-row{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;gap:14px;align-items:flex-start;color:inherit;text-decoration:none}.tool-row:hover{border-color:#c9c6bd;box-shadow:0 6px 20px #1418280f;text-decoration:none;color:inherit}.tool-row b{font-family:var(--sans);font-size:15.5px}.tool-row small{color:var(--muted);font-size:13.5px;line-height:1.4}.search-page{padding:32px 32px 0}.search-page .count{font-size:14px;color:var(--muted)}.search-page h1{margin:4px 0 18px;font-weight:800;font-size:40px;letter-spacing:-.03em}.search-layout{display:flex;gap:28px;align-items:flex-start;margin-top:20px}.search-list{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:10px}.result{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;align-items:center;gap:16px;color:inherit;text-decoration:none}.result:hover{border-color:#c9c6bd;text-decoration:none;color:inherit}.result .copy{flex:1;min-width:0}.result .copy b{font-size:16.5px}.tag{font-size:11.5px;font-weight:600;border-radius:999px;padding:2px 8px;margin-left:8px}.result .copy p{margin:3px 0 0;color:var(--body);font-size:14px}.result code{display:block;margin-top:5px;font-family:var(--mono);font-size:12px;color:var(--faint)}.chev{color:var(--faint);font-size:20px}.empty-search{background:#fff;border:1px solid var(--line);border-radius:20px;padding:36px 24px;text-align:center}.empty-search h2{margin:0;font-size:20px}.empty-search p{color:var(--muted)}.tool-hero{padding:22px 32px 84px}.crumbs{display:flex;gap:6px;font-size:13px;color:var(--body);flex-wrap:wrap}.crumbs a{color:inherit;font-weight:600}.crumbs a:hover{color:var(--ink);text-decoration:none}.tool-title{display:flex;gap:18px;align-items:center;margin-top:18px}.tool-badge{width:72px;height:72px;border-radius:18px;background:#fff;display:grid;place-items:center;font:700 17px var(--mono);box-shadow:0 6px 18px #1418280f;flex:none}.tool-title h1{margin:0;font-weight:800;font-size:40px;letter-spacing:-.03em;line-height:1.05}.tool-title p{margin:6px 0 0;font-size:18px;color:var(--body)}.tool-detail{max-width:820px;margin:16px 0 0;font-size:15px;line-height:1.6;color:var(--body)}.tool-specs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0}.tool-specs div{display:flex;align-items:baseline;gap:7px;padding:6px 12px;border-radius:999px;background:#ffffffbf;border:1px solid rgba(20,24,40,.07);font-size:13px}.tool-specs dt{color:var(--tool);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.tool-specs dd{margin:0;color:var(--ink);font-weight:600}.checks{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px;font-size:13px;font-weight:600}.tool-body{padding:0 32px 8px;margin-top:-56px}.tool-split{display:flex;gap:28px;align-items:flex-start}.tool-main{flex:1 1 560px;min-width:0}.wide-panel{margin-bottom:32px}.cat-tools.flush{margin-top:0}.panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 14px 40px #1418280f}.workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.drop{position:relative;border:2px dashed;border-radius:20px;padding:48px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.drop input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.drop.picked{padding:22px 18px}.drop strong{font:700 20px var(--serif)}.drop span,.stack small,.notice{color:var(--muted);font-size:13px}.file-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.file-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:16px;padding:12px 14px;background:var(--bg)}.file-meta{flex:1;min-width:0;display:grid;gap:4px}.file-card b{display:block;font-size:15px;word-break:break-word}.file-status{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:13px;flex-wrap:wrap}.file-status em{font-style:normal;font-weight:600}.file-card.uploading .file-status em,.file-card.processing .file-status em{color:var(--blue)}.file-card.done .file-status em{color:#13894b}.file-card.error{border-color:#f3c4c5;background:#fff7f7}.file-card.error .file-status em{color:#c0292d}.file-card.done{border-color:#bfe3cc;background:#f6fcf8}.file-progress{display:block;height:4px;border-radius:4px;background:#e6e4dd;overflow:hidden;position:relative}.file-progress i{display:block;height:100%;width:0;border-radius:4px;background:var(--blue);transition:width .2s}.file-card.processing .file-progress i{position:absolute;width:35%;animation:file-slide 1.1s ease-in-out infinite}.file-card.done .file-progress i{width:100%;background:#13894b}.file-card.error .file-progress i{width:100%;background:#c0292d}.file-card.waiting .file-progress i{width:0}@keyframes file-slide{0%{left:-35%}to{left:100%}}.spin{width:12px;height:12px;border-radius:50%;border:2px solid #c9d8fb;border-top-color:var(--blue);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.file-actions{display:flex;gap:6px;flex:none;align-items:center}.file-status>.fact:after{content:"·";margin-left:7px;color:var(--faint)}.file-status .change strong{color:var(--ink);font-weight:700}.file-status>.fact.change:after{content:none}.new-dims{flex-basis:100%}.new-dims strong{color:var(--ink)}.delta{padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700}.delta.down{background:#dff3e6;color:#13894b}.delta.up{background:#fdf0d8;color:#9a5b00}.delta.same{background:#eeece6;color:var(--muted)}.file-thumb{position:relative;width:56px;height:56px;flex:none;border-radius:12px;overflow:hidden;display:grid;place-items:center;border:1px solid var(--line);text-decoration:none}.file-thumb>b{font:800 13px var(--mono)}.file-thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;background:#fff}.file-thumb img[hidden]{display:none}.file-thumb .file-order{position:absolute;left:4px;top:4px;width:20px;height:20px;border-radius:6px;font-size:11px;color:#fff;background:#141828b8}.thumb-veil{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#ffffff8c;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.thumb-veil .spin{width:20px;height:20px;border-width:2.5px}.file-card.done .file-thumb{border-color:#bfe3cc;box-shadow:0 0 0 2px #dff3e6}.get-btn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border:none;border-radius:10px;background:#13894b;color:#fff;font-weight:700;font-size:14px;text-decoration:none;cursor:pointer;white-space:nowrap;box-shadow:0 2px 6px #13894b40;transition:background .15s,transform .15s}.get-btn:hover{background:#0f7340;color:#fff;text-decoration:none;transform:translateY(-1px)}.get-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.ready-bar{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:#f6fcf8;border:1px dashed #9fd3b4}.ready-text{flex:1;min-width:0;display:grid;gap:2px}.ready-text b{font-size:14.5px}.ready-text small{color:#13894b;font-weight:600;font-size:12.5px}.ghost-btn{height:36px;padding:0 14px;border-radius:10px;border:1px solid var(--line-strong);background:#fff;color:var(--ink);font-weight:600;cursor:pointer}.ghost-btn:hover:not(:disabled){border-color:#c0292d;color:#c0292d}.ghost-btn:disabled{opacity:.5;cursor:default}@media(max-width:520px){.file-card{flex-wrap:wrap}.file-thumb{width:48px;height:48px}.get-btn span{display:none}.get-btn{padding:0 10px}.ready-bar .get-btn span{display:inline}}.file-order{width:28px;height:28px;flex:none;border-radius:9px;display:grid;place-items:center;font-style:normal;font-weight:800;font-size:13px;color:var(--muted);background:#f1efe9}.merge-card{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;border:1px solid #c9d8f8;background:#f4f8ff}.merge-card.done{border-color:#bfe3cc;background:#f6fcf8}.merge-icon{width:42px;height:42px;flex:none;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--blue);box-shadow:0 2px 8px #1418280f}.merge-card.done .merge-icon{background:#13894b;color:#fff}.merge-icon .spin{width:20px;height:20px;border-width:2.5px}.merge-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.merge-text{flex:1;min-width:0;display:grid;gap:4px}.merge-text b{font-size:15.5px}.merge-text small{color:var(--muted);font-size:13px}.file-progress.processing i{position:absolute;width:35%;animation:file-slide 1.1s ease-in-out infinite}.merge-get{flex:none;display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:12px;background:#13894b;color:#fff;font-weight:700;text-decoration:none}.merge-get:hover{background:#0f7340;color:#fff;text-decoration:none}.merge-get svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media(max-width:560px){.merge-card{flex-wrap:wrap}.merge-get{width:100%;justify-content:center}}.icon-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;padding:0;cursor:pointer;color:var(--ink)}.icon-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-btn.delete{color:#c0292d}.icon-btn.delete:hover{background:#fdecec;border-color:#f3c4c5}.icon-btn.delete:disabled{opacity:.4;cursor:default;background:#fff}.drop .choose{border:none;background:var(--blue);color:#fff;border-radius:14px;padding:13px 26px;font-size:15px;font-weight:600;min-height:48px;display:inline-flex;align-items:center;pointer-events:none}.stack{display:grid;gap:6px}.stack textarea,.stack input,.stack select,.inline-fields input,.inline-fields select{width:100%;border:1px solid var(--line-strong);border-radius:14px;padding:12px 14px;background:var(--bg)}.exif-report{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.exif-head{display:flex;gap:16px;align-items:flex-start;padding:16px;border-radius:18px;border:1px solid var(--line);background:#fff}.exif-preview{width:132px;height:132px;object-fit:cover;border-radius:14px;flex:none;border:1px solid var(--line);background:var(--bg)}.exif-summary{flex:1;min-width:0;display:grid;gap:10px}.exif-name{font-size:16px;word-break:break-word}.exif-summary dl{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px 16px}.exif-summary dt{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--faint)}.exif-summary dd{margin:2px 0 0;font-weight:600;font-size:14px;word-break:break-word}.exif-summary dd a{font-weight:700;color:var(--blue);margin-left:4px}.exif-alert,.exif-note{margin:0;padding:11px 14px;border-radius:12px;font-size:13.5px}.exif-alert{background:#fdf0d8;color:#7a4800;font-weight:600}.exif-alert a{color:inherit;text-decoration:underline}.exif-note{background:var(--bg);color:var(--muted);border:1px solid var(--line)}.exif-tools{display:flex;gap:6px;flex-wrap:wrap}.exif-tools .ghost-btn{height:38px;padding:0 12px;font-size:13.5px}.exif-tools input{flex:1;min-width:150px;height:38px;padding:0 14px;border-radius:10px;border:1px solid var(--line-strong);background:#fff;font:inherit;font-size:14px}.exif-section{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.exif-section summary{display:flex;align-items:center;gap:8px;padding:12px 16px;cursor:pointer;font-weight:700;list-style:none;-webkit-user-select:none;user-select:none}.exif-section summary::-webkit-details-marker{display:none}.exif-section summary:before{content:"▸";color:var(--faint);transition:transform .15s}.exif-section[open] summary:before{transform:rotate(90deg)}.exif-section summary em{font-style:normal;font-size:12px;font-weight:700;color:var(--muted);background:var(--bg);padding:2px 8px;border-radius:999px}.exif-table{width:100%;border-collapse:collapse;font-size:13.5px;table-layout:fixed}.exif-table thead th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);padding:8px 16px;background:var(--bg);border-top:1px solid var(--line)}.exif-table thead th:first-child{width:38%}.exif-table tbody th,.exif-table td{padding:9px 16px;border-top:1px solid var(--line);vertical-align:top;text-align:left}.exif-table tbody th{font-weight:600;color:var(--muted)}.exif-table td{font-family:var(--mono);font-size:12.5px;color:var(--ink);word-break:break-word}.exif-table tbody tr:hover{background:#fafaf7}.exif-head.media{flex-wrap:wrap}.exif-head.media .exif-summary{flex:1 1 220px}.media-preview{width:240px;max-width:100%;aspect-ratio:16 / 9;flex:1 1 240px;border-radius:14px;background:#111;object-fit:contain;border:1px solid var(--line)}.media-preview.audio{display:grid;place-items:center;gap:8px;padding:14px;background:var(--bg);aspect-ratio:auto}.media-preview.audio span{font-size:34px;color:var(--muted)}.media-preview.audio audio{width:100%}.exif-tools .ghost-btn.edit{border-color:var(--blue);color:var(--blue)}.exif-tools .ghost-btn.edit:hover{background:#eef3ff;border-color:var(--blue);color:var(--blue)}.link-btn{border:none;background:none;padding:0;color:var(--blue);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline}.exif-xmp{margin:0;padding:14px 16px;max-height:320px;overflow:auto;font:12px/1.5 var(--mono);background:#1b1d24;color:#e8e9ee;white-space:pre-wrap;word-break:break-word}@media(max-width:560px){.exif-head{flex-direction:column}.exif-preview{width:100%;height:200px}.media-preview{width:100%}.exif-table thead th:first-child{width:44%}}.field-label{font-weight:700;font-size:15px;color:var(--ink)}.stack small.field-sub{font-weight:600;font-size:12.5px;color:var(--muted)}.field-row-group{gap:8px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-row .stack{gap:4px}.choice-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.choice-cards button{display:grid;gap:3px;text-align:left;padding:12px 14px 12px 38px;position:relative;border-radius:14px;border:1.5px solid var(--line-strong);background:#fff;color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.choice-cards button:before{content:"";position:absolute;left:13px;top:15px;width:16px;height:16px;border-radius:50%;border:2px solid var(--line-strong);background:#fff;box-sizing:border-box}.choice-cards button:hover{border-color:var(--blue)}.choice-cards button.on{border-color:var(--blue);background:#f4f8ff;box-shadow:0 0 0 3px #2f6feb1f}.choice-cards button.on:before{border:5px solid var(--blue)}.choice-cards b{font-size:14.5px}.choice-cards small{color:var(--muted);font-size:12.5px;line-height:1.35}.input-suffix{position:relative;display:block}.input-suffix input{padding-right:46px}.input-suffix i{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-style:normal;font-weight:700;font-size:13px;color:var(--faint);pointer-events:none}.outcome{margin:0;display:grid;gap:4px;padding:12px 14px;border-radius:14px;background:#fff;border:1px dashed var(--line-strong)}.outcome.muted{color:var(--muted);font-size:13.5px}.outcome-name{font-size:12.5px;color:var(--muted);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outcome-dims{font:600 15px var(--mono);color:var(--muted)}.outcome-dims b{color:#13894b}.outcome-dims i{font-style:normal;color:var(--faint)}.outcome small{color:var(--muted);font-size:12.5px}.outcome small.warn{color:#9a5b00;font-weight:600}@font-face{font-family:WM Sans;src:url(/fonts/wm/sans.ttf) format("truetype");font-display:swap}@font-face{font-family:"WM Serif";src:url(/fonts/wm/serif.ttf) format("truetype");font-display:swap}@font-face{font-family:WM Mono;src:url(/fonts/wm/mono.ttf) format("truetype");font-display:swap}@font-face{font-family:WM Slab;src:url(/fonts/wm/slab.otf) format("opentype");font-display:swap}@font-face{font-family:WM Display;src:url(/fonts/wm/display.otf) format("opentype");font-display:swap}@font-face{font-family:WM Script;src:url(/fonts/wm/script.otf) format("opentype");font-display:swap}@font-face{font-family:WM Lobster;src:url(/fonts/wm/lobster.otf) format("opentype");font-display:swap}@font-face{font-family:WM Comic;src:url(/fonts/wm/comic.otf) format("opentype");font-display:swap}.choice-cards.fonts{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.choice-cards.fonts button{padding:10px 12px;text-align:center;justify-items:center}.choice-cards.fonts button:before{display:none}.choice-cards .font-sample{font-size:18px;font-weight:400;line-height:1.25;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.range-input{display:grid;grid-template-columns:1fr 64px;gap:12px;align-items:center}.range-input input[type=range]{width:100%;padding:0;border:none;background:none;accent-color:var(--blue);height:28px}.range-input output{font:700 13.5px var(--mono);text-align:center;padding:6px 0;border-radius:10px;background:#f1f0eb;color:var(--ink)}.color-pick{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.color-pick .swatch{width:34px;height:34px;padding:0;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1.5px var(--line-strong);cursor:pointer;position:relative}.color-pick .swatch.on{box-shadow:0 0 0 2.5px var(--blue)}.color-pick .swatch.custom{display:grid;place-items:center;background:conic-gradient(#e53935,#fdd835,#43a047,#1e88e5,#8e24aa,#e53935);overflow:hidden}.color-pick .swatch.custom input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.color-pick .swatch.custom span{font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);pointer-events:none}.color-pick .color-hex{width:104px;font:600 14px var(--mono);text-transform:lowercase;padding:8px 10px}.logo-drop{display:grid;gap:4px;justify-items:center;padding:18px;border-radius:14px;border:1.5px dashed var(--line-strong);background:#fff;color:var(--ink);cursor:pointer}.logo-drop:hover{border-color:var(--blue);background:#f8fbff}.logo-drop b{font-size:14.5px;color:var(--blue)}.logo-drop small{color:var(--muted);font-size:12.5px}.logo-pick{display:grid;grid-template-columns:56px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:#fff}.logo-thumb{width:56px;height:56px;border-radius:10px;display:grid;place-items:center;overflow:hidden;background:repeating-conic-gradient(#ecebe6 0,#ecebe6 25%,#fff 0,#fff 50%) 0 0 / 14px 14px}.logo-thumb img{max-width:100%;max-height:100%;object-fit:contain}.logo-facts{display:grid;gap:2px;min-width:0}.logo-facts b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logo-facts small{color:var(--muted);font-size:12.5px}.logo-pick .ghost-btn{padding:7px 12px;font-size:13.5px}.position-pick{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}.position-grid{display:grid;grid-template-columns:repeat(3,40px);grid-template-rows:repeat(3,32px);gap:4px;padding:6px;border-radius:14px;border:1.5px solid var(--line-strong);background:#fff}.position-grid button{padding:0;border:none;border-radius:8px;background:#f4f3ef;display:grid;place-items:center;cursor:pointer}.position-grid button i{width:8px;height:8px;border-radius:50%;background:#c9c6bd}.position-grid button:hover{background:#e9f0fe}.position-grid button.on{background:var(--blue)}.position-grid button.on i{background:#fff;width:10px;height:10px}.position-tile{flex:1 1 160px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-content:center;text-align:left;padding:10px 14px;border-radius:14px;border:1.5px solid var(--line-strong);background:#fff;color:var(--ink);cursor:pointer}.position-tile:hover{border-color:var(--blue)}.position-tile.on{border-color:var(--blue);background:#f4f8ff;box-shadow:0 0 0 3px #2f6feb1f}.position-tile b{font-size:14.5px}.position-tile small{grid-column:2;color:var(--muted);font-size:12.5px}.tile-dots{grid-row:span 2;display:grid;grid-template-columns:repeat(3,6px);gap:4px;align-content:center}.tile-dots i{width:6px;height:6px;border-radius:50%;background:#c9c6bd}.position-tile.on .tile-dots i{background:var(--blue)}.toggle-field{display:flex;align-items:center;gap:12px;cursor:pointer}.toggle-field input{position:absolute;opacity:0;pointer-events:none}.toggle-field b{font-size:15px;color:var(--ink)}.toggle-track{flex:none;width:42px;height:24px;border-radius:999px;background:#d9d6ce;position:relative;transition:background .15s}.toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .15s}.toggle-field input:checked+.toggle-track{background:var(--blue)}.toggle-field input:checked+.toggle-track:after{transform:translate(18px)}.toggle-field input:focus-visible+.toggle-track{outline:2px solid var(--blue);outline-offset:2px}.yt{display:grid;gap:14px;--yt: #e62117}.yt-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:7px 7px 7px 14px;border-radius:16px;border:1.5px solid var(--line-strong);background:#fff;box-shadow:0 6px 20px -14px #1b1d2459;transition:border-color .15s,box-shadow .15s}.yt-search:focus-within{border-color:var(--yt);box-shadow:0 0 0 4px #e621171a}.yt-search.wrong{border-color:#e0a100}.yt-logo{width:30px;height:21px;border-radius:6px;background:var(--yt);position:relative}.yt-logo:after{content:"";position:absolute;left:12px;top:6px;border-left:8px solid #fff;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent}.yt-search input{border:none;background:transparent;padding:10px 4px;font-size:15.5px;min-width:0;box-shadow:none;outline:none}.yt-paste,.yt-clear{border:1px solid var(--line-strong);background:#f6f5f1;color:var(--ink);border-radius:10px;padding:8px 12px;font-weight:600;font-size:13.5px;cursor:pointer}.yt-clear{width:34px;padding:6px 0;font-size:18px;line-height:1}.yt-go{border:none;border-radius:12px;padding:11px 18px;font-weight:700;font-size:14.5px;background:var(--yt);color:#fff;cursor:pointer;white-space:nowrap}.yt-go:hover:not(:disabled){background:#c81d14}.yt-go:disabled{opacity:.7;cursor:progress}.yt-hint{margin:-6px 2px 0;color:var(--muted);font-size:12.5px}.yt-card{display:grid;grid-template-columns:minmax(0,210px) minmax(0,1fr);gap:16px;padding:12px;border-radius:18px;border:1px solid var(--line);background:#fff;animation:yt-in .25s ease-out}@keyframes yt-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.yt-thumb{position:relative;display:block;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;background:#111}.yt-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.yt-thumb:hover img{transform:scale(1.04)}.yt-play{position:absolute;left:50%;top:50%;width:52px;height:36px;margin:-18px 0 0 -26px;border-radius:10px;background:#e62117eb;box-shadow:0 4px 14px #00000059;opacity:.92;transition:transform .15s,opacity .15s}.yt-play:after{content:"";position:absolute;left:21px;top:11px;border-left:13px solid #fff;border-top:7px solid transparent;border-bottom:7px solid transparent}.yt-thumb:hover .yt-play{transform:scale(1.08);opacity:1}.yt-time{position:absolute;right:8px;bottom:8px;padding:2px 6px;border-radius:6px;background:#000c;color:#fff;font:600 12px var(--mono)}.yt-meta{display:grid;align-content:center;gap:6px;min-width:0}.yt-meta h3{margin:0;font-size:17px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.yt-meta p{margin:0;color:var(--muted);font-size:13.5px}.yt-status{color:var(--faint);font-size:12.5px}.yt-skeleton{display:block;height:14px;width:45%;border-radius:7px;background:linear-gradient(90deg,#efeee9 25%,#f8f7f3,#efeee9 75%) 0 0 / 200% 100%;animation:yt-shimmer 1.2s linear infinite}.yt-skeleton.wide{height:18px;width:85%}@keyframes yt-shimmer{to{background-position:-200% 0}}.yt-formats{display:grid;gap:10px;animation:yt-in .25s ease-out}.yt-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:#f1f0eb;justify-self:start}.yt-tabs button{border:none;background:transparent;padding:8px 16px;border-radius:9px;font-weight:700;font-size:14px;color:var(--muted);cursor:pointer}.yt-tabs button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px #0000001a}.yt-tabs em{font-style:normal;font-size:12px;color:var(--faint);margin-left:4px}.yt-rows{list-style:none;margin:0;padding:0;display:grid;gap:8px}.yt-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:#fff;transition:border-color .15s,background .15s}.yt-row:hover{border-color:var(--line-strong)}.yt-row.done{border-color:#bfe5cd;background:#f6fcf8}.yt-row.error{border-color:#f1c4c4;background:#fff8f8}.yt-ext{display:grid;place-items:center;height:36px;border-radius:10px;font:800 11.5px var(--mono);letter-spacing:.02em}.yt-ext.audio{background:#f0eafd;color:#6d32d6}.yt-ext.video{background:#fdecec;color:#c81d14}.yt-row-main{display:grid;gap:2px;min-width:0}.yt-row-main b{font-size:14.5px}.yt-row-main small{color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yt-row.error .yt-row-main small{color:#b42318;white-space:normal}.yt-size{font:600 12.5px var(--mono);color:var(--muted);white-space:nowrap}.yt-get{border:none;border-radius:10px;padding:9px 14px;font-weight:700;font-size:13.5px;background:var(--ink);color:#fff;cursor:pointer;text-decoration:none;white-space:nowrap}.yt-get:hover{background:#000;text-decoration:none}.yt-get.done{background:#13894b}.yt-get.done:hover{background:#0f7540}.yt-bar{display:block;height:4px;border-radius:4px;background:#eeece6;overflow:hidden;margin-top:4px}.yt-bar i{display:block;height:100%;background:var(--yt);border-radius:4px;transition:width .2s}.yt-bar.busy i{width:35%;animation:yt-slide 1.1s ease-in-out infinite}@keyframes yt-slide{0%{transform:translate(-100%)}to{transform:translate(300%)}}.yt-legal{margin:4px 0 0;padding:10px 12px;border-radius:12px;background:#f6f5f1;color:var(--muted);font-size:12.5px}@media(max-width:560px){.yt-search{grid-template-columns:auto minmax(0,1fr) auto}.yt-go{grid-column:1 / -1}.yt-card{grid-template-columns:1fr}.yt-row{grid-template-columns:46px minmax(0,1fr) auto}.yt-size{display:none}}.wm-preview{display:grid;gap:8px}@media(min-width:720px)and (min-height:760px){.wm-preview{position:sticky;top:80px;z-index:3;padding:16px 0 12px;background:#fff;box-shadow:0 10px 12px -12px #1b1d2440}.wm-stage{max-height:34vh}.wm-canvas{width:auto;max-width:100%;max-height:34vh;margin:0 auto}}.wm-preview-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.wm-preview-head small{color:var(--muted);font-size:12.5px}.wm-stage{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:repeating-conic-gradient(#ecebe6 0,#ecebe6 25%,#fff 0,#fff 50%) 0 0 / 18px 18px;min-height:120px;display:grid;place-items:center;transition:opacity .15s}.wm-stage.busy{opacity:.85}.wm-canvas{display:block;width:100%;height:auto}.wm-note{color:var(--muted);font-size:12.5px}@media(max-width:520px){.logo-pick{grid-template-columns:48px minmax(0,1fr)}.logo-pick .ghost-btn{grid-column:span 1}}@media(max-width:520px){.field-row{grid-template-columns:1fr}}.field-examples{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.field-examples em{font-style:normal;color:var(--faint);font-size:12.5px;font-weight:600;margin-right:2px}.field-examples button{border:1px solid var(--line-strong);background:#fff;color:var(--ink);border-radius:999px;padding:4px 11px;font:600 12.5px var(--mono);cursor:pointer}.field-examples button:hover{border-color:var(--blue);color:var(--blue)}.field-examples button.on{background:var(--blue);border-color:var(--blue);color:#fff}.field-help{display:block;padding:10px 12px;border-radius:12px;background:#f4f8ff;border:1px solid #dce6fb;color:#34446b;font-size:13px;line-height:1.5}.stack textarea{min-height:220px;resize:vertical;font-family:var(--mono);font-size:13px;line-height:1.6}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions button,.primary,.result-bar button{border:none;background:#f0eee8;color:var(--ink);border-radius:11px;padding:10px 16px;font-weight:600;min-height:42px}.actions button:first-child,.primary.wide{background:var(--blue);color:#fff}.inline-fields{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.inline-fields label,.check{display:grid;gap:6px}.check{display:flex;align-items:center}.notice,.error{margin:0;padding:10px 14px;border-radius:12px;font-weight:600;font-size:13.5px}.notice{background:#fdf1e1;color:#8a4d00}.error{background:#fdecec;color:#c0292d}.workspace .result{display:grid;gap:10px;align-items:stretch;padding:14px}.result-bar button.copied{background:#13894b;color:#fff}.actions button.last{box-shadow:inset 0 0 0 2px var(--blue)}.actions button:first-child.last{box-shadow:inset 0 0 0 2px var(--blue-dark)}.actions .shortcut{align-self:center;margin-left:auto;color:var(--faint);font-size:12px;font-weight:600}.input-bar,.text-result-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.input-label,.text-result-bar>span{font-weight:600;color:var(--ink)}.input-bar small,.text-result-bar small{color:var(--faint);font-size:12px;font-weight:600}.input-actions{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}.input-actions button{height:32px;padding:0 11px;border-radius:9px;border:1px solid var(--line-strong);background:#fff;color:var(--body);font-weight:600;font-size:12.5px}.input-actions button:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.input-actions button:disabled{opacity:.45;cursor:default}.input-actions button.copy-main{background:var(--blue);border-color:var(--blue);color:#fff;padding:0 14px}.input-actions button.copy-main:hover:not(:disabled){background:var(--blue-dark);color:#fff}.input-actions button.copied,.input-actions button.copied:hover{background:#13894b;border-color:#13894b;color:#fff}.text-result{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff;min-width:0}.text-result pre{margin:0;padding:14px;overflow:auto;max-height:460px;white-space:pre-wrap;overflow-wrap:anywhere;background:#1b1d24;color:#e8e9ee;border-radius:12px;font:13px/1.6 var(--mono)}.line-tool{display:grid;gap:10px}.line-row{display:flex;gap:8px}.line-row input{flex:1;min-width:0;height:52px;padding:0 16px;border-radius:14px;border:1.5px solid var(--line-strong);background:var(--bg);font:600 16px var(--mono);color:var(--ink)}.line-row input:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px #2f6feb1f}.line-row .primary{margin:0;height:52px;padding:0 22px;border-radius:14px;background:var(--blue);color:#fff;font-size:15px;flex:none}.line-row .primary:disabled{opacity:.55}.seg{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:13px;background:#f0eee8;width:fit-content;max-width:100%}.seg button{height:34px;padding:0 13px;border:0;border-radius:9px;background:transparent;color:var(--body);font:700 13px var(--mono)}.seg button:hover:not(:disabled){color:var(--ink);background:#ffffff80}.seg button.on{background:#fff;color:var(--blue);box-shadow:0 1px 3px #1b1d2420}.samples{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;color:var(--faint);font-weight:600}.samples .sample{height:30px;padding:0 11px;border-radius:999px;border:1px solid var(--line-strong);background:#fff;color:var(--body);font:600 12.5px var(--mono)}.samples .sample:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.samples .sample.mine{font-family:var(--sans);background:#eef3ff;border-color:#cfdcfb;color:var(--blue)}.myip{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.ip-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ip-tile{position:relative;border:1.5px solid var(--line);border-radius:18px;background:#fff;transition:border-color .15s,box-shadow .15s;min-width:0}.ip-tile.active{border-color:var(--blue);box-shadow:0 0 0 4px #2f6feb14}.ip-tile.missing{background:var(--bg);border-style:dashed}.ip-tile-main{display:grid;gap:6px;width:100%;padding:16px 18px;border:0;background:none;text-align:left;font:inherit;color:inherit;cursor:pointer}.ip-tile-main:disabled{cursor:default}.ip-tile-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--faint)}.ip-tile-label em{font-style:normal;letter-spacing:0;font-weight:700;font-size:11px;color:#13894b;background:#e5f5ec;padding:2px 8px;border-radius:999px}.ip-tile code{font:700 clamp(17px,2.6vw,24px) / 1.25 var(--mono);color:var(--ink);overflow-wrap:anywhere;padding-right:64px}.ip-tile.missing code{color:var(--faint);font-size:17px}.ip-tile small{color:var(--muted);font-size:13px;font-weight:600}.ip-tile-copy{position:absolute;top:12px;right:12px;height:30px;padding:0 11px;border-radius:9px;border:1px solid var(--line-strong);background:#fff;font-weight:700;font-size:12.5px;color:var(--body)}.ip-tile-copy:hover{border-color:var(--blue);color:var(--blue)}.ip-tile-copy.copied{background:#13894b;border-color:#13894b;color:#fff}.ip-card{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0}.ip-top{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.ip-top.with-map{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ip-hero,.dns-head{display:grid;align-content:start;gap:10px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;min-width:0}.dns-head{grid-template-columns:minmax(0,1fr) auto;align-items:start}.dns-head>div{display:grid;gap:4px;min-width:0}.dns-head small{color:var(--muted);font-size:13px;font-weight:600}.ip-eyebrow{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.ip-address{font:800 clamp(19px,3vw,28px) / 1.2 var(--mono);color:var(--ink);overflow-wrap:anywhere}.ip-tags{display:flex;flex-wrap:wrap;gap:6px}.ip-tag{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--bg);border:1px solid var(--line);color:var(--muted)}.ip-tag.good{background:#e5f5ec;border-color:#bfe5cf;color:#13894b}.ip-tag.warn{background:#fdf1e1;border-color:#f4d9b3;color:#8a4d00}.ip-where{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:var(--bg)}.ip-where>div{display:grid;gap:2px;min-width:0}.ip-where b{font-size:15px}.ip-where span{color:var(--muted);font-size:13.5px;font-weight:600}.ip-private{margin:0;padding:12px;border-radius:14px;background:#fdf1e1;color:#8a4d00;font-size:13.5px;font-weight:600}.ip-actions{display:flex;gap:6px;flex-wrap:wrap}.ip-actions .ghost-btn,.dns-head .ghost-btn{height:36px;padding:0 12px;font-size:13px}.ghost-btn.copied,.ghost-btn.copied:hover:not(:disabled){background:#13894b;border-color:#13894b;color:#fff}.flag{flex:none;border-radius:3px;box-shadow:0 0 0 1px #1b1d2414;object-fit:cover;vertical-align:-2px;margin-right:7px}.ip-map{position:relative;min-height:240px;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#eef1f4}.ip-map iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.ip-map a{position:absolute;left:10px;top:10px;padding:6px 10px;border-radius:9px;background:#fff;box-shadow:0 2px 8px #1b1d2426;font-size:12.5px;font-weight:700;color:var(--ink)}.ip-hint{margin:0;color:var(--muted);font-size:12.5px;line-height:1.55}.ip-hint a{color:var(--blue);font-weight:600}.ip-hint.inside{padding:10px 16px;border-top:1px solid var(--line);background:#fffaf0;color:#7a4800}.exif-table td.plain{font-family:var(--sans);font-size:13.5px}.exif-table td.mono{font-family:var(--mono);font-size:12.5px}.ip-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ip-foot .ghost-btn{height:38px;padding:0 14px;font-size:13.5px}.ip-foot small{flex:1;min-width:220px;color:var(--faint);font-size:12px;line-height:1.5}.ip-foot small a{color:var(--muted);font-weight:600}.dns-type{display:inline-block;min-width:52px;font-family:var(--mono);color:var(--blue)}.dns-table thead th:first-child{width:auto}.dns-table thead th.narrow,.dns-table td.narrow{width:90px;white-space:nowrap}.dns-table td.narrow{font-family:var(--mono);font-size:12.5px;color:var(--muted)}.dns-table td a{color:var(--blue);font-weight:600}.dns-note{display:block;margin-top:3px;font-family:var(--sans);color:var(--muted)}.ptr-table{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;border-collapse:separate;border-spacing:0}.ptr-table thead th.wide-narrow{width:42%}.ptr-yes{color:#13894b;font-weight:700}.ptr-no{color:#a3460f;font-weight:700}.ptr-meta{display:flex;align-items:center;flex-wrap:wrap}.headers-table thead th:first-child{width:32%}@media(max-width:720px){.ip-top.with-map,.ip-tiles{grid-template-columns:minmax(0,1fr)}.line-row .primary{padding:0 16px}.actions .shortcut{display:none}}.b64{display:grid;gap:12px;min-width:0}.b64-head{display:flex;gap:16px;align-items:flex-start;padding:16px;border-radius:18px;border:1px solid var(--line);background:#fff}.b64-preview{width:110px;height:110px;flex:none;object-fit:contain;border-radius:14px;border:1px solid var(--line);background:repeating-conic-gradient(#f1efe9,#f1efe9 25%,#fff 0%,#fff 50%) 50% / 16px 16px}.b64-info{flex:1;min-width:0;display:grid;gap:6px}.b64-info>b{font-size:16px;word-break:break-word}.b64-facts{display:flex;flex-wrap:wrap;gap:6px}.b64-facts span{font-size:12.5px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--bg);border:1px solid var(--line);color:var(--muted)}.b64-info small{color:var(--muted);font-size:12.5px}.b64-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.b64-actions .ghost-btn{height:42px}.copy-btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px;border-radius:10px;border:1px solid var(--line-strong);background:#fff;color:var(--ink);font-weight:700;font-size:13.5px;cursor:pointer;white-space:nowrap;flex:none;transition:background .15s,border-color .15s,color .15s}.copy-btn:hover{border-color:var(--blue);color:var(--blue)}.copy-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.copy-btn.big{height:42px;padding:0 18px;font-size:15px;background:var(--blue);border-color:var(--blue);color:#fff}.copy-btn.big:hover{background:#2559c9;color:#fff}.copy-btn.done,.copy-btn.done:hover{background:#13894b;border-color:#13894b;color:#fff}.b64-list{display:grid;gap:10px}.b64-item{border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px 14px;display:grid;gap:10px;min-width:0;transition:border-color .15s}.b64-item.done{border-color:#9fd3b4}.b64-item-head{display:flex;align-items:center;gap:12px}.b64-item-head>span{flex:1;min-width:0;display:grid;gap:2px}.b64-item-head b{font-size:14.5px}.b64-item-head small{color:var(--muted);font-size:12.5px}.b64-code{display:block;padding:10px 12px;border-radius:10px;background:#1b1d24;color:#e8e9ee;font:12px/1.55 var(--mono);overflow-wrap:anywhere;cursor:copy}.b64-code em{font-style:normal;color:#8f95a8}@media(max-width:560px){.b64-head{flex-direction:column}.b64-preview{width:100%;height:180px}}.result pre{margin:0;padding:14px;overflow:auto;max-height:460px;white-space:pre-wrap;overflow-wrap:anywhere;background:#1b1d24;color:#e8e9ee;border-radius:14px;font-family:var(--mono);font-size:13px}.result-bar{display:flex;justify-content:space-between;align-items:center}.recorder{display:flex;flex-direction:column;gap:12px}.recorder video{width:100%;max-height:280px;background:#1b1d24;border-radius:14px}.recorder p{margin:0;color:var(--muted, #6d7280);font-size:13.5px}.preview{width:100%;min-height:160px;border:1px solid var(--line);border-radius:14px;background:#fff}.result-image{border-radius:14px;border:1px solid var(--line)}.file-card.has-player,.merge-card.has-player{flex-wrap:wrap}.file-player{flex-basis:100%;min-width:0}.file-player audio{width:100%;display:block}.file-player video,video.merge-player{width:100%;max-height:360px;display:block;border-radius:12px;background:#000}.merge-player{flex-basis:100%;min-width:0}audio.merge-player{width:100%}button.file-thumb{padding:0;cursor:pointer;font:inherit}.file-thumb.media>b{font-size:22px;font-family:var(--sans)}.thumb-play{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#1418282e;transition:background .15s}.thumb-play svg{width:26px;height:26px;padding:5px;border-radius:50%;fill:#fff;background:#141828ad;box-shadow:0 2px 8px #00000040}.file-thumb.playable:hover .thumb-play{background:#14182852}.elapsed{font-family:var(--mono);font-weight:600;font-variant-numeric:tabular-nums}audio.result-media{width:100%}video.result-media{width:100%;max-height:420px;border-radius:14px;background:#000}.field-row.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:640px){.field-row.cols-3{grid-template-columns:minmax(0,1fr)}}.transcript{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff}.transcript-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.transcript-title{display:grid;gap:6px}.transcript-title>b{font:700 18px var(--serif)}.transcript-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:#f1f0eb;justify-self:start}.transcript-tabs button{border:none;background:none;padding:7px 14px;border-radius:9px;font-weight:600;font-size:13.5px;color:var(--muted);cursor:pointer}.transcript-tabs button.on{background:#fff;color:var(--ink);box-shadow:0 1px 4px #14182814}.transcript-text{margin:0;padding:14px 16px;border-radius:14px;background:var(--bg);border:1px solid var(--line);font-size:15.5px;line-height:1.65;color:var(--ink);white-space:pre-wrap;max-height:360px;overflow:auto}.transcript-lines{list-style:none;margin:0;padding:6px;border-radius:14px;background:var(--bg);border:1px solid var(--line);max-height:360px;overflow:auto;display:grid;gap:2px}.transcript-lines li{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;padding:7px 10px;border-radius:10px;font-size:14.5px;line-height:1.5}.transcript-lines li:hover{background:#fff}.transcript-lines time{font:600 12.5px var(--mono);color:var(--blue);padding-top:2px}.transcript-actions{display:flex;gap:8px;flex-wrap:wrap}.transcript-actions .ghost-btn:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.download{display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;border-radius:14px;padding:14px 22px;font-weight:700;font-size:15.5px;background:#13894b;color:#fff;box-shadow:0 4px 12px #13894b38}.download:hover{background:#0f7340;color:#fff;text-decoration:none}.download svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.download small{font-weight:500;opacity:.85;font-size:13px}.related h2{margin:0 0 14px;font-size:22px;font-weight:700}.flow{list-style:none;margin:18px 0 0;padding:5px;display:inline-flex;flex-wrap:wrap;gap:4px;background:#ffffffb3;border:1px solid rgba(255,255,255,.9);border-radius:999px;box-shadow:0 4px 14px #1418280d}.flow li{position:relative;display:flex;align-items:center;gap:8px;padding:6px 16px 6px 6px;border-radius:999px;font-size:13px}.flow li+li{padding-left:22px}.flow li+li:before{content:"";position:absolute;left:2px;width:12px;height:2px;border-radius:2px;background:var(--tool);opacity:.35}.flow i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:800;font-size:11.5px;color:#fff;background:var(--tool);flex:none}.flow b{font-weight:700;color:var(--ink)}.flow span{color:var(--muted)}.cat-tools{margin-top:32px}.cat-tools .section-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.cat-tools .section-head h2{margin:0;font-size:22px}.cat-tools .section-head em{font-style:normal;color:var(--faint);font-weight:600}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.cat-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:#fff;color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}.cat-card:hover{border-color:var(--tool);box-shadow:0 6px 18px #1418280f;transform:translateY(-1px);color:inherit;text-decoration:none}.cat-card>span:last-child{min-width:0}.cat-card b{display:block;font-size:14.5px}.cat-card small{display:block;color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-card.here{border-color:var(--tool);background:var(--tint)}.cat-card.here small{color:var(--tool);font-weight:700}.tool-side{flex:0 0 300px;display:flex;flex-direction:column;gap:20px;align-self:stretch}.tool-side:empty{display:none}.side-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px}.side-card h3{margin:4px 6px 8px;font-family:var(--sans);font-size:14px}.side-link{min-height:44px;font-weight:600;font-size:14px;padding:8px 6px}.side-link .glyph{width:30px;height:30px;border-radius:8px;font-size:10px}.related{margin-top:36px}.related-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.related a{border-radius:18px;padding:16px;display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none}.related a:hover{filter:brightness(.97);text-decoration:none;color:inherit}.related b{display:block}.related small{color:var(--body)}.announcement{background:var(--ink);color:#fff;text-align:center;padding:10px 20px;font-size:14px;font-weight:600}.footer{margin-top:64px;border-top:1px solid var(--line);background:#f5f4ef}.footer-inner{max-width:1200px;margin:0 auto;padding:32px;display:flex;flex-wrap:wrap;gap:20px 40px;justify-content:space-between;align-items:center}.footer p{margin:4px 0 0;font-size:13px;color:var(--muted)}.footer nav{display:flex;gap:18px;flex-wrap:wrap;font-size:13.5px;font-weight:600}.footer nav a,.footer nav span{color:var(--body)}.footer nav a:hover{color:var(--ink);text-decoration:none}@media(max-width:860px){.top-inner,.hero,.band,.ad-row,.section,.search-page,.tool-hero,.tool-body{padding-left:16px;padding-right:16px}.cat-nav,.nav-search{display:none}.mobile-tools{display:flex}.flow{border-radius:16px}.flow span{display:none}.hero{padding-top:36px}.hero h1{font-size:38px}.hero p,.tool-title p{font-size:15.5px}.tool-detail{font-size:14px}.search-page h1,.tool-title h1{font-size:28px}.tool-hero{padding-bottom:64px}.tool-body{margin-top:-44px}.tool-badge{width:56px;height:56px}.panel{padding:18px}.menu-inner{flex-direction:column;padding:16px}.info-page{padding-left:16px;padding-right:16px}.info-page h1{font-size:30px}}@media(max-width:1024px){.tool-side,.ad-search{display:none}}
