:root{--primary: #a14f08;--primary-dark: #7c3b05;--border: #eadfce;--surface: #ffffff;--shadow-soft: 0 1px 2px rgba(60, 38, 10, 0.06), 0 10px 28px rgba(60, 38, 10, 0.07);--surface-muted: #fbf6ee;--text-main: #2a1f12;--text-muted: #75644e;}
.fib-wrap{--fib-ink: #2a1f12;--fib-dim: #75644e;--fib-line: #eadfce;--fib-bg: #fbf6ee;--fib-accent: #a14f08;--fib-accent-dark: #7c3b05;--fib-soft: #fdf0dc;--fib-blue: #1f5f8b;--fib-blue-bg: #e6f1f8;--fib-ok: #1d6b3f;--fib-ok-bg: #e4f4ea;--fib-err: #a3203a;--fib-err-bg: #fbe8ec;color: var(--fib-ink);}
.fib-sr{position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0, 0, 0, 0);white-space: nowrap;border: 0;}
.fib-mono{font-family: ui-monospace, "SFMono-Regular", "Cascadia Mono", Consolas, monospace;}
.fib-panel{margin: 1rem 0 1.25rem;background: var(--surface);border: 1px solid var(--fib-line);border-radius: 16px;box-shadow: var(--shadow-soft);overflow: hidden;}
.fib-tabs{display: flex;gap: 0;border-bottom: 1px solid var(--fib-line);background: var(--fib-bg);overflow-x: auto;}
.fib-tab{flex: 1 1 0;display: flex;align-items: center;justify-content: center;gap: 0.5rem;min-width: 150px;padding: 0.85rem 1rem;font-size: 0.95rem;font-weight: 600;color: var(--fib-dim);background: transparent;border: 0;border-bottom: 3px solid transparent;cursor: pointer;white-space: nowrap;}
.fib-tab:hover{color: var(--fib-ink);}
.fib-tab.is-active{color: var(--fib-accent-dark);background: var(--surface);border-bottom-color: var(--fib-accent);}
.fib-tab:focus-visible{outline: 2px solid var(--fib-accent);outline-offset: -2px;}
.fib-tab-k{display: inline-grid;place-items: center;width: 1.4rem;height: 1.4rem;font-size: 0.75rem;border-radius: 50%;background: var(--fib-line);color: var(--fib-dim);}
.fib-tab.is-active .fib-tab-k{background: var(--fib-accent);color: #fff;}
.fib-grid{display: grid;grid-template-columns: minmax(250px, 320px) minmax(0, 1fr);}
.fib-controls{padding: 1.25rem;border-right: 1px solid var(--fib-line);background: var(--surface);}
.fib-field{margin-bottom: 0.9rem;}
.fib-field label{display: block;margin-bottom: 0.3rem;font-size: 0.75rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.06em;color: var(--fib-dim);}
.fib-input{width: 100%;padding: 0.55rem 0.7rem;font-size: 1rem;color: var(--fib-ink);background: var(--surface);border: 1px solid var(--fib-line);border-radius: 9px;}
.fib-input:focus{outline: none;border-color: var(--fib-accent);box-shadow: 0 0 0 3px rgba(161, 79, 8, 0.15);}
.fib-input-lg{font-size: 1.35rem;font-weight: 600;}
.fib-input-sm{width: auto;padding: 0.4rem 0.6rem;font-size: 0.9rem;}
textarea.fib-input{resize: vertical;word-break: break-all;}
.fib-pair{display: grid;grid-template-columns: 1fr 1fr;gap: 0.6rem;}
.fib-hint{margin: 0 0 0.9rem;font-size: 0.85rem;line-height: 1.5;color: var(--fib-dim);}
.fib-actions{display: flex;flex-wrap: wrap;gap: 0.5rem;}
.fib-btn{display: inline-flex;align-items: center;gap: 0.4rem;padding: 0.5rem 0.95rem;font-size: 0.9rem;font-weight: 600;color: var(--fib-ink);background: var(--surface);border: 1px solid var(--fib-line);border-radius: 9px;cursor: pointer;}
.fib-btn:hover{border-color: var(--fib-accent);color: var(--fib-accent-dark);}
.fib-btn.is-primary{color: #fff;background: var(--fib-accent);border-color: var(--fib-accent);}
.fib-btn.is-primary:hover{background: var(--fib-accent-dark);color: #fff;}
.fib-btn:focus-visible,.fib-link:focus-visible{outline: 2px solid var(--fib-accent);outline-offset: 2px;}
.fib-error{margin: 0.9rem 0 0;padding: 0.6rem 0.75rem;font-size: 0.875rem;color: var(--fib-err);background: var(--fib-err-bg);border-radius: 8px;}
.fib-out{min-width: 0;padding: 1.25rem;background: var(--fib-bg);min-height: 320px;}
.fib-empty{margin: 3rem auto;max-width: 360px;text-align: center;color: var(--fib-dim);}
.fib-visuals{display: grid;grid-template-columns: 1fr 1fr;gap: 0.9rem;margin-bottom: 0.9rem;}
.fib-fig{margin: 0;padding: 0.75rem;background: var(--surface);border: 1px solid var(--fib-line);border-radius: 12px;}
.fib-fig figcaption{margin-bottom: 0.5rem;font-size: 0.8rem;font-weight: 600;color: var(--fib-dim);}
.fib-svg svg{display: block;width: 100%;height: auto;}
.fib-svg .sq{fill: var(--fib-soft);stroke: var(--fib-accent);stroke-width: 1;vector-effect: non-scaling-stroke;}
.fib-svg .sq-t{fill: var(--fib-accent-dark);font-family: ui-monospace, Consolas, monospace;font-weight: 600;}
.fib-svg .arc{fill: none;stroke: var(--fib-blue);stroke-width: 2;vector-effect: non-scaling-stroke;}
.fib-svg .axis{stroke: var(--fib-line);stroke-width: 1;}
.fib-svg .phi{stroke: var(--fib-accent);stroke-width: 1.5;stroke-dasharray: 5 4;}
.fib-svg .ln{fill: none;stroke: var(--fib-blue);stroke-width: 2;}
.fib-svg .dot{fill: var(--fib-blue);}
.fib-svg .lbl{font-size: 11px;fill: var(--fib-dim);font-family: ui-monospace, Consolas, monospace;}
.fib-svg .lbl-phi{fill: var(--fib-accent-dark);font-weight: 700;}
.fib-note{margin: 0;font-size: 0.85rem;color: var(--fib-dim);}
.fib-scroll{overflow-x: auto;border: 1px solid var(--fib-line);border-radius: 12px;background: var(--surface);}
.fib-out .fib-scroll{max-height: 460px;overflow-y: auto;}
.fib-table{width: 100%;margin: 0;border-collapse: collapse;font-size: 0.9rem;}
.fib-table th{position: sticky;top: 0;padding: 0.55rem 0.75rem;text-align: left;font-size: 0.75rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.05em;color: var(--fib-dim);background: var(--fib-bg);border-bottom: 1px solid var(--fib-line);z-index: 1;}
.fib-table td{padding: 0.45rem 0.75rem;border-bottom: 1px solid var(--fib-line);vertical-align: top;}
.fib-table tr:last-child td{border-bottom: 0;}
.fib-table td.num,.fib-table td.fib-mono{font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;font-variant-numeric: tabular-nums;}
.fib-table td.fib-val{word-break: break-all;min-width: 160px;}
.fib-table td.dim{color: var(--fib-dim);}
.fib-table .over{color: var(--fib-accent-dark);}
.fib-table .under{color: var(--fib-blue);}
.fib-big{padding: 1rem;background: var(--surface);border: 1px solid var(--fib-line);border-radius: 12px;}
.fib-big-head{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.5rem;margin-bottom: 0.6rem;font-size: 1.1rem;font-weight: 700;color: var(--fib-accent-dark);}
.fib-tag{padding: 0.2rem 0.6rem;font-size: 0.78rem;font-weight: 600;color: var(--fib-dim);background: var(--fib-bg);border-radius: 999px;}
.fib-digits{max-height: 260px;overflow-y: auto;font-size: 1.15rem;line-height: 1.6;word-break: break-all;color: var(--fib-ink);}
.fib-digits .fold{color: var(--fib-dim);font-size: 0.85rem;font-style: italic;}
.fib-link{margin-top: 0.5rem;padding: 0;font-size: 0.875rem;font-weight: 600;color: var(--fib-accent-dark);background: none;border: 0;text-decoration: underline;cursor: pointer;}
.fib-stats{display: grid;grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));gap: 0.6rem;margin: 0.9rem 0 0;}
.fib-stats div{padding: 0.6rem 0.75rem;background: var(--surface);border: 1px solid var(--fib-line);border-radius: 10px;}
.fib-stats dt{font-size: 0.72rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.05em;color: var(--fib-dim);}
.fib-stats dd{margin: 0.15rem 0 0;font-family: ui-monospace, Consolas, monospace;font-size: 0.95rem;word-break: break-all;}
.fib-verdict{padding: 1rem;border-radius: 12px;font-size: 1.05rem;line-height: 1.5;}
.fib-verdict strong{display: block;font-size: 1.25rem;}
.fib-verdict.is-yes{color: var(--fib-ok);background: var(--fib-ok-bg);border: 1px solid #b9e0c7;}
.fib-verdict.is-no{color: var(--fib-accent-dark);background: var(--fib-soft);border: 1px solid #f0d3a8;}
.fib-line{display: grid;grid-template-columns: 1fr auto 1fr;align-items: center;gap: 0.6rem;margin: 0.9rem 0;font-size: 0.85rem;}
.fib-line .end{padding: 0.5rem 0.65rem;background: var(--surface);border: 1px solid var(--fib-line);border-radius: 10px;min-width: 0;}
.fib-line .end b{display: block;font-family: ui-monospace, Consolas, monospace;word-break: break-all;}
.fib-line .end span{color: var(--fib-dim);}
.fib-line .end.r{text-align: right;}
.fib-line .mid{padding: 0.35rem 0.6rem;font-weight: 700;color: #fff;background: var(--fib-accent);border-radius: 999px;white-space: nowrap;}
.fib-zeck{padding: 0.9rem;background: var(--surface);border: 1px solid var(--fib-line);border-radius: 12px;}
.fib-zeck h3{margin: 0 0 0.3rem;font-size: 0.95rem;font-weight: 700;}
.fib-zeck .fib-hint{margin-bottom: 0.6rem;}
.fib-chips{display: flex;flex-wrap: wrap;align-items: center;gap: 0.35rem;}
.fib-chips .chip{padding: 0.25rem 0.55rem;font-size: 0.9rem;background: var(--fib-soft);border: 1px solid #f0d3a8;border-radius: 7px;word-break: break-all;}
.fib-chips .chip small{margin-left: 0.3rem;color: var(--fib-dim);font-size: 0.72rem;}
.fib-chips .plus{color: var(--fib-dim);}
.fib-export{display: flex;flex-wrap: wrap;align-items: center;gap: 0.5rem;padding: 0.8rem 1.25rem;border-top: 1px solid var(--fib-line);background: var(--surface);}
.fib-export label{font-size: 0.85rem;font-weight: 600;color: var(--fib-dim);}
.fib-toast{font-size: 0.85rem;font-weight: 600;color: var(--fib-ok);}
.fib-byline{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 0.4rem 1rem;margin: 0 0 1.75rem;padding: 0.6rem 0.9rem;font-size: 0.85rem;color: var(--fib-dim);border-left: 3px solid var(--fib-accent);background: var(--fib-bg);border-radius: 0 8px 8px 0;}
.fib-byline .author-link{color: var(--fib-accent-dark);font-weight: 600;}
.fib-article{margin: 0 auto 2rem;font-size: 1.02rem;line-height: 1.7;}
.fib-article h2{margin: 0 0 0.75rem;font-size: 1.75rem;font-weight: 800;line-height: 1.25;}
.fib-article h3{margin: 2rem 0 0.6rem;font-size: 1.25rem;font-weight: 700;}
.fib-article p{margin-bottom: 0.9rem;}
.fib-lead{font-size: 1.1rem;color: var(--fib-ink);}
.fib-article code{padding: 0.1rem 0.3rem;font-size: 0.88em;color: var(--fib-accent-dark);background: var(--fib-bg);border-radius: 4px;}
.fib-strip{display: grid;grid-template-columns: repeat(5, minmax(0, 1fr));gap: 0.4rem;margin: 1rem 0 0.4rem;padding: 0;list-style: none;}
.fib-strip li{position: relative;padding: 0.55rem 0.4rem 0.4rem;text-align: center;font-weight: 600;background: var(--fib-bg);border: 1px solid var(--fib-line);border-radius: 8px;}
.fib-strip li span{position: absolute;top: 2px;left: 6px;font-size: 0.65rem;font-weight: 500;color: var(--fib-dim);}
.fib-caption{font-size: 0.85rem;color: var(--fib-dim);}
.fib-table-ref{font-size: 0.92rem;}
.fib-table-ref code{white-space: nowrap;}
.fib-article .fib-scroll{margin: 0.75rem 0 1rem;}
.fib-formulas{margin: 0.5rem 0 1rem;padding: 0.75rem 1rem;list-style: none;background: var(--fib-bg);border-left: 3px solid var(--fib-accent);border-radius: 0 8px 8px 0;}
.fib-formulas li{padding: 0.15rem 0;}
.fib-code{margin: 0.5rem 0 1rem;padding: 1rem;overflow-x: auto;font-size: 0.88rem;line-height: 1.55;color: #f6ead8;background: #2a1f12;border-radius: 10px;}
.fib-code code{padding: 0;color: inherit;background: none;}
.fib-list{padding-left: 1.2rem;}
.fib-list li{margin-bottom: 0.45rem;}
@media (max-width: 991px){.fib-grid{grid-template-columns: 1fr;}.fib-controls{border-right: 0;border-bottom: 1px solid var(--fib-line);}.fib-visuals{grid-template-columns: 1fr;}}
@media (max-width: 575px){.fib-tab{min-width: 0;padding: 0.7rem 0.5rem;font-size: 0.85rem;}.fib-tab-k{display: none;}.fib-strip{grid-template-columns: repeat(3, minmax(0, 1fr));}.fib-line{grid-template-columns: 1fr;}.fib-line .end.r{text-align: left;}.fib-article h2{font-size: 1.45rem;}}