:root{--fcl-ink: #231f2e;--fcl-muted: #5d5869;--fcl-surface: #ffffff;--fcl-paper: #f6f4f8;--fcl-line: #e0dce6;--fcl-accent: #6a2c70;--fcl-accent-dark: #4e1f53;--fcl-accent-soft: #f3e9f4;--fcl-a: #1f5fa8;--fcl-a-soft: #e6eff9;--fcl-b: #b4541a;--fcl-b-soft: #fbeee4;--fcl-radius: 12px;--fcl-radius-sm: 8px;--fcl-shadow: 0 10px 28px rgba(35,31,46,0.08);--fcl-focus: 0 0 0 3px rgba(106,44,112,0.28);--fcl-mono: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--primary: var(--fcl-accent);--primary-dark: var(--fcl-accent-dark);--border: var(--fcl-line);--surface: var(--fcl-surface);--shadow-soft: var(--fcl-shadow);--surface-muted: var(--fcl-paper);--text-main: var(--fcl-ink);--text-muted: var(--fcl-muted);}
.fcl-tool{background: var(--fcl-surface);border: 1px solid var(--fcl-line);border-radius: var(--fcl-radius);box-shadow: var(--fcl-shadow);color: var(--fcl-ink);overflow: hidden;}
.fcl-tool [hidden]{display: none !important;}
.fcl-byline{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 0.3rem 1rem;padding: 0.7rem 1.3rem;border-bottom: 1px solid var(--fcl-line);font-size: 0.86rem;color: var(--fcl-muted);}
.fcl-byline-author{font-weight: 600;color: var(--fcl-ink);}
.fcl-byline .author-link{color: var(--fcl-accent);text-decoration: none;}
.fcl-byline .author-link:hover{text-decoration: underline;}
.fcl-panes{display: grid;grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);gap: 0.8rem;padding: 1.3rem 1.3rem 1rem;}
.fcl-pane{display: flex;flex-direction: column;gap: 0.5rem;min-width: 0;}
.fcl-pane-head{display: flex;align-items: center;gap: 0.5rem;flex-wrap: wrap;}
.fcl-tag{display: inline-flex;align-items: center;justify-content: center;width: 1.6rem;height: 1.6rem;border-radius: 6px;font-weight: 700;font-size: 0.85rem;}
.fcl-tag-a{background: var(--fcl-a-soft);color: var(--fcl-a);}
.fcl-tag-b{background: var(--fcl-b-soft);color: var(--fcl-b);}
.fcl-label{font-weight: 700;font-size: 0.95rem;margin: 0;}
.fcl-count{font-size: 0.82rem;color: var(--fcl-muted);margin-left: auto;}
.fcl-text{width: 100%;min-height: 240px;resize: vertical;border: 1px solid var(--fcl-line);border-radius: var(--fcl-radius-sm);padding: 0.8rem;font-family: var(--fcl-mono);font-size: 0.88rem;line-height: 1.55;color: var(--fcl-ink);background: var(--fcl-surface);white-space: pre;overflow: auto;}
.fcl-text:focus{outline: none;border-color: var(--fcl-accent);box-shadow: var(--fcl-focus);}
.fcl-swap-col{display: flex;align-items: center;justify-content: center;}
.fcl-swap{width: 2.4rem;height: 2.4rem;border: 1px solid var(--fcl-line);border-radius: 50%;background: var(--fcl-surface);color: var(--fcl-accent);cursor: pointer;font-size: 0.95rem;}
.fcl-swap:hover:not(:disabled){background: var(--fcl-accent-soft);border-color: var(--fcl-accent);}
.fcl-swap:disabled{opacity: 0.45;cursor: not-allowed;}
.fcl-controls{display: flex;flex-wrap: wrap;align-items: center;gap: 0.6rem 1.1rem;padding: 0.8rem 1.3rem;background: var(--fcl-paper);border-top: 1px solid var(--fcl-line);border-bottom: 1px solid var(--fcl-line);}
.fcl-check{display: inline-flex;align-items: center;gap: 0.4rem;font-size: 0.9rem;margin: 0;cursor: pointer;}
.fcl-check input{accent-color: var(--fcl-accent);width: 1rem;height: 1rem;}
.fcl-actions{display: flex;flex-wrap: wrap;gap: 0.5rem;}
.fcl-controls .fcl-actions{margin-left: auto;}
.fcl-btn{border: 1px solid var(--fcl-accent);background: var(--fcl-accent);color: #fff;font-weight: 600;font-size: 0.9rem;padding: 0.5rem 1rem;border-radius: var(--fcl-radius-sm);cursor: pointer;}
.fcl-btn:hover:not(:disabled){background: var(--fcl-accent-dark);border-color: var(--fcl-accent-dark);}
.fcl-btn-ghost{background: var(--fcl-surface);color: var(--fcl-accent);}
.fcl-btn-ghost:hover:not(:disabled){background: var(--fcl-accent-soft);color: var(--fcl-accent-dark);border-color: var(--fcl-accent);}
.fcl-btn:disabled{opacity: 0.45;cursor: not-allowed;}
.fcl-btn:focus-visible,.fcl-swap:focus-visible,.fcl-file:focus-within{outline: none;box-shadow: var(--fcl-focus);}
.fcl-file{position: relative;overflow: hidden;display: inline-flex;align-items: center;margin: 0;align-self: flex-start;padding: 0.35rem 0.75rem;font-size: 0.84rem;}
.fcl-file input{position: absolute;inset: 0;opacity: 0;cursor: pointer;}
.fcl-out{padding: 1.3rem;display: flex;flex-direction: column;gap: 1rem;}
.fcl-empty{border: 1px dashed var(--fcl-line);border-radius: var(--fcl-radius-sm);min-height: 130px;display: flex;align-items: center;justify-content: center;text-align: center;padding: 1.5rem;color: var(--fcl-muted);}
.fcl-empty p{margin: 0;}
.fcl-result{display: flex;flex-direction: column;gap: 1rem;min-width: 0;}
.fcl-bar{display: flex;gap: 3px;height: 14px;border-radius: 7px;overflow: hidden;background: var(--fcl-paper);}
.fcl-seg{flex-basis: 8px;min-width: 8px;}
.fcl-seg-a{background: var(--fcl-a);}
.fcl-seg-both{background: var(--fcl-accent);}
.fcl-seg-b{background: var(--fcl-b);}
.fcl-stats{display: grid;grid-template-columns: repeat(5,minmax(0,1fr));gap: 0;margin: 0;border: 1px solid var(--fcl-line);border-radius: var(--fcl-radius-sm);overflow: hidden;}
.fcl-stats div{padding: 0.55rem 0.8rem;min-width: 0;border-right: 1px solid var(--fcl-line);}
.fcl-stats div:last-child{border-right: 0;}
.fcl-stats dt{font-size: 0.78rem;font-weight: 600;color: var(--fcl-muted);margin: 0;}
.fcl-stats dd{font-size: 1.35rem;font-weight: 700;margin: 0;font-variant-numeric: tabular-nums;}
.fcl-stat-both dd{color: var(--fcl-accent);}
.fcl-stat-a dd{color: var(--fcl-a);}
.fcl-stat-b dd{color: var(--fcl-b);}
.fcl-hint{margin: 0;font-size: 0.9rem;color: var(--fcl-muted);}
.fcl-hint:empty{display: none;}
.fcl-table-tools{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.6rem 1rem;margin-bottom: 0.6rem;}
.fcl-sort{display: inline-flex;align-items: center;gap: 0.4rem;font-size: 0.9rem;margin: 0;}
.fcl-sort select{border: 1px solid var(--fcl-line);border-radius: 6px;padding: 0.3rem 0.5rem;background: var(--fcl-surface);color: var(--fcl-ink);font-size: 0.9rem;}
.fcl-scroll{max-height: 420px;overflow: auto;border: 1px solid var(--fcl-line);border-radius: var(--fcl-radius-sm);}
.fcl-table{width: 100%;border-collapse: collapse;font-size: 0.9rem;}
.fcl-table th{position: sticky;top: 0;background: var(--fcl-paper);text-align: left;font-size: 0.8rem;font-weight: 700;color: var(--fcl-muted);padding: 0.5rem 0.7rem;border-bottom: 1px solid var(--fcl-line);white-space: nowrap;}
.fcl-table td{padding: 0.45rem 0.7rem;border-bottom: 1px solid var(--fcl-line);vertical-align: top;}
.fcl-table tr:last-child td{border-bottom: 0;}
.fcl-n{color: var(--fcl-muted);font-variant-numeric: tabular-nums;width: 3rem;}
.fcl-line{word-break: break-word;font-family: var(--fcl-mono);font-size: 0.86rem;min-width: 12rem;}
.fcl-line-text{white-space: pre-wrap;}
.fcl-alt{display: block;font-size: 0.78rem;color: var(--fcl-b);white-space: pre-wrap;}
.fcl-spot{white-space: nowrap;font-variant-numeric: tabular-nums;color: var(--fcl-muted);}
.fcl-more{margin: 0.5rem 0 0;font-size: 0.84rem;color: var(--fcl-muted);}
.fcl-more:empty{display: none;}
.fcl-foot{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.6rem 1rem;}
.fcl-note{margin: 0;font-size: 0.86rem;color: var(--fcl-accent-dark);min-height: 1.2em;}
.fcl-article{background: var(--fcl-surface);border: 1px solid var(--fcl-line);border-radius: var(--fcl-radius);padding: 1.6rem 1.8rem;margin-top: 1rem;color: var(--fcl-ink);line-height: 1.7;}
.fcl-article h2{font-size: 1.35rem;font-weight: 700;margin: 2rem 0 0.7rem;}
.fcl-article h2:first-child{margin-top: 0;}
.fcl-article h3{font-size: 1.02rem;font-weight: 700;margin: 0 0 0.25rem;}
.fcl-article p{margin: 0 0 0.9rem;}
.fcl-article a{color: var(--fcl-accent);}
.fcl-article code{font-family: var(--fcl-mono);font-size: 0.86em;background: var(--fcl-paper);padding: 0.1em 0.3em;border-radius: 4px;color: var(--fcl-ink);white-space: pre-wrap;display: inline-block;max-width: 100%;}
.fcl-table-scroll{overflow-x: auto;margin: 0 0 1rem;border: 1px solid var(--fcl-line);border-radius: var(--fcl-radius-sm);}
.fcl-compare{width: 100%;border-collapse: collapse;font-size: 0.92rem;line-height: 1.5;}
.fcl-compare th{background: var(--fcl-paper);text-align: left;padding: 0.55rem 0.8rem;font-size: 0.84rem;border-bottom: 1px solid var(--fcl-line);white-space: nowrap;}
.fcl-compare td{padding: 0.55rem 0.8rem;border-bottom: 1px solid var(--fcl-line);vertical-align: top;}
.fcl-compare tr:last-child td{border-bottom: 0;}
.fcl-compare code{background: none;padding: 0;}
.fcl-cmds td:nth-child(2){min-width: 19rem;}
.fcl-yes{color: var(--fcl-accent);font-weight: 700;white-space: nowrap;}
.fcl-no{color: var(--fcl-b);font-weight: 700;white-space: nowrap;}
.fcl-jobs{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 0.4rem 1.6rem;margin: 0 0 0.6rem;}
.fcl-limits{margin: 0 0 1rem;padding-left: 1.2rem;}
.fcl-limits li{margin-bottom: 0.45rem;}
.fcl-closing{display: grid;grid-template-columns: minmax(0,1fr);gap: 1.25rem;align-items: start;margin-top: 1rem;}
.fcl-closing > section{margin: 0;min-width: 0;}
@media (min-width: 992px){.fcl-closing{grid-template-columns: minmax(0,2fr) minmax(0,1fr);}}
@media (max-width: 767.98px){.fcl-panes{grid-template-columns: minmax(0,1fr);padding: 1rem;}.fcl-swap{transform: rotate(90deg);}.fcl-text{min-height: 170px;}.fcl-controls{padding: 0.8rem 1rem;}.fcl-controls .fcl-actions{margin-left: 0;}.fcl-out{padding: 1rem;}.fcl-stats{grid-template-columns: repeat(2,minmax(0,1fr));}.fcl-stats div{border-bottom: 1px solid var(--fcl-line);}.fcl-stats .fcl-stat-both{grid-column: 1 / -1;}.fcl-jobs{grid-template-columns: minmax(0,1fr);}.fcl-article{padding: 1.2rem;}}