#imageToAsciiTool{--iat-mono: ui-monospace, "Cascadia Code", "JetBrains Mono", "Source Han Mono", "Noto Sans Mono CJK SC", Menlo, Consolas, "Courier New", monospace}#imageToAsciiTool .upload-zone{border:2px dashed var(--color-border);border-radius:var(--radius-sm);padding:28px 16px;text-align:center;cursor:pointer;transition:border-color .2s,background-color .2s;background:var(--color-surface)}#imageToAsciiTool .upload-zone:hover,#imageToAsciiTool .upload-zone.dragover{border-color:var(--color-primary);background:var(--color-primary-light)}#imageToAsciiTool .upload-zone:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}#imageToAsciiTool .upload-emoji{display:block;font-size:36px;margin-bottom:8px;line-height:1}#imageToAsciiTool .upload-title{font-size:15px;font-weight:500;margin:0 0 4px}#imageToAsciiTool .upload-hint{font-size:12px;color:var(--color-text-secondary);margin:0}#imageToAsciiTool .privacy-banner{background:var(--color-primary-light);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;margin:0}#imageToAsciiTool .error-banner{background:#fee;border:1px solid #fbb;color:#900;border-radius:var(--radius-sm);padding:10px 12px;font-size:13px}[data-theme=dark] #imageToAsciiTool .error-banner{background:#dc3c3c2e;border-color:#dc3c3c80;color:#fcc}#imageToAsciiTool .source-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}#imageToAsciiTool .source-info{font-size:12px;color:var(--color-text-secondary);margin:0;flex:1;min-width:0;word-break:break-all}#imageToAsciiTool .source-actions{display:flex;gap:8px}#imageToAsciiTool .src-btn{min-height:36px;padding:6px 12px;font-size:13px}#imageToAsciiTool .preview-wrap{text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:8px}#imageToAsciiTool .preview-img{max-width:100%;max-height:180px;object-fit:contain;border-radius:var(--radius-xs, 4px)}#imageToAsciiTool .preset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}#imageToAsciiTool .preset-btn{min-height:44px;padding:8px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:13px;cursor:pointer;transition:all .15s}#imageToAsciiTool .preset-btn:hover{background:var(--color-primary-light);border-color:var(--color-primary)}#imageToAsciiTool .preset-btn.active{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}#imageToAsciiTool .param-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}#imageToAsciiTool .num-inline{font-family:var(--iat-mono);color:var(--color-text-secondary);font-size:12px;margin-left:8px}#imageToAsciiTool .toggle-row{display:flex;gap:16px;flex-wrap:wrap;align-items:center}#imageToAsciiTool .toggle-item{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:4px 10px;cursor:pointer;font-size:14px}#imageToAsciiTool .toggle-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}#imageToAsciiTool .advanced-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}#imageToAsciiTool .advanced-panel>summary{padding:10px 14px;cursor:pointer;font-weight:500;font-size:14px;user-select:none}#imageToAsciiTool .advanced-body{padding:8px 14px 14px;display:flex;flex-direction:column;gap:12px}#imageToAsciiTool .custom-charset-row{margin-top:10px}#imageToAsciiTool .custom-charset-row input[type=text]{font-family:var(--iat-mono)}#imageToAsciiTool .helper-text{font-size:12px;color:var(--color-text-secondary);margin:4px 0 0}#imageToAsciiTool .info-hint{background:var(--color-primary-light);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:8px 12px;font-size:12px}#imageToAsciiTool .spinner{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px}#imageToAsciiTool .spinner-dot{width:10px;height:10px;background:var(--color-primary);border-radius:50%;animation:iat-pulse 1s ease-in-out infinite}@keyframes iat-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@media(prefers-reduced-motion:reduce){#imageToAsciiTool .spinner-dot{animation:none}}#imageToAsciiTool .output-tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--color-border);margin-bottom:12px}#imageToAsciiTool .output-tab{min-height:40px;padding:8px 14px;background:transparent;border:1px solid transparent;border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--color-text-secondary);font-size:13px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}#imageToAsciiTool .output-tab:hover{color:var(--color-text)}#imageToAsciiTool .output-tab.active{color:var(--color-primary);border-color:var(--color-border);background:var(--color-surface);position:relative;top:1px}#imageToAsciiTool .result-box{background:#000;color:#eee;border-radius:var(--radius-sm);padding:12px;overflow:auto;max-height:480px;border:1px solid var(--color-border)}#imageToAsciiTool .result-box.mono{font-family:var(--iat-mono)}#imageToAsciiTool .ascii-output{font-family:var(--iat-mono);font-size:10px;line-height:1;letter-spacing:0;white-space:pre;margin:0;color:#eee;font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}#imageToAsciiTool .ascii-output.html-output{color:inherit}#imageToAsciiTool #outputTxtPane .result-box,#imageToAsciiTool #outputAnsiPane .result-box,#imageToAsciiTool #outputHtmlPane .result-box{background:#000}#imageToAsciiTool[data-charset=chinese] .ascii-output{font-family:"Source Han Mono","Noto Sans Mono CJK SC","Microsoft YaHei Mono",var(--iat-mono)}#imageToAsciiTool .png-preview{max-width:100%;max-height:480px;display:block;margin:0 auto;image-rendering:pixelated}#imageToAsciiTool .small-gap{gap:8px;margin-top:10px}#imageToAsciiTool .faq-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}#imageToAsciiTool .faq-panel>summary{padding:10px 14px;cursor:pointer;font-weight:500;font-size:14px;user-select:none}#imageToAsciiTool .faq-body{padding:4px 14px 14px;font-size:13px;line-height:1.6}#imageToAsciiTool .faq-body p{margin:6px 0}#imageToAsciiTool .faq-body strong{color:var(--color-text)}@media(max-width:480px){#imageToAsciiTool .preset-grid{grid-template-columns:1fr 1fr}#imageToAsciiTool .param-grid{grid-template-columns:1fr}#imageToAsciiTool .ascii-output{font-size:9px}#imageToAsciiTool .source-bar{flex-direction:column;align-items:stretch}#imageToAsciiTool .source-info{text-align:center}}
