:root {
  --alpr-bg: #fbf8f3; --alpr-paper: #fffdf8; --alpr-text: #211e19; --alpr-secondary: #625b50; --alpr-muted: #71695d; --alpr-accent: #a63f20; --alpr-accent-bg: #f4e6df; --alpr-border: #d7cebf; --alpr-subtle: #f0ebe1; --alpr-shadow: 0 8px 32px rgb(33 30 25 / 7%);
  --alpr-exit: #19685b; --alpr-exit-bg: #e7f0e9; --alpr-keep: #9c421f; --alpr-keep-bg: #f7e8df; --alpr-pause: #8b6419; --alpr-pause-bg: #f3ebd7; --alpr-pending: #556579; --alpr-pending-bg: #e9edf2;
  --serif: 'Source Serif 4', Georgia, serif; --sans: 'Inter', Arial, sans-serif; --mono: 'JetBrains Mono', monospace;
}

.alpr-page *, .alpr-page *::before, .alpr-page *::after, .alpr-card, .alpr-card * { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
.alpr-page { margin: 0; background: var(--alpr-bg); color: var(--alpr-text); font: 14px/1.6 var(--sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.alpr-page [hidden] { display: none !important; }
.alpr-page a, .alpr-card a { color: inherit; text-underline-offset: .2em; }
.alpr-page a, .alpr-page summary, .alpr-page button, .alpr-card a { transition: color .3s ease, background .3s ease, border-color .3s ease; }
.alpr-page a:hover, .alpr-card a:hover, .alpr-page summary:hover { color: var(--alpr-accent); }
.alpr-page :focus-visible, .alpr-card :focus-visible { outline: 2px solid var(--alpr-accent); outline-offset: 3px; }
.alpr-header { position: sticky; top: 0; z-index: 10; padding: 8px max(20px, calc((100vw - 640px) / 2)); border-bottom: 1px solid var(--alpr-border); backdrop-filter: blur(14px); background: color-mix(in srgb, var(--alpr-bg) 94%, transparent); }
.alpr-brand { display: inline-flex; align-items: center; min-height: 44px; font: 600 22px var(--serif); text-decoration: none; }
.alpr-wrap { max-width: 680px; margin: 24px auto; padding: 0 20px; }
.alpr-home { padding: 20px 40px; border-bottom: 1px solid var(--alpr-border); }
.alpr-card { width: 100%; max-width: 640px; padding: 20px; border: 1px solid var(--alpr-border); background: var(--alpr-paper); color: var(--alpr-text); font-family: var(--sans); text-align: left; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.alpr-card h1, .alpr-card h2 { margin: 0; font: 600 21px/1.3 var(--sans); letter-spacing: -.02em; color: var(--alpr-text); }
.alpr-card .alpr-card-scope { margin: 7px 0 0; font: 11px/1.5 var(--sans); color: var(--alpr-secondary); }
.alpr-outcomes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 18px 0 16px; }
.alpr-exit { --outcome: var(--alpr-exit); --outcome-bg: var(--alpr-exit-bg); }
.alpr-keep { --outcome: var(--alpr-keep); --outcome-bg: var(--alpr-keep-bg); }
.alpr-pause { --outcome: var(--alpr-pause); --outcome-bg: var(--alpr-pause-bg); }
.alpr-pending { --outcome: var(--alpr-pending); --outcome-bg: var(--alpr-pending-bg); }
.alpr-outcome { display: flex; flex-direction: column; padding: 4px 0; color: var(--outcome) !important; text-decoration: none; }
.alpr-outcome:hover { background: var(--outcome-bg); }
.alpr-metric { font: 500 38px/1.2 var(--mono); letter-spacing: -.04em; }
.alpr-outcome-label { margin-top: 5px; font: 600 11px/1.4 var(--sans); }
.alpr-card .alpr-card-note { margin: 2px 0; font: 11px/1.5 var(--sans); color: var(--alpr-secondary); }
.alpr-card-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 12px; margin-top: 12px; border-top: 1px solid var(--alpr-border); padding-top: 6px; }
.alpr-card .alpr-fresh { margin: 0; font: 10px/1.5 var(--sans); color: var(--alpr-muted); }
.alpr-card-footer > div { display: flex; flex-wrap: wrap; gap: 14px; }
.alpr-card-footer a { display: inline-flex; align-items: center; min-height: 44px; font: 600 11px/1.4 var(--sans); }
.alpr-fresh.is-stale { color: var(--alpr-pause); }
.alpr-register, .alpr-method { scroll-margin-top: 76px; border-bottom: 1px solid var(--alpr-border); }
.alpr-register > summary, .alpr-method > summary { display: flex; align-items: center; justify-content: space-between; min-height: 48px; cursor: pointer; list-style: none; font: 500 12px/1.5 var(--sans); }
.alpr-register > summary::-webkit-details-marker, .alpr-method > summary::-webkit-details-marker { display: none; }
.alpr-register > summary::after, .alpr-method > summary::after { content: '+'; }
.alpr-register[open] > summary::after, .alpr-method[open] > summary::after { content: '−'; }
.alpr-register-body { padding-bottom: 20px; }
.alpr-section-heading { display: flex; justify-content: flex-end; }
.alpr-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; }
.alpr-section-dek { font-size: 12px; color: var(--alpr-secondary); }
.alpr-controls { margin-top: 20px; display: grid; grid-template-columns: 1.8fr 1fr 1fr auto; align-items: end; gap: 12px; }
.alpr-controls label { display: flex; flex-direction: column; gap: 7px; font-size: 10px; font-weight: 600; }
.alpr-controls input, .alpr-controls select { width: 100%; min-width: 0; border: 1px solid var(--alpr-border); border-radius: 0; background: var(--alpr-paper); font: 12px var(--sans); color: var(--alpr-text); height: 46px; padding: 0 12px; }
.alpr-controls input::placeholder { color: var(--alpr-muted); }
.alpr-button { display: inline-flex; align-items: center; justify-content: center; background: var(--alpr-text); color: var(--alpr-paper); border: 1px solid var(--alpr-text); min-height: 46px; padding: 11px 18px; font: 600 12px/1.4 var(--sans); cursor: pointer; text-decoration: none; }
.alpr-button:hover { background: var(--alpr-accent); border-color: var(--alpr-accent); }
.alpr-secondary { background: transparent; border-color: var(--alpr-border); color: var(--alpr-text); }
.alpr-secondary:hover { background: var(--alpr-subtle); border-color: var(--alpr-text); }
.alpr-resultline { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 22px 0 13px; color: var(--alpr-muted); font: 10px/1.5 var(--mono); }

.alpr-record { border-top: 1px solid var(--alpr-border); scroll-margin-top: 110px; }
.alpr-record:last-child { border-bottom: 1px solid var(--alpr-border); }
.alpr-record summary { list-style: none; display: grid; grid-template-columns: 1.15fr 1fr .65fr 20px; gap: 20px; align-items: center; cursor: pointer; padding: 15px 10px; min-height: 78px; }
.alpr-record summary::-webkit-details-marker { display: none; }
.alpr-record summary:hover, .alpr-record[open] summary { background: var(--alpr-subtle); }
.alpr-place, .alpr-record-status, .alpr-count { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.alpr-place strong { font: 500 23px/1.2 var(--serif); letter-spacing: -.025em; }
.alpr-place > span, .alpr-record-status > span:last-child, .alpr-count > span { font: 10px/1.5 var(--mono); color: var(--alpr-muted); }
.alpr-badge { font: 600 10px/1.3 var(--sans); color: var(--outcome); padding: 5px 8px; background: var(--outcome-bg); width: fit-content; }
.alpr-count { text-align: right; }
.alpr-count strong { font: 500 28px/1 var(--serif); }
.alpr-expand { color: var(--alpr-muted); font-size: 20px; text-align: right; }
.alpr-record[open] .alpr-expand { transform: rotate(45deg); }
.alpr-record-body { padding: 26px 30px 30px; background: var(--alpr-paper); border-top: 1px solid var(--alpr-border); }
.alpr-record-dek { font: 500 22px/1.4 var(--serif); max-width: 780px; margin-bottom: 24px !important; }
.alpr-record dl { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 45px; }
.alpr-record dt { font: 500 10px/1.5 var(--mono); text-transform: uppercase; color: var(--alpr-muted); margin-bottom: 5px; }
.alpr-record dd { font-size: 13px; line-height: 1.6; }
.alpr-record h3 { font-size: 12px; margin: 24px 0 10px; }
.alpr-sources { list-style: none; }
.alpr-sources li { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 5px 0; }
.alpr-sources a { font-size: 12px; overflow-wrap: anywhere; display: inline-flex; align-items: center; min-height: 44px; }
.alpr-source-kind { font: 9px/1.5 var(--mono); color: var(--alpr-muted); }
.alpr-next { margin-top: 24px !important; padding: 16px !important; background: var(--alpr-subtle); font-size: 12px; }
.alpr-history { list-style: none; border-left: 2px solid var(--alpr-border); padding-left: 16px !important; }
.alpr-history time { font: 11px var(--mono); color: var(--alpr-muted); }
.alpr-history p { font-size: 13px; margin: 8px 0; }
.alpr-record-meta { margin-top: 22px !important; font: 10px/1.8 var(--mono); color: var(--alpr-muted); }
.alpr-record-meta a { display: inline-flex; min-height: 44px; align-items: center; }
.alpr-empty { background: var(--alpr-subtle); padding: 32px !important; }
.alpr-empty h3 { font: 500 26px var(--serif); margin-bottom: 12px; }
.alpr-empty p { font-size: 14px; }

.alpr-method-copy { padding: 0 0 16px; }
.alpr-method-copy p { margin: 0 0 12px; font-size: 12px; color: var(--alpr-secondary); }
.alpr-notice { padding: 12px; background: var(--alpr-subtle); font-size: 12px; }
.alpr-plans-heading { justify-content: flex-start; margin-top: 24px; font-size: 12px; }
@media (max-width: 680px) {
  .alpr-home { padding: 16px 20px; }
  .alpr-card { padding: 16px; }
  .alpr-controls { grid-template-columns: 1fr 1fr; }
  .alpr-controls label:first-child, .alpr-controls .alpr-button { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .alpr-wrap { margin-top: 20px; }
  .alpr-outcomes { gap: 8px; }
  .alpr-metric { font-size: 32px; }
  .alpr-outcome-label { font-size: 10px; }
  .alpr-card-footer > div { gap: 12px; }
  .alpr-record summary { grid-template-columns: 1fr 75px 14px; gap: 8px 12px; padding: 15px 5px; }
  .alpr-place strong { font-size: 20px; }
  .alpr-record-status { grid-column: 1; grid-row: 2; }
  .alpr-count { grid-column: 2; grid-row: 1 / 3; }
  .alpr-count > span { font-size: 9px; }
  .alpr-expand { grid-column: 3; grid-row: 1 / 3; }
  .alpr-record-body { padding: 16px; }
  .alpr-record dl { grid-template-columns: 1fr; gap: 18px; }
  .alpr-record-dek { font-size: 19px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .alpr-page *, .alpr-card * { transition: none !important; } }
@media print { .alpr-header, .alpr-controls { display: none; } .alpr-record { break-inside: avoid; } }
