{
  "$schema": "https://tr.designtokens.org/format/",
  "$description": "as.if.records — Single Source of Truth für die Corporate Identity. W3C Design Tokens Format. Diese Datei ist die Wahrheit: Farben, Typografie, Abstände, Radien, Schatten. Frontend und LLMs lesen aus dieser Datei. Ändern → alles zieht nach.",
  "$extensions": {
    "asif.brand": {
      "name": "as.if.records",
      "version": "1.2.0",
      "updated": "2026-05-29",
      "owner": "FOKS GmbH",
      "summary": "Ein Label-System für Radio, Räume, Studio, Events, Merch, Journal, Website und App. Eine Master-Palette, keine Bereichsfarben. Warm, kuratiert, direkt, präzise.",
      "humanReadable": "https://brand.as-if-records.com/brand.md",
      "llmEntry": "https://brand.as-if-records.com/llms.txt",
      "naming": {
        "case": "immer klein, mit Punkten, keine Großbuchstaben, keine Leerzeichen",
        "wordmark": "_as.if.records (führender Unterstrich nur im Logo-Lockup)",
        "prose": "as.if.records / as.if.radio / as.if.spaces (ohne Unterstrich im Fließtext)",
        "never": [
          "As If Records",
          "AS.IF",
          "As-if-Records",
          "asif",
          "AsIf"
        ],
        "rationale": "Bereiche unterscheiden sich über Name, Icon und Kontext — nie über Farbe. Eine Master-Palette, ein Kosmos."
      },
      "architecture": [
        {
          "name": "as.if.records",
          "what": "Dach / Label & Kosmos (FOKS GmbH)",
          "icon": "studio"
        },
        {
          "name": "as.if.radio",
          "what": "Internetradio, kuratiert, ohne Algorithmus, 9 Kanäle",
          "icon": "radio"
        },
        {
          "name": "as.if.spaces",
          "what": "Kreativräume für Workshops, Drehs, Events",
          "icon": "spaces"
        },
        {
          "name": "as.if.studio",
          "what": "Podcast- und Video-Produktion",
          "icon": "studio"
        },
        {
          "name": "as.if.spirits",
          "what": "Cocktail-Kurse, Schnapskartell",
          "icon": "spirits"
        },
        {
          "name": "as.if.threads",
          "what": "Merch und Apparel",
          "icon": "threads"
        },
        {
          "name": "as.if.journal",
          "what": "Editorial / Blog (Sounds, the.drop, the.noise)",
          "icon": "journal"
        },
        {
          "name": "Schwarzes Gold",
          "what": "Cold Brew Espresso Likör (Produktmarke)",
          "icon": "spirits"
        }
      ],
      "icons": {
        "path": "/assets/icons/",
        "spec": "24px grid, 1.9px stroke, round cap/join, currentColor, fill none except active state",
        "source": "eigenes Set, nicht aus Libraries gemischt"
      }
    }
  },
  "color": {
    "$type": "color",
    "ink": {
      "$value": "#0A0A0A",
      "$description": "Brand Ink. Primäre Textfarbe und dunkle Label-Flächen. Trägt 70–80 % der Fläche gemeinsam mit Paper.",
      "$extensions": {
        "asif": {
          "rgb": "10/10/10",
          "cmyk": "0/0/0/96",
          "onText": "light",
          "role": "text-primary, label-surface"
        }
      }
    },
    "paper": {
      "$value": "#F7F2EA",
      "$description": "Warm Paper. Primärer Hintergrund. Warm, nicht klinisch weiß. Trägt 70–80 % der Fläche gemeinsam mit Ink.",
      "$extensions": {
        "asif": {
          "rgb": "247/242/234",
          "cmyk": "0/2/5/3",
          "onText": "dark",
          "role": "background-primary"
        }
      }
    },
    "cardboard": {
      "$value": "#D8C3A5",
      "$description": "Cardboard. Sekundärfläche, Karten, warme Akzentflächen. 10–20 % der Fläche mit Graphite.",
      "$extensions": {
        "asif": {
          "rgb": "216/195/165",
          "cmyk": "0/10/24/15",
          "onText": "dark",
          "role": "surface-secondary"
        }
      }
    },
    "signal": {
      "$value": "#F2994A",
      "$description": "Signal Orange. Marker, niemals Flächenfarbe. Nur für echte Handlung: CTA, aktiver Zustand, Fokus-Outline. Zusammen mit Clay und Olive 5–10 % der Fläche.",
      "$extensions": {
        "asif": {
          "rgb": "242/153/74",
          "cmyk": "0/37/69/5",
          "onText": "dark",
          "role": "accent-action, focus"
        }
      }
    },
    "clay": {
      "$value": "#A94F36",
      "$description": "Burnt Clay. Warmer Akzent für Washes und Editorial-Momente.",
      "$extensions": {
        "asif": {
          "rgb": "169/79/54",
          "cmyk": "0/53/68/34",
          "onText": "light",
          "role": "accent-warm"
        }
      }
    },
    "olive": {
      "$value": "#52705A",
      "$description": "Olive Shadow. Kühler Akzent für dunkle Washes, Audio-/Abendkontext.",
      "$extensions": {
        "asif": {
          "rgb": "82/112/90",
          "cmyk": "27/0/20/56",
          "onText": "light",
          "role": "accent-cool"
        }
      }
    },
    "graphite": {
      "$value": "#232323",
      "$description": "Graphite. Dunkle Sekundärfläche, Verläufe, dunkle Panels.",
      "$extensions": {
        "asif": {
          "rgb": "35/35/35",
          "cmyk": "0/0/0/86",
          "onText": "light",
          "role": "surface-dark"
        }
      }
    },
    "app": {
      "$value": "#141416",
      "$description": "App Background. Hintergrund für Player und App-Shell. Etwas tiefer als Graphite.",
      "$extensions": {
        "asif": {
          "onText": "light",
          "role": "background-app"
        }
      }
    },
    "muted": {
      "$value": "#B7B7B7",
      "$description": "Muted. Gedämpfter Grauton für sekundäre Labels auf dunklem Grund.",
      "$extensions": {
        "asif": {
          "onText": "dark",
          "role": "text-muted-on-dark"
        }
      }
    },
    "line": {
      "$value": "rgba(10,10,10,0.14)",
      "$description": "Trennlinien auf hellem Grund.",
      "$extensions": {
        "asif": {
          "role": "border-on-light"
        }
      }
    },
    "lineDark": {
      "$value": "rgba(247,242,234,0.18)",
      "$description": "Trennlinien auf dunklem Grund.",
      "$extensions": {
        "asif": {
          "role": "border-on-dark"
        }
      }
    }
  },
  "font": {
    "$type": "fontFamily",
    "logo": {
      "$value": [
        "Roboto",
        "Helvetica Neue",
        "Helvetica",
        "Arial",
        "sans-serif"
      ],
      "$description": "Logo only. Roboto/Helvetica-artig, 900, italic, weiß. AUSSCHLIESSLICH für die Wortmarke _as.if.records. Niemals als Headline missbrauchen.",
      "$extensions": {
        "asif": {
          "role": "wordmark",
          "weight": 900,
          "style": "italic"
        }
      }
    },
    "sans": {
      "$value": [
        "Archivo",
        "Inter",
        "system-ui",
        "-apple-system",
        "BlinkMacSystemFont",
        "Segoe UI",
        "sans-serif"
      ],
      "$description": "Sans / UI. Archivo für UI, Navigation, Headlines, Buttons, Karten. Hohe x-Höhe, direkt, digital stabil.",
      "$extensions": {
        "asif": {
          "role": "ui, headline"
        }
      }
    },
    "serif": {
      "$value": [
        "Source Serif 4",
        "Georgia",
        "Times New Roman",
        "serif"
      ],
      "$description": "Serif / Reading. Source Serif 4 für Longform, Lede, Essays, Journal. Warm, redaktionell, lesefreundlich.",
      "$extensions": {
        "asif": {
          "role": "body, longform, lede"
        }
      }
    },
    "cover": {
      "$value": [
        "Bodoni Moda",
        "Bodoni 72",
        "Didot",
        "Times New Roman",
        "serif"
      ],
      "$description": "Cover / Display. Bodoni Moda NUR groß (ab ~48 px): Cover, Hero, Poster, Editorial-Momente. Niemals Fließtext, niemals UI.",
      "$extensions": {
        "asif": {
          "role": "display, cover",
          "minSize": "48px"
        }
      }
    },
    "mono": {
      "$value": [
        "IBM Plex Mono",
        "SFMono-Regular",
        "Consolas",
        "monospace"
      ],
      "$description": "Mono / Meta. IBM Plex Mono für Meta, Slots, Zeiten, technische Labels, Programm-Logik. Niemals Fließtext oder emotionale Headlines.",
      "$extensions": {
        "asif": {
          "role": "meta, label, data"
        }
      }
    }
  },
  "fontWeight": {
    "$type": "fontWeight",
    "regular": {
      "$value": 400
    },
    "medium": {
      "$value": 500
    },
    "semibold": {
      "$value": 600
    },
    "bold": {
      "$value": 700
    },
    "black": {
      "$value": 900
    }
  },
  "space": {
    "$type": "dimension",
    "$description": "8-pt Spacing-Skala. Keine zufälligen Abstände — immer aus dieser Skala.",
    "1": {
      "$value": "4px"
    },
    "2": {
      "$value": "8px"
    },
    "3": {
      "$value": "12px"
    },
    "4": {
      "$value": "16px"
    },
    "5": {
      "$value": "24px"
    },
    "6": {
      "$value": "32px"
    },
    "7": {
      "$value": "48px"
    },
    "8": {
      "$value": "64px"
    },
    "9": {
      "$value": "96px"
    }
  },
  "radius": {
    "$type": "dimension",
    "default": {
      "$value": "22px",
      "$description": "Standard-Radius für Panels und Karten."
    },
    "sm": {
      "$value": "14px",
      "$description": "Kleiner Radius für Inputs und kompakte Elemente."
    },
    "pill": {
      "$value": "999px",
      "$description": "Voll gerundet für Buttons und Tags."
    },
    "none": {
      "$value": "0px",
      "$description": "Logo-Box: niemals gerundet."
    }
  },
  "layout": {
    "$type": "dimension",
    "pageMax": {
      "$value": "1280px",
      "$description": "Maximale Seitenbreite, 12-Spalten Web."
    },
    "pagePadding": {
      "$value": "28px",
      "$description": "Außenrand Desktop (Mobile 18px)."
    },
    "gridGap": {
      "$value": "20px",
      "$description": "Standard-Gap im Raster (20–32px)."
    },
    "cardMin": {
      "$value": "280px",
      "$description": "Karten nie schmaler als das."
    }
  },
  "shadow": {
    "$type": "shadow",
    "default": {
      "$value": {
        "offsetX": "0px",
        "offsetY": "26px",
        "blur": "90px",
        "spread": "0px",
        "color": "rgba(10,10,10,0.13)"
      },
      "$description": "Weicher, tiefer Schatten für App-Shell und schwebende Flächen. Keine zufälligen Schatten sonst."
    }
  },
  "typography": {
    "$type": "typography",
    "$description": "Typografische Rollen. Größen sind fluid (clamp min→max). Pro Seite maximal drei sichtbare Rollen.",
    "displayXl": {
      "$value": {
        "fontFamily": "{font.sans}",
        "fontWeight": 900,
        "fontSize": "154px",
        "lineHeight": 0.82,
        "letterSpacing": "-0.07em"
      },
      "$extensions": {
        "asif": {
          "min": "96px",
          "max": "154px",
          "fluid": "clamp(96px, 11vw, 154px)"
        }
      }
    },
    "cover": {
      "$value": {
        "fontFamily": "{font.cover}",
        "fontWeight": 800,
        "fontSize": "132px",
        "lineHeight": 0.82,
        "letterSpacing": "-0.055em",
        "textCase": "uppercase"
      },
      "$extensions": {
        "asif": {
          "min": "64px",
          "max": "132px",
          "fluid": "clamp(64px, 9vw, 132px)"
        }
      }
    },
    "h1": {
      "$value": {
        "fontFamily": "{font.sans}",
        "fontWeight": 900,
        "fontSize": "88px",
        "lineHeight": 0.9,
        "letterSpacing": "-0.055em"
      },
      "$extensions": {
        "asif": {
          "min": "56px",
          "max": "88px",
          "fluid": "clamp(56px, 9vw, 88px)"
        }
      }
    },
    "h2": {
      "$value": {
        "fontFamily": "{font.sans}",
        "fontWeight": 900,
        "fontSize": "56px",
        "lineHeight": 0.98,
        "letterSpacing": "-0.04em"
      },
      "$extensions": {
        "asif": {
          "min": "34px",
          "max": "56px",
          "fluid": "clamp(34px, 5vw, 56px)"
        }
      }
    },
    "h3": {
      "$value": {
        "fontFamily": "{font.sans}",
        "fontWeight": 900,
        "fontSize": "22px",
        "lineHeight": 1.04,
        "letterSpacing": "-0.025em"
      }
    },
    "lede": {
      "$value": {
        "fontFamily": "{font.serif}",
        "fontWeight": 400,
        "fontSize": "34px",
        "lineHeight": 1.18,
        "letterSpacing": "-0.012em"
      },
      "$extensions": {
        "asif": {
          "min": "22px",
          "max": "34px",
          "fluid": "clamp(22px, 2.5vw, 34px)"
        }
      }
    },
    "body": {
      "$value": {
        "fontFamily": "{font.serif}",
        "fontWeight": 400,
        "fontSize": "19px",
        "lineHeight": 1.68
      },
      "$extensions": {
        "asif": {
          "min": "18px",
          "max": "20px",
          "measure": "66–78ch"
        }
      }
    },
    "ui": {
      "$value": {
        "fontFamily": "{font.sans}",
        "fontWeight": 600,
        "fontSize": "16px",
        "lineHeight": 1.35,
        "letterSpacing": "-0.01em"
      },
      "$extensions": {
        "asif": {
          "min": "15px",
          "max": "17px"
        }
      }
    },
    "meta": {
      "$value": {
        "fontFamily": "{font.mono}",
        "fontWeight": 700,
        "fontSize": "12px",
        "lineHeight": 1.25,
        "letterSpacing": "0.1em",
        "textCase": "uppercase"
      },
      "$extensions": {
        "asif": {
          "min": "11px",
          "max": "13px",
          "letterSpacingRange": "0.08–0.12em"
        }
      }
    }
  },
  "duration": {
    "$type": "duration",
    "$description": "Animationsdauern. Bewegung ist ruhig und funktional.",
    "fast": {
      "$value": "120ms",
      "$description": "Hover, kleine States"
    },
    "base": {
      "$value": "180ms",
      "$description": "Übergänge, Tabs, Toasts"
    },
    "slow": {
      "$value": "320ms",
      "$description": "Eintritte, Overlays"
    }
  },
  "easing": {
    "$type": "cubicBezier",
    "standard": {
      "$value": [
        0.2,
        0,
        0,
        1
      ],
      "$description": "Standard-Easing (ease-out). Eintritt standard, Austritt etwas schneller. Kein Überschwingen."
    }
  }
}
