.nf-app{--color-bg:#fafafc;--color-surface:#fff;--color-text:#191b26;--color-accent:#6a5cd0;--color-divider:color-mix(in srgb,#191b26 11%,transparent);--color-neutral-100:#14151d;--color-neutral-200:#262833;--color-neutral-300:#3c3f4d;--color-neutral-400:#565a6b;--color-neutral-500:#767a8c;--color-neutral-600:#989cad;--color-neutral-700:#c0c3d1;--color-neutral-800:#e2e4ec;--color-neutral-900:#f0f1f6;--color-accent-100:#2c2557;--color-accent-200:#3d3379;--color-accent-300:#52449f;--color-accent-400:#6455bf;--color-accent-500:#7e70d6;--color-accent-600:#a89ee6;--color-accent-700:#cfc9f2;--color-accent-800:#e8e5f9;--color-accent-900:#f4f2fc;--font-heading:var(--font-inter),"Inter",system-ui,sans-serif;--font-heading-weight:500;--font-body:var(--font-inter),"Inter",system-ui,sans-serif;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--shadow-sm:0 0 0 1px rgba(23,23,43,.05),0 1px 2px rgba(23,23,43,.05);--shadow-md:0 0 0 1px rgba(23,23,43,.05),0 6px 18px rgba(23,23,43,.09);--shadow-lg:0 0 0 1px rgba(23,23,43,.06),0 16px 40px rgba(23,23,43,.14);background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:15px;line-height:1.55}.nf-app ::selection{background:color-mix(in srgb,var(--color-accent) 24%,transparent)}.nf-app :focus{outline:none}.nf-app :focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.nf-app h1,.nf-app h2,.nf-app h3,.nf-app h4,.nf-app h5,.nf-app h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);line-height:1.12;letter-spacing:-.015em;margin:0 0 6px}.nf-app h3{font-size:25px}.nf-app h4{font-size:20px}.nf-app h6{font-size:13px;letter-spacing:.08em;text-transform:uppercase}.nf-app p{margin:0 0 8px}.nf-app a{color:var(--color-accent);text-underline-offset:3px}.nf-app a:hover{color:var(--color-accent-400)}.nf-app .text-muted{color:color-mix(in srgb,var(--color-text) 55%,transparent)}.nf-app ::-webkit-scrollbar{width:10px}.nf-app ::-webkit-scrollbar-thumb{background:var(--color-neutral-800);border-radius:5px;border:3px solid var(--color-bg)}.nf-app ::-webkit-scrollbar-track{background:transparent}.nf-app .nf-rule-bottom{background:linear-gradient(to right,transparent,var(--color-divider) 48px,var(--color-divider) calc(100% - 48px),transparent) no-repeat bottom /100% 1px}.nf-app .nf-rule-top{background:linear-gradient(to right,transparent,var(--color-divider) 48px,var(--color-divider) calc(100% - 48px),transparent) no-repeat top /100% 1px}.nf-app .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;text-decoration:none;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:14px;line-height:1.2;color:var(--color-text);background:transparent;border:1px solid transparent;padding:7px 12px;border-radius:var(--radius-md)}.nf-app .btn:disabled{opacity:.45;cursor:not-allowed}.nf-app .btn-primary{color:#fff;background:var(--color-accent);border-color:var(--color-accent)}.nf-app .btn-primary:hover:not(:disabled){background:var(--color-accent-400);border-color:var(--color-accent-400)}.nf-app .btn-primary:active:not(:disabled){background:var(--color-accent-300)}.nf-app .btn-secondary{border-color:var(--color-divider);background:var(--color-surface)}.nf-app .btn-secondary:hover:not(:disabled){background:color-mix(in srgb,var(--color-text) 5%,var(--color-surface))}.nf-app .btn-ghost{color:var(--color-accent);padding-inline:6px}.nf-app .btn-ghost:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent) 9%,transparent)}.nf-app .btn-icon{width:36px;height:36px;padding:0}.nf-app .btn-block{width:100%}.nf-app .input{width:100%;min-height:36px;padding:6px 10px;font:inherit;font-size:14px;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md)}.nf-app .input::placeholder{color:var(--color-neutral-600)}.nf-app .input:hover{border-color:color-mix(in srgb,var(--color-text) 30%,transparent)}.nf-app .input:focus-visible{border-color:var(--color-accent);outline-offset:0}.nf-app textarea.input{min-height:90px;resize:vertical}.nf-app .seg{display:inline-flex;overflow:hidden;border:1px solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-surface)}.nf-app .seg-opt{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:13px;cursor:pointer}.nf-app .seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.nf-app .seg-opt input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.nf-app .seg-opt:has(input:checked){color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.nf-app .seg-opt:not(:has(input:checked)):hover{background:color-mix(in srgb,var(--color-text) 5%,transparent)}.nf-app .tag{display:inline-flex;align-items:center;font-size:11px;letter-spacing:.02em;padding:3px 10px;border-radius:6px}.nf-app .tag-accent{background:var(--color-accent-800);color:var(--color-accent-200)}.nf-app .tag-neutral{background:var(--color-neutral-800);color:var(--color-neutral-300)}.nf-app .tag-outline{border:1px solid var(--color-accent);color:var(--color-accent)}.nf-app .table{width:100%;border-collapse:collapse;font-size:14px}.nf-app .table th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 55%,transparent);padding:8px 6px}.nf-app .table td{padding:11px 6px}.nf-app .table thead tr{background:linear-gradient(to right,transparent,var(--color-divider) 48px,var(--color-divider) calc(100% - 48px),transparent) no-repeat bottom /100% 1px}.nf-app .table tbody tr{background:linear-gradient(to right,transparent,color-mix(in srgb,var(--color-text) 7%,transparent) 48px,color-mix(in srgb,var(--color-text) 7%,transparent) calc(100% - 48px),transparent) no-repeat bottom /100% 1px}.nf-app .table tbody tr:hover{background:linear-gradient(color-mix(in srgb,var(--color-text) 3%,transparent),color-mix(in srgb,var(--color-text) 3%,transparent)) no-repeat 0 0 /100% 100%,linear-gradient(to right,transparent,color-mix(in srgb,var(--color-text) 7%,transparent) 48px,color-mix(in srgb,var(--color-text) 7%,transparent) calc(100% - 48px),transparent) no-repeat bottom /100% 1px}.nf-app .panel{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.nf-app .kicker{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.nf-app .nf-navbtn{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border:none;cursor:pointer;font:inherit;font-size:14px;padding:8px 10px;border-radius:var(--radius-md);text-decoration:none;color:var(--color-neutral-400);background:transparent}.nf-app .nf-navbtn:hover{background:color-mix(in srgb,var(--color-text) 5%,transparent);color:var(--color-neutral-300)}.nf-app .nf-navbtn[data-active=true]{background:color-mix(in srgb,var(--color-accent) 10%,transparent);color:var(--color-accent-300)}.nf-app .nf-toolcard{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;font:inherit;color:inherit;cursor:pointer;background:var(--color-surface);border:none;border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-sm);text-decoration:none;transition:box-shadow .15s ease}.nf-app .nf-toolcard:hover{box-shadow:var(--shadow-md)}.nf-app .nf-row{display:flex;align-items:center;gap:12px;padding:11px 6px;cursor:pointer;text-decoration:none;color:inherit;background:linear-gradient(to right,transparent,color-mix(in srgb,var(--color-text) 7%,transparent) 48px,color-mix(in srgb,var(--color-text) 7%,transparent) calc(100% - 48px),transparent) no-repeat bottom /100% 1px}.nf-app .nf-row:hover{background:linear-gradient(color-mix(in srgb,var(--color-text) 3%,transparent),color-mix(in srgb,var(--color-text) 3%,transparent)) no-repeat 0 0 /100% 100%,linear-gradient(to right,transparent,color-mix(in srgb,var(--color-text) 7%,transparent) 48px,color-mix(in srgb,var(--color-text) 7%,transparent) calc(100% - 48px),transparent) no-repeat bottom /100% 1px}.nf-app .nf-flip-scene{perspective:1400px;cursor:pointer;height:340px}.nf-app .nf-flip-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.7,.2,1)}.nf-app .nf-flip-face{position:absolute;inset:0;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:40px 56px;border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.nf-app .nf-flip-back{transform:rotateY(180deg);background:radial-gradient(120% 160% at 50% 0,color-mix(in srgb,var(--color-accent-700) 45%,var(--color-surface)) 0,var(--color-surface) 65%)}.nf-app .nf-rate{display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;font:inherit;padding:10px;border-radius:var(--radius-md);border:1px solid var(--color-divider);background:var(--color-surface)}.nf-app .nf-rate:hover{background:color-mix(in srgb,var(--color-text) 4%,var(--color-surface))}.nf-app .nf-opt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;font:inherit;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--color-divider);background:transparent;color:var(--color-text)}.nf-app .nf-opt:not(:disabled):hover{border-color:color-mix(in srgb,var(--color-text) 35%,transparent)}.nf-app .nf-track{height:3px;border-radius:2px;background:var(--color-neutral-800);overflow:hidden}.nf-app .nf-track>div{height:100%;border-radius:2px;background:var(--color-accent);transition:width .3s}