:root{--navy:oklch(0.43 0.055 249);--navy-deep:oklch(0.28 0.050 249);--navy-hairline:oklch(0.38 0.050 249);--accent:oklch(0.72 0.16 55);--accent-ink:oklch(0.50 0.16 55);--accent-soft:oklch(0.93 0.06 55);--accent-glow:oklch(0.72 0.16 55/.38);--sky:oklch(0.74 0.12 235);--sky-soft:oklch(0.93 0.05 235);--ink:oklch(0.24 0.030 249);--ink-mute:oklch(0.48 0.018 249);--ink-soft:oklch(0.62 0.012 249);--surface:oklch(0.985 0.004 85);--surface-2:oklch(0.96 0.006 85);--surface-3:oklch(0.93 0.008 85);--rule:oklch(0.90 0.010 249);--rule-soft:oklch(0.94 0.008 249);--ok:oklch(0.48 0.14 155);--warn:oklch(0.70 0.16 75);--err:oklch(0.52 0.18 25);--radius-sm:4px;--radius:6px;--radius-lg:10px;--radius-xl:14px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--font-sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI Variable Text","Segoe UI",system-ui,sans-serif;--font-mono:ui-monospace,"SF Mono","Menlo","Cascadia Mono","Consolas",monospace;--ease-out:cubic-bezier(0.22,1,0.36,1);--glass-stroke:hsla(0,0%,100%,.18);--glass-stroke-strong:hsla(0,0%,100%,.32);--glass-tint:linear-gradient(180deg,hsla(0,0%,100%,.12),hsla(0,0%,100%,.035));--glass-tint-hover:linear-gradient(180deg,hsla(0,0%,100%,.22),hsla(0,0%,100%,.06));--glass-inset:0 1px 0 hsla(0,0%,100%,.14) inset,0 1px 2px rgba(0,0,0,.2);--shadow-card:0 1px 0 hsla(0,0%,100%,.9) inset,0 1px 2px rgba(31,45,66,.04),0 10px 28px -14px rgba(31,45,66,.18);--shadow-card-hover:0 1px 0 hsla(0,0%,100%,.95) inset,0 4px 10px rgba(31,45,66,.06),0 22px 42px -16px color-mix(in oklch,var(--accent) 40%,transparent)}*{box-sizing:border-box}body,html{margin:0;padding:0}body.ofm{background:radial-gradient(1200px 700px at 85% -10%,var(--sky-soft),transparent 60%),radial-gradient(900px 600px at 0 110%,color-mix(in oklch,var(--accent) 12%,transparent),transparent 55%),var(--surface);background-attachment:fixed;color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern","liga","calt","ss01"}.ofm a{color:inherit}.ofm button{font:inherit;cursor:pointer}.ofm ::selection{background:var(--accent);color:#fff}.ofm-masthead{position:relative;color:#fff;background:radial-gradient(ellipse 55% 80% at 50% -10%,color-mix(in oklch,#fff 14%,transparent) 0,transparent 62%),linear-gradient(180deg,oklch(.46 .058 249),oklch(.42 .056 249) 34%,oklch(.35 .05 249));box-shadow:inset 0 1px 0 hsla(0,0%,100%,.18),inset 0 -1px 0 rgba(0,0,0,.28),0 4px 10px -4px rgba(15,28,46,.38);overflow:hidden}.ofm-masthead:before{left:0;right:0;top:0;height:55%;background:linear-gradient(180deg,hsla(0,0%,100%,.11),hsla(0,0%,100%,.035) 55%,transparent);z-index:1}.ofm-masthead:after,.ofm-masthead:before{content:"";position:absolute;pointer-events:none}.ofm-masthead:after{inset:0;background-image:radial-gradient(circle,hsla(0,0%,100%,.035) 1px,transparent 0);background-size:18px 18px;background-position:9px 9px;opacity:.55;z-index:0;mask-image:radial-gradient(ellipse 70% 100% at 50% 50%,#000 0,transparent 85%);-webkit-mask-image:radial-gradient(ellipse 70% 100% at 50% 50%,#000 0,transparent 85%)}.ofm-masthead-inner{position:relative;z-index:2;max-width:1120px;margin:0 auto;padding:var(--s-5) var(--s-5) var(--s-4);display:grid;grid-template-columns:auto 1fr auto;grid-gap:var(--s-4)}.ofm-lock,.ofm-masthead-inner{align-items:center;gap:var(--s-4)}.ofm-lock{display:flex}.ofm-lock img{height:44px;width:auto;display:block}.ofm-lock .ofm-eyebrow{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:hsla(0,0%,100%,.62);font-weight:500;margin:0 0 2px}.ofm-lock h1{margin:0;font-size:20px;font-weight:600;letter-spacing:-.01em}.ofm-mast-meta{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:hsla(0,0%,100%,.55);font-weight:500;text-align:right}.ofm-mast-puck{height:40px;width:40px;border-radius:50%;background:#fff;padding:3px;box-shadow:0 2px 6px rgba(0,0,0,.25),inset 0 0 0 1px hsla(0,0%,100%,.25),0 0 0 3px hsla(0,0%,100%,.08),0 0 14px 2px rgba(180,220,255,.28);animation:ofm-puck-pulse 4.2s ease-in-out infinite}@keyframes ofm-puck-pulse{0%,to{box-shadow:0 2px 6px rgba(0,0,0,.25),inset 0 0 0 1px hsla(0,0%,100%,.25),0 0 0 3px hsla(0,0%,100%,.08),0 0 12px 1px rgba(180,220,255,.24)}50%{box-shadow:0 2px 6px rgba(0,0,0,.25),inset 0 0 0 1px hsla(0,0%,100%,.25),0 0 0 3px hsla(0,0%,100%,.1),0 0 22px 4px rgba(180,220,255,.48)}}@media (prefers-reduced-motion:reduce){.ofm-mast-puck{animation:none}}.ofm-statusbar{position:relative;background:linear-gradient(180deg,oklch(.28 .05 249),oklch(.22 .045 249));color:hsla(0,0%,100%,.8);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),inset 0 -1px 0 rgba(0,0,0,.28),0 2px 6px -2px rgba(0,0,0,.28)}.ofm-statusbar:before{content:"";position:absolute;left:0;right:0;top:0;height:55%;background:linear-gradient(180deg,hsla(0,0%,100%,.055),transparent);pointer-events:none}.ofm-statusbar-inner{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:9px var(--s-5);display:flex;justify-content:space-between;gap:var(--s-4);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500}.ofm-statusbar .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ok);margin-right:14px;vertical-align:1px;box-shadow:0 0 0 3px color-mix(in oklch,var(--ok) 28%,transparent)}.ofm-main{max-width:1120px;margin:0 auto;padding:var(--s-6) var(--s-5)}.ofm-card{background:linear-gradient(180deg,#fff,oklch(.985 .005 249));border:1px solid var(--rule);border-radius:var(--radius-xl);padding:var(--s-5);box-shadow:var(--shadow-card);position:relative;overflow:hidden;transition:border-color .3s var(--ease-out),transform .3s var(--ease-out),box-shadow .3s var(--ease-out)}.ofm-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 100% 0,color-mix(in oklch,var(--accent) 12%,transparent) 0,transparent 48%);opacity:.7;transition:opacity .3s var(--ease-out)}.ofm-card.is-interactive{cursor:pointer;text-decoration:none;color:inherit}.ofm-card.is-interactive:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.ofm-card.is-interactive:hover:before{opacity:1}.ofm-panel{background:#fff;padding:var(--s-5);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.9),0 1px 2px rgba(31,45,66,.04)}.ofm-panel,.ofm-tile{border:1px solid var(--rule);border-radius:var(--radius-lg)}.ofm-tile{background:var(--surface);padding:var(--s-4)}.ofm-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--navy);font-weight:600}.ofm-h2{font-size:22px;letter-spacing:-.015em}.ofm-h-display,.ofm-h2{margin:0;color:var(--navy-deep);font-weight:600}.ofm-h-display{font-size:clamp(30px,3.2vw,44px);letter-spacing:-.025em;line-height:1.05}.ofm-rule{height:1px;background:var(--rule);border:0;margin:var(--s-4) 0}.ofm-rule-soft{height:1px;background:var(--rule-soft);border:0;margin:var(--s-3) 0}.ofm-btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;padding:10px 14px;border-radius:var(--radius);font:inherit;font-size:14px;font-weight:500;letter-spacing:-.005em;border:1px solid var(--rule);background:var(--surface);color:var(--ink);cursor:pointer;transition:background .2s var(--ease-out),border-color .2s var(--ease-out),box-shadow .2s var(--ease-out),transform .15s var(--ease-out)}.ofm-btn:hover{border-color:var(--navy);background:#fff}.ofm-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ofm-btn:active{transform:translateY(1px)}.ofm-btn-primary{background:linear-gradient(180deg,oklch(.48 .06 249) 0,var(--navy) 55%,oklch(.38 .05 249) 100%);color:#fff;border-color:var(--navy);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.18),inset 0 -1px 0 rgba(0,0,0,.15),0 1px 2px rgba(31,45,66,.22),0 4px 12px -4px rgba(31,45,66,.35)}.ofm-btn-primary:hover{background:linear-gradient(180deg,oklch(.52 .065 249),oklch(.4 .055 249) 55%,oklch(.32 .05 249));box-shadow:0 1px 0 hsla(0,0%,100%,.2) inset,0 -1px 0 rgba(0,0,0,.18) inset,0 2px 6px rgba(31,45,66,.3),0 8px 22px -6px color-mix(in oklch,var(--accent) 35%,transparent)}.ofm-btn-primary:disabled{opacity:.6;cursor:not-allowed}.ofm-btn-accent{background:color-mix(in oklch,var(--accent) 10%,transparent);border-color:color-mix(in oklch,var(--accent) 30%,transparent);color:var(--accent-ink)}.ofm-btn-accent:hover{border-color:var(--accent);color:var(--accent-ink);background:color-mix(in oklch,var(--accent) 18%,transparent);box-shadow:0 2px 10px color-mix(in oklch,var(--accent) 25%,transparent)}.ofm-btn-ghost-dark{background:var(--glass-tint);border:1px solid var(--glass-stroke);color:hsla(0,0%,100%,.92);box-shadow:var(--glass-inset);font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;padding:7px 14px;border-radius:100px}.ofm-btn-ghost-dark:hover{background:var(--glass-tint-hover);border-color:var(--glass-stroke-strong);color:#fff}.ofm-label{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute);font-weight:500;margin-bottom:8px}.ofm-label .hint{color:var(--ink-soft);letter-spacing:.16em;margin-left:6px;font-weight:400;text-transform:none}.ofm-input,.ofm-select,.ofm-textarea{width:100%;padding:12px 14px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);font:inherit;font-size:15px;color:var(--ink);outline:none;transition:border-color .2s var(--ease-out),background .2s var(--ease-out),box-shadow .2s var(--ease-out)}.ofm-input:focus,.ofm-select:focus,.ofm-textarea:focus{border-color:var(--navy);background:#fff;box-shadow:0 0 0 4px color-mix(in oklch,var(--navy) 12%,transparent)}.ofm-input[type=number]{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ofm-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:100px;background:var(--surface-2);color:var(--ink-mute);border:1px solid var(--rule);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}.ofm-chip-accent{background:var(--accent-soft);color:var(--accent-ink);border-color:color-mix(in oklch,var(--accent) 30%,transparent);box-shadow:0 1px 0 hsla(0,0%,100%,.7) inset,0 2px 8px color-mix(in oklch,var(--accent) 22%,transparent)}.ofm-chip-navy{background:color-mix(in oklch,var(--navy) 8%,transparent);color:var(--navy);border-color:color-mix(in oklch,var(--navy) 22%,transparent)}.ofm-footer{max-width:1120px;margin:0 auto;padding:var(--s-6) var(--s-5) var(--s-7);border-top:1px solid var(--rule-soft);display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;color:var(--ink-soft)}.ofm-footer .stamp{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:500}.ofm-footer .sig{font-family:var(--font-sans);font-size:11px;color:var(--ink-soft)}.ofm-footer .mark{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;background:var(--navy);color:#fff;font-size:11px;font-weight:700;margin-right:10px;vertical-align:-4px}.ofm :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.ofm kbd{font-family:var(--font-mono);font-size:11px;background:var(--surface-2);color:var(--ink-mute);border:solid var(--rule);border-width:1px 1px 2px;border-radius:4px;padding:1px 6px;display:inline-flex;align-items:center;justify-content:center;min-width:20px;line-height:1.3;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ofm-mono{font-family:var(--font-mono)}.ofm-tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ofm-muted{color:var(--ink-mute)}.ofm-soft{color:var(--ink-soft)}.ofm-navy{color:var(--navy)}.ofm-accent{color:var(--accent-ink)}.ofm-stack{display:flex;flex-direction:column;gap:var(--s-3)}.ofm-row,.ofm-row-between{display:flex;align-items:center;gap:var(--s-3)}.ofm-row-between{justify-content:space-between}.ofm-grid-2{grid-template-columns:1fr 1fr;grid-gap:var(--s-4)}.ofm-grid-2,.ofm-grid-3{display:grid;gap:var(--s-4)}.ofm-grid-3{grid-template-columns:repeat(3,1fr);grid-gap:var(--s-4)}@media (max-width:720px){.ofm-grid-2,.ofm-grid-3{grid-template-columns:1fr}}