:root{--fss-ink: #1f2329;--fss-muted: #5b616b;--fss-paper: #f8f5f0;--fss-surface: #ffffff;--fss-line: #e6dfd4;--fss-line-strong: #cfc4b3;--fss-accent: #c2410c;--fss-accent-dark: #9a3412;--fss-accent-soft: rgba(194, 65, 12, 0.08);--fss-seg-a: #c2410c;--fss-seg-b: #ea8a4f;--fss-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--fss-shadow: 0 14px 34px rgba(31, 35, 41, 0.07);--primary: var(--fss-accent);--primary-dark: var(--fss-accent-dark);--border: var(--fss-line);--surface: var(--fss-surface);--surface-muted: var(--fss-paper);--shadow-soft: var(--fss-shadow);--text-main: var(--fss-ink);--text-muted: var(--fss-muted);}
.fss-page{color: var(--fss-ink);padding-bottom: 3rem;}
.fss-page code{font-family: var(--fss-mono);font-size: 0.86em;color: var(--fss-accent-dark);background: var(--fss-accent-soft);padding: 0.08em 0.36em;border-radius: 5px;}
.fss-byline{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 0.5rem 1.25rem;font-size: 0.88rem;color: var(--fss-muted);margin: 0 0 1rem;padding: 0 0.25rem;}
.fss-byline .author-link{color: var(--fss-accent-dark);font-weight: 600;text-decoration: none;}
.fss-byline .author-link:hover{text-decoration: underline;}
.fss-bench{display: grid;grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);gap: 1.25rem;align-items: start;margin-bottom: 1.5rem;}
.fss-panel{background: var(--fss-surface);border: 1px solid var(--fss-line);border-radius: 16px;box-shadow: var(--fss-shadow);padding: 1.25rem;min-width: 0;}
.fss-drop{position: relative;display: flex;flex-direction: column;align-items: center;justify-content: center;text-align: center;gap: 0.35rem;min-height: 190px;padding: 1.25rem;border: 2px dashed var(--fss-line-strong);border-radius: 12px;background: var(--fss-paper);cursor: pointer;transition: border-color 0.15s ease, background 0.15s ease;}
.fss-drop:hover,.fss-drop:focus-visible{border-color: var(--fss-accent);background: var(--fss-accent-soft);outline: none;}
.fss-drop.is-over{border-color: var(--fss-accent);background: rgba(194, 65, 12, 0.14);}
.fss-file-input{position: absolute;width: 1px;height: 1px;opacity: 0;pointer-events: none;}
.fss-drop-icon{font-size: 2rem;color: var(--fss-accent);margin-bottom: 0.3rem;}
.fss-drop-text{font-weight: 700;font-size: 0.98rem;}
.fss-drop-hint{font-size: 0.8rem;color: var(--fss-muted);}
.fss-link-btn{display: block;width: 100%;margin: 0.7rem 0 0;padding: 0.35rem 0;border: 0;background: none;color: var(--fss-accent-dark);font-size: 0.85rem;font-weight: 600;text-align: left;text-decoration: underline;text-underline-offset: 3px;cursor: pointer;}
.fss-link-btn:hover{color: var(--fss-accent);}
.fss-file{margin: 0.9rem 0 0;padding: 0.85rem 0 0;border-top: 1px solid var(--fss-line);display: grid;gap: 0.45rem;}
.fss-file div{display: flex;justify-content: space-between;gap: 0.75rem;font-size: 0.88rem;}
.fss-file dt{font-weight: 600;color: var(--fss-muted);}
.fss-file dd{margin: 0;text-align: right;word-break: break-all;font-family: var(--fss-mono);font-size: 0.84rem;}
.fss-mode{display: inline-flex;margin: 0 0 1rem;padding: 3px;border: 1px solid var(--fss-line-strong);border-radius: 10px;background: var(--fss-paper);}
.fss-mode label{margin: 0;cursor: pointer;}
.fss-mode input{position: absolute;opacity: 0;pointer-events: none;}
.fss-mode span{display: inline-block;padding: 0.4rem 0.9rem;border-radius: 8px;font-size: 0.86rem;font-weight: 600;color: var(--fss-muted);transition: background 0.15s ease, color 0.15s ease;}
.fss-mode input:checked + span{background: var(--fss-surface);color: var(--fss-accent-dark);box-shadow: 0 1px 3px rgba(31, 35, 41, 0.12);}
.fss-mode input:focus-visible + span{outline: 2px solid var(--fss-accent);outline-offset: 1px;}
.fss-row{display: grid;gap: 0.4rem;margin: 0 0 1rem;}
.fss-row[hidden]{display: none;}
.fss-label{font-weight: 700;font-size: 0.9rem;margin: 0;}
.fss-input{width: 100%;padding: 0.5rem 0.7rem;border: 1px solid var(--fss-line-strong);border-radius: 8px;background: var(--fss-surface);color: var(--fss-ink);font-size: 0.95rem;}
.fss-input:focus{outline: none;border-color: var(--fss-accent);box-shadow: 0 0 0 3px var(--fss-accent-soft);}
.fss-mono{font-family: var(--fss-mono);font-size: 0.88rem;}
.fss-size{display: grid;grid-template-columns: minmax(0, 1fr) 90px;gap: 0.5rem;max-width: 380px;}
.fss-count{max-width: 160px;}
.fss-hint{font-size: 0.8rem;color: var(--fss-muted);}
.fss-presets{display: flex;flex-wrap: wrap;gap: 0.4rem;margin-top: 0.2rem;}
.fss-chip{border: 1px solid var(--fss-line-strong);background: var(--fss-surface);color: var(--fss-ink);border-radius: 999px;padding: 0.28rem 0.75rem;font-size: 0.8rem;cursor: pointer;transition: border-color 0.15s ease, background 0.15s ease;}
.fss-chip b{font-weight: 700;color: var(--fss-accent-dark);margin-left: 0.15rem;}
.fss-chip:hover{border-color: var(--fss-accent);}
.fss-chip.is-active{background: var(--fss-accent);border-color: var(--fss-accent);color: #ffffff;}
.fss-chip.is-active b{color: #ffffff;}
.fss-checks{display: grid;gap: 0.45rem;margin: 0 0 1rem;font-size: 0.88rem;}
.fss-checks label{display: flex;align-items: center;gap: 0.5rem;margin: 0;cursor: pointer;}
.fss-checks input{accent-color: var(--fss-accent);width: 16px;height: 16px;}
.fss-preview{padding: 0.85rem;border-radius: 10px;background: var(--fss-paper);border: 1px solid var(--fss-line);margin: 0 0 1rem;}
.fss-bar{display: flex;gap: 2px;height: 26px;border-radius: 6px;overflow: hidden;background: var(--fss-line);}
.fss-bar span{display: flex;align-items: center;justify-content: center;min-width: 2px;background: var(--fss-seg-a);color: #ffffff;font-size: 0.7rem;font-weight: 700;font-family: var(--fss-mono);overflow: hidden;white-space: nowrap;}
.fss-bar span:nth-child(even){background: var(--fss-seg-b);}
.fss-bar.is-dense span{font-size: 0;}
.fss-plan-text{margin: 0.6rem 0 0;font-size: 0.86rem;color: var(--fss-muted);}
.fss-plan-text strong{color: var(--fss-ink);}
.fss-actions{display: flex;flex-wrap: wrap;gap: 0.5rem;}
.fss-btn{display: inline-flex;align-items: center;gap: 0.45rem;padding: 0.55rem 1rem;border: 1px solid var(--fss-line-strong);border-radius: 9px;background: var(--fss-surface);color: var(--fss-ink);font-weight: 600;font-size: 0.9rem;cursor: pointer;transition: background 0.15s ease, border-color 0.15s ease;}
.fss-btn:hover:not(:disabled){border-color: var(--fss-accent);color: var(--fss-accent-dark);}
.fss-btn:disabled{opacity: 0.5;cursor: not-allowed;}
.fss-btn-main{background: var(--fss-accent);border-color: var(--fss-accent);color: #ffffff;}
.fss-btn-main:hover:not(:disabled){background: var(--fss-accent-dark);border-color: var(--fss-accent-dark);color: #ffffff;}
.fss-progress{height: 6px;margin: 0.9rem 0 0;border-radius: 999px;background: var(--fss-line);overflow: hidden;}
.fss-progress span{display: block;height: 100%;width: 0;background: var(--fss-accent);transition: width 0.15s linear;}
.fss-status{min-height: 1.3em;margin: 0.6rem 0 0;font-size: 0.86rem;color: var(--fss-muted);}
.fss-status.is-error{color: #b91c1c;}
.fss-out{background: var(--fss-surface);border: 1px solid var(--fss-line);border-radius: 16px;box-shadow: var(--fss-shadow);padding: 1.25rem;margin-bottom: 2.75rem;}
.fss-out-head{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.75rem;margin-bottom: 1rem;}
.fss-out-head h2{font-size: 1.2rem;font-weight: 700;margin: 0;}
.fss-table-wrap{overflow-x: auto;border: 1px solid var(--fss-line);border-radius: 10px;}
.fss-table{width: 100%;border-collapse: collapse;font-size: 0.86rem;}
.fss-table th{background: var(--fss-paper);text-align: left;font-weight: 700;padding: 0.6rem 0.75rem;border-bottom: 1px solid var(--fss-line);white-space: nowrap;}
.fss-table td{padding: 0.55rem 0.75rem;border-bottom: 1px solid var(--fss-line);vertical-align: middle;}
.fss-table tr:last-child td{border-bottom: 0;}
.fss-table .fss-cell-mono{font-family: var(--fss-mono);font-size: 0.8rem;white-space: nowrap;}
.fss-table .fss-cell-name{font-family: var(--fss-mono);font-size: 0.82rem;word-break: break-all;}
.fss-table .fss-cell-hash{font-family: var(--fss-mono);font-size: 0.74rem;word-break: break-all;color: var(--fss-muted);min-width: 180px;}
.fss-table:not(.has-hash) .fss-hash-col,.fss-table:not(.has-hash) .fss-cell-hash{display: none;}
.fss-table-text td{vertical-align: top;line-height: 1.5;}
.fss-table-text td:first-child{font-weight: 600;}
.fss-table-text td:nth-child(2),.fss-table-text td:nth-child(3){white-space: nowrap;}
.fss-save{padding: 0.25rem 0.6rem;border: 1px solid var(--fss-line-strong);border-radius: 7px;background: var(--fss-surface);font-size: 0.8rem;font-weight: 600;color: var(--fss-accent-dark);cursor: pointer;white-space: nowrap;}
.fss-save:hover{border-color: var(--fss-accent);}
.fss-save.is-done{color: var(--fss-muted);}
.fss-rejoin{margin-top: 1.25rem;}
.fss-rejoin h3{font-size: 1rem;font-weight: 700;margin: 0 0 0.3rem;}
.fss-rejoin p{font-size: 0.88rem;color: var(--fss-muted);margin: 0 0 0.75rem;}
.fss-cmd{position: relative;margin: 0 0 0.75rem;}
.fss-cmd-os{display: block;font-size: 0.78rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.04em;color: var(--fss-muted);margin-bottom: 0.3rem;}
.fss-cmd pre{margin: 0;padding: 0.8rem 5rem 0.8rem 0.9rem;max-height: 160px;overflow: auto;background: #1f2329;color: #f5efe6;border-radius: 9px;font-family: var(--fss-mono);font-size: 0.8rem;white-space: pre-wrap;word-break: break-all;}
.fss-copy{position: absolute;right: 0.5rem;top: 1.75rem;padding: 0.25rem 0.65rem;border: 1px solid rgba(255, 255, 255, 0.25);border-radius: 6px;background: rgba(255, 255, 255, 0.08);color: #f5efe6;font-size: 0.78rem;font-weight: 600;cursor: pointer;}
.fss-copy:hover{background: rgba(255, 255, 255, 0.18);}
.fss-sec{margin: 0 auto 2.75rem;line-height: 1.7;}
.fss-sec h2{font-size: 1.45rem;font-weight: 700;margin: 0 0 0.8rem;}
.fss-sec h3{font-size: 1.05rem;font-weight: 700;margin: 1.4rem 0 0.5rem;}
.fss-sec p{margin: 0 0 0.9rem;}
.fss-sec .fss-table-wrap{margin: 0 0 1rem;}
.fss-note{padding: 0.8rem 1rem;border-left: 3px solid var(--fss-accent);background: var(--fss-accent-soft);border-radius: 0 8px 8px 0;font-size: 0.92rem;}
.fss-walk{list-style: none;counter-reset: fsswalk;margin: 0;padding: 0;}
.fss-walk li{counter-increment: fsswalk;position: relative;padding: 0 0 0.9rem 2.6rem;}
.fss-walk li::before{content: counter(fsswalk);position: absolute;left: 0;top: 0.1rem;width: 1.8rem;height: 1.8rem;border-radius: 50%;display: flex;align-items: center;justify-content: center;background: var(--fss-ink);color: #ffffff;font-size: 0.8rem;font-weight: 700;font-family: var(--fss-mono);}
.fss-walk b{display: block;}
.fss-split-cols{display: grid;grid-template-columns: 1fr 1fr;gap: 1rem;}
.fss-split-cols > div{padding: 1rem 1.1rem;border: 1px solid var(--fss-line);border-radius: 12px;background: var(--fss-surface);}
.fss-split-cols > div:last-child{background: var(--fss-paper);}
.fss-split-cols h3{margin-top: 0;}
.fss-split-cols ul{margin: 0;padding-left: 1.1rem;}
.fss-split-cols li{margin-bottom: 0.45rem;}
.fss-pre{margin: 0 0 1rem;padding: 1rem 1.1rem;background: #1f2329;color: #f5efe6;border-radius: 10px;font-family: var(--fss-mono);font-size: 0.82rem;line-height: 1.6;overflow-x: auto;}
.fss-pre-c{color: #c9b8a0;}
.fss-cases{list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 0.9rem;}
.fss-cases li{padding: 1rem 1.1rem;border: 1px solid var(--fss-line);border-top: 3px solid var(--fss-accent);border-radius: 10px;background: var(--fss-surface);}
.fss-cases h3{margin: 0 0 0.4rem;font-size: 1rem;}
.fss-cases p{margin: 0;font-size: 0.92rem;}
@media (max-width: 991.98px){.fss-bench{grid-template-columns: 1fr;}.fss-drop{min-height: 150px;}}
@media (max-width: 767.98px){.fss-split-cols,.fss-cases{grid-template-columns: 1fr;}.fss-sec h2{font-size: 1.25rem;}.fss-out-head .fss-actions{width: 100%;}.fss-out-head .fss-btn{flex: 1 1 auto;justify-content: center;}}
