@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500&family=Source+Serif+4:opsz,wght@8..60,500;8..60,600;8..60,700&display=swap";:root{--paper:#f4efe6;--paper-2:#ece5d8;--glass:#ffffff9e;--glass-strong:#ffffffd1;--glass-edge:#ffffffbf;--hairline:#1c24331a;--hairline-strong:#1c24332e;--ink:#1c2433;--ink-2:#3f495c;--ink-muted:#5d6577;--ink-faint:#646b7b;--accent:#1f3a68;--accent-2:#2b4c8c;--accent-tint:#1f3a6814;--bronze:#7d6128;--pos:#2a7049;--neg:#b23b3b;--warn:#9a5218;--info:#2f5f9e;--bg-color:var(--paper);--gold-primary:var(--accent);--gold-light:var(--accent);--gold-dark:var(--bronze);--text-main:var(--ink);--text-muted:var(--ink-muted);--glass-bg:var(--glass);--glass-border:var(--hairline);--glass-shadow:0 1px 2px #1c24330a, 0 12px 32px #1c243312;--radius-lg:20px;--radius-md:14px;--radius-sm:10px;--ease-out:cubic-bezier(.23, 1, .32, 1);--font-serif:"Source Serif 4", Georgia, "Times New Roman", serif;--font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--safe-b:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--ink);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;font-feature-settings:"tnum" 1, "lnum" 1;background-color:var(--paper);background-image:radial-gradient(60vmax 50vmax at 8% -10%,#1f3a681a,#0000 60%),radial-gradient(55vmax 45vmax at 105% 30%,#7d612814,#0000 62%),radial-gradient(70vmax 50vmax at 40% 120%,#2f5f9e12,#0000 60%);background-attachment:fixed;min-height:100vh;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--ink);font-weight:600;line-height:1.2}h5,h6{font-family:var(--font-sans);font-weight:600}a{color:var(--accent-2);text-underline-offset:3px;-webkit-text-decoration:underline #2b4c8c59;text-decoration:underline #2b4c8c59}a:hover{color:var(--accent);text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px;border-radius:6px}.glass-panel,.card{background:var(--glass);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:inset 0 1px 0 var(--glass-edge), var(--glass-shadow);-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);position:relative}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass-panel,.card{background:var(--glass-strong)}}.card{transition:border-color .25s,box-shadow .25s}@media (hover:hover) and (pointer:fine){.card:hover{border-color:var(--hairline-strong);box-shadow:inset 0 1px 0 var(--glass-edge), 0 2px 4px #1c24330d, 0 18px 40px #1c243317}}.card--accent{border-left:3px solid var(--accent)}.scroll-progress{transform-origin:0%;background:var(--accent);z-index:100;height:2px;position:fixed;top:0;left:0;right:0}.kicker{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);font-size:.72rem;font-weight:600}.stat-value{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--ink);font-variant-numeric:tabular-nums lining-nums;overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%;font-weight:600;line-height:1.1}.section-rule{background:linear-gradient(90deg, var(--hairline-strong), transparent 80%);border:none;height:1px;margin:8px 0 0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.btn-primary,.btn-secondary{min-height:44px;font-family:var(--font-sans);letter-spacing:.005em;cursor:pointer;touch-action:manipulation;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-size:.98rem;font-weight:600;transition:background-color .2s,border-color .2s,box-shadow .2s,transform .12s ease-out,opacity .2s;display:inline-flex}.btn-primary{border:1px solid var(--accent);color:#fff;background:var(--accent);box-shadow:0 1px 2px #1f3a6840,0 8px 20px #1f3a682e}.btn-primary:hover{background:#18305a}.btn-primary:active,.btn-secondary:active{transform:scale(.98)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{border:1px solid var(--hairline-strong);color:var(--accent);background:#ffffff8c}.btn-secondary:hover{background:#ffffffd9;border-color:#1f3a6859}input,select,textarea{border:1px solid var(--hairline-strong);width:100%;min-height:44px;color:var(--ink);font-family:var(--font-sans);background:#ffffffd9;border-radius:12px;outline:none;padding:11px 14px;font-size:16px;transition:border-color .2s,box-shadow .2s}input::placeholder,textarea::placeholder{color:#8a90a0}input:focus,select:focus,textarea:focus{border-color:var(--accent-2);box-shadow:0 0 0 3px #2b4c8c26}select option{color:var(--ink);background:#fff}input[type=range]{appearance:none;min-height:28px;box-shadow:none;background:0 0;border:none;padding:0}input[type=range]::-webkit-slider-runnable-track{background:#1c243324;border-radius:999px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border:3px solid #fff;border-radius:50%;width:22px;height:22px;margin-top:-9px;box-shadow:0 1px 4px #1c24334d}input[type=range]::-moz-range-track{background:#1c243324;border-radius:999px;height:4px}input[type=range]::-moz-range-thumb{background:var(--accent);border:3px solid #fff;border-radius:50%;width:18px;height:18px}input[type=checkbox],input[type=radio]{width:auto;min-height:0;accent-color:var(--accent);padding:0}label{color:var(--ink-2);margin-bottom:6px;font-size:.9rem;font-weight:500;display:block}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#1c243333;border-radius:4px}.aurora{display:none}.glow-text{text-shadow:none}.hero-num{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--accent);font-variant-numeric:tabular-nums lining-nums;font-weight:600;line-height:1.05}@keyframes fsFadeIn{0%{opacity:0}to{opacity:1}}@keyframes fsPanelIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes fsBlockIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.fs-overlay-in{animation:.18s both fsFadeIn}.fs-panel-in{animation:fsPanelIn .22s var(--ease-out) both}.fs-block-in{animation:fsBlockIn .22s var(--ease-out) both}.acad-btn{width:32px;min-width:32px;height:32px;color:var(--bronze);cursor:pointer;vertical-align:middle;touch-action:manipulation;background:#ffffffb3;border:1px solid #7d612859;border-radius:50%;justify-content:center;align-items:center;margin:-6px 0;padding:0;display:inline-flex;position:relative}.acad-btn:after{content:"";border-radius:50%;position:absolute;inset:-7px}.acad-btn:hover{border-color:var(--bronze);background:#fff}.acad-backdrop{z-index:3000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1c243347;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=720px){.acad-backdrop{align-items:center}}.acad-sheet{overscroll-behavior:contain;-webkit-backdrop-filter:blur(20px)saturate(150%);backdrop-filter:blur(20px)saturate(150%);border:1px solid var(--glass-edge);width:min(640px,100%);max-height:min(86vh,760px);padding:10px 22px calc(22px + var(--safe-b));background:#fcfaf5f0;border-radius:22px 22px 0 0;overflow-y:auto;box-shadow:0 -10px 40px #1c24332e}@media (width>=720px){.acad-sheet{border-radius:22px;padding-bottom:24px}}.acad-grip{background:#1c243333;border-radius:4px;width:40px;height:4px;margin:4px auto 14px}.acad-sheet h3{margin:2px 0 8px;font-size:1.3rem}.acad-sec{margin-top:16px}.acad-sec h4{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--bronze);margin-bottom:6px;font-size:.72rem;font-weight:600}.acad-sec p,.acad-sec li{color:var(--ink-2);font-size:.94rem;line-height:1.6}.acad-sec ul{padding-left:18px}.acad-formula{font-family:var(--font-mono);color:var(--ink);white-space:pre-wrap;background:#1f3a680f;border:1px solid #1f3a681f;border-radius:10px;padding:10px 12px;font-size:.86rem;overflow-x:auto}.acad-ref{color:var(--ink-muted);font-size:.84rem;line-height:1.5}.acad-ref+.acad-ref{margin-top:6px}.lfi-container{max-width:1080px;padding:20px 16px calc(80px + var(--safe-b));margin:0 auto}.lfi-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;display:grid}.lfi-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.9rem}.lfi-table th{text-align:left;color:var(--ink-muted);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--hairline-strong);padding:8px 10px;font-size:.74rem;font-weight:600}.lfi-table td{border-bottom:1px solid var(--hairline);color:var(--ink-2);padding:9px 10px}.lfi-table td.num,.lfi-table th.num{text-align:right}.lfi-scroll-x{-webkit-overflow-scrolling:touch;overflow-x:auto}.lfi-chip{background:var(--accent-tint);color:var(--accent);border:1px solid #1f3a6824;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.76rem;font-weight:600;display:inline-flex}.lfi-logo-compact{display:none}@media (width<=560px){.lfi-logo-full{display:none}.lfi-logo-compact{display:inline-flex}}.lfi-bottomnav{display:none}@media (width<=760px){.lfi-bottomnav{z-index:190;padding:6px 4px calc(6px + var(--safe-b));-webkit-backdrop-filter:blur(16px)saturate(140%);backdrop-filter:blur(16px)saturate(140%);border-top:1px solid var(--hairline);background:#faf7f1db;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.lfi-bottomnav a{min-height:52px;color:var(--ink-muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.7rem;font-weight:500;text-decoration:none;display:flex}.lfi-bottomnav a .pill{border-radius:15px;justify-content:center;align-items:center;width:56px;height:30px;transition:background-color .2s;display:inline-flex}.lfi-bottomnav a.on{color:var(--accent);font-weight:600}.lfi-bottomnav a.on .pill{background:#1f3a681f}.lfi-bottomnav .lbl{text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 2px;overflow:hidden}body{padding-bottom:calc(64px + var(--safe-b))}}
