.hero[data-astro-cid-lcdefpme]{border:1px solid var(--rule);background:radial-gradient(900px 240px at 12% -10%, #185c4b1a, transparent 60%), radial-gradient(760px 220px at 88% -10%, #d79a2b1a, transparent 60%), var(--paper-2);border-radius:8px;margin-bottom:2.25rem;padding:2.5rem 2rem 2.25rem;position:relative}.hero-inner[data-astro-cid-lcdefpme]{max-width:64ch}.hero[data-astro-cid-lcdefpme] h1[data-astro-cid-lcdefpme]{font-family:var(--serif);letter-spacing:-.02em;margin:.5rem 0 1rem;font-size:clamp(2rem,4.5vw + 1rem,3.25rem);font-weight:500;line-height:1.15}.hero[data-astro-cid-lcdefpme] .lead[data-astro-cid-lcdefpme]{color:var(--muted);max-width:58ch;font-size:1rem;line-height:1.6}.stats[data-astro-cid-lcdefpme]{border-top:1px solid var(--rule);gap:1.75rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.stat[data-astro-cid-lcdefpme] dt[data-astro-cid-lcdefpme]{font-family:var(--serif);color:var(--accent);font-size:1.75rem;line-height:1}.stat[data-astro-cid-lcdefpme] dd[data-astro-cid-lcdefpme]{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--soft);margin-top:.35rem;font-size:.62rem}.cat-nav[data-astro-cid-lcdefpme]{z-index:15;background:var(--paper);scrollbar-width:thin;gap:.5rem;margin-bottom:.5rem;padding:.75rem 0 .875rem;display:flex;position:sticky;top:45px;overflow-x:auto}.chip[data-astro-cid-lcdefpme]{border:1px solid var(--rule);white-space:nowrap;border-radius:999px;align-items:center;gap:.5rem;padding:.375rem .75rem;transition:border-color .15s,color .15s,background-color .15s;display:inline-flex}.chip[data-astro-cid-lcdefpme]:hover{border-color:var(--accent);color:var(--accent);background:#185c4b0f}.chip-name[data-astro-cid-lcdefpme]{letter-spacing:.02em;font-size:.78rem}.chip-count[data-astro-cid-lcdefpme]{font-family:var(--mono);color:var(--soft);font-size:.62rem}.category[data-astro-cid-lcdefpme]{margin-bottom:3rem;scroll-margin-top:108px}.cat-head[data-astro-cid-lcdefpme]{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.25rem;padding-bottom:.625rem;display:flex}.cat-title[data-astro-cid-lcdefpme]{align-items:baseline;gap:.625rem;display:flex}.cat-title[data-astro-cid-lcdefpme] h2[data-astro-cid-lcdefpme]{font-family:var(--serif);letter-spacing:-.01em;white-space:nowrap;font-size:1.5rem;font-weight:500}.cat-count[data-astro-cid-lcdefpme]{font-family:var(--mono);color:var(--soft);font-size:.66rem}.cat-head[data-astro-cid-lcdefpme] .cat-blurb[data-astro-cid-lcdefpme]{color:var(--soft);text-align:right;max-width:34ch;font-size:.8125rem}.grid[data-astro-cid-lcdefpme]{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;display:grid}.card[data-astro-cid-lcdefpme]{background:var(--paper-2);border:1px solid var(--rule);border-radius:8px;flex-direction:column;transition:border-color .18s,transform .18s,background-color .18s;display:flex;overflow:hidden}.card[data-astro-cid-lcdefpme]:hover{border-color:var(--accent);background:#fff;transform:translateY(-2px)}.thumb[data-astro-cid-lcdefpme]{border-bottom:1px solid var(--rule);background:#fff;justify-content:center;align-items:center;padding:.5rem;display:flex;position:relative;overflow:hidden}.thumb[data-astro-cid-lcdefpme] svg{width:100%;height:100%;transition:transform .25s;display:block}.card[data-astro-cid-lcdefpme]:hover .thumb[data-astro-cid-lcdefpme] svg{transform:scale(1.025)}.thumb-fallback[data-astro-cid-lcdefpme]{font-family:var(--serif);color:var(--muted);font-size:1.25rem}.variants[data-astro-cid-lcdefpme]{border:1px solid var(--rule);background:var(--paper);border-radius:999px;gap:.25rem;padding:.25rem .375rem;display:inline-flex;position:absolute;top:.5rem;right:.5rem}.dot[data-astro-cid-lcdefpme]{background:var(--accent);opacity:.45;border-radius:50%;width:6px;height:6px}.card[data-astro-cid-lcdefpme]:hover .dot[data-astro-cid-lcdefpme]{opacity:1}.card-body[data-astro-cid-lcdefpme]{flex-direction:column;gap:.25rem;padding:.875rem 1rem 1rem;display:flex}.tag[data-astro-cid-lcdefpme]{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:.56rem}.card-body[data-astro-cid-lcdefpme] h3[data-astro-cid-lcdefpme]{letter-spacing:-.01em;font-size:.9375rem;font-weight:600;transition:color .15s}.card[data-astro-cid-lcdefpme]:hover .card-body[data-astro-cid-lcdefpme] h3[data-astro-cid-lcdefpme]{color:var(--accent)}.card-body[data-astro-cid-lcdefpme] p[data-astro-cid-lcdefpme]{color:var(--muted);font-size:.8125rem;line-height:1.45}.generator{--gen-primary:#185c4b;--gen-secondary:#d79a2b;--gen-primary-hover:#10483b;--gen-primary-active:#0b3b31;--gen-primary-soft:#e3eee9;--gen-primary-border:#c5d8d0;--gen-accent:#d79a2b;--gen-accent-hover:#b97810;--gen-accent-soft:#f6e8c6;--gen-ink:#17231f;--gen-muted:#66736d;--gen-soft:#8a958f;--gen-border:#d5d9d0;--gen-border-strong:#8d9b93;--gen-surface:#fffef8;--gen-surface-soft:#f8f6ee;--gen-surface-muted:#f0f3ec;--gen-background:#f3f1e8;--gen-danger:#b94b3b;--gen-danger-soft:#f9ebe8;--gen-success:#2e7d5b;--gen-success-soft:#e2f0e8;--gen-focus:#b97810;--gen-focus-ring:#d79a2b47;--gen-input-background:#fffef8;--gen-input-border:#c9d0ca;--gen-shadow:0 8px 24px #17231f12;box-sizing:border-box;width:min(100%,1200px);max-width:1200px;color:var(--gen-ink);background:#fffef8;border:1px solid #d5d9d0;border-radius:14px;margin:0 auto 40px;padding:28px;font-family:Inter,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;box-shadow:0 8px 24px #17231f12}.generator,.generator *,.generator :before,.generator :after{box-sizing:border-box}.gen-head{max-width:760px;margin:0}.gen-eyebrow{border:1px solid var(--gen-primary-border);min-height:28px;color:var(--gen-primary);letter-spacing:.06em;background:linear-gradient(135deg,#185c4b14,#d79a2b14);border-radius:999px;justify-content:center;align-items:center;margin:0 0 10px;padding:5px 11px;font-size:12px;font-weight:700;line-height:1.35;display:inline-flex}.gen-head h2{color:var(--gen-ink);letter-spacing:-.035em;margin:0;font-size:clamp(26px,3vw,34px);font-weight:750;line-height:1.2}.gen-sub{max-width:720px;color:var(--gen-muted);margin:10px 0 0;font-size:15px;line-height:1.75}.gen-workspace{min-width:0;margin-top:26px;display:block}.gen-main{min-width:0}.gen-form{grid-template-columns:minmax(0,1fr) auto;gap:20px 24px;min-width:0;display:grid}.gen-field{flex-direction:column;gap:8px;min-width:0;margin:0;display:flex}.gen-field-description{grid-column:1/-1;width:100%}.gen-label{min-height:20px;color:var(--gen-ink);align-items:center;gap:6px;font-size:13px;font-style:normal;font-weight:700;line-height:1.5;display:flex}.gen-label em{color:var(--gen-primary);background:#185c4b14;border-radius:999px;align-items:center;padding:1px 6px;font-size:10px;font-style:normal;font-weight:700;line-height:1.6;display:inline-flex}.gen-input,.gen-select{border:1px solid var(--gen-border-strong);background-color:var(--gen-surface);width:100%;min-width:0;min-height:46px;color:var(--gen-ink);font:inherit;border-radius:10px;outline:none;margin:0;font-size:14px;line-height:1.5;transition:border-color .16s,box-shadow .16s,background-color .16s;box-shadow:0 1px 2px #17231f06}.gen-input{padding:11px 14px}.gen-input::placeholder{color:#aaa5b5;opacity:1}.gen-input:hover,.gen-select:hover{border-color:#185c4b59}.gen-input:focus,.gen-select:focus{border-color:var(--gen-primary);background-color:#fff;box-shadow:0 0 0 3px #d79a2b2e,0 2px 6px #17231f0a}.gen-description{width:100%;min-height:120px;color:var(--gen-ink);resize:vertical;background:linear-gradient(#fffffff5,#fffffff5) padding-box padding-box,linear-gradient(135deg,#185c4b29,#d79a2b14) border-box;border-color:#dcd7eb;border-radius:10px;padding:14px;font-size:15px;line-height:1.7;display:block}.gen-description:focus{background:#fff}.gen-field-help{color:var(--gen-soft);margin:0;font-size:12px;line-height:1.55;display:block}.gen-controls{grid-template-columns:repeat(2,minmax(180px,260px));gap:16px;min-width:0;display:grid}.gen-select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,#777187 50%),linear-gradient(135deg,#777187 50%,#0000 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 13px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding:10px 42px 10px 14px}.gen-submit-row{justify-content:flex-end;align-self:end;min-width:0;display:flex}.gen-btn{min-height:42px;font:inherit;text-align:center;white-space:nowrap;cursor:pointer;user-select:none;border:1px solid #0000;border-radius:8px;outline:none;justify-content:center;align-items:center;gap:8px;margin:0;padding:10px 16px;font-size:14px;font-weight:700;line-height:1;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s,background-color .16s,color .16s,opacity .16s;display:inline-flex}.gen-btn:focus-visible{outline-offset:2px;outline:3px solid #d79a2b33}.gen-btn:disabled{cursor:not-allowed;opacity:.58;box-shadow:none;transform:none}.gen-btn-primary{color:#fff;letter-spacing:.01em;background:#185c4b;border:0;border-radius:8px;min-width:176px;min-height:48px;padding:13px 24px;font-size:15px;font-weight:750;box-shadow:0 8px 18px #d79a2b33,0 2px 5px #d79a2b2e}.gen-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 13px 26px #185c4b42,0 4px 9px #185c4b26}.gen-btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 6px 14px #d79a2b33,0 2px 4px #d79a2b2e}.gen-btn-spinner{border:2px solid #ffffff6b;border-top-color:#fff;border-radius:50%;flex:none;width:16px;height:16px;animation:.75s linear infinite gen-spin;display:inline-block}.gen-model{border:1px solid var(--gen-border);background:linear-gradient(135deg, #185c4b09, #d79a2b05), var(--gen-surface-muted);border-radius:8px;margin-top:24px;padding:16px;transition:border-color .16s,background-color .16s,box-shadow .16s;position:relative;overflow:hidden}.gen-model:before{content:"";background:linear-gradient(90deg,#0000,#d79a2b2e,#0000);height:1px;position:absolute;top:0;left:16px;right:16px}.gen-model:hover{border-color:#dcd7eb}.gen-model.is-open{background:linear-gradient(135deg,#185c4b0b,#d79a2b06),#f8f7fc;border-color:#185c4b3d;box-shadow:0 5px 16px #17231f0b}.gen-model-toggle{width:100%;color:var(--gen-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;outline:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin:0;padding:0;display:grid}.gen-model-toggle:focus-visible{outline-offset:5px;outline:3px solid #185c4b2b}.gen-model-icon{background:#ffffffe6;border:1px solid #185c4b21;border-radius:8px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;line-height:1;display:inline-flex;box-shadow:0 2px 7px #17231f0a}.gen-model-title-wrap{flex-direction:column;gap:3px;min-width:0;display:flex}.gen-model-title-wrap strong{color:var(--gen-ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;line-height:1.35;overflow:hidden}.gen-model-title-wrap small{color:var(--gen-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:400;line-height:1.45;overflow:hidden}.gen-model-action{min-width:52px;min-height:28px;color:var(--gen-primary);background:#ffffffe0;border:1px solid #185c4b2b;border-radius:999px;justify-content:center;align-items:center;padding:4px 10px;font-size:12px;font-weight:700;line-height:1;transition:border-color .16s,background-color .16s,box-shadow .16s;display:inline-flex}.gen-model-toggle:hover .gen-model-action{background:#fff;border-color:#185c4b57;box-shadow:0 2px 8px #185c4b12}.gen-model-fields{border-top:1px solid var(--gen-border);grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;padding-top:16px;animation:.18s ease-out gen-reveal;display:grid}.gen-model-hint{color:var(--gen-muted);background:#ffffffbf;border:1px solid #d79a2b2e;border-radius:8px;grid-column:1/-1;margin:0;padding:11px 13px;font-size:12px;line-height:1.65}.gen-model-input{background:#fffffff0;border-radius:8px;min-height:42px;padding:9px 12px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px}.gen-model-security{color:var(--gen-soft);grid-column:1/-1;align-items:center;gap:6px;margin:0;font-size:11px;line-height:1.5;display:flex}.gen-model-security:before{content:"🔒";flex:none;font-size:11px}.gen-feedback{min-height:0;margin-top:16px}.gen-feedback:empty{margin:0;display:none}.gen-hint{border:1px solid var(--gen-primary-border);background:var(--gen-primary-soft);color:#5f5971;border-radius:8px;align-items:center;gap:10px;margin:0;padding:12px 14px;font-size:13px;line-height:1.55;animation:.18s ease-out gen-reveal;display:flex}.gen-status-dot{background:var(--gen-primary);border-radius:50%;flex:none;width:9px;height:9px;animation:1.5s ease-out infinite gen-pulse;box-shadow:0 0 #185c4b59}.gen-error{background:var(--gen-danger-soft);color:var(--gen-danger);border:1px solid #b9384a38;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:3px 10px;margin:0;padding:13px 14px;font-size:13px;line-height:1.55;animation:.18s ease-out gen-reveal;display:grid}.gen-error:before{content:"!";width:20px;height:20px;color:var(--gen-danger);background:#b9384a1c;border-radius:50%;grid-row:1/span 2;justify-content:center;align-items:center;margin-top:1px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.gen-error strong,.gen-error span{grid-column:2}.gen-error strong{font-size:13px;font-weight:750}.gen-error span{overflow-wrap:anywhere;color:#9d3a49;min-width:0}.gen-result{border:1px solid var(--gen-border);background:var(--gen-surface);border-radius:12px;margin-top:24px;animation:.22s ease-out gen-reveal;overflow:hidden;box-shadow:0 6px 20px #17231f0e}.gen-result-head{border-bottom:1px solid var(--gen-border);background:linear-gradient(90deg,#185c4b0b,#d79a2b05),#fff;justify-content:space-between;align-items:center;gap:16px;padding:15px 16px;display:flex}.gen-result-status{align-items:center;gap:11px;min-width:0;display:flex}.gen-result-status>span:last-child{flex-direction:column;gap:3px;min-width:0;display:flex}.gen-result-status strong{color:var(--gen-ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:750;line-height:1.35;overflow:hidden}.gen-result-status small{color:var(--gen-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.45;overflow:hidden}.gen-result-icon{color:#fff;background:linear-gradient(135deg,#185c4b,#d79a2b);border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:800;line-height:1;display:inline-flex;box-shadow:0 5px 12px #d79a2b33}.gen-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.gen-btn-ghost{border-color:var(--gen-border-strong);color:#4f495f;background:#ffffffe6;border-radius:8px;min-height:38px;padding:9px 13px;font-size:12px;font-weight:700;box-shadow:0 1px 2px #17231f06}.gen-btn-ghost:hover:not(:disabled){background:var(--gen-primary-soft);color:var(--gen-primary);border-color:#185c4b61;transform:translateY(-1px);box-shadow:0 4px 10px #185c4b14}.gen-btn-ghost:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 3px #17231f0a}.gen-frame{background-color:#fbfafe;background-image:linear-gradient(45deg,#f5f3fa 25%,#0000 25%),linear-gradient(-45deg,#f5f3fa 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#f5f3fa 75%),linear-gradient(-45deg,#0000 75%,#f5f3fa 75%),none;background-position:0 0,0 8px,8px -8px,-8px 0;background-repeat:repeat,repeat,repeat,repeat,repeat;background-size:16px 16px;background-attachment:scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box;padding:12px;overflow:hidden}.gen-frame iframe{border:1px solid var(--gen-border);background:#fff;border-radius:8px;width:100%;height:520px;display:block;box-shadow:0 2px 8px #17231f0a}@keyframes gen-spin{to{transform:rotate(360deg)}}@keyframes gen-pulse{70%{box-shadow:0 0 0 7px #185c4b00}to{box-shadow:0 0 #185c4b00}}@keyframes gen-reveal{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.generator{padding:24px}.gen-form{grid-template-columns:1fr}.gen-field-description,.gen-controls,.gen-submit-row{grid-column:1}.gen-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.gen-submit-row{justify-content:flex-end}.gen-model-fields{grid-template-columns:1fr}.gen-model-hint,.gen-model-security{grid-column:1}}@media (width<=640px){.generator{border-radius:12px;width:100%;margin-bottom:40px;padding:20px}.gen-head h2{font-size:26px}.gen-sub{font-size:14px;line-height:1.7}.gen-workspace{margin-top:22px}.gen-form{gap:18px}.gen-controls{grid-template-columns:1fr;gap:14px}.gen-submit-row{justify-content:stretch}.gen-btn-primary{width:100%;min-width:0}.gen-model{margin-top:20px;padding:14px}.gen-model-toggle{gap:10px}.gen-model-title-wrap small{white-space:normal}.gen-result-head{flex-direction:column;align-items:flex-start}.gen-actions{justify-content:stretch;width:100%}.gen-actions .gen-btn{flex:140px}.gen-result-status small{white-space:normal}.gen-frame{padding:8px}.gen-frame iframe{height:430px}}@media (width<=420px){.generator{padding:16px}.gen-eyebrow{margin-bottom:8px}.gen-head h2{font-size:23px}.gen-description{min-height:132px}.gen-model-toggle{grid-template-columns:auto minmax(0,1fr)}.gen-model-action{grid-column:2;justify-self:start;width:max-content;min-width:0}.gen-frame iframe{height:380px}}@media (prefers-reduced-motion:reduce){.gen-btn,.gen-input,.gen-select,.gen-model,.gen-model-action{transition:none}.gen-btn-spinner,.gen-status-dot,.gen-model-fields,.gen-hint,.gen-error,.gen-result{animation:none}}@media (width<=860px){.gen-workspace{grid-template-columns:minmax(0,1fr)}.gen-model{order:2}}@media (width<=600px){.gen-head h2{font-size:1.75rem}.gen-sub{font-size:.875rem}.gen-workspace{margin-top:1.25rem}.gen-main{border-radius:13px;padding:1rem}.gen-controls{grid-template-columns:minmax(0,1fr)}.gen-submit-row{justify-content:stretch}.gen-btn-primary{width:100%}.gen-model-title-wrap small{white-space:normal}.gen-result-head{flex-direction:column;align-items:stretch}.gen-actions{justify-content:stretch}.gen-actions .gen-btn{flex:auto}.gen-frame iframe{height:420px}}@media (prefers-reduced-motion:reduce){.gen-btn,.gen-input,.gen-select,.gen-model,.gen-model-action{transition:none}.gen-btn-spinner,.gen-status-dot,.gen-model-fields,.gen-result{animation:none}}
