:root{--bg:#0F0F10;--surface:#18181B;--ink:#F4F2EE;--muted:#9A968F;--rule:#2A2A2E;--accent:#E0FF4F;--headline:"Söhne Breit","Neue Haas Grotesk Display","Helvetica Neue",sans-serif;--body:"Söhne","Neue Haas Grotesk Text","Helvetica Neue",system-ui,sans-serif;--maxw:1240px;--gutter:24px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit}img{display:block;max-width:100%;height:auto;border-radius:0}button{font:inherit;cursor:pointer}.landing{max-width:920px;margin:0 auto;padding:80px 24px 120px}.landing-header{margin-bottom:80px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);margin:0 0 24px}.landing-header h1{font-family:var(--headline);font-size:clamp(40px,6.5vw,80px);line-height:1;letter-spacing:-.03em;margin:0;font-weight:600}.landing-header h1 .accent{color:var(--accent)}.landing-header .lede{margin-top:32px;max-width:56ch;color:var(--muted);font-size:18px}.landing-footer{margin-top:64px;color:var(--muted);font-size:13px;text-align:center}.form-section,.landing-footer{padding-top:32px;border-top:1px solid var(--rule)}.form-section{margin-bottom:56px}.form-section h2{font-family:var(--headline);font-size:22px;letter-spacing:-.01em;margin:0 0 8px}.muted{color:var(--muted);margin:0 0 24px;max-width:60ch}.muted.small{font-size:13px}.field-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:640px){.field-grid{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.field span em{color:var(--accent);font-style:normal;margin-left:2px}.field input,.field textarea{background:var(--surface);border:1px solid var(--rule);color:var(--ink);padding:12px 14px;font:inherit;font-size:15px;border-radius:0;outline:none;transition:border-color .15s}.field input:focus,.field textarea:focus{border-color:var(--accent)}.field textarea{resize:vertical;font-family:var(--body)}.chip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:8px;gap:8px}.chip{text-align:left;background:var(--surface);border:1px solid var(--rule);color:var(--ink);padding:12px 14px;display:flex;flex-direction:column;gap:2px;border-radius:0}.chip strong{font-size:14px}.chip small{color:var(--muted);font-size:12px}.chip.is-selected{border-color:var(--accent);background:var(--bg)}.chip.is-selected strong{color:var(--accent)}.kit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:16px;gap:16px}.kit-tile{gap:12px;padding:0;background:transparent;border:0;text-align:left}.kit-preview,.kit-tile{display:flex;flex-direction:column}.kit-preview{position:relative;aspect-ratio:4/3;padding:20px;justify-content:space-between;border:2px solid var(--rule);transition:border-color .15s}.kit-tile.is-selected .kit-preview{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.kit-preview__sample{font-size:clamp(18px,2.4vw,24px);line-height:1;letter-spacing:-.02em}.kit-preview__swatches{display:flex;gap:6px;align-self:flex-end}.kit-preview__swatches span{width:18px;height:18px;border:1px solid rgba(0,0,0,.1)}.kit-preview__ordinal{position:absolute;top:8px;right:8px;background:var(--accent);color:#0F0F10;font-family:var(--headline);font-size:14px;width:24px;height:24px;display:grid;place-items:center}.kit-meta{display:flex;flex-direction:column;gap:2px}.kit-meta strong{font-size:14px}.kit-meta small{color:var(--muted);font-size:12px;text-transform:capitalize}.dropzone{border:2px dashed var(--rule);padding:48px 24px;text-align:center;cursor:pointer;display:flex;flex-direction:column;gap:8px;align-items:center;transition:border-color .15s,background-color .15s}.dropzone.is-dragging,.dropzone:hover{border-color:var(--accent);background:var(--surface)}.dropzone strong{font-size:16px}.dropzone small{color:var(--muted);font-size:13px}.dropzone-error{color:#ff7466;font-size:13px;margin:8px 0 0}.dropzone-thumbs{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));grid-gap:8px;gap:8px}.dropzone-thumbs li{position:relative;aspect-ratio:1;background:var(--surface);border:1px solid var(--rule);overflow:hidden}.dropzone-thumbs img{width:100%;height:100%;object-fit:cover;display:block}.dropzone-thumbs .thumb-svg{display:grid;place-items:center;height:100%;font-size:11px;color:var(--muted);padding:6px;text-align:center;word-break:break-all}.dropzone-thumbs button{position:absolute;top:4px;right:4px;width:22px;height:22px;background:var(--bg);color:var(--ink);border:1px solid var(--rule);font-size:14px;line-height:1;display:grid;place-items:center}.submit-section{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.price-line{display:flex;gap:16px;align-items:baseline;width:100%;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--rule)}.price-line strong{font-family:var(--headline);font-size:28px;letter-spacing:-.02em}button.primary{background:var(--accent);color:#0F0F10;border:0;padding:18px 28px;font-family:var(--headline);font-size:18px;font-weight:600;letter-spacing:-.01em;border-radius:0;transition:opacity .15s,background-color .15s}button.primary:disabled{opacity:.4;cursor:not-allowed}button.primary:not(:disabled):hover{background:var(--ink);color:var(--bg)}.form-error{color:#ff7466;font-size:14px;margin:0}.status-page{max-width:720px;margin:80px auto;padding:0 24px}.status-page h1{font-family:var(--headline);font-size:clamp(36px,5vw,56px);line-height:1;letter-spacing:-.025em;margin:0 0 48px}.status-page h1 .muted{color:var(--muted);font-size:.65em;font-weight:400;display:block;margin-top:8px}.status-list ol{list-style:none;padding:0;margin:32px 0}.status-step{display:grid;grid-template-columns:28px 1fr;grid-gap:12px;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--rule);color:var(--muted)}.status-step__indicator{width:22px;height:22px;display:grid;place-items:center;font-size:12px;border:1px solid var(--rule);background:var(--surface)}.status-step--started{color:var(--ink)}.status-step--started .status-step__indicator{border-color:var(--accent);color:var(--accent);animation:status-pulse 1.4s ease-in-out infinite}.status-step--completed{color:var(--ink)}.status-step--completed .status-step__indicator{background:var(--accent);color:#0F0F10;border-color:var(--accent)}.status-step--failed .status-step__indicator{background:#ff7466;color:#0F0F10;border-color:#ff7466}@keyframes status-pulse{0%,to{opacity:.5}50%{opacity:1}}.status-note{margin-top:32px;color:var(--muted);font-size:14px}.status-error{color:var(--muted);font-size:12px;margin-top:16px}.status-failed{border:1px solid #ff7466;padding:24px;background:rgba(255,116,102,.06)}.status-failed h2{font-family:var(--headline);margin:0 0 12px;color:#ff7466}.status-failed a{color:var(--accent)}.concepts-page{max-width:1640px;margin:0 auto;padding:56px 24px 120px}.concepts-header{margin-bottom:40px}.concepts-header h1{font-family:var(--headline);font-size:clamp(36px,5vw,56px);line-height:1;letter-spacing:-.025em;margin:16px 0}.concepts-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px}.concepts-grid.is-expanded{grid-template-columns:1fr}@media (max-width:1100px){.concepts-grid{grid-template-columns:1fr}}.concept-card{gap:16px}.concept-card,.concept-card__meta{display:flex;flex-direction:column}.concept-card__meta{gap:4px}.concept-card__meta .ordinal{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.concept-card__meta strong{font-family:var(--headline);font-size:22px;letter-spacing:-.01em}.concept-card__meta small{font-size:13px}.concept-card__frame{position:relative;background:#fff;aspect-ratio:9/16;overflow:hidden;border:1px solid var(--rule)}.concept-card.is-expanded .concept-card__frame{aspect-ratio:16/9}.concept-card__frame iframe{width:100%;height:100%;border:0}.concept-card__expand{position:absolute;top:8px;right:8px;background:rgba(15,15,16,.85);color:var(--ink);border:0;padding:6px 10px;font-size:11px;letter-spacing:.04em}.concept-card__actions{display:flex;gap:12px;align-items:center;justify-content:space-between}.link-button{color:var(--muted);font-size:13px;text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:2px}.link-button:hover{color:var(--accent);border-bottom-color:var(--accent)}.picked-page{max-width:720px;margin:80px auto;padding:0 24px}.picked-page h1{font-family:var(--headline);font-size:clamp(40px,5vw,64px);line-height:1;letter-spacing:-.025em;margin:0 0 32px}.picked-page h1 .accent{color:var(--accent)}.picked-page .lede{font-size:18px;margin-bottom:48px}.picked-download{margin:32px 0 56px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.picked-download .primary{text-decoration:none}.picked-notes{border-top:1px solid var(--rule);padding-top:32px;margin-top:48px}.picked-notes h2{font-family:var(--headline);font-size:22px;margin:0 0 8px}.picked-notes textarea{display:block;width:100%;margin-top:16px;background:var(--surface);border:1px solid var(--rule);color:var(--ink);padding:14px;font:inherit;font-size:15px;resize:vertical}.picked-notes textarea:focus{border-color:var(--accent);outline:none}.picked-notes__actions{display:flex;gap:16px;align-items:center;margin-top:16px}.admin-page{max-width:1240px;margin:32px auto;padding:0 24px}.admin-page h1{font-family:var(--headline);font-size:32px;letter-spacing:-.02em;margin:0 0 24px}.admin-login{display:flex;gap:12px;align-items:center}.admin-login input{background:var(--surface);border:1px solid var(--rule);color:var(--ink);padding:12px 14px;font:inherit}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table td,.admin-table th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--rule);vertical-align:top}.admin-table th{font-weight:500;text-transform:uppercase;letter-spacing:.12em;font-size:11px}.admin-table small,.admin-table th{color:var(--muted)}.admin-table a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--rule)}.pill{display:inline-block;padding:2px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;background:var(--surface);border:1px solid var(--rule)}.pill--paid{border-color:#b5d8ff;color:#b5d8ff}.pill--generating,.pill--ready{border-color:var(--accent);color:var(--accent)}.pill--picked{background:var(--accent);color:#0F0F10;border-color:var(--accent)}.pill--failed,.pill--refunded{border-color:#ff7466;color:#ff7466}