/* Evidence calendar: fixed birthday marker, selectable dated source papers. */
.c3-record-screen { background:#081827; --c3-paper:#f4f1e8; --c3-ink:#192b3c; --c3-teal:#08746e; --c3-amber:#f1b43c; }
.c3-desk { width:min(1140px,calc(100% - 64px)); margin:auto; padding:28px 0 36px; }
.c3-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }
.c3-heading h1 { font:30px/1.4 var(--font-title); margin:0; }
.c3-steps { display:flex; gap:24px; list-style:none; padding:0; margin:0; color:#c2d4dd; }
.c3-steps [aria-current] { color:var(--c3-amber); text-decoration:underline; text-underline-offset:6px; }
.c3-instruction { margin:0 0 16px; }
.c3-calendar { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; padding:48px 28px 28px; background:var(--c3-paper); color:var(--c3-ink); }
.c3-date-slot { position:relative; padding:24px 0; }
.c3-date-slot::before { content:""; position:absolute; height:1px; top:50%; left:-32px; right:-32px; background:var(--c3-ink); }
.c3-date-slot:first-child::before { left:0; }
.c3-date-slot:last-child::before { right:0; }
.c3-date-slot[data-birthday="true"]::after { content:""; position:absolute; width:2px; background:var(--c3-teal); top:-28px; bottom:-14px; left:50%; }
.c3-birthday-label { position:absolute; z-index:2; top:-32px; left:50%; transform:translateX(-50%); background:var(--c3-teal); color:white; padding:4px 16px; white-space:nowrap; }
.c3-date-record { position:relative; z-index:1; width:100%; background:#eae2ce; border:1px solid #91856d; color:var(--c3-ink); display:flex; flex-direction:column; align-items:center; gap:16px; padding:24px 12px; cursor:pointer; box-shadow:3px 6px 10px #192b3c20; }
.c3-date-record strong { font:26px/1.4 var(--font-title); }
.c3-date-record > span { font:18px/1.5 var(--font-data); }
.c3-date-record .c3-selection { font:16px/1.5 var(--font-body); border-top:1px solid #91856d; padding-top:12px; width:100%; }
.c3-desk button[aria-pressed="true"] { background:#f5df9d; outline:3px double #9b6206; outline-offset:2px; }
.c3-desk button:hover:not(:disabled) { border-color:#9b6206; }
.c3-desk button:focus-visible { outline:3px solid #9b6206; outline-offset:4px; }
.c3-school-strip { background:var(--c3-paper); color:var(--c3-ink); padding:24px 28px; margin-top:20px; }
.c3-school-strip h2,.c3-meaning-record h2 { font:24px/1.4 var(--font-title); margin:0 0 4px; }
.c3-school-strip p { margin:0 0 16px; }
.c3-height-records { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; padding:0; margin:16px 0 0; border-bottom:2px solid var(--c3-teal); }
.c3-height-records li { display:flex; flex-direction:column; gap:8px; padding:8px 4px 16px; }
.c3-height-records span { font:14px/1.5 var(--font-data); }
.c3-height-records strong { font:22px/1.4 var(--font-data); }
.c3-height-records small { font-size:14px; }
.c3-meaning-records { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.c3-meaning-record { background:var(--c3-paper); color:var(--c3-ink); padding:24px; min-width:0; display:flex; flex-direction:column; }
.c3-meaning-record header { padding-bottom:12px; border-bottom:1px solid #91856d; }
.c3-meaning-record header span { color:var(--c3-teal); font:16px/1.5 var(--font-data); }
.c3-meaning-record p { margin:16px 0; }
.c3-meaning-record fieldset { border:0; padding:16px 0 0; margin:auto 0 0; display:flex; flex-wrap:wrap; gap:8px; }
.c3-meaning-record legend { font-size:15px; padding:16px 0 0; }
.c3-meaning-record button { flex:1 1 auto; min-height:48px; padding:10px 12px; border:1px solid #91856d; background:transparent; color:var(--c3-ink); font:16px/1.5 var(--font-body); cursor:pointer; }
.c3-meaning-record[data-error="true"] { outline:2px solid #b52b24; }
.c3-record-error { color:#ffb9b3; margin:16px 0; }
.c3-meaning-record .c3-record-error { color:#9d2520; }
.c3-boundary { margin:24px 0; max-width:72ch; color:#c2d4dd; }
.c3-reference { border:1px solid #31536d; padding:20px 24px; margin:24px 0; }
.c3-reference h2 { font:20px/1.4 var(--font-title); margin:0 0 12px; }
.c3-reference dl { display:grid; grid-template-columns:1fr 1fr 2fr; gap:24px; margin:0; }
.c3-reference dt { color:#69ded1; margin-bottom:6px; }
.c3-reference dd { margin:0; }
.c3-reference p { color:#c2d4dd; overflow-wrap:anywhere; }
.c3-reference button { min-height:48px; padding:10px 16px; border:1px solid #69ded1; background:#112b45; color:var(--c3-paper); font:16px/1.5 var(--font-body); cursor:pointer; }
.c3-reference button:disabled { opacity:.7; cursor:default; }
.c3-reference button:focus-visible { outline-color:var(--c3-amber); }
.c3-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.c3-footer p { margin:0; max-width:70ch; }
.c3-footer button { flex-shrink:0; }
@media(max-width:680px) {
  .c3-desk { width:calc(100% - 32px); padding:20px 0 28px; }
  .c3-heading { align-items:flex-start; flex-direction:column; gap:16px; }
  .c3-heading h1 { font-size:25px; }
  .c3-calendar { grid-template-columns:1fr; gap:20px; padding:20px; }
  .c3-date-slot { padding:0; }
  .c3-date-slot::before { width:2px; height:auto; top:-20px; bottom:-20px; left:50%; right:auto; background:var(--c3-teal); }
  .c3-date-slot:first-child::before,.c3-date-slot:last-child::before { left:50%; right:auto; }
  .c3-date-slot[data-birthday="true"] { padding-top:28px; }
  .c3-date-slot[data-birthday="true"]::after { display:none; }
  .c3-birthday-label { top:-4px; font-size:14px; padding:2px 12px; }
  .c3-date-record { gap:8px; padding:16px 12px; }
  .c3-date-record strong { font-size:23px; }
  .c3-date-record .c3-selection { padding-top:8px; }
  .c3-school-strip,.c3-meaning-record { padding:20px 16px; }
  .c3-meaning-records { grid-template-columns:1fr; gap:20px; }
  .c3-height-records { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .c3-reference { padding:20px 16px; }
  .c3-reference dl { grid-template-columns:1fr; gap:16px; }
  .c3-footer { flex-direction:column; align-items:stretch; }
}
@media(forced-colors:active) {
  .c3-date-record,.c3-meaning-record,.c3-calendar,.c3-school-strip { border:1px solid CanvasText; }
  .c3-desk button[aria-pressed="true"] { outline:3px solid Highlight; }
  .c3-desk button:focus-visible { outline:3px dashed Highlight; }
}
