:root{--primary: #0e6b78;--primary-dark: #0a4f59;--primary-soft: #e6f2f3;--border: #dde4e4;--surface: #ffffff;--surface-muted: #f5f8f8;--shadow-soft: 0 1px 2px rgba(14,40,44,.05),0 12px 30px -16px rgba(14,40,44,.22);--text-main: #142321;--text-muted: #586765;--ink: #10272b;--ok: #23825a;--ok-soft: #e7f4ed;--over: #b44a2f;--over-soft: #fbece7;--amber: #c58a1e;--radius: 16px;--radius-sm: 10px;}
.fsc-shell{background: var(--surface);border: 1px solid var(--border);border-radius: var(--radius);box-shadow: var(--shadow-soft);padding: 1.25rem 1.5rem 1.5rem;margin: 1.5rem 0 2.5rem;color: var(--text-main);}
.fsc-shell [hidden]{display: none !important;}
.fsc-byline{display: flex;flex-wrap: wrap;justify-content: space-between;gap: .4rem 1rem;font-size: .85rem;color: var(--text-muted);padding-bottom: .9rem;margin-bottom: 1.25rem;border-bottom: 1px dashed var(--border);}
.fsc-byline-updated{font-weight: 600;white-space: nowrap;}
.fsc-byline .author-link{color: var(--primary);font-weight: 600;text-decoration: none;}
.fsc-byline .author-link:hover,.fsc-byline .author-link:focus-visible{text-decoration: underline;}
.fsc-grid{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr);gap: 1.5rem;align-items: start;}
.fsc-tabs{display: flex;gap: .25rem;background: var(--surface-muted);border: 1px solid var(--border);border-radius: 999px;padding: .25rem;margin-bottom: 1.1rem;}
.fsc-tab{flex: 1;border: 0;background: transparent;border-radius: 999px;padding: .5rem .6rem;font-size: .88rem;font-weight: 600;color: var(--text-muted);cursor: pointer;transition: background .15s,color .15s;white-space: nowrap;}
.fsc-tab:hover{color: var(--text-main);}
.fsc-tab.is-on{background: var(--surface);color: var(--primary-dark);box-shadow: 0 1px 3px rgba(14,40,44,.12);}
.fsc-tab:focus-visible,.fsc-btn:focus-visible,.fsc-chip:focus-visible{outline: 2px solid var(--primary);outline-offset: 2px;}
.fsc-pane{display: grid;gap: .55rem;}
.fsc-label{display: block;font-size: .86rem;font-weight: 600;color: var(--text-main);margin: .35rem 0 0;padding: 0;}
.fsc-inline{display: flex;gap: .5rem;align-items: center;flex-wrap: wrap;}
.fsc-input,.fsc-select{border: 1px solid var(--border);border-radius: var(--radius-sm);background: var(--surface);color: var(--text-main);padding: .55rem .75rem;font-size: 1rem;font-weight: 600;font-variant-numeric: tabular-nums;min-width: 0;transition: border-color .15s,box-shadow .15s;}
.fsc-input:focus,.fsc-select:focus{outline: none;border-color: var(--primary);box-shadow: 0 0 0 3px rgba(14,107,120,.16);}
.fsc-input{width: 100%;}
.fsc-inline .fsc-input{flex: 1;width: auto;}
.fsc-input-big{font-size: 1.4rem;font-weight: 700;}
.fsc-select{cursor: pointer;}
.fsc-select-wide{width: 100%;}
.fsc-unit-input{display: flex;align-items: center;border: 1px solid var(--border);border-radius: var(--radius-sm);background: var(--surface);transition: border-color .15s,box-shadow .15s;}
.fsc-unit-input:focus-within{border-color: var(--primary);box-shadow: 0 0 0 3px rgba(14,107,120,.16);}
.fsc-unit-input .fsc-input{border: 0;box-shadow: none;background: transparent;}
.fsc-unit-input span{padding: 0 .7rem;font-size: .82rem;font-weight: 600;color: var(--text-muted);white-space: nowrap;}
.fsc-base{border: 0;margin: .25rem 0 0;padding: 0;display: grid;gap: .45rem;}
.fsc-radio{display: flex;gap: .6rem;align-items: flex-start;border: 1px solid var(--border);border-radius: var(--radius-sm);padding: .6rem .75rem;cursor: pointer;font-size: .84rem;color: var(--text-muted);transition: border-color .15s,background .15s;}
.fsc-radio:has(input:checked){border-color: var(--primary);background: var(--primary-soft);}
.fsc-radio input{margin-top: .2rem;accent-color: var(--primary);}
.fsc-radio b{display: block;color: var(--text-main);font-size: .9rem;}
.fsc-hint{font-size: .82rem;color: var(--text-muted);margin: .25rem 0 0;line-height: 1.45;}
.fsc-small{display: block;font-size: .78rem;color: var(--text-muted);line-height: 1.4;}
.fsc-chips{display: flex;flex-wrap: wrap;gap: .35rem;}
.fsc-chip{border: 1px solid var(--border);background: var(--surface-muted);color: var(--text-main);border-radius: 999px;padding: .22rem .65rem;font-size: .78rem;font-weight: 600;cursor: pointer;transition: background .15s,border-color .15s,color .15s;}
.fsc-chip:hover{border-color: var(--primary);}
.fsc-chip.is-on{background: var(--primary);border-color: var(--primary);color: #fff;}
.fsc-trio{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: .5rem;}
.fsc-kind,.fsc-duration{display: grid;gap: .5rem;}
.fsc-formula{font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size: .8rem;background: var(--surface-muted);border: 1px solid var(--border);border-radius: var(--radius-sm);padding: .55rem .7rem;margin: .35rem 0 0;color: var(--ink);overflow-wrap: anywhere;}
.fsc-drop{display: flex;flex-direction: column;align-items: center;text-align: center;gap: .35rem;border: 2px dashed var(--border);border-radius: var(--radius);padding: 1.6rem 1rem;background: var(--surface-muted);color: var(--primary);cursor: pointer;transition: border-color .15s,background .15s;}
.fsc-drop:hover,.fsc-drop.is-over{border-color: var(--primary);background: var(--primary-soft);}
.fsc-drop-title{font-weight: 700;color: var(--text-main);}
.fsc-drop-hint{font-size: .8rem;color: var(--text-muted);}
.fsc-hide{position: absolute;width: 1px;height: 1px;opacity: 0;pointer-events: none;}
.fsc-row-btns{display: flex;flex-wrap: wrap;gap: .45rem;}
.fsc-btn{border: 1px solid var(--border);background: var(--surface);color: var(--text-main);border-radius: var(--radius-sm);padding: .48rem .9rem;font-size: .86rem;font-weight: 600;cursor: pointer;transition: border-color .15s,background .15s;}
.fsc-btn:hover:not(:disabled){border-color: var(--primary);background: var(--primary-soft);}
.fsc-btn:disabled{opacity: .5;cursor: default;}
.fsc-btn-quiet{background: transparent;}
.fsc-result{background: var(--ink);color: #e9f2f1;border-radius: var(--radius);padding: 1.25rem 1.35rem;display: grid;gap: .9rem;}
.fsc-result-label{margin: 0;font-size: .8rem;font-weight: 700;letter-spacing: .06em;text-transform: uppercase;color: #9fc3c4;}
.fsc-pair{display: grid;grid-template-columns: 1fr 1fr;gap: .6rem;}
.fsc-reading{background: rgba(255,255,255,.06);border: 1px solid rgba(255,255,255,.1);border-radius: var(--radius-sm);padding: .7rem .8rem;display: grid;gap: .15rem;}
.fsc-reading span{font-size: .78rem;color: #a9c1c0;}
.fsc-reading output{font-size: clamp(1.4rem,3.2vw,2rem);font-weight: 800;letter-spacing: -.02em;color: #fff;font-variant-numeric: tabular-nums;line-height: 1.15;overflow-wrap: anywhere;}
.fsc-reading-win output{color: #f2c46d;}
.fsc-exact{margin: 0;display: flex;flex-wrap: wrap;gap: .3rem .9rem;font-size: .84rem;color: #b9cfce;font-variant-numeric: tabular-nums;}
.fsc-exact b{color: #fff;}
.fsc-largest{margin: 0;font-size: .82rem;color: #b9cfce;overflow-wrap: anywhere;}
.fsc-speed{border-top: 1px solid rgba(255,255,255,.12);padding-top: .85rem;display: grid;gap: .5rem;}
.fsc-speed .fsc-label{color: #e9f2f1;margin: 0;}
.fsc-speed .fsc-unit-input{background: rgba(255,255,255,.08);border-color: rgba(255,255,255,.18);}
.fsc-speed .fsc-input{color: #fff;}
.fsc-speed .fsc-unit-input span{color: #a9c1c0;}
.fsc-speed-in{flex: 0 1 9.5rem;}
.fsc-time{font-size: 1.25rem;font-weight: 800;color: #fff;font-variant-numeric: tabular-nums;}
.fsc-speed .fsc-chip{background: transparent;color: #d6e6e5;border-color: rgba(255,255,255,.2);}
.fsc-speed .fsc-chip.is-on{background: #f2c46d;border-color: #f2c46d;color: var(--ink);}
.fsc-speed .fsc-small{color: #a9c1c0;}
.fsc-copy{justify-self: start;background: #fff;color: var(--ink);border-color: #fff;}
.fsc-copy:hover:not(:disabled){background: var(--primary-soft);}
.fsc-panel{border: 1px solid var(--border);border-radius: var(--radius);padding: 1.1rem 1.25rem;margin-top: 1.25rem;background: var(--surface);}
.fsc-panel-head{display: flex;flex-wrap: wrap;justify-content: space-between;align-items: baseline;gap: .4rem 1rem;margin-bottom: .8rem;}
.fsc-h{font-size: 1.1rem;font-weight: 700;margin: 0;color: var(--text-main);}
.fsc-h3{font-size: .92rem;font-weight: 700;margin: 0 0 .6rem;color: var(--text-main);}
.fsc-panel-note{margin: 0;font-size: .82rem;color: var(--text-muted);}
.fsc-fit{list-style: none;margin: 0;padding: 0;display: grid;gap: .4rem;}
.fsc-fit-row{display: grid;grid-template-columns: minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.3fr);gap: .9rem;align-items: center;padding: .55rem .75rem;border-radius: var(--radius-sm);border-left: 4px solid var(--ok);background: var(--ok-soft);}
.fsc-fit-row.is-over{border-left-color: var(--over);background: var(--over-soft);}
.fsc-fit-row.is-idle{border-left-color: var(--border);background: var(--surface-muted);}
.fsc-fit-row.is-idle .fsc-fit-status b{color: var(--text-muted);font-weight: 600;}
.fsc-fit-name b{display: block;font-size: .9rem;}
.fsc-fit-name span,.fsc-fit-status span{display: block;font-size: .76rem;color: var(--text-muted);}
.fsc-fit-status b{font-size: .86rem;color: var(--ok);font-weight: 700;}
.fsc-fit-row.is-over .fsc-fit-status b{color: var(--over);}
.fsc-fit-bar{height: 8px;background: rgba(20,35,33,.08);border-radius: 999px;overflow: hidden;}
.fsc-fit-bar i{display: block;height: 100%;background: var(--ok);border-radius: 999px;}
.fsc-fit-row.is-over .fsc-fit-bar i{background: var(--over);}
.fsc-own{margin-top: .9rem;padding-top: .8rem;border-top: 1px dashed var(--border);display: grid;gap: .4rem;}
.fsc-split{display: grid;grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);gap: 1.4rem;}
.fsc-types{list-style: none;margin: 0;padding: 0;display: grid;gap: .6rem;}
.fsc-type-top{display: flex;justify-content: space-between;gap: .6rem;font-size: .84rem;margin-bottom: .25rem;}
.fsc-type-top span{color: var(--text-muted);font-variant-numeric: tabular-nums;text-align: right;}
.fsc-types .fsc-fit-bar i{background: var(--primary);}
.fsc-table-wrap{overflow-x: auto;max-height: 26rem;overflow-y: auto;border: 1px solid var(--border);border-radius: var(--radius-sm);}
.fsc-table{width: 100%;border-collapse: collapse;font-size: .84rem;}
.fsc-table th{position: sticky;top: 0;background: var(--surface-muted);text-align: left;font-weight: 700;padding: .5rem .7rem;border-bottom: 1px solid var(--border);}
.fsc-table td{padding: .45rem .7rem;border-bottom: 1px solid var(--border);vertical-align: top;font-variant-numeric: tabular-nums;}
.fsc-table td:nth-child(2){white-space: nowrap;}
.fsc-file{display: block;font-weight: 600;overflow-wrap: anywhere;}
.fsc-table small{display: block;color: var(--text-muted);font-size: .74rem;overflow-wrap: anywhere;}
.fsc-share{display: grid;grid-template-columns: minmax(60px,1fr) auto;gap: .5rem;align-items: center;}
.fsc-share .fsc-fit-bar i{background: var(--primary);}
.fsc-share span{font-size: .76rem;color: var(--text-muted);}
.fsc-guide{margin: 0 auto 2.5rem;color: var(--text-main);line-height: 1.7;}
.fsc-guide section{margin-bottom: 2.25rem;}
.fsc-guide h2{font-size: 1.45rem;font-weight: 750;letter-spacing: -.01em;margin: 0 0 .75rem;}
.fsc-guide h3{font-size: 1.08rem;font-weight: 700;margin: 1.25rem 0 .5rem;}
.fsc-guide p{margin: 0 0 .85rem;}
.fsc-guide code{background: var(--surface-muted);border: 1px solid var(--border);border-radius: 6px;padding: .05rem .35rem;font-size: .88em;}
.fsc-guide .fsc-table-wrap{max-height: none;margin: .25rem 0 1rem;}
.fsc-mini{width: 100%;border-collapse: collapse;font-size: .9rem;}
.fsc-mini th{background: var(--surface-muted);text-align: left;padding: .55rem .8rem;border-bottom: 1px solid var(--border);font-weight: 700;}
.fsc-mini td{padding: .5rem .8rem;border-bottom: 1px solid var(--border);vertical-align: top;font-variant-numeric: tabular-nums;}
.fsc-mini tr:last-child td{border-bottom: 0;}
.fsc-mini tr.is-mark td{background: var(--primary-soft);font-weight: 700;}
.fsc-code{background: var(--ink);color: #e9f2f1;border-radius: var(--radius-sm);padding: .8rem 1rem;margin: 0 0 1rem;overflow-x: auto;}
.fsc-code code{background: none;border: 0;padding: 0;color: inherit;font-size: .92rem;}
.fsc-worked{padding-left: 1.2rem;margin: 0 0 1rem;}
.fsc-worked li{margin-bottom: .55rem;}
.fsc-limits{background: var(--surface-muted);border: 1px solid var(--border);border-left: 4px solid var(--amber);border-radius: var(--radius-sm);padding: 1.1rem 1.3rem;}
.fsc-limits ul{margin: 0;padding-left: 1.1rem;}
.fsc-limits li{margin-bottom: .55rem;}
@media (max-width: 991.98px){.fsc-grid{grid-template-columns: 1fr;}.fsc-split{grid-template-columns: 1fr;}}
@media (max-width: 640px){.fsc-shell{padding: 1rem;}.fsc-fit-row{grid-template-columns: 1fr;gap: .35rem;}.fsc-trio{grid-template-columns: 1fr 1fr;}.fsc-pair{grid-template-columns: 1fr;}.fsc-tab{font-size: .8rem;padding: .45rem .3rem;}}