.tool-page{max-width:1080px;margin:0 auto;padding:32px 16px 64px}.tool-crumb{display:flex;gap:8px;align-items:center;font-size:.85rem;color:color-mix(in srgb,var(--text-color) 55%,transparent);margin-bottom:16px}.tool-crumb a{color:var(--primary-color);text-decoration:none}.tool-crumb a:hover{text-decoration:underline}.tool-head{margin-bottom:24px}.tool-head h1{font-size:clamp(1.7rem,4.5vw,2.4rem);font-weight:750;line-height:1.15;margin:0 0 10px;color:var(--text-color)}.tool-sub{margin:0;max-width:68ch;font-size:1rem;line-height:1.6;color:color-mix(in srgb,var(--text-color) 72%,transparent)}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.tool-card{display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:14px;border:1px solid var(--border-color, #30363d);background:var(--card-bg, #161b22);text-decoration:none;color:var(--text-color);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.tool-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-color) 55%,var(--border-color));box-shadow:0 10px 28px color-mix(in srgb,var(--primary-color) 14%,transparent)}.tool-card h2{font-size:1.15rem;font-weight:700;margin:0}.tool-card p{margin:0;font-size:.92rem;line-height:1.55;color:color-mix(in srgb,var(--text-color) 68%,transparent);flex:1}.tool-card-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:11px;color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 13%,transparent)}.tool-tag{align-self:flex-start;font-size:.78rem;font-weight:650;font-family:var(--font-mono, monospace);color:var(--primary-color)}.tool-tag.soon{color:color-mix(in srgb,var(--text-color) 45%,transparent)}.tool-card.is-soon{opacity:.72;cursor:default}.tool-card.is-soon:hover{transform:none;box-shadow:none;border-color:var(--border-color)}.rs-tool{position:relative;border:1px solid var(--border-color, #30363d);background:var(--card-bg, #161b22);border-radius:16px;padding:18px;margin-bottom:40px}.rs-controls{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:12px;margin-bottom:16px}.rs-field{display:flex;flex-direction:column;gap:6px;min-width:0}.rs-field label{font-size:.72rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--text-color) 55%,transparent)}.rs-field input,.rs-field select,.rs-select{width:100%;padding:10px 12px;border-radius:9px;border:1px solid var(--border-color, #30363d);background:color-mix(in srgb,var(--text-color) 5%,var(--card-bg, #161b22));color:var(--text-color);font-size:.95rem;font-family:var(--font-mono, monospace);transition:border-color .15s ease,box-shadow .15s ease}.rs-field select,.rs-select{color-scheme:light dark}.rs-field option,.rs-select option{background-color:var(--card-bg, #161b22);color:var(--text-color, #e6edf3)}.rs-field input:focus,.rs-field select:focus,.rs-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 22%,transparent)}.rs-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.rs-tab{padding:8px 14px;border-radius:9px;border:1px solid transparent;background:transparent;color:color-mix(in srgb,var(--text-color) 65%,transparent);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.rs-tab:hover{color:var(--text-color);background:color-mix(in srgb,var(--text-color) 6%,transparent)}.rs-tab.active{color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 14%,transparent);border-color:color-mix(in srgb,var(--primary-color) 35%,transparent)}.rs-os{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.rs-chip{padding:5px 12px;border-radius:999px;border:1px solid var(--border-color, #30363d);background:transparent;color:color-mix(in srgb,var(--text-color) 65%,transparent);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s ease}.rs-chip:hover{color:var(--text-color)}.rs-chip.active{color:#fff;background:var(--primary-color);border-color:var(--primary-color)}.rs-main{display:grid;grid-template-columns:250px 1fr;gap:14px}.rs-list{display:flex;flex-direction:column;gap:3px;max-height:440px;overflow-y:auto;padding-right:4px}.rs-item{text-align:left;padding:9px 12px;border-radius:8px;border:1px solid transparent;background:transparent;color:color-mix(in srgb,var(--text-color) 78%,transparent);font-size:.88rem;font-family:var(--font-mono, monospace);cursor:pointer;transition:background .12s ease,color .12s ease}.rs-item:hover{background:color-mix(in srgb,var(--text-color) 6%,transparent);color:var(--text-color)}.rs-item.active{background:color-mix(in srgb,var(--primary-color) 16%,transparent);color:var(--text-color);border-color:color-mix(in srgb,var(--primary-color) 32%,transparent)}.rs-builder{padding:6px 2px}.rs-blabel{display:block;font-size:.72rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--text-color) 55%,transparent);margin-bottom:6px}.rs-output{min-width:0}.rs-out-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.rs-out-title{font-size:.9rem;font-weight:650;color:color-mix(in srgb,var(--text-color) 70%,transparent);font-family:var(--font-mono, monospace);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rs-copy{flex-shrink:0;padding:8px 18px;border-radius:8px;border:none;background:var(--primary-color);color:#fff;font-weight:650;font-size:.88rem;cursor:pointer;transition:filter .15s ease,transform .1s ease}.rs-copy:hover{filter:brightness(1.08)}.rs-copy:active{transform:translateY(1px)}.rs-out-code{margin:0;padding:16px;border-radius:10px;background:#0d1117;border:1px solid #222b36;overflow-x:auto;min-height:92px}.rs-out-code code{color:#e6edf3;font-family:var(--font-mono, ui-monospace, monospace);font-size:.9rem;line-height:1.6;white-space:pre-wrap;word-break:break-all}.rs-out-note{margin:10px 0 0;font-size:.84rem;line-height:1.5;color:color-mix(in srgb,var(--text-color) 55%,transparent)}.rs-noscript{color:#e5534b;font-weight:600;margin-top:12px}.rs-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%) translateY(14px);background:#0d1117;color:#e6edf3;border:1px solid color-mix(in srgb,var(--primary-color) 50%,#222b36);padding:10px 20px;border-radius:10px;font-size:.9rem;font-weight:600;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:1000}.rs-toast.show{opacity:1;transform:translate(-50%) translateY(0)}.tool-content{max-width:72ch}.tool-content h2{font-size:1.3rem;font-weight:700;margin:32px 0 10px;color:var(--text-color)}.tool-content p,.tool-content li{font-size:.97rem;line-height:1.7;color:color-mix(in srgb,var(--text-color) 80%,transparent)}.tool-content ol{padding-left:22px;display:flex;flex-direction:column;gap:6px}.tool-content code{font-family:var(--font-mono, monospace);font-size:.86em;padding:2px 6px;border-radius:5px;background:color-mix(in srgb,var(--text-color) 9%,transparent);word-break:break-word}.tool-legal{margin-top:28px;padding:14px 16px;border-radius:10px;border:1px solid color-mix(in srgb,#e5a50a 40%,var(--border-color));background:color-mix(in srgb,#e5a50a 9%,transparent);font-size:.9rem!important}.sl-tool{position:relative;border:1px solid var(--border-color, #30363d);background:var(--card-bg, #161b22);border-radius:16px;padding:22px;margin-bottom:40px}.sl-label{display:block;font-size:.72rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--text-color) 55%,transparent);margin-bottom:7px}.sl-input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--border-color, #30363d);background:color-mix(in srgb,var(--text-color) 5%,var(--card-bg, #161b22));color:var(--text-color);font-size:.98rem;font-family:var(--font-mono, monospace);transition:border-color .15s ease,box-shadow .15s ease}.sl-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 22%,transparent)}.sl-url-wrap{display:flex;gap:10px}.sl-url-wrap .sl-input{flex:1;min-width:0}.sl-gen{flex-shrink:0;padding:0 18px;border-radius:10px;border:1px solid color-mix(in srgb,var(--primary-color) 40%,var(--border-color));background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);font-weight:600;font-size:.9rem;cursor:pointer;white-space:nowrap;transition:background .15s ease,transform .1s ease}.sl-gen:hover{background:color-mix(in srgb,var(--primary-color) 20%,transparent)}.sl-gen:active{transform:translateY(1px)}.sl-row{display:flex;gap:10px;margin-top:12px;align-items:stretch}.sl-alias-wrap{flex:1;display:flex;align-items:stretch;border:1px solid var(--border-color, #30363d);border-radius:10px;overflow:hidden;background:color-mix(in srgb,var(--text-color) 5%,var(--card-bg, #161b22))}.sl-alias-wrap:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 22%,transparent)}.sl-prefix{display:flex;align-items:center;padding:0 10px;font-family:var(--font-mono, monospace);font-size:.86rem;color:color-mix(in srgb,var(--text-color) 55%,transparent);background:color-mix(in srgb,var(--text-color) 6%,transparent);white-space:nowrap}.sl-alias{border:none;border-radius:0;background:transparent;box-shadow:none!important}.sl-alias:focus{box-shadow:none}.sl-btn{flex-shrink:0;padding:0 26px;border-radius:10px;border:none;background:var(--primary-color);color:#fff;font-weight:650;font-size:.95rem;cursor:pointer;transition:filter .15s ease,transform .1s ease}.sl-btn:hover{filter:brightness(1.08)}.sl-btn:active{transform:translateY(1px)}.sl-btn:disabled{opacity:.6;cursor:default}.sl-error{margin:14px 0 0;padding:11px 14px;border-radius:9px;background:color-mix(in srgb,#e5534b 12%,transparent);border:1px solid color-mix(in srgb,#e5534b 40%,transparent);color:#f0837c;font-size:.9rem}.sl-result{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color, #30363d);display:flex;gap:20px;align-items:center;flex-wrap:wrap}.sl-result[hidden]{display:none}.sl-result-info{flex:1;min-width:220px;display:flex;flex-direction:column;gap:8px}.sl-result-main{display:flex;gap:10px}.sl-result-main .sl-input{color:var(--primary-color);font-weight:600}.sl-expiry-note{font-size:.82rem;color:color-mix(in srgb,var(--text-color) 55%,transparent)}.sl-expires{flex:0 0 auto;width:auto;color-scheme:light dark;cursor:pointer}.sl-expires option{background-color:var(--card-bg, #161b22);color:var(--text-color, #e6edf3)}.sl-qr-wrap{display:flex;flex-direction:column;align-items:center;gap:6px}.sl-qr{display:inline-block;padding:10px;background:#fff;border-radius:10px;line-height:0}.sl-qr canvas,.sl-qr img{display:block;width:180px;height:180px;max-width:none}.sl-qr-label{font-size:.74rem;color:color-mix(in srgb,var(--text-color) 50%,transparent)}.enc-tool{position:relative;border:1px solid var(--border-color, #30363d);background:var(--card-bg, #161b22);border-radius:16px;padding:18px;margin-bottom:40px}.enc-controls{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;margin-bottom:16px}.enc-field{display:flex;flex-direction:column;gap:7px;min-width:0}.enc-field-grow{flex:1;min-width:220px}.enc-field label{font-size:.72rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--text-color) 55%,transparent)}.enc-dd{position:relative}.enc-dd-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border-radius:10px;cursor:pointer;border:1px solid var(--border-color, #30363d);background:color-mix(in srgb,var(--text-color) 5%,var(--card-bg, #161b22));color:var(--text-color);font-size:.98rem;font-weight:600;font-family:inherit;text-align:left;transition:border-color .15s ease,box-shadow .15s ease}.enc-dd-btn:hover{border-color:color-mix(in srgb,var(--primary-color) 45%,var(--border-color))}.enc-dd-btn[aria-expanded=true]{border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 20%,transparent)}.enc-dd-caret{opacity:.55;flex-shrink:0}.enc-dd-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:60;max-height:340px;overflow-y:auto;background:var(--card-bg, #161b22);border:1px solid var(--border-color, #30363d);border-radius:12px;box-shadow:0 16px 44px #0006;padding:6px}.enc-dd-group{padding:9px 10px 4px;font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:color-mix(in srgb,var(--text-color) 45%,transparent)}.enc-dd-item{display:block;width:100%;text-align:left;padding:9px 11px;border-radius:7px;border:none;background:transparent;color:var(--text-color);font-size:.92rem;cursor:pointer;font-family:inherit;transition:background .12s ease}.enc-dd-item:hover{background:color-mix(in srgb,var(--text-color) 7%,transparent)}.enc-dd-item.active{background:color-mix(in srgb,var(--primary-color) 16%,transparent);color:var(--primary-color);font-weight:600}.enc-dir{display:inline-flex;border:1px solid var(--border-color, #30363d);border-radius:9px;overflow:hidden}.enc-dirbtn{padding:8px 20px;border:none;background:transparent;cursor:pointer;color:color-mix(in srgb,var(--text-color) 65%,transparent);font-size:.9rem;font-weight:600;transition:background .15s ease,color .15s ease}.enc-dirbtn.active{background:var(--primary-color);color:#fff}.enc-io{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch}.enc-pane{display:flex;flex-direction:column;gap:8px;min-width:0}.enc-pane-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.74rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--text-color) 55%,transparent)}.enc-detect{text-transform:none;letter-spacing:0;font-size:.78rem;font-weight:600;color:hsl(var(--hue, 210),70%,62%)}.enc-ta{width:100%;min-height:230px;resize:vertical;padding:14px;border-radius:10px;border:1px solid var(--border-color, #30363d);background:color-mix(in srgb,var(--text-color) 4%,var(--card-bg, #161b22));color:var(--text-color);font-family:var(--font-mono, monospace);font-size:.9rem;line-height:1.55;transition:border-color .15s ease,box-shadow .15s ease}.enc-ta:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 20%,transparent)}#enc-output{background:#0d1117;color:#e6edf3;border-color:#222b36}.enc-mid{display:flex;align-items:center;justify-content:center}.enc-iconbtn{width:40px;height:40px;border-radius:10px;cursor:pointer;border:1px solid var(--border-color, #30363d);background:color-mix(in srgb,var(--text-color) 5%,transparent);color:var(--text-color);font-size:1.2rem;line-height:1;transition:background .15s ease,transform .15s ease}.enc-iconbtn:hover{background:color-mix(in srgb,var(--primary-color) 16%,transparent)}.enc-smallbtn{align-self:flex-start;padding:6px 14px;border-radius:8px;cursor:pointer;border:1px solid var(--border-color, #30363d);background:transparent;color:color-mix(in srgb,var(--text-color) 70%,transparent);font-size:.82rem;font-weight:600;transition:filter .15s ease,background .15s ease}.enc-copybtn{border:none;background:var(--primary-color);color:#fff}.enc-copybtn:hover{filter:brightness(1.08)}.tf-wrap{max-width:640px;margin:44px auto 0;padding:24px;border:1px solid var(--border-color, #30363d);border-radius:16px;background:var(--card-bg, #161b22)}.tf-title{font-size:1.2rem;font-weight:700;margin:0 0 6px;color:var(--text-color)}.tf-sub{margin:0 0 16px;font-size:.92rem;line-height:1.5;color:color-mix(in srgb,var(--text-color) 65%,transparent)}.tf-ta,.tf-email{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--border-color, #30363d);background:color-mix(in srgb,var(--text-color) 4%,var(--card-bg, #161b22));color:var(--text-color);font-size:.95rem;line-height:1.5;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}.tf-ta{min-height:96px;resize:vertical}.tf-ta:focus,.tf-email:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 20%,transparent)}.tf-row{display:flex;gap:10px;margin-top:10px}.tf-email{flex:1;min-width:0}.tf-btn{flex-shrink:0;padding:0 22px;min-height:44px;border-radius:10px;border:none;background:var(--primary-color);color:#fff;font-weight:650;font-size:.92rem;cursor:pointer;transition:filter .15s ease,transform .1s ease}.tf-btn:hover{filter:brightness(1.08)}.tf-btn:active{transform:translateY(1px)}.tf-btn:disabled{opacity:.6;cursor:default}.tf-hp{position:absolute!important;left:-9999px!important;top:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.tf-note{margin:12px 0 0;font-size:.9rem;font-weight:600}.tf-ok{color:#3fb950}.tf-err{color:#f0837c}.hash-tool{position:relative;border:1px solid var(--border-color, #30363d);background:var(--card-bg, #161b22);border-radius:16px;padding:18px;margin-bottom:40px}.hash-results{display:flex;flex-direction:column;gap:8px;margin-top:16px}.hash-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;border:1px solid var(--border-color, #30363d);background:color-mix(in srgb,var(--text-color) 3%,var(--card-bg, #161b22))}.hash-algo{flex-shrink:0;width:72px;font-family:var(--font-mono, monospace);font-size:.8rem;font-weight:700;color:hsl(var(--hue, 210),70%,62%)}.hash-val{flex:1;min-width:0;font-family:var(--font-mono, monospace);font-size:.85rem;color:#e6edf3;background:#0d1117;padding:7px 10px;border-radius:7px;overflow-x:auto;white-space:nowrap}.hash-copy{flex-shrink:0;padding:6px 14px;border-radius:8px;border:none;background:var(--primary-color);color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;transition:filter .15s ease}.hash-copy:hover{filter:brightness(1.08)}.hash-idresults{margin-top:18px}.hash-id-label{font-size:.72rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--text-color) 55%,transparent);margin-bottom:10px}.hash-id-list{display:flex;flex-wrap:wrap;gap:8px}.hash-id-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 8px 6px 14px;border-radius:999px;font-size:.88rem;font-weight:600;font-family:var(--font-mono, monospace);background:color-mix(in srgb,var(--primary-color) 14%,transparent);border:1px solid color-mix(in srgb,var(--primary-color) 35%,transparent);color:var(--primary-color)}.hash-id-mode{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--text-color) 12%,transparent);color:color-mix(in srgb,var(--text-color) 70%,transparent)}.hash-id-note{margin:16px 0 0;font-size:.85rem;line-height:1.55;color:color-mix(in srgb,var(--text-color) 60%,transparent)}.hash-id-note code{font-family:var(--font-mono, monospace);background:color-mix(in srgb,var(--text-color) 9%,transparent);padding:1px 5px;border-radius:4px}.jwt-tool{position:relative;margin-bottom:40px}.jwt-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.jwt-col{display:flex;flex-direction:column;gap:16px}.jwt-card{border:1px solid var(--border-color, #30363d);background:var(--card-bg, #161b22);border-radius:14px;padding:14px}.jwt-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:.74rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--text-color) 60%,transparent)}.jwt-head-actions{display:flex;gap:6px}.jwt-minibtn{font-size:.72rem;font-weight:600;letter-spacing:0;text-transform:none;padding:4px 10px;border-radius:7px;cursor:pointer;border:1px solid color-mix(in srgb,var(--primary-color) 32%,transparent);background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color)}.jwt-minibtn:hover{filter:brightness(1.1)}.jwt-ta{width:100%;box-sizing:border-box;resize:vertical;font-family:var(--font-mono, monospace);font-size:.85rem;line-height:1.5;border:1px solid var(--border-color, #30363d);border-radius:10px;background:color-mix(in srgb,var(--text-color) 4%,transparent);color:var(--text-color);padding:10px 12px}.jwt-ta:focus{outline:none;border-color:color-mix(in srgb,var(--primary-color) 55%,transparent)}.jwt-ta-token{min-height:150px;word-break:break-all}.jwt-ta-json{min-height:140px}.jwt-ta-key{min-height:70px;word-break:break-all}.jwt-verify{border:1px solid var(--border-color, #30363d);background:var(--card-bg, #161b22);border-radius:14px;padding:14px}.jwt-verify-top{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px}.jwt-alg-label{font-size:.74rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--text-color) 55%,transparent)}.jwt-alg{font-family:var(--font-mono, monospace);font-size:.82rem;font-weight:700;padding:3px 10px;border-radius:7px;background:color-mix(in srgb,var(--primary-color) 14%,transparent);border:1px solid color-mix(in srgb,var(--primary-color) 32%,transparent);color:var(--primary-color)}.jwt-status{margin-left:auto;font-size:.82rem;font-weight:650;padding:4px 12px;border-radius:999px}.jwt-status-ok{background:color-mix(in srgb,#22c55e 14%,transparent);border:1px solid color-mix(in srgb,#22c55e 42%,transparent);color:#3fb950}.jwt-status-bad{background:color-mix(in srgb,#f0837c 14%,transparent);border:1px solid color-mix(in srgb,#f0837c 42%,transparent);color:#f0837c}.jwt-status-warn{background:color-mix(in srgb,var(--text-color) 8%,transparent);border:1px solid color-mix(in srgb,var(--text-color) 16%,transparent);color:color-mix(in srgb,var(--text-color) 65%,transparent)}.jwt-key-label{display:block;font-size:.8rem;font-weight:600;margin-bottom:6px;color:color-mix(in srgb,var(--text-color) 75%,transparent)}.jwt-verify-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:8px}.jwt-check{display:flex;align-items:center;gap:7px;font-size:.8rem;color:color-mix(in srgb,var(--text-color) 65%,transparent);cursor:pointer}.jwt-check input{accent-color:var(--primary-color)}.jwt-hint{margin:8px 0 0;font-size:.78rem;line-height:1.5;color:color-mix(in srgb,var(--text-color) 52%,transparent)}.jwt-claims{margin-top:12px;display:flex;flex-direction:column;gap:6px}.jwt-claims-head{font-size:.72rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:color-mix(in srgb,var(--text-color) 55%,transparent);display:flex;align-items:center;gap:8px;margin-bottom:2px}.jwt-claim-row{display:flex;align-items:baseline;gap:8px;font-size:.82rem;flex-wrap:wrap}.jwt-claim-k{font-weight:600;color:color-mix(in srgb,var(--text-color) 80%,transparent);min-width:78px}.jwt-claim-code{font-family:var(--font-mono, monospace);font-size:.72rem;color:color-mix(in srgb,var(--text-color) 45%,transparent)}.jwt-claim-v{font-family:var(--font-mono, monospace);color:color-mix(in srgb,var(--text-color) 68%,transparent);word-break:break-word;flex:1}.jwt-pill{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:999px}.jwt-pill-ok{background:color-mix(in srgb,#22c55e 16%,transparent);color:#3fb950}.jwt-pill-bad{background:color-mix(in srgb,#f0837c 16%,transparent);color:#f0837c}.jwt-pill-warn{background:color-mix(in srgb,#e3b341 18%,transparent);color:#e3b341}.img-tool{position:relative;margin-bottom:40px}.img-drop{border:2px dashed color-mix(in srgb,var(--primary-color) 38%,var(--border-color, #30363d));border-radius:16px;background:color-mix(in srgb,var(--primary-color) 5%,transparent);padding:22px 20px;text-align:center;transition:border-color .15s ease,background .15s ease,padding .15s ease;color:color-mix(in srgb,var(--text-color) 60%,transparent)}.img-drop-over{border-color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 12%,transparent)}.img-drop svg{color:var(--primary-color);margin-bottom:8px}.img-drop-title{font-size:1.05rem;font-weight:700;color:var(--text-color);margin:0 0 4px}.img-drop-sub{font-size:.9rem;margin:0}.img-tool.has-items .img-drop{padding:12px 16px}.img-tool.has-items .img-drop svg{width:20px;height:20px;margin-bottom:0}.img-tool.has-items .img-drop-title{font-size:.9rem}.img-tool.has-items .img-controls{margin-top:12px;padding:12px 14px}.img-tool.has-items .img-queue{margin-top:12px}.img-pick{background:none;border:none;padding:0;cursor:pointer;color:var(--primary-color);font-weight:650;font-size:inherit;text-decoration:underline}.img-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:16px;padding:16px;border-radius:14px;border:1px solid var(--border-color, #30363d);background:var(--card-bg, #161b22)}.img-ctl{display:flex;flex-direction:column;gap:6px}.img-ctl label{font-size:.78rem;font-weight:650;letter-spacing:.03em;color:color-mix(in srgb,var(--text-color) 70%,transparent);display:flex;justify-content:space-between;align-items:center}.img-qval{color:var(--primary-color);font-variant-numeric:tabular-nums}.img-select,.img-num{font-family:inherit;font-size:.9rem;padding:9px 11px;border-radius:9px;border:1px solid var(--border-color, #30363d);background:color-mix(in srgb,var(--text-color) 4%,transparent);color:var(--text-color)}.img-select:focus,.img-num:focus{outline:none;border-color:color-mix(in srgb,var(--primary-color) 55%,transparent)}.img-range{width:100%;accent-color:var(--primary-color)}.img-dims-row{display:flex;align-items:center;gap:8px}.img-dim{display:inline-flex;align-items:center;gap:5px;flex:1;min-width:0}.img-dim .img-num{width:100%;min-width:0}.img-unit{font-size:.82rem;color:color-mix(in srgb,var(--text-color) 50%,transparent)}.img-dims-x{color:color-mix(in srgb,var(--text-color) 50%,transparent);font-size:.95rem;flex-shrink:0}.img-queue{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.img-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 6px;border-radius:999px;border:1px solid var(--border-color, #30363d);background:color-mix(in srgb,var(--text-color) 5%,transparent);font-size:.8rem;max-width:240px}.img-chip img{width:24px;height:24px;border-radius:50%;object-fit:cover;flex-shrink:0}.img-chip{white-space:nowrap;overflow:hidden}.img-chip-x{background:none;border:none;cursor:pointer;color:color-mix(in srgb,var(--text-color) 55%,transparent);font-size:1.1rem;line-height:1;padding:0 2px}.img-chip-x:hover{color:#f0837c}.img-empty{margin:18px 0 0;font-size:.9rem;color:color-mix(in srgb,var(--text-color) 50%,transparent);text-align:center}.img-status{margin:14px 0 0;font-size:.86rem;font-weight:600;color:color-mix(in srgb,var(--text-color) 70%,transparent)}.img-results{display:flex;flex-direction:column;gap:8px;margin-top:12px}.img-row{display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:11px;border:1px solid var(--border-color, #30363d);background:var(--card-bg, #161b22)}.img-row-err{border-color:color-mix(in srgb,#f0837c 40%,transparent)}.img-thumb{width:48px;height:48px;border-radius:8px;object-fit:cover;flex-shrink:0;background:color-mix(in srgb,var(--text-color) 8%,transparent)}.img-meta{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.img-name{font-size:.9rem;font-weight:600;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.img-sizes{font-size:.82rem;color:color-mix(in srgb,var(--text-color) 65%,transparent);font-family:var(--font-mono, monospace)}.img-arrow{opacity:.5}.img-pct{font-weight:700;padding:1px 7px;border-radius:999px;font-size:.74rem}.img-good{background:color-mix(in srgb,#22c55e 15%,transparent);color:#3fb950}.img-bad{background:color-mix(in srgb,#f0837c 15%,transparent);color:#f0837c}.img-flat{background:color-mix(in srgb,var(--text-color) 12%,transparent);color:color-mix(in srgb,var(--text-color) 65%,transparent)}.img-dims{font-size:.74rem;color:color-mix(in srgb,var(--text-color) 45%,transparent);font-family:var(--font-mono, monospace)}.img-err{font-size:.82rem;color:#f0837c}.img-dl{flex-shrink:0;font-size:.82rem;font-weight:650;padding:8px 14px;border-radius:9px;cursor:pointer;border:1px solid color-mix(in srgb,var(--primary-color) 35%,transparent);background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color)}.img-dl:hover{filter:brightness(1.1)}.img-crop-btn{flex-shrink:0;font-size:.82rem;font-weight:650;padding:8px 14px;border-radius:9px;cursor:pointer;border:1px solid var(--border-color, #30363d);background:transparent;color:color-mix(in srgb,var(--text-color) 72%,transparent)}.img-crop-btn:hover{border-color:color-mix(in srgb,var(--primary-color) 45%,transparent);color:var(--primary-color)}.img-cropped{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 16%,transparent);color:var(--primary-color)}.img-footer{display:flex;gap:10px;margin-top:16px}.img-crop[hidden]{display:none}.img-crop{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:#0000009e;padding:18px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.img-crop-panel{background:var(--card-bg, #161b22);border:1px solid var(--border-color, #30363d);border-radius:16px;padding:16px;max-width:540px;width:100%;max-height:92vh;overflow:auto;box-shadow:0 24px 64px #00000080}.img-crop-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-size:.95rem;font-weight:700;color:var(--text-color)}.img-crop-dims{font-family:var(--font-mono, monospace);font-size:.82rem;font-weight:600;color:var(--primary-color)}.img-crop-close{margin-left:auto;background:none;border:none;cursor:pointer;font-size:1.5rem;line-height:1;color:color-mix(in srgb,var(--text-color) 60%,transparent);padding:0 4px}.img-crop-close:hover{color:var(--text-color)}.img-crop-stage{position:relative;margin:0 auto;overflow:hidden;border-radius:8px;touch-action:none;user-select:none;-webkit-user-select:none}#img-crop-canvas{display:block}.img-crop-box{position:absolute;box-sizing:border-box;border:1px solid #fff;box-shadow:0 0 0 9999px #00000080;cursor:move}.img-crop-h{position:absolute;width:14px;height:14px;background:#fff;border:2px solid var(--primary-color);border-radius:50%}.img-crop-h[data-h=nw]{left:-8px;top:-8px;cursor:nwse-resize}.img-crop-h[data-h=ne]{right:-8px;top:-8px;cursor:nesw-resize}.img-crop-h[data-h=se]{right:-8px;bottom:-8px;cursor:nwse-resize}.img-crop-h[data-h=sw]{left:-8px;bottom:-8px;cursor:nesw-resize}.img-crop-ratios{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.img-crop-ratios button{font-size:.82rem;font-weight:600;padding:7px 13px;border-radius:8px;cursor:pointer;border:1px solid var(--border-color, #30363d);background:transparent;color:color-mix(in srgb,var(--text-color) 70%,transparent)}.img-crop-ratios button:hover{border-color:color-mix(in srgb,var(--primary-color) 45%,transparent)}.img-crop-ratios button.active{background:color-mix(in srgb,var(--primary-color) 16%,transparent);border-color:color-mix(in srgb,var(--primary-color) 45%,transparent);color:var(--primary-color)}.img-crop-actions{display:flex;gap:10px}.img-crop-apply{font-size:.9rem;font-weight:700;padding:11px 20px;border-radius:10px;cursor:pointer;border:none;background:var(--primary-color);color:#fff}.img-crop-apply:hover{filter:brightness(1.08)}.img-crop-reset{font-size:.9rem;font-weight:600;padding:11px 18px;border-radius:10px;cursor:pointer;border:1px solid var(--border-color, #30363d);background:transparent;color:color-mix(in srgb,var(--text-color) 70%,transparent)}.img-crop-reset:hover{color:var(--text-color)}.img-downloadall{font-size:.9rem;font-weight:700;padding:11px 20px;border-radius:10px;cursor:pointer;border:none;background:var(--primary-color);color:#fff}.img-downloadall:hover{filter:brightness(1.08)}.img-clear{font-size:.9rem;font-weight:600;padding:11px 18px;border-radius:10px;cursor:pointer;border:1px solid var(--border-color, #30363d);background:transparent;color:color-mix(in srgb,var(--text-color) 70%,transparent)}.img-clear:hover{border-color:color-mix(in srgb,#f0837c 45%,transparent);color:#f0837c}.pdf-tool{position:relative;margin-bottom:40px}.pdf-drop{border:2px dashed color-mix(in srgb,var(--primary-color) 38%,var(--border-color, #30363d));border-radius:16px;background:color-mix(in srgb,var(--primary-color) 5%,transparent);padding:22px 20px;text-align:center;transition:border-color .15s ease,background .15s ease,padding .15s ease;color:color-mix(in srgb,var(--text-color) 60%,transparent)}.pdf-drop-over{border-color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 12%,transparent)}.pdf-drop svg{color:var(--primary-color);margin-bottom:8px}.pdf-drop-title{font-size:1.05rem;font-weight:700;color:var(--text-color);margin:0 0 4px}.pdf-drop-sub{font-size:.9rem;margin:0}.pdf-pick{background:none;border:none;padding:0;cursor:pointer;color:var(--primary-color);font-weight:650;font-size:inherit;text-decoration:underline}.pdf-tool.has-items .pdf-drop{padding:12px 16px}.pdf-tool.has-items .pdf-drop svg{width:20px;height:20px;margin-bottom:0}.pdf-tool.has-items .pdf-drop-title{font-size:.9rem}.pdf-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}.pdf-btn{font-size:.86rem;font-weight:600;padding:9px 15px;border-radius:9px;cursor:pointer;border:1px solid var(--border-color, #30363d);background:color-mix(in srgb,var(--text-color) 5%,transparent);color:var(--text-color)}.pdf-btn:hover{border-color:color-mix(in srgb,var(--primary-color) 45%,transparent)}.pdf-btn-primary{background:var(--primary-color);border-color:var(--primary-color);color:#fff;font-weight:700}.pdf-btn-primary:hover{filter:brightness(1.08)}.pdf-btn-ghost{background:transparent;color:color-mix(in srgb,var(--text-color) 60%,transparent)}.pdf-btn-ghost:hover{border-color:color-mix(in srgb,#f0837c 45%,transparent);color:#f0837c}.pdf-bar-sep{flex:1;min-width:0}.pdf-empty{margin:18px 0 0;font-size:.9rem;color:color-mix(in srgb,var(--text-color) 50%,transparent);text-align:center}.pdf-status{margin:12px 0 0;font-size:.85rem;font-weight:600;color:color-mix(in srgb,var(--text-color) 68%,transparent);min-height:1.1em}.pdf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;margin-top:14px}.pdf-card{cursor:grab;border-radius:11px}.pdf-card:active{cursor:grabbing}.pdf-thumb-wrap{position:relative;border:2px solid var(--border-color, #30363d);border-radius:11px;overflow:hidden;background:color-mix(in srgb,var(--text-color) 6%,transparent);aspect-ratio:3 / 4;display:flex;align-items:center;justify-content:center;transition:border-color .12s ease,box-shadow .12s ease}.pdf-card.sel .pdf-thumb-wrap{border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 22%,transparent)}.pdf-thumb{max-width:100%;max-height:100%;object-fit:contain;display:block;background:#fff}.pdf-pageno{position:absolute;left:6px;bottom:6px;font-size:.72rem;font-weight:700;font-family:var(--font-mono, monospace);padding:1px 7px;border-radius:999px;background:#0009;color:#fff}.pdf-check{position:absolute;left:6px;top:6px;width:20px;height:20px;border-radius:50%;background:var(--primary-color);color:#fff;font-size:.8rem;display:flex;align-items:center;justify-content:center;font-weight:700}.pdf-card-tools{position:absolute;right:5px;top:5px;display:flex;gap:4px;opacity:0;transition:opacity .12s ease}.pdf-card:hover .pdf-card-tools{opacity:1}.pdf-ct{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:7px;cursor:pointer;background:#0000009e;color:#fff}.pdf-ct:hover{background:var(--primary-color)}.pdf-edited{position:absolute;right:6px;bottom:6px;width:20px;height:20px;border-radius:50%;background:var(--primary-color);color:#fff;font-size:.72rem;display:flex;align-items:center;justify-content:center}.pdf-edit[hidden],.pdf-form[hidden]{display:none}.pdf-edit,.pdf-form{position:fixed;inset:0;z-index:100000;display:grid;overflow:auto;background:#000000a3;padding:12px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.pdf-edit-panel,.pdf-form-panel{margin:auto;background:var(--card-bg, #161b22);border:1px solid var(--border-color, #30363d);border-radius:16px;padding:14px;width:100%;max-height:92vh;box-shadow:0 24px 64px #00000080}.pdf-edit-panel{max-width:920px;display:flex;flex-direction:column;overflow:hidden}.pdf-form-panel{max-width:540px;overflow:auto}.pdf-edit-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px;flex-shrink:0}.pdf-edit-title{font-size:.98rem;font-weight:700;color:var(--text-color)}.pdf-edit-tools{display:flex;flex-wrap:wrap;gap:7px}.pdf-edit-close{margin-left:auto;background:none;border:none;cursor:pointer;font-size:1.6rem;line-height:1;color:color-mix(in srgb,var(--text-color) 60%,transparent);padding:0 4px}.pdf-edit-close:hover{color:var(--text-color)}.pdf-edit-body{flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column;align-items:safe center;gap:12px;padding:6px;background:color-mix(in srgb,var(--text-color) 7%,transparent);border-radius:10px}.pdf-edit-stagewrap{flex-shrink:0}.pdf-edit-stage{position:relative;overflow:hidden;border-radius:4px;box-shadow:0 2px 16px #00000059;touch-action:none;user-select:none;-webkit-user-select:none;margin:0 auto}.pdf-zoom{display:inline-flex;align-items:center;gap:4px;margin-left:4px;border:1px solid var(--border-color, #30363d);border-radius:8px;padding:2px}.pdf-zoom button{min-width:28px;height:28px;padding:0 8px;border:none;background:transparent;color:var(--text-color);cursor:pointer;font-size:.9rem;font-weight:700;border-radius:6px}.pdf-zoom button:hover{background:color-mix(in srgb,var(--primary-color) 16%,transparent);color:var(--primary-color)}#pdf-zoom-label{font-size:.78rem;font-variant-numeric:tabular-nums;min-width:42px;text-align:center;color:color-mix(in srgb,var(--text-color) 70%,transparent)}#pdf-edit-canvas{display:block}.pdf-edit-layer{position:absolute;inset:0}.pdf-el{position:absolute;box-sizing:border-box;cursor:move}.pdf-el.sel{outline:2px solid var(--primary-color);outline-offset:1px}.pdf-el-text{white-space:nowrap;line-height:1;font-family:Helvetica,Arial,sans-serif;padding:1px 2px}.pdf-el-white{background:#fff;border:1px dashed color-mix(in srgb,var(--primary-color) 55%,transparent)}.pdf-el-image{background-size:100% 100%;background-repeat:no-repeat}.pdf-el-rz{position:absolute;right:-6px;bottom:-6px;width:13px;height:13px;background:#fff;border:2px solid var(--primary-color);border-radius:3px;cursor:nwse-resize}.pdf-edit-props{flex-shrink:0;display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:10px;padding:10px;border-radius:10px;background:color-mix(in srgb,var(--text-color) 6%,transparent)}.pdf-prop-wrap{display:flex;flex-direction:column;gap:4px}.pdf-prop-wrap#pdf-prop-textwrap{flex:1;min-width:160px}.pdf-prop-wrap#pdf-prop-textwrap input{width:100%}.pdf-edit-props #pdf-prop-del{margin-left:auto}.pdf-seg{display:inline-flex;border:1px solid var(--border-color, #30363d);border-radius:8px;overflow:hidden}.pdf-seg button{min-width:38px;height:36px;padding:0 10px;border:none;background:transparent;color:color-mix(in srgb,var(--text-color) 70%,transparent);cursor:pointer;font-size:.85rem;font-weight:600;border-right:1px solid var(--border-color, #30363d)}.pdf-seg button:last-child{border-right:none}.pdf-seg button:hover{background:color-mix(in srgb,var(--primary-color) 12%,transparent)}.pdf-seg button.active{background:color-mix(in srgb,var(--primary-color) 18%,transparent);color:var(--primary-color)}.pdf-prop-wrap label{font-size:.76rem;font-weight:650;color:color-mix(in srgb,var(--text-color) 70%,transparent)}.pdf-prop-wrap input[type=text],.pdf-prop-wrap input[type=number]{font-family:inherit;font-size:.9rem;padding:8px 10px;border-radius:8px;border:1px solid var(--border-color, #30363d);background:color-mix(in srgb,var(--text-color) 4%,transparent);color:var(--text-color)}.pdf-prop-wrap input[type=color]{width:100%;height:36px;border:1px solid var(--border-color, #30363d);border-radius:8px;background:none;cursor:pointer}.pdf-edit-actions{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap;flex-shrink:0}.pdf-edit-hint{font-size:.78rem;color:color-mix(in srgb,var(--text-color) 50%,transparent)}.pdf-form-list{display:flex;flex-direction:column;gap:10px;margin-bottom:14px;max-height:60vh;overflow:auto}.pdf-form-row{display:flex;flex-direction:column;gap:4px;font-size:.82rem;font-weight:600;color:color-mix(in srgb,var(--text-color) 75%,transparent)}.pdf-form-row input[type=text]{font-family:inherit;font-size:.92rem;padding:9px 11px;border-radius:8px;border:1px solid var(--border-color, #30363d);background:color-mix(in srgb,var(--text-color) 4%,transparent);color:var(--text-color)}.pdf-form-check{flex-direction:row;align-items:center;gap:8px}.bg-tool{position:relative;margin-bottom:40px}.bg-drop{border:2px dashed color-mix(in srgb,var(--primary-color) 38%,var(--border-color, #30363d));border-radius:16px;background:color-mix(in srgb,var(--primary-color) 5%,transparent);padding:22px 20px;text-align:center;transition:border-color .15s ease,background .15s ease,padding .15s ease;color:color-mix(in srgb,var(--text-color) 60%,transparent)}.bg-drop-over{border-color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 12%,transparent)}.bg-drop svg{color:var(--primary-color);margin-bottom:8px}.bg-drop-title{font-size:1.05rem;font-weight:700;color:var(--text-color);margin:0 0 4px}.bg-drop-sub{font-size:.9rem;margin:0}.bg-pick{background:none;border:none;padding:0;cursor:pointer;color:var(--primary-color);font-weight:650;font-size:inherit;text-decoration:underline}.bg-tool.has-image .bg-drop{padding:12px 16px}.bg-tool.has-image .bg-drop svg{width:20px;height:20px;margin-bottom:0}.bg-tool.has-image .bg-drop-title{font-size:.9rem}.bg-stage{margin-top:16px;min-height:120px;display:flex;align-items:center;justify-content:center;border-radius:14px;border:1px solid var(--border-color, #30363d);background:color-mix(in srgb,var(--text-color) 5%,transparent);padding:12px}.bg-empty{margin:24px 0;font-size:.9rem;color:color-mix(in srgb,var(--text-color) 50%,transparent)}.bg-tool.has-image .bg-empty{display:none}#bg-canvas{max-width:100%;height:auto;border-radius:8px;display:none}.bg-tool.has-image #bg-canvas{display:block}.bg-checker{background-image:linear-gradient(45deg,#cbd2d9 25%,transparent 25%),linear-gradient(-45deg,#cbd2d9 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#cbd2d9 75%),linear-gradient(-45deg,transparent 75%,#cbd2d9 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px}.bg-progress{margin-top:14px;height:7px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--text-color) 10%,transparent)}.bg-bar{height:100%;width:0%;background:var(--primary-color);transition:width .2s ease}.bg-status{margin:12px 0 0;font-size:.86rem;font-weight:600;color:color-mix(in srgb,var(--text-color) 68%,transparent);min-height:1.1em}.bg-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.bg-run{font-size:.92rem;font-weight:700;padding:11px 22px;border-radius:10px;cursor:pointer;border:none;background:var(--primary-color);color:#fff}.bg-run:hover{filter:brightness(1.08)}.bg-run:disabled{opacity:.5;cursor:default}.bg-compare{font-size:.88rem;font-weight:600;padding:10px 16px;border-radius:10px;cursor:pointer;border:1px solid var(--border-color, #30363d);background:transparent;color:color-mix(in srgb,var(--text-color) 70%,transparent);-webkit-user-select:none;user-select:none}.bg-compare:hover{border-color:color-mix(in srgb,var(--primary-color) 45%,transparent)}.bg-bgopts{display:inline-flex;align-items:center;gap:7px}.bg-bgopts-label{font-size:.78rem;font-weight:650;color:color-mix(in srgb,var(--text-color) 60%,transparent)}.bg-bgopts button{font-size:.84rem;font-weight:600;padding:8px 13px;border-radius:8px;cursor:pointer;border:1px solid var(--border-color, #30363d);background:transparent;color:color-mix(in srgb,var(--text-color) 72%,transparent)}.bg-bgopts button.active{background:color-mix(in srgb,var(--primary-color) 16%,transparent);border-color:color-mix(in srgb,var(--primary-color) 45%,transparent);color:var(--primary-color)}#bg-color{width:38px;height:34px;border:1px solid var(--border-color, #30363d);border-radius:8px;background:none;cursor:pointer;padding:2px}.bg-download{margin-left:auto;font-size:.92rem;font-weight:700;padding:11px 20px;border-radius:10px;cursor:pointer;border:1px solid color-mix(in srgb,var(--primary-color) 40%,transparent);background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color)}.bg-download:hover{filter:brightness(1.1)}.ocr-tool{position:relative;margin-bottom:40px}.ocr-drop{border:2px dashed color-mix(in srgb,var(--primary-color) 38%,var(--border-color, #30363d));border-radius:16px;background:color-mix(in srgb,var(--primary-color) 5%,transparent);padding:22px 20px;text-align:center;transition:border-color .15s ease,background .15s ease,padding .15s ease;color:color-mix(in srgb,var(--text-color) 60%,transparent)}.ocr-drop-over{border-color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 12%,transparent)}.ocr-drop svg{color:var(--primary-color);margin-bottom:8px}.ocr-drop-title{font-size:1.05rem;font-weight:700;color:var(--text-color);margin:0 0 4px}.ocr-drop-sub{font-size:.9rem;margin:0}.ocr-pick{background:none;border:none;padding:0;cursor:pointer;color:var(--primary-color);font-weight:650;font-size:inherit;text-decoration:underline}.ocr-tool.has-image .ocr-drop{padding:12px 16px}.ocr-tool.has-image .ocr-drop svg{width:20px;height:20px;margin-bottom:0}.ocr-tool.has-image .ocr-drop-title{font-size:.9rem}.ocr-stage{margin-top:16px;min-height:120px;display:flex;align-items:center;justify-content:center;border-radius:14px;border:1px solid var(--border-color, #30363d);background:color-mix(in srgb,var(--text-color) 5%,transparent);padding:12px}.ocr-empty{margin:24px 0;font-size:.9rem;color:color-mix(in srgb,var(--text-color) 50%,transparent)}.ocr-tool.has-image .ocr-empty{display:none}#ocr-canvas{max-width:100%;height:auto;border-radius:8px;display:none}.ocr-tool.has-image #ocr-canvas{display:block}.ocr-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:16px}.ocr-lang{display:flex;flex-direction:column;gap:6px;min-width:230px}.ocr-lang-label{font-size:.78rem;font-weight:650;color:color-mix(in srgb,var(--text-color) 60%,transparent)}.ocr-run{font-size:.92rem;font-weight:700;padding:11px 22px;border-radius:10px;cursor:pointer;border:none;background:var(--primary-color);color:#fff}.ocr-run:hover{filter:brightness(1.08)}.ocr-run:disabled{opacity:.5;cursor:default}.ocr-progress{margin-top:14px;height:7px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--text-color) 10%,transparent)}.ocr-bar{height:100%;width:0%;background:var(--primary-color);transition:width .2s ease}.ocr-status{margin:12px 0 0;font-size:.86rem;font-weight:600;color:color-mix(in srgb,var(--text-color) 68%,transparent);min-height:1.1em}.ocr-out-wrap{margin-top:18px}.ocr-out-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;flex-wrap:wrap}.ocr-meta{font-size:.8rem;font-weight:600;color:color-mix(in srgb,var(--text-color) 55%,transparent)}.ocr-out-actions{display:flex;gap:8px}.ocr-copy,.ocr-download{font-size:.84rem;font-weight:600;padding:8px 14px;border-radius:8px;cursor:pointer;border:1px solid var(--border-color, #30363d);background:transparent;color:color-mix(in srgb,var(--text-color) 72%,transparent)}.ocr-copy:hover{border-color:color-mix(in srgb,var(--primary-color) 45%,transparent)}.ocr-download{border-color:color-mix(in srgb,var(--primary-color) 40%,transparent);background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color)}.ocr-download:hover{filter:brightness(1.1)}.ocr-out{width:100%;min-height:230px;resize:vertical;padding:14px;border-radius:12px;border:1px solid var(--border-color, #30363d);background:color-mix(in srgb,var(--text-color) 4%,var(--card-bg, #161b22));color:var(--text-color);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92rem;line-height:1.55}.ocr-out:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 20%,transparent)}.tool-related{margin:44px 0 8px}.tool-related h2{font-size:1.15rem;font-weight:700;margin:0 0 14px;color:var(--text-color)}.tool-related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.tool-related-card{display:flex;flex-direction:column;gap:4px;padding:13px 15px;border-radius:12px;border:1px solid var(--border-color, #30363d);background:color-mix(in srgb,var(--text-color) 3%,transparent);text-decoration:none;transition:border-color .15s ease,transform .15s ease,background .15s ease}.tool-related-card:hover{border-color:color-mix(in srgb,var(--primary-color) 50%,transparent);background:color-mix(in srgb,var(--primary-color) 7%,transparent);transform:translateY(-2px)}.tool-related-name{font-weight:700;color:var(--text-color);font-size:.95rem}.tool-related-desc{font-size:.82rem;color:color-mix(in srgb,var(--text-color) 60%,transparent);line-height:1.4}@media (max-width: 760px){.jwt-grid{grid-template-columns:1fr}.jwt-status,.bg-download{margin-left:0}.ocr-lang{min-width:0;width:100%}.ocr-run{width:100%}.img-row{flex-wrap:wrap}.img-dl{width:100%}.pdf-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.pdf-card-tools{opacity:1}.hash-row{flex-wrap:wrap}.hash-val{order:3;width:100%;flex-basis:100%}.tf-row{flex-direction:column}.rs-controls{grid-template-columns:1fr 1fr}.rs-main{grid-template-columns:1fr}.rs-list{max-height:220px}.sl-row,.sl-url-wrap{flex-direction:column}.sl-gen{padding:11px}.sl-btn{padding:12px}.enc-io{grid-template-columns:1fr}.enc-mid{padding:2px 0}.enc-iconbtn{transform:rotate(90deg)}.enc-ta{min-height:150px}}@media (prefers-reduced-motion: reduce){.tool-card,.rs-tab,.rs-chip,.rs-item,.rs-copy,.rs-toast{transition:none}}
