.feature-showcase { margin-top:44px; }
.fc-header { display:flex; justify-content:center; }
.fc-tabs { display:flex; justify-content:center; flex-wrap:wrap; gap:6px; }
.fc-tab,.fc-control { border:1px solid var(--rule); border-radius:2px; background:transparent; color:var(--muted); cursor:pointer; font:12px/1.5 "Segoe UI",sans-serif; }
.fc-tab { padding:10px 13px; display:flex; align-items:center; justify-content:center; gap:8px; }
.fc-tab small { font:10px/1 var(--mono); opacity:.7; }
.fc-tab[aria-selected="true"] { border-color:var(--ink); background:var(--ink); color:var(--paper); }
.fc-sheet { position:relative; }
.fc-controls { position:absolute; bottom:8px; left:50%; transform:translateX(-50%); z-index:2; display:flex; gap:2px; padding:3px; direction:ltr; border:1px solid rgba(255,255,255,.18); border-radius:999px; background:rgba(40,51,46,.94); box-shadow:0 3px 12px rgba(25,35,29,.15); }
.fc-control { display:grid; place-items:center; width:40px; height:40px; padding:0; border:0; border-radius:50%; color:#fff; }
.fc-control svg { display:block; width:18px; height:18px; pointer-events:none; }
.fc-control:hover { color:#fff; background:rgba(255,255,255,.14); }
.fc-panel { margin-top:16px; }
.fc-panel .excel { margin-top:0; }
.fc-window .excel-titlebar { padding:9px 16px; }
.fc-window .excel-tabs { height:30px; }
.fc-scroller { overflow-x:auto; overscroll-behavior-x:contain; }
.fc-grid { width:100%; min-width:720px; border-collapse:collapse; table-layout:fixed; font:12px/1.4 "Segoe UI",Arial,sans-serif; background:#fff; color:#323130; }
.fc-grid col.fc-row-col { width:32px; }
.fc-grid col.fc-col-a { width:17%; }
.fc-grid col.fc-col-b { width:22%; }
.fc-grid col.fc-col-c { width:5%; }
.fc-grid col.fc-col-d { width:18%; }
.fc-grid col.fc-col-e { width:17%; }
.fc-grid th,.fc-grid td { border-inline-end:1px solid #e1e5e0; border-bottom:1px solid #e1e5e0; height:31px; padding:3px 9px; text-align:left; font-weight:400; white-space:nowrap; position:relative; }
.fc-grid thead th,.fc-grid tbody th { text-align:center; background:#f2f4f1; color:#687068; padding:2px; font-size:10px; }
.fc-grid thead th { height:25px; }
.fc-grid tbody tr:last-child > * { height:64px; }
.fc-grid .fc-label { color:#5d685f; }
.fc-grid .fc-heading { font-weight:600; color:#315c43; background:#eef4ee; }
.fc-grid .fc-title { font-weight:600; font-size:14px; color:#315c43; }
.fc-grid .fc-input { background:#f6f8fc; color:#334e77; }
.fc-grid .fc-output { background:#eff7f1; font-variant-numeric:tabular-nums; }
.fc-grid .fc-top { border-top:2px solid #6c9d7a; }
.fc-grid .fc-bottom { border-bottom:2px solid #6c9d7a; }
.fc-grid .fc-left { border-left:2px solid #6c9d7a; }
.fc-grid .fc-right { border-right:2px solid #6c9d7a; }
.fc-grid .fc-waiting { color:#916b26; background:#fcf9f0; font:11px/1.4 Consolas,monospace; }
.fc-grid .fc-handle { color:#4f4879; background:#f0eef7; font:11px/1.4 Consolas,monospace; }
.fc-grid .fc-rate { font-variant-numeric:tabular-nums; font-weight:600; }
.fc-grid .fc-selected { outline:2px solid #217346; outline-offset:-2px; z-index:1; }
.fc-grid .fc-reference { background:#edf2fa; color:#375f93; border-left:2px solid #92acd0; border-right:2px solid #92acd0; }
.fc-grid .fc-highlight { animation:fc-reveal .35s ease-out; }
.fc-grid .fc-up { animation:fc-up .28s ease-out; }
.fc-grid .fc-down { animation:fc-down .28s ease-out; }
.fc-edit { width:100%; min-width:0; border:0; outline:0; padding:0; background:transparent; color:#323130; font:12px/1.4 "Segoe UI",sans-serif; }
.fc-grid td:has(.fc-edit:focus) { outline:2px solid #217346; outline-offset:-2px; }
.fc-edit:focus-visible { outline:none; }
.fc-grid .fc-writing::after { content:""; position:absolute; width:0; height:0; border-left:7px solid #385b44; border-top:10px solid transparent; border-bottom:3px solid transparent; right:5px; bottom:1px; transform:rotate(-18deg); }
.fc-operation { display:flex; align-items:center; gap:12px; padding:10px 16px; min-height:42px; border-top:1px solid #d9ded8; background:#f8f9f7; font:11px/1.4 "Segoe UI",sans-serif; }
.fc-operation .status-dot { background:#ac884a; }
.fc-operation[data-state="done"] .status-dot,.fc-operation[data-state="streaming"] .status-dot { background:#217346; }
.fc-operation .fc-status { flex:1; }
.fc-metric { font:11px/1.4 var(--mono); color:#526356; white-space:nowrap; }
.fc-formulas { padding:9px 16px; min-height:40px; background:#f3f4f2; border-top:1px solid #d9ded8; display:flex; gap:8px 24px; flex-wrap:wrap; }
.fc-formulas code { color:#44584a; font:11px/1.6 Consolas,monospace; overflow-wrap:anywhere; }
.fc-progress { height:2px; background:#e0e4df; }
.fc-progress span { display:block; height:100%; background:#7c9785; width:0; }
.fc-footer { display:flex; justify-content:flex-end; margin-top:10px; font-size:12px; color:var(--muted); }
.fc-footer:has(.fc-source[hidden]) { display:none; }
.fc-footer a { color:inherit; }
.fc-source[hidden] { display:none; }
.fc-spark { position:absolute; inset:4px 8px; width:calc(100% - 16px); height:calc(100% - 8px); overflow:visible; }
.fc-chart-cell { height:62px !important; }
.fc-tab:focus-visible { outline:2px solid #217346; outline-offset:3px; }
.fc-control:focus-visible { outline:2px solid #fff; outline-offset:-3px; }
@keyframes fc-reveal { from { background:#cde5d2; } to { background:#eff7f1; } }
@keyframes fc-up { from { background:#cde8d5; } to { background:#eff7f1; } }
@keyframes fc-down { from { background:#e6e1ee; } to { background:#eff7f1; } }
@media(max-width:680px) {
  .feature-showcase { margin-top:32px; }
  .fc-tabs { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); flex-basis:100%; gap:8px; }
  .fc-tab { min-height:52px; padding:10px; font-size:12px; }
  .fc-panel { margin-inline:-16px; margin-top:20px; }
  .fc-grid { min-width:660px; font-size:13px; }
  .fc-grid th,.fc-grid td { height:36px; padding-block:5px; }
  .fc-grid thead th { height:28px; }
  .fc-grid .fc-label,.fc-grid .fc-heading { white-space:normal; }
  .fc-edit { font-size:16px; }
  .fc-control { width:44px; height:44px; }
  .fc-footer { font-size:11px; }
  .fc-operation { display:grid; grid-template-columns:7px minmax(0,1fr); gap:4px 10px; padding:12px 16px; font-size:12px; }
  .fc-metric { grid-column:2; white-space:normal; }
  .fc-metric:empty { display:none; }
  .fc-formulas { padding:12px 16px; }
  .fc-formulas code { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .feature-showcase *, .feature-showcase *::after { animation:none !important; transition:none !important; }
}
