/* Sole visual reference: /abgabereife, measured 2026-09-14.
   Appearance only: no layout, spacing, visibility, order or interaction rules. */
:is(html.aw-platform, .aw-page) {
  --aw-ui-font: "Abschlusswerk Inter", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --aw-ui-ink: #152639;
  --aw-ui-muted: #6b7785;
  --aw-ui-blue: #155eef;
  --aw-ui-blue-hover: #1049be;
  --aw-ui-line: #e0e6eb;
  --aw-ui-soft: #f5f8fa;
  --aw-ui-shadow: 0 2px 4px #15263904, 0 8px 24px #15263908;
  --aw-ui-heading: 32px;
  --aw-ui-intro: 17px;
  --aw-ui-body: 15px;
  --aw-ui-label: 14px;
  --aw-ui-caption: 12px;
  --aw-ui-card-radius: 8px;
  --aw-ui-input-radius: 6px;
}

/* The workspace already supplies the reference; do not restyle it again. */
html.aw-platform[data-aw-design="tool"] {
  --radius: var(--aw-ui-card-radius);
  --aw-radius: var(--aw-ui-card-radius);
  --ink: var(--aw-ui-ink);
  --muted: var(--aw-ui-muted);
  --line: var(--aw-ui-line);
  --soft: var(--aw-ui-soft);
  --blue-950: var(--aw-ui-ink);
  --blue-900: var(--aw-ui-ink);
  --blue-800: var(--aw-ui-blue-hover);
  --blue-700: var(--aw-ui-blue);
  --blue-100: #edf3ff;
  --blue-50: var(--aw-ui-soft);
  --shadow: var(--aw-ui-shadow);
}
html.aw-platform[data-aw-design="tool"] body {
  background: var(--aw-ui-soft);
  color: var(--aw-ui-ink);
  font-size: var(--aw-ui-body);
  font-weight: 400;
  line-height: 1.5;
}
:is(html.aw-platform[data-aw-design="tool"], .aw-page),
:is(html.aw-platform[data-aw-design="tool"], .aw-page) :where(*) {
  font-family: var(--aw-ui-font) !important;
  letter-spacing: 0 !important;
}
:is(html.aw-platform[data-aw-design="tool"], .aw-page) :is(h1, h2, h3, h4) {
  font-weight: 500 !important;
  line-height: 1.3 !important;
  overflow-wrap: anywhere;
}
:is(html.aw-platform[data-aw-design="tool"], .aw-page) h1 {
  font-size: var(--aw-ui-heading) !important;
}
html.aw-platform[data-aw-design="tool"] h2 { font-size: 21px !important; line-height: 1.35 !important; }
html.aw-platform[data-aw-design="tool"] h3 { font-size: 19px !important; }
html.aw-platform[data-aw-design="tool"] h4 { font-size: 15px !important; }
:is(html.aw-platform[data-aw-design="tool"], .aw-page) :is(strong, b, th) { font-weight: 600; }
html.aw-platform[data-aw-design="tool"] p {
  font-size: var(--aw-ui-body);
  font-weight: 400;
  line-height: 1.55;
}
html.aw-platform[data-aw-design="tool"] :is(.subtitle, .lead, .section-head > p:last-child, .section-heading > p:last-child, .upload-hero-copy > p, .app-header > div > p, .aw-coming-description) {
  color: var(--aw-ui-muted);
  font-size: var(--aw-ui-intro);
  font-weight: 400;
  line-height: 1.55;
}
html.aw-platform[data-aw-design="tool"] :is(.eyebrow, .section-head .eyebrow, .section-heading .eyebrow, .upload-hero-copy .eyebrow) {
  color: var(--aw-ui-blue);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
}
html.aw-platform[data-aw-design="tool"] :is(.hint, .form-hint, .upload-meta, .privacy-line, .chart-note, .optional-label, .top-note, .aw-coming-footnote, .aw-coming-availability) {
  color: var(--aw-ui-muted);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.55;
}
html.aw-platform[data-aw-design="tool"] :is(label, legend, .field > span, .field > label, .field-label, .check-label) {
  color: var(--aw-ui-ink);
  font-size: var(--aw-ui-label);
  font-weight: 400;
  line-height: 1.55;
}
html.aw-platform[data-aw-design="tool"] :is(input, select, textarea):not(:is([type="checkbox"], [type="radio"], [type="range"], [type="color"], [type="hidden"])) {
  color: var(--aw-ui-ink);
  background-color: #fff;
  border-color: var(--aw-ui-line);
  border-radius: var(--aw-ui-input-radius);
  box-shadow: none;
  font-size: var(--aw-ui-body);
  font-weight: 400;
  line-height: 1.55;
}
html.aw-platform[data-aw-design="tool"] :is(input, textarea)::placeholder { color: var(--aw-ui-muted); }

/* Keep compact controls compact; normalize their type, not their dimensions. */
html.aw-platform[data-aw-design="tool"] :is(button, .btn, .primary-button, .secondary-button, .primary-btn, .secondary-btn, .premium-btn, .upgrade-button, .aw-coming-primary) {
  font-size: var(--aw-ui-body);
  font-weight: 500;
  line-height: 1.35;
  text-shadow: none;
}
html.aw-platform[data-aw-design="tool"] label.btn { font-size: 15px; font-weight: 500; line-height: 1.35; }
html.aw-platform[data-aw-design="tool"] :is(.compact, .copy-button.small, .small-button, .text-button, .ghost-button.small, .icon-button, .icon-btn, .upgrade-button.small) { font-size: 13px; }
html.aw-platform[data-aw-design="tool"] :is(.btn.primary, .btn.accent, .btn.gold, .btn.unlock, .primary-button, .primary-btn, .btn-primary, .premium-btn, .upgrade-button, .aw-coming-primary, .btn.full) {
  color: #fff;
  background: var(--aw-ui-blue);
  border-color: var(--aw-ui-blue);
  border-radius: 8px;
  box-shadow: var(--aw-ui-shadow);
}
html.aw-platform[data-aw-design="tool"] :is(.btn.primary, .btn.accent, .btn.gold, .btn.unlock, .primary-button, .primary-btn, .btn-primary, .premium-btn, .upgrade-button, .aw-coming-primary, .btn.full):hover:not(:disabled) {
  color: #fff;
  background: var(--aw-ui-blue-hover);
  border-color: var(--aw-ui-blue-hover);
  box-shadow: var(--aw-ui-shadow);
  transform: none;
}
html.aw-platform[data-aw-design="tool"] :is(.btn.secondary, .secondary-button, .secondary-btn, .btn-secondary, .copy-button, .icon-button, .icon-btn, .ghost-button) {
  color: var(--aw-ui-ink);
  background: #fff;
  border-color: var(--aw-ui-line);
  border-radius: 6px;
  box-shadow: none;
}
html.aw-platform[data-aw-design="tool"] :is(.btn.secondary, .secondary-button, .secondary-btn, .btn-secondary, .copy-button, .ghost-button):hover:not(:disabled) {
  color: var(--aw-ui-ink);
  background: var(--aw-ui-soft);
  border-color: var(--aw-ui-line);
  box-shadow: none;
  transform: none;
}
html.aw-platform[data-aw-design="tool"] :is(.mode-switch, .view-tabs, .tool-tabs, .nav) button { font-weight: 500; }
html.aw-platform[data-aw-design="tool"] :is(.panel, .card, .upload-start-card, .generator-panel, .topic-card, .builder, .result, .settings-card, .settings-window, .analysis-minimal-card) {
  border-color: var(--aw-ui-line);
  border-radius: var(--aw-ui-card-radius);
  background: #fff;
  box-shadow: var(--aw-ui-shadow);
}
html.aw-platform[data-aw-design="tool"] :is(.upload-main-dropzone, .upload-zone, .dropzone, .upload-area):not(:is(.dragging, .has-file, .is-reading, .error)) {
  border-color: var(--aw-ui-line);
  border-radius: var(--aw-ui-card-radius);
  background: #fff;
  box-shadow: none;
}
html.aw-platform[data-aw-design="tool"] :is(.upload-title) { color: var(--aw-ui-ink); font-size: 23px; font-weight: 500; line-height: 1.4; }
html.aw-platform[data-aw-design="tool"] :is(.mini-result-preview strong, .field strong, .badge, .status-pill, .mode-chip, .pill) { font-weight: 500; }
html.aw-platform[data-aw-design="tool"] .mini-result-preview strong { font-size: 14px; }
html.aw-platform[data-aw-design="tool"] .mini-result-preview span { color: var(--aw-ui-muted); font-size: 12px; }
html.aw-platform[data-aw-design="tool"] :is(.upload-zone, .metric, .test-meta) h3 { font-size: 15px !important; }
html.aw-platform[data-aw-design="tool"] :is(.landing-upload-screen, .upload-first-screen, .upload-first-inner) { background: transparent; }
html.aw-platform[data-aw-design="tool"] :is(.feedback-hero-copy, .summary-tool-start .upload-hero-copy) h1::before { background: transparent; }
/* Preserve the legibility of calculation examples and exported code snippets. */
html.aw-platform[data-aw-design="tool"] :is(pre, code, kbd, samp) { font-family: ui-monospace, SFMono-Regular, Consolas, monospace !important; }

/* Premium extensions can also appear inside the unchanged workspace. */
html.aw-platform .aw-plus { font-family: var(--aw-ui-font); line-height: 1.55; }
html.aw-platform .aw-plus h2 { font-size: 23px !important; font-weight: 500 !important; }
html.aw-platform .aw-plus h3 { font-size: 19px !important; font-weight: 500 !important; }
html.aw-platform .aw-plus .aw-plus-eyebrow { font-size: 12px; font-weight: 500; }
html.aw-platform .aw-plus label { font-size: 14px; font-weight: 400; }
html.aw-platform .aw-plus button { font-size: 15px; font-weight: 500; line-height: 1.35; border-color: var(--aw-ui-line); border-radius: 6px; }
html.aw-platform .aw-plus button:is([type="submit"], .aw-plus-primary) { border-color: var(--aw-ui-blue); border-radius: 8px; box-shadow: var(--aw-ui-shadow); }

/* Landing page uses the same files and scale, including its report previews. */
.aw-page { font-size: 15px; line-height: 1.55; }
.aw-page h2 { font-size: 23px !important; }
.aw-page h3 { font-size: 19px !important; }
.aw-page :is(.aw-tool, .aw-service, .aw-degree-card, .aw-process, .aw-resource-copy, .aw-trust-principles, .aw-support-panel, .aw-faq details) p,
.aw-page .aw-price > p:not(.aw-eyebrow) { font-size: 15px; font-weight: 400; line-height: 1.55; color: var(--aw-ui-muted); }
.aw-page :is(.aw-hero-description, .aw-section-heading > p, .aw-section-heading > div > p),
.aw-page .aw-feature-copy > p:not(.aw-eyebrow):not(.aw-fineprint) { font-size: var(--aw-ui-intro); line-height: 1.55; color: var(--aw-ui-muted); }
.aw-page :is(.aw-check-list, .aw-tool-filters button, .aw-faq summary) { font-size: 15px; font-weight: 500; }
.aw-page :is(.aw-fineprint, .aw-pricing-note, .aw-concept-note, .aw-demo-label) { font-size: 12px; line-height: 1.55; }
.aw-page :is(.aw-eyebrow, .aw-text-link) { font-weight: 500; }
.aw-page .aw-eyebrow { font-size: 15px; }
.aw-page .aw-btn { font-size: 15px; font-weight: 500; line-height: 1.35; text-shadow: none; }
.aw-page .aw-btn-primary { border-color: var(--aw-ui-blue); border-radius: 8px; box-shadow: var(--aw-ui-shadow); }
.aw-page .aw-btn-primary:hover { box-shadow: var(--aw-ui-shadow); transform: none; }
.aw-page .aw-btn-secondary { border-color: var(--aw-ui-line); border-radius: 6px; box-shadow: none; }
.aw-page .aw-btn-secondary:hover { border-color: var(--aw-ui-line); background: var(--aw-ui-soft); }
.aw-page .aw-header .aw-btn-primary { font-size: 14px; font-weight: 600; line-height: 1.6; border-color: transparent; border-radius: 6px; box-shadow: 0 3px 8px #155eef22; }
.aw-page :is(.aw-tool, .aw-price, .aw-product, .aw-review-card, .aw-degree-card, .aw-edit-preview, .aw-source-preview, .aw-citation-preview) { border-color: var(--aw-ui-line); border-radius: 8px; box-shadow: var(--aw-ui-shadow); }
.aw-page :is(.aw-tool, .aw-price):hover { box-shadow: var(--aw-ui-shadow); }
.aw-page :is(.aw-tool-featured, .aw-price-featured) { border-color: var(--aw-ui-blue); }
.aw-page :is(.aw-demo-panel h3, .aw-product-sidebar h3) { font-size: 15px !important; }
.aw-page .aw-footer h3 { font-size: 14px !important; font-weight: 600 !important; line-height: 1.5 !important; }
.aw-page .aw-footer-grid > div > :is(p, a:not(.aw-brand)) { font-size: 14px; line-height: 1.6; }
.aw-page .aw-footer-bottom { font-size: 12px; }

@media (max-width: 760px) {
  :is(html.aw-platform, .aw-page) { --aw-ui-heading: 27px; --aw-ui-intro: 15px; }
  html.aw-platform[data-aw-design="tool"] .upload-title { font-size: 21px; }
}
