:root{--bg:#f4f2ec;--panel:#ffffff;--ink:#17201d;--muted:#607069;--line:#d8ddd8;--ember:#c65e2f;--green:#237a63;--steel:#334742}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.button,button{border:0;border-radius:10px;background:var(--green);color:white;padding:.75rem 1rem;cursor:pointer;font-weight:700}.button.secondary,button.secondary{background:var(--steel)}.shell{min-height:100vh;background-image:linear-gradient(#56655e12 1px,transparent 0),linear-gradient(90deg,#56655e12 1px,transparent 0);background-size:24px 24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,4vw,4rem);background:#ffffffed;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{font-weight:900;letter-spacing:-.04em;font-size:1.35rem}.brand span{color:var(--ember)}.nav{display:flex;gap:.85rem;flex-wrap:wrap;color:var(--muted);font-size:.9rem}main{max-width:1200px;margin:auto;padding:clamp(1.25rem,4vw,4rem)}.hero{padding:5rem 0 3rem;max-width:820px}.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:.15em;font-weight:800;font-size:.75rem}h1{font-size:clamp(2.6rem,7vw,5.8rem);line-height:.94;letter-spacing:-.06em;margin:.5rem 0 1.25rem}h2{font-size:clamp(1.5rem,3vw,2.3rem)}h2,h3{margin-top:0}.lede{font-size:1.15rem;color:var(--muted);line-height:1.7;max-width:720px}.actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:1rem;gap:1rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:1.25rem;box-shadow:0 8px 24px #26332d0a}.card p{color:var(--muted);line-height:1.55}.catalog-back,.text-link{color:var(--green);font-weight:800;text-decoration:underline;text-underline-offset:3px}.catalog-hero{max-width:820px;padding:2.6rem 0 1.6rem}.catalog-hero h1{max-width:780px}.catalog-tools{display:grid;grid-gap:1rem;gap:1rem;margin:1.3rem 0 .75rem}.catalog-search{max-width:520px}.catalog-search input{margin-top:.3rem;font-size:1rem}.catalog-categories{display:flex;flex-wrap:wrap;gap:.55rem}button.catalog-filter{border:1px solid var(--line);border-radius:999px;background:white;color:var(--steel);padding:.55rem .95rem;font-weight:700}button.catalog-filter.active{background:var(--steel);color:white;border-color:var(--steel)}.catalog-count{color:var(--muted);font-size:.88rem;margin:1rem 0}.generator-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));grid-gap:1.2rem;gap:1.2rem}.generator-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:19px;background:white;box-shadow:0 10px 28px #26332d0a;transition:transform .18s,box-shadow .18s}.generator-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px #26332d1a}.generator-card:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--ember);outline-offset:3px}.generator-art{position:relative;display:grid;place-items:center;min-height:215px;overflow:hidden}.generator-art img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.generator-art--name{background:#e5e0d2}.generator-art--light{background:radial-gradient(circle at 50% 43%,#f8d997,#856744 42%,#2c3640 80%);color:#fff5d6}.generator-art--balance{background:radial-gradient(circle at 45% 30%,#e0efe7,#92b5a5 60%,#52665e);color:#174a3b}.generator-art--character{background:radial-gradient(circle at 50% 42%,#f4dcc4,#d48c62 55%,#7b4f40);color:#fff0df}.generator-art--cap{background:radial-gradient(circle at 50% 35%,#f2e5b2,#9b9267 58%,#4a574f);color:#263c36}.generator-art--box{background:radial-gradient(circle at 48% 30%,#ecdfbf,#b6b991 58%,#4d6957);color:#34513f}.generator-art--box img{object-fit:contain;padding:10px}.generator-art-symbol{font-size:clamp(7rem,17vw,11rem);line-height:1;text-shadow:0 12px 22px #13221b28}.generator-card-body{display:flex;flex:1 1;flex-direction:column;padding:1.15rem}.generator-card-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--green)}.generator-availability{color:var(--steel);background:#ecf0ed;border-radius:99px;padding:.25rem .5rem;margin-top:-.25rem}.generator-card h2{font-size:1.4rem;line-height:1.12;margin:1rem 0 .4rem}.generator-card p{color:var(--muted);margin:0;line-height:1.5}.generator-card-bottom{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-end;border-top:1px solid var(--line);margin-top:auto;padding-top:1rem;font-size:.78rem;color:var(--muted)}.generator-card-bottom strong{color:var(--green);white-space:nowrap}.catalog-empty{padding:2rem;border:1px dashed var(--line);border-radius:16px;background:white}.catalog-note{border-radius:20px;background:var(--steel);color:white;margin-top:2rem;padding:2rem}.catalog-note .eyebrow{color:#a4dfc9}.catalog-note p:last-child{color:#d5e0d9;line-height:1.6;max-width:680px}.catalog-note a{color:white;text-decoration:underline;text-underline-offset:3px}.generator-detail{max-width:1200px}.catalog-back{display:inline-block;margin-bottom:1.5rem}.generator-detail-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);grid-gap:2rem;gap:2rem;align-items:center;margin-bottom:2rem}.generator-detail-hero h1{font-size:clamp(2.5rem,6vw,5rem)}.generator-detail-art{border-radius:20px;min-height:340px}.generator-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1.2rem;gap:1.2rem}.generator-steps{padding-left:1.5rem;line-height:1.65;color:var(--steel)}.generator-steps li{margin-bottom:.65rem;padding-left:.2rem}.generator-steps li::marker{font-weight:800;color:var(--green)}.generator-tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0}.generator-tags li{background:#eaf2ed;color:#205b49;border-radius:99px;padding:.4rem .7rem;font-size:.86rem;font-weight:700}.generator-setup{margin-top:1.2rem}.generator-limitation{margin-top:1.2rem;padding:1.2rem 1.4rem;border-left:4px solid var(--ember);background:#fff9f2;line-height:1.55}.generator-limitation p{margin:.3rem 0 0}@media (max-width:760px){.generator-detail-grid,.generator-detail-hero{grid-template-columns:1fr}.generator-detail-art{min-height:260px}}.status{display:inline-block;padding:.3rem .55rem;border-radius:999px;background:#e0efe9;color:#185944;font-size:.75rem;font-weight:800}.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);grid-gap:1.25rem;gap:1.25rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.85rem;gap:.85rem}label{display:grid;grid-gap:.35rem;gap:.35rem;color:var(--steel);font-size:.85rem;font-weight:700}input,select,textarea{width:100%;border:1px solid #bbc5c0;border-radius:9px;background:white;color:var(--ink);padding:.7rem}textarea{min-height:88px;resize:vertical}.output{white-space:pre-wrap;line-height:1.55}.metric{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--line)}.metric strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.viewport{min-height:380px;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#e8f2ed,#cfd9d5);border-radius:14px;overflow:hidden}.character{position:relative;width:180px;height:300px;transform:rotate(var(--turn,0deg)) scale(var(--zoom,1));transition:.2s}.head{position:absolute;width:105px;height:95px;left:38px;top:25px;border-radius:45% 45% 40% 40%;background:var(--part);box-shadow:inset -12px -10px #0001}.head.round{border-radius:50%}.head.robot{border-radius:14px}.eyes{top:62px;left:65px;letter-spacing:22px;z-index:2}.body,.eyes{position:absolute}.body{width:130px;height:150px;left:25px;top:115px;border-radius:28px 28px 45px 45px;background:var(--part);box-shadow:inset -15px -12px #0001}.body.slim{width:95px;left:43px}.accessory{top:10px;left:60px;font-size:54px}.accessory,.nameplate{position:absolute;z-index:3}.nameplate{top:180px;width:100%;text-align:center;font-weight:900;color:white;text-shadow:0 1px 3px #0008}.notice{border-left:4px solid var(--ember);padding:.8rem 1rem;background:#fff5ec;color:#69412d;margin:1rem 0}footer{max-width:1200px;margin:auto;padding:2rem 4rem;color:var(--muted);font-size:.85rem}@media (prefers-color-scheme:dark){:root{--bg:#111714;--panel:#1b2420;--ink:#edf3ef;--muted:#aab7b1;--line:#34413b}.topbar{background:#17201ded}input,select,textarea{background:#101714;color:var(--ink);border-color:#48564f}.viewport{background:radial-gradient(circle at 50% 40%,#30443a,#17231e)}}@media (max-width:760px){.nav{display:none}.form-grid,.layout{grid-template-columns:1fr}footer{padding:2rem 1.25rem}}