:root{--fc-ink: #1b2233;--fc-muted: #556075;--fc-surface: #ffffff;--fc-paper: #f6f5f1;--fc-line: #dcdde3;--fc-blue: #2f45a8;--fc-blue-dark: #22337f;--fc-blue-soft: #e6eaf8;--fc-gold: #c98a12;--fc-gold-soft: #fdf2d9;--fc-gold-text: #6e4b05;--fc-board: #1f2b38;--fc-board-line: #34465a;--fc-chalk: #f2efe4;--fc-chalk-dim: #a9b6c4;--fc-chalk-gold: #f4c25b;--fc-red: #a3261d;--fc-red-soft: #fbe8e5;--fc-radius: 8px;--fc-shadow: 0 8px 24px rgba(27,34,51,0.08);--fc-focus: 0 0 0 3px rgba(47,69,168,0.3);--fc-math: "Cambria Math",Cambria,"STIX Two Math",Georgia,serif;--fc-mono: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--primary: var(--fc-blue);--primary-dark: var(--fc-blue-dark);--border: var(--fc-line);--surface: var(--fc-surface);--shadow-soft: var(--fc-shadow);--surface-muted: var(--fc-paper);--text-main: var(--fc-ink);--text-muted: var(--fc-muted);}
.fc-wrap [hidden]{display: none !important;}
.fc-m{font-family: var(--fc-math);white-space: nowrap;}
.fc-tool{background: var(--fc-surface);border: 1px solid var(--fc-line);border-radius: var(--fc-radius);box-shadow: var(--fc-shadow);padding: 20px;margin-bottom: 44px;color: var(--fc-ink);}
.fc-byline{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 4px 16px;font-size: 0.85rem;color: var(--fc-muted);padding-bottom: 12px;margin-bottom: 16px;border-bottom: 1px dashed var(--fc-line);}
.fc-byline a{color: var(--fc-blue);}
.fc-entry-head{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 8px;margin-bottom: 8px;}
.fc-label{font-weight: 700;margin: 0;}
.fc-actions,.fc-head-btns{display: flex;flex-wrap: wrap;gap: 8px;}
.fc-entry{display: flex;gap: 10px;}
.fc-input{flex: 1;min-width: 0;font-family: var(--fc-mono);font-size: 1.6rem;font-weight: 600;letter-spacing: 0.02em;color: var(--fc-ink);background: var(--fc-paper);border: 2px solid var(--fc-line);border-radius: var(--fc-radius);padding: 10px 14px;}
.fc-input:focus{outline: none;border-color: var(--fc-blue);box-shadow: var(--fc-focus);background: var(--fc-surface);}
.fc-go{background: var(--fc-blue);color: #fff;border: 0;border-radius: var(--fc-radius);padding: 0 22px;font-weight: 700;font-size: 1rem;cursor: pointer;min-height: 52px;white-space: nowrap;}
.fc-go:hover{background: var(--fc-blue-dark);}
.fc-btn{background: var(--fc-surface);color: var(--fc-ink);border: 1px solid var(--fc-line);border-radius: var(--fc-radius);padding: 7px 14px;font-size: 0.9rem;font-weight: 600;cursor: pointer;min-height: 40px;}
.fc-btn:hover{border-color: var(--fc-blue);color: var(--fc-blue);}
.fc-go:focus-visible,.fc-btn:focus-visible,.fc-chip:focus-visible,.fc-copy:focus-visible,.fc-f:focus-visible{outline: none;box-shadow: var(--fc-focus);}
.fc-msg{margin: 8px 0 0;font-size: 0.88rem;color: var(--fc-muted);}
.fc-msg-err{color: var(--fc-red);background: var(--fc-red-soft);border-radius: var(--fc-radius);padding: 6px 10px;font-weight: 600;}
.fc-opts{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 10px 20px;margin-top: 12px;}
.fc-try{display: flex;flex-wrap: wrap;align-items: center;gap: 6px;margin: 0;font-size: 0.9rem;}
.fc-try span{color: var(--fc-muted);margin-right: 2px;}
.fc-chip{background: var(--fc-blue-soft);color: var(--fc-blue-dark);border: 1px solid transparent;border-radius: 999px;padding: 4px 12px;font-family: var(--fc-mono);font-size: 0.85rem;font-weight: 600;cursor: pointer;min-height: 32px;}
.fc-chip:hover{border-color: var(--fc-blue);}
.fc-check{display: inline-flex;align-items: center;gap: 8px;font-size: 0.9rem;font-weight: 600;cursor: pointer;margin: 0;}
.fc-check input{width: 18px;height: 18px;accent-color: var(--fc-blue);}
.fc-out{margin-top: 22px;padding-top: 20px;border-top: 2px solid var(--fc-ink);}
.fc-head{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 12px;margin-bottom: 14px;}
.fc-eq{margin: 0;font-family: var(--fc-math);font-size: clamp(1.5rem, 4vw, 2.2rem);line-height: 1.3;overflow-wrap: anywhere;}
.fc-eq #fcN{font-weight: 700;}
.fc-eq-sign{color: var(--fc-gold);padding: 0 4px;}
.fc-eq sup{font-size: 0.6em;}
.fc-stats{display: grid;grid-template-columns: repeat(4, minmax(0, 1fr));gap: 0;margin: 0 0 12px;border: 1px solid var(--fc-line);border-radius: var(--fc-radius);overflow: hidden;}
.fc-stat{padding: 12px 14px;border-right: 1px solid var(--fc-line);}
.fc-stat:last-child{border-right: 0;}
.fc-stat dt{font-size: 0.75rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.06em;color: var(--fc-muted);margin-bottom: 4px;}
.fc-stat dd{margin: 0;font-family: var(--fc-mono);font-size: 1.1rem;font-weight: 700;overflow-wrap: anywhere;}
.fc-note{background: var(--fc-gold-soft);color: var(--fc-gold-text);border-left: 4px solid var(--fc-gold);border-radius: 0 var(--fc-radius) var(--fc-radius) 0;padding: 10px 14px;margin: 0 0 18px;font-size: 0.95rem;}
.fc-grid{display: grid;grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);gap: 16px;margin-bottom: 16px;}
.fc-panel{border: 1px solid var(--fc-line);border-radius: var(--fc-radius);padding: 14px 16px;background: var(--fc-surface);min-width: 0;}
.fc-panel-head{display: flex;align-items: center;justify-content: space-between;gap: 8px;margin-bottom: 4px;}
.fc-panel-title{font-size: 1rem;font-weight: 800;margin: 0;}
.fc-hint{font-size: 0.85rem;color: var(--fc-muted);margin: 0 0 10px;min-height: 1.3em;}
.fc-copy{background: none;border: 1px solid var(--fc-line);border-radius: 6px;padding: 3px 10px;font-size: 0.8rem;font-weight: 600;color: var(--fc-blue);cursor: pointer;min-height: 30px;}
.fc-copy:hover{border-color: var(--fc-blue);}
.fc-factors{display: flex;flex-wrap: wrap;gap: 6px;max-height: 360px;overflow-y: auto;}
.fc-f{background: var(--fc-paper);border: 1px solid var(--fc-line);border-radius: 6px;padding: 4px 10px;font-family: var(--fc-mono);font-size: 0.9rem;color: var(--fc-ink);cursor: pointer;min-height: 34px;min-width: 40px;}
.fc-f:hover{border-color: var(--fc-blue);}
.fc-f.is-on{background: var(--fc-gold);border-color: var(--fc-gold);color: #fff;font-weight: 700;}
.fc-more{margin-top: 10px;}
.fc-panel-ladder{background: var(--fc-board);border-color: var(--fc-board);color: var(--fc-chalk);}
.fc-panel-ladder .fc-panel-title{color: var(--fc-chalk);}
.fc-panel-ladder .fc-hint{color: var(--fc-chalk-dim);}
.fc-ladder{list-style: none;margin: 0;padding: 0;font-family: var(--fc-mono);font-size: 1rem;max-height: 360px;overflow-y: auto;}
.fc-ladder li{display: grid;grid-template-columns: minmax(48px, auto) 1fr;}
.fc-ld-p{color: var(--fc-chalk-gold);font-weight: 700;text-align: right;padding: 5px 12px 5px 0;border-right: 2px solid var(--fc-chalk-dim);overflow-wrap: anywhere;}
.fc-ld-v{padding: 5px 0 5px 12px;border-bottom: 2px solid var(--fc-chalk-dim);overflow-wrap: anywhere;}
.fc-ld-end .fc-ld-p{border-right-color: transparent;}
.fc-ld-end .fc-ld-v{border-bottom: 0;color: var(--fc-chalk-dim);}
.fc-formula{margin: 12px 0 0;padding-top: 10px;border-top: 1px dashed var(--fc-board-line);font-size: 0.9rem;color: var(--fc-chalk-dim);font-family: var(--fc-mono);}
.fc-formula strong{color: var(--fc-chalk-gold);}
.fc-pairs{display: grid;grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));gap: 6px;max-height: 320px;overflow-y: auto;margin-top: 6px;}
.fc-pair{background: var(--fc-paper);border-radius: 6px;padding: 6px 10px;font-family: var(--fc-mono);font-size: 0.9rem;overflow-wrap: anywhere;}
.fc-pair-neg{display: block;color: var(--fc-muted);font-size: 0.8rem;}
.fc-prose{margin: 0 auto 40px;color: var(--fc-ink);line-height: 1.7;}
.fc-prose section{margin-bottom: 36px;}
.fc-prose h2{font-size: 1.5rem;font-weight: 800;margin: 0 0 12px;}
.fc-prose h3{font-size: 1.05rem;font-weight: 700;margin: 0 0 6px;}
.fc-prose a{color: var(--fc-blue);}
.fc-lead{font-size: 1.1rem;}
.fc-ladder-demo{display: inline-block;font-family: var(--fc-mono);font-size: 1.05rem;background: var(--fc-board);color: var(--fc-chalk);border-radius: var(--fc-radius);padding: 14px 26px 14px 14px;margin: 4px 0 14px;}
.fc-ladder-demo div{display: grid;grid-template-columns: 36px auto;}
.fc-ladder-demo span:first-child{color: var(--fc-chalk-gold);font-weight: 700;text-align: right;padding: 3px 10px 3px 0;border-right: 2px solid var(--fc-chalk-dim);}
.fc-ladder-demo div:last-child span:first-child{border-right-color: transparent;}
.fc-ladder-demo span + span{padding: 3px 0 3px 10px;}
.fc-table-wrap{overflow-x: auto;margin: 14px 0;}
.fc-table{width: 100%;border-collapse: collapse;font-size: 0.95rem;}
.fc-table th{background: var(--fc-ink);color: #fff;text-align: left;padding: 8px 12px;font-weight: 700;}
.fc-table td{padding: 8px 12px;border-bottom: 1px solid var(--fc-line);}
.fc-table tr:nth-child(even) td{background: var(--fc-paper);}
.fc-table td:last-child{font-weight: 700;color: var(--fc-blue-dark);}
.fc-defs{padding-left: 20px;}
.fc-defs li{margin-bottom: 6px;}
.fc-uses{display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 14px;}
.fc-use{border-top: 3px solid var(--fc-gold);background: var(--fc-paper);padding: 14px;border-radius: 0 0 var(--fc-radius) var(--fc-radius);}
.fc-use p{margin: 0;font-size: 0.95rem;}
.fc-limits{background: var(--fc-paper);border: 1px solid var(--fc-line);border-radius: var(--fc-radius);padding: 18px 22px;}
.fc-limits ul{padding-left: 20px;margin: 0;}
.fc-limits li{margin-bottom: 8px;}
.fc-closing{display: grid;grid-template-columns: minmax(0, 1fr);gap: 1.25rem;align-items: start;margin-top: 1rem;}
.fc-closing > section{margin: 0;min-width: 0;}
@media (min-width: 992px){.fc-closing{grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);}}
@media (max-width: 860px){.fc-grid{grid-template-columns: minmax(0, 1fr);}.fc-uses{grid-template-columns: minmax(0, 1fr);}.fc-stats{grid-template-columns: repeat(2, minmax(0, 1fr));}.fc-stat:nth-child(2){border-right: 0;}.fc-stat:nth-child(-n+2){border-bottom: 1px solid var(--fc-line);}}
@media (max-width: 520px){.fc-tool{padding: 14px;}.fc-entry{flex-direction: column;}.fc-go{width: 100%;}.fc-input{font-size: 1.3rem;}}