.tool-main{flex-direction:column;flex:1;width:100%;max-width:100%;padding:0;display:flex;overflow:hidden}.tool-header{border-bottom:1px solid var(--color-border);background-color:var(--color-surface-raised);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:1.5rem 2rem;display:flex}.tool-header__title{flex-direction:column;gap:.25rem;display:flex}.tool-title{color:var(--color-text-title);margin:0;font-size:1.3rem;font-weight:700}.tool-subtitle{color:var(--color-text-muted);margin:0;font-size:.85rem}.fmt-workspace{box-sizing:border-box;flex-direction:column;flex:1;min-height:0;padding:24px 24px 40px;display:flex;overflow:auto}.fmt-format-group{background:var(--color-surface-deep);border:1px solid var(--color-border);border-radius:6px;align-items:center;gap:6px;padding:3px;display:flex}.fmt-format-btn{color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:5px 13px;font-size:.8rem;font-weight:500;transition:background .15s,color .15s}.fmt-format-btn:hover{color:var(--color-text-primary);background:var(--color-surface)}.fmt-format-btn--active{background:var(--color-accent-bg);color:var(--color-accent)}.fmt-btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);cursor:pointer;white-space:nowrap;border-radius:5px;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.fmt-btn:hover:not(:disabled){background:var(--color-surface-raised);border-color:var(--color-sep)}.fmt-btn:disabled{opacity:.4;cursor:not-allowed}.fmt-btn--primary{background:var(--color-accent-bg);border-color:var(--color-accent-border);color:var(--color-accent)}.fmt-btn--primary:hover:not(:disabled){background:var(--color-accent-hover-bg);border-color:var(--color-accent)}.fmt-options{background:var(--color-surface-raised);border-bottom:1px solid var(--color-border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:16px;padding:10px 14px;display:flex}.fmt-option{color:var(--color-text-secondary);align-items:center;gap:8px;font-size:.82rem;display:flex}.fmt-option label{white-space:nowrap}.fmt-option select{background:var(--color-surface-deep);border:1px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;border-radius:4px;outline:none;padding:3px 8px;font-size:.82rem;transition:border-color .15s}.fmt-option select:hover,.fmt-option select:focus{border-color:var(--color-sep)}.fmt-option__fixed{color:var(--color-text-primary);font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:.82rem}.fmt-option__note{color:var(--color-text-muted);margin-left:4px;font-family:inherit;font-size:.78rem}.fmt-kbd-hint{color:var(--color-text-faint);white-space:nowrap;-webkit-user-select:none;user-select:none;margin-left:auto;font-size:.72rem}.fmt-mode-group{background:var(--color-surface-deep);border:1px solid var(--color-border);border-radius:4px;align-items:center;gap:2px;padding:2px;display:inline-flex}.fmt-mode-btn{color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:3px;align-items:center;gap:4px;padding:3px 10px;font-size:.78rem;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.fmt-mode-btn:hover{color:var(--color-text-primary);background:var(--color-surface)}.fmt-mode-btn--active{background:var(--color-accent-bg);color:var(--color-accent)}.fmt-editors{box-sizing:border-box;flex:1;grid-template-columns:1fr 1fr;gap:16px;min-height:0;padding:16px 24px;display:grid}.fmt-pane{border:1px solid var(--color-border);border-radius:8px;flex-direction:column;min-height:520px;display:flex;overflow:hidden}.fmt-pane__header{background:var(--color-surface-raised);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:9px 14px;display:flex}.fmt-pane__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:600}.fmt-pane__actions{align-items:center;gap:6px;display:flex}.fmt-pane__btn{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:3px 10px;font-size:.75rem;transition:background .15s,color .15s,border-color .15s}.fmt-pane__btn:hover{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-sep)}.fmt-pane__btn--copy.copied{color:var(--color-success);border-color:var(--color-success-border)}.fmt-textarea{box-sizing:border-box;background:var(--color-surface-deep);width:100%;color:var(--color-text-primary);resize:none;tab-size:4;white-space:pre;overflow-wrap:normal;border:none;outline:none;flex:1;padding:14px 16px;font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:.85rem;line-height:1.6;overflow:auto}.fmt-textarea::placeholder{color:var(--color-text-dim)}.fmt-textarea:focus{outline:none}.fmt-pane--input:focus-within{border-color:var(--color-sep)}.fmt-output{background:var(--color-surface-deep);flex:1;position:relative;overflow:auto}.fmt-output__pre{color:var(--color-text-primary);white-space:pre;overflow-wrap:normal;box-sizing:border-box;min-height:100%;margin:0;padding:14px 16px;font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:.85rem;line-height:1.6}.fmt-status{border-top:1px solid var(--color-border);background:var(--color-surface-raised);flex-shrink:0;align-items:center;gap:10px;min-height:34px;padding:8px 14px;font-size:.78rem;display:flex}.fmt-status--input,.fmt-status--output{color:var(--color-text-muted)}.fmt-status__ok{color:var(--color-success);align-items:center;gap:5px;display:flex}.fmt-status__error{color:var(--color-danger);align-items:center;gap:5px;display:flex}.fmt-status__info{color:var(--color-text-muted)}.fmt-status__sep{color:var(--color-border)}.sh-key{color:var(--sh-key)}.sh-str{color:var(--sh-str)}.sh-num{color:var(--sh-num)}.sh-bool{color:var(--sh-bool)}.sh-null{color:var(--color-text-secondary)}.sh-tag{color:var(--sh-tag)}.sh-attr{color:var(--sh-key)}.sh-attrval{color:var(--sh-str)}.sh-ns{color:var(--sh-ns)}.sh-comment{color:var(--color-text-faint);font-style:italic}.sh-doctype{color:var(--color-text-muted);font-style:italic}.sh-cdata{color:var(--sh-cdata)}.sh-selector{color:var(--sh-selector)}.sh-prop{color:var(--sh-key)}.sh-value{color:var(--sh-str)}.sh-at{color:var(--sh-at)}.sh-punctuation{color:var(--color-text-secondary)}.sh-yaml-key{color:var(--sh-key)}.sh-yaml-str{color:var(--sh-str)}.sh-yaml-num{color:var(--sh-num)}.sh-yaml-bool{color:var(--sh-bool)}.sh-yaml-null{color:var(--color-text-secondary)}.sh-yaml-anchor{color:var(--sh-yaml-anchor)}.sh-yaml-tag{color:var(--sh-yaml-tag)}.sh-yaml-comment{color:var(--color-text-faint);font-style:italic}.sh-yaml-doc{color:var(--color-text-muted)}.sh-sql-kw{color:var(--sh-tag)}.sh-sql-fn{color:var(--sh-at)}.sh-sql-str{color:var(--sh-str)}.sh-sql-num{color:var(--sh-num)}.sh-sql-ident{color:var(--sh-key)}.sh-sql-comment{color:var(--color-text-faint);font-style:italic}.sh-sql-op{color:var(--color-text-secondary)}.sh-toml-key{color:var(--sh-key)}.sh-toml-str{color:var(--sh-str)}.sh-toml-num{color:var(--sh-num)}.sh-toml-bool{color:var(--sh-bool)}.sh-toml-date{color:var(--sh-num)}.sh-toml-table{color:var(--sh-at)}.sh-toml-comment{color:var(--color-text-faint);font-style:italic}.fmt-error-block{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger);white-space:pre-wrap;border-radius:6px;margin:14px 16px;padding:12px 14px;font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:.82rem;line-height:1.5}.fmt-error-block__label{margin-bottom:4px;font-family:inherit;font-weight:600;display:block}.fmt-empty{height:100%;min-height:200px;color:var(--color-text-dim);-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:.85rem;display:flex}.fmt-empty__icon{opacity:.4;font-size:2rem}@media (width<=900px){.fmt-editors{grid-template-columns:1fr;padding:12px}.fmt-pane{min-height:360px}}@media (width<=600px){.fmt-workspace{padding:0}.tool-header{gap:1rem;padding:1rem 1.25rem}.fmt-format-group{flex-wrap:wrap}.fmt-options{gap:10px}}
