.fg-page{max-width:960px;margin:0 auto;padding:26px 0 70px}
.fg-hero{padding:clamp(22px,4vw,38px);border:1px solid var(--line-strong);border-radius:26px;background:linear-gradient(145deg,rgba(19,47,66,.96),rgba(10,23,36,.98));box-shadow:var(--shadow)}
.fg-kicker{margin:0 0 10px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.14em}
.fg-hero h1{max-width:25ch;margin:0;font-size:clamp(31px,4.5vw,46px);line-height:1.08;letter-spacing:-.04em}
.fg-generator-controls{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:12px;width:min(100%,650px);margin-top:22px}
.fg-upload-zone{position:relative;display:grid;min-height:112px;align-content:center;justify-items:center;gap:5px;overflow:hidden;border:1px dashed rgba(210,230,242,.38);border-radius:16px;background:rgba(5,16,27,.34);color:var(--text);text-align:center;cursor:pointer}
.fg-upload-zone:hover,.fg-upload-zone:focus-within,.fg-upload-zone.is-dragging{border-color:var(--blue);background:rgba(139,211,255,.08)}
.fg-upload-zone[data-state="selected"]{border-style:solid;border-color:rgba(193,245,106,.65);background:rgba(193,245,106,.06)}
.fg-upload-zone[data-state="done"]{border-style:solid;border-color:var(--accent);background:rgba(193,245,106,.12)}
.fg-upload-mark{display:grid;width:27px;height:27px;place-items:center;border:1px solid var(--line-strong);border-radius:9px;color:var(--blue);font-size:19px;line-height:1}
.fg-upload-prompt{font-size:16px;font-weight:760}
.fg-file-detail{max-width:92%;min-height:16px;color:var(--muted);font-size:12px;line-height:1.35;text-align:center;overflow-wrap:anywhere}
.fg-upload-zone input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.fg-generate-button{width:100%;min-height:52px;padding:12px 18px;border:0;border-radius:12px;background:var(--accent);color:#102016;font:inherit;font-weight:820;cursor:pointer}
.fg-generate-button:disabled{background:rgba(210,230,242,.14);color:#8296a3;cursor:not-allowed}
.fg-private-note{margin:0;color:var(--muted);font-size:13px}
.fg-private-note span{margin-right:8px;color:var(--accent);font-size:9px}
.fg-gen-status{min-height:22px;margin:10px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.fg-gen-status[data-state="ready"],.fg-gen-status[data-state="done"]{color:var(--accent)}
.fg-gen-status[data-state="working"]{color:var(--blue)}
.fg-gen-status[data-state="error"]{color:var(--danger)}
.fg-gen-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-height:198px;margin-top:18px}
.fg-gen-results[hidden]{display:none}
.fg-gen-card{min-width:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(5,15,25,.55)}
.fg-gen-card h2{margin:0 0 10px;font-size:16px}
.fg-gen-card img{display:block;width:100%;height:112px;object-fit:contain;image-rendering:pixelated;border-radius:9px;background-color:#182b3b;background-image:linear-gradient(45deg,#263d4d 25%,transparent 25%),linear-gradient(-45deg,#263d4d 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#263d4d 75%),linear-gradient(-45deg,transparent 75%,#263d4d 75%);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0}
.fg-gen-card p{margin:9px 0;color:var(--muted);font-size:13px}
.fg-gen-card a{display:inline-flex;min-height:44px;align-items:center;margin-top:4px;padding:8px 0;color:var(--blue);font-weight:750;text-decoration:underline;text-underline-offset:3px}
.fg-gen-card a:hover{color:var(--accent)}
.fg-upload-zone input:focus-visible,.fg-generate-button:focus-visible,.fg-gen-card a:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.fg-cta{display:inline-flex;align-items:center;gap:12px;margin-top:22px;padding:12px 18px;border:1px solid rgba(193,245,106,.45);border-radius:999px;background:rgba(193,245,106,.1);color:var(--accent);font-weight:750;text-decoration:none}
.fg-cta-secondary{margin-left:8px;border-color:var(--line-strong);background:transparent;color:var(--blue)}
.fg-audit{margin-top:30px;padding:clamp(18px,4vw,34px);border:1px solid var(--line-strong);border-radius:24px;background:rgba(13,27,42,.88)}
.fg-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.fg-section-head h2{margin:0;font-size:clamp(25px,4vw,36px)}
.fg-local-badge{flex:0 0 auto;padding:7px 10px;border:1px solid rgba(193,245,106,.3);border-radius:999px;color:var(--accent);font-size:12px;font-weight:750}
.fg-intro{max-width:75ch;color:var(--muted)}
.fg-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.fg-field{display:grid;align-content:start;gap:8px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(5,15,25,.5)}
.fg-field label{font-weight:750}.fg-field input[type=url],.fg-field input[type=text],.fg-field textarea{width:100%;min-width:0;padding:12px;border:1px solid var(--line-strong);border-radius:10px;background:#081522;color:var(--text)}
.fg-field textarea{min-height:180px;resize:vertical;font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}
.fg-file-picker{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0}.fg-file-button{min-height:44px;padding:10px 0;border:0;border-radius:0;background:transparent;color:var(--blue);font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.fg-file-button:hover{color:var(--accent)}.fg-file-name{min-width:0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.fg-field input:focus-visible,.fg-field textarea:focus-visible,.fg-actions button:focus-visible,.fg-cta:focus-visible,.fg-file-button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.fg-help{color:var(--muted);font-size:13px}.fg-inventory{max-height:190px;overflow:auto;padding:10px;border-radius:9px;background:rgba(0,0,0,.2);color:var(--muted);font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}
.fg-actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:18px}.fg-actions button{min-height:44px;padding:10px 0;border:0;border-radius:0;background:transparent;color:var(--blue);font:inherit;font-weight:750;text-decoration:underline;text-underline-offset:3px}.fg-actions button:hover{color:var(--accent)}.fg-actions .fg-secondary{color:var(--muted)}
.fg-status{min-height:26px;color:var(--muted)}.fg-results{display:grid;min-width:0;gap:16px;margin-top:14px}.fg-result-card{min-width:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:#0a1926}.fg-result-card h3{margin:0 0 10px;font-size:18px}.fg-result-card p{margin:6px 0;color:var(--muted)}
.fg-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:12px}.fg-table{width:100%;border-collapse:collapse}.fg-table th,.fg-table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}.fg-table th{color:var(--accent);background:rgba(193,245,106,.06);font-size:13px}.fg-table td{font-size:13px}.fg-status-tag{display:inline-block;padding:3px 8px;border-radius:999px;background:rgba(139,211,255,.1);color:var(--blue);font-size:12px;font-weight:800}.fg-status-tag.bad{background:rgba(255,155,155,.12);color:var(--danger)}
.fg-note{margin:18px 0 0;padding:14px 16px;border-left:3px solid var(--blue);border-radius:0 10px 10px 0;background:rgba(139,211,255,.06);color:var(--muted);font-size:14px}
.fg-content{max-width:780px;margin:46px auto 0}.fg-content section{margin:34px 0}.fg-content h2{font-size:clamp(25px,4vw,34px);line-height:1.2}.fg-content p{color:var(--muted)}.fg-content details{padding:15px 0;border-top:1px solid var(--line)}.fg-content summary{cursor:pointer;font-weight:750}.fg-content details p{margin-bottom:0}
.fg-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:20px 0 32px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.fg-footer a{color:var(--blue)}
@media(max-width:680px){.fg-page{padding:16px 0 56px}.fg-input-grid{grid-template-columns:minmax(0,1fr)}.fg-files-field{order:-1}.fg-section-head{align-items:flex-start;flex-direction:column}.fg-local-badge{align-self:flex-start}.fg-actions{gap:14px}.fg-hero{padding:20px 16px;border-radius:18px}.fg-hero h1{font-size:clamp(27px,7.2vw,33px);line-height:1.1}.fg-generator-controls{gap:10px;margin-top:16px}.fg-upload-zone{min-height:96px}.fg-upload-prompt{font-size:15px}.fg-private-note{font-size:12px}.fg-gen-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;min-height:210px}.fg-gen-card{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;align-content:start;gap:4px;padding:10px 6px;text-align:center}.fg-gen-card h2{min-height:34px;margin:0;font-size:12px;line-height:1.25}.fg-gen-card img{width:56px;height:56px}.fg-gen-card p{min-height:32px;margin:3px 0;font-size:10px;line-height:1.4}.fg-gen-card a{justify-self:center;min-height:44px;margin:0;padding:5px 0;font-size:10px;line-height:1.2;overflow-wrap:anywhere;word-break:break-word}.fg-table-wrap{overflow:visible;border:0}.fg-table,.fg-table tbody{display:block;width:100%;min-width:0}.fg-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fg-table tr{display:block;margin:0 0 10px;padding:8px;border:1px solid var(--line);border-radius:11px}.fg-table td{display:grid;grid-template-columns:minmax(96px,32%) minmax(0,1fr);gap:10px;padding:8px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.fg-table td:last-child{border-bottom:0}.fg-table td::before{content:attr(data-label);color:var(--accent);font-weight:750}.fg-table td[colspan]::before{content:none}}
.fg-updated{margin:12px 0 0;color:var(--muted);font-size:13px}
.fg-evidence{margin:22px 0;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(5,15,25,.48)}
.fg-evidence img{display:block;width:100%;height:auto;border-radius:9px}
.fg-evidence figcaption{margin:10px 2px 2px;color:var(--muted);font-size:13px;line-height:1.5}
