.elementor-497 .elementor-element.elementor-element-50827b6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-497 .elementor-element.elementor-element-50827b6:not(.elementor-motion-effects-element-type-background), .elementor-497 .elementor-element.elementor-element-50827b6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, var( --e-global-color-c9108fc ) 0%, var( --e-global-color-secondary ) 100%);}.elementor-497 .elementor-element.elementor-element-0cd40fe{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-497 .elementor-element.elementor-element-45443d3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-497 .elementor-element.elementor-element-bbb4730{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(min-width:768px){.elementor-497 .elementor-element.elementor-element-45443d3{--width:22%;}.elementor-497 .elementor-element.elementor-element-bbb4730{--width:78%;}}/* Start custom CSS *//* Fin Flutter — APEX (extends pn-* styles if physics notes CSS is already loaded) */
.ff-block { margin-bottom: 60px; }
.ff-header { display:flex; align-items:center; gap:14px; margin-bottom:20px; padding-bottom:14px; border-bottom:1px solid #30363d; }
.ff-icon { width:36px; height:36px; border-radius:8px; background:rgba(249,115,22,.12); border:1px solid rgba(249,115,22,.4); color:#f97316; font-size:18px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ff-header h2 { font-size:22px; font-weight:700; color:#e6edf3; margin:0; }
.ff-header-sub { font-size:12px; color:#8b949e; margin-top:2px; }
.ff-body { font-size:14px; color:#8b949e; line-height:1.85; }
.ff-body p { margin-bottom:14px; }
.ff-body strong { color:#e6edf3; }
.ff-body h3 { font-size:16px; font-weight:700; color:#e6edf3; margin:32px 0 10px; padding-bottom:8px; border-bottom:1px solid #30363d; }
.ff-body h4 { font-size:13px; font-weight:700; color:#e6edf3; margin:18px 0 8px; }
.ff-body ul { margin:14px 0 14px 20px; display:flex; flex-direction:column; gap:10px; }
.ff-body li { font-size:14px; color:#8b949e; line-height:1.7; }
pre.ff-formula { background:#1c2330; border:1px solid #30363d; border-left:3px solid #f97316; border-radius:0 8px 8px 0; padding:14px 18px; font-family:'Consolas',monospace; font-size:13px; color:#e6edf3; margin:16px 0; overflow-x:auto; line-height:1.7; white-space:pre-wrap; word-break:break-word; }
pre.ff-formula .cmt { color:#8b949e; font-size:11px; }
.ff-note { background:rgba(59,130,246,.06); border:1px solid rgba(59,130,246,.25); border-radius:8px; padding:14px 18px; font-size:13px; color:#8b949e; line-height:1.7; margin:18px 0; }
.ff-note strong { color:#3b82f6; }
.ff-tip { background:rgba(63,185,80,.06); border:1px solid rgba(63,185,80,.25); border-radius:8px; padding:14px 18px; font-size:13px; color:#8b949e; line-height:1.7; margin:18px 0; }
.ff-tip strong { color:#3fb950; }
.ff-warn { background:rgba(248,81,73,.06); border:1px solid rgba(248,81,73,.25); border-radius:8px; padding:14px 18px; font-size:13px; color:#8b949e; line-height:1.7; margin:18px 0; }
.ff-warn strong { color:#f85149; }
.ff-table { width:100%; border-collapse:collapse; margin:18px 0; font-size:13px; }
.ff-table th { background:#1c2330; color:#e6edf3; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; padding:9px 14px; text-align:left; border-bottom:2px solid #30363d; }
.ff-table td { padding:9px 14px; border-bottom:1px solid #30363d; color:#8b949e; vertical-align:top; }
.ff-table td:first-child { color:#e6edf3; font-weight:600; }
.ff-table tr:last-child td { border-bottom:none; }
.ff-table .mono { font-family:'Consolas',monospace; font-size:12px; color:#f97316; }
.ff-table .good { color:#3fb950; }
.ff-table .warn { color:#f97316; }
.ff-table .bad  { color:#f85149; }
.ff-toc-title { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:#484f58; margin-bottom:16px; }
.ff-toc-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:2px; }
.ff-toc-list a { display:block; padding:6px 10px; font-size:12px; color:#8b949e; text-decoration:none; border-radius:5px; border-left:2px solid transparent; transition:all .15s; }
.ff-toc-list a:hover { color:#e6edf3; background:#1c2330; }
.ff-toc-list .sub { padding-left:20px; font-size:11px; }
.ff-toc-break { margin:12px 0 6px; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:#484f58; padding-left:10px; }
.ff-hero-tags { display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin-top:20px; }
.ff-hero-tag { font-size:11px; font-weight:600; background:#1c2330; border:1px solid #30363d; border-radius:4px; padding:4px 10px; color:#8b949e; }/* End custom CSS */