.cfull {
  --cfull-bg: #eff8f7;
  --cfull-paper: #fff;
  --cfull-ink: #183c45;
  --cfull-muted: #3c5f68;
  --cfull-accent: #176873;
  --cfull-accent-soft: #d9eeeb;
  --cfull-line: #9dbabf;
  --cfull-sky: #133e54;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 56rem;
  margin: 0 auto;
  padding: clamp(.75rem, 3vw, 1.75rem);
  border: 1px solid var(--cfull-line);
  border-radius: 1.5rem;
  background: var(--cfull-bg);
  color: var(--cfull-ink);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 18px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.cfull-ambar { --cfull-bg:#fff7e8; --cfull-ink:#482e1a; --cfull-muted:#6a4c32; --cfull-accent:#87441c; --cfull-accent-soft:#fae3c5; --cfull-line:#c6a683; --cfull-sky:#4d352e; }
.cfull-noite { --cfull-bg:#f1effa; --cfull-ink:#31284d; --cfull-muted:#595074; --cfull-accent:#58418a; --cfull-accent-soft:#e4dcf6; --cfull-line:#b3a6cd; --cfull-sky:#252440; }
.cfull *, .cfull *::before, .cfull *::after { box-sizing:border-box; }
.cfull :where(p, h2, h3, figure) { margin:0; }
.cfull :where(p, h2, h3, figcaption, button, summary) { overflow-wrap:anywhere; }
.cfull :where(button, input, summary):focus-visible { outline:3px solid #bd461d; outline-offset:4px; }
.cfull :where(h3):focus { outline:2px solid var(--cfull-accent); outline-offset:5px; }
.cfull-header, .cfull-body { display:grid; gap:1rem; min-width:0; }
.cfull-kicker { color:var(--cfull-muted); font-size:.78em; font-weight:750; letter-spacing:.04em; }
.cfull-title { font-size:clamp(1.5em, 5vw, 2em); line-height:1.2; }
.cfull-view-title { font-size:1.25em; line-height:1.3; }
.cfull-scope { background:var(--cfull-accent-soft); padding:.75rem; border-radius:.75rem; font-size:.92em; }
.cfull-provisional, .cfull-small, .cfull-session-note { color:var(--cfull-muted); font-size:.88em; }
.cfull-people { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.cfull-person { display:grid; justify-items:center; align-content:start; gap:.5rem; text-align:center; min-width:0; }
.cfull-portrait { display:block; width:6rem; max-width:100%; height:auto; }
.cfull-person-caption { display:grid; gap:.1rem; }
.cfull-person-role { color:var(--cfull-muted); font-size:.8em; }
.cfull-person-name { font-weight:750; }
.cfull-motion-label { display:flex; align-items:center; gap:.75rem; min-height:48px; cursor:pointer; }
.cfull-motion-input { margin:0; width:24px; height:24px; flex:0 0 24px; accent-color:var(--cfull-accent); }
.cfull-review-nav { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.25rem 0; padding:1rem 0; border-block:1px solid var(--cfull-line); }
.cfull-review-nav[hidden] { display:none; }
.cfull-button { appearance:none; display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:48px; min-width:48px; max-width:100%; padding:.7rem 1rem; margin:0; border:2px solid var(--cfull-accent); border-radius:.75rem; background:var(--cfull-accent); color:#fff; font:inherit; font-weight:700; line-height:1.35; text-align:center; white-space:normal; cursor:pointer; touch-action:manipulation; }
.cfull-button-secondary { background:var(--cfull-paper); color:var(--cfull-accent); }
.cfull-button[aria-pressed="true"] { background:var(--cfull-accent); color:#fff; box-shadow:0 0 0 2px var(--cfull-paper),0 0 0 4px var(--cfull-accent); }
.cfull-actions { display:flex; flex-wrap:wrap; gap:.65rem; align-items:stretch; }
.cfull-actions > .cfull-button { flex:1 1 9rem; }
.cfull-personal { display:grid; gap:.8rem; padding:1rem; border:1px solid var(--cfull-line); border-radius:1rem; background:var(--cfull-paper); }
.cfull-personal-heading { display:flex; align-items:center; gap:1rem; min-width:0; }
.cfull-personal-heading > div { min-width:0; }
.cfull-symbol { display:block; width:3.5rem; height:3.5rem; flex:0 0 3.5rem; max-width:100%; }
.cfull-milestone-label { font-size:1.15em; line-height:1.4; }
.cfull-attribution { color:var(--cfull-muted); font-size:.9em; }
.cfull-personal-text { white-space:pre-wrap; }
.cfull-board-section { display:grid; gap:.8rem; min-width:0; }
.cfull-board-directions { font-size:.93em; }
.cfull-board { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; width:100%; max-width:28rem; margin:0 auto; }
.cfull-tile { appearance:none; display:grid; justify-items:center; gap:.1rem; min-width:48px; min-height:96px; width:100%; padding:.35rem; margin:0; border:2px solid var(--cfull-line); border-radius:.7rem; background:#f3f3ef; color:var(--cfull-ink); font:inherit; cursor:default; opacity:1; }
.cfull-tile-movable { border-color:var(--cfull-accent); background:var(--cfull-paper); }
.cfull-tile-movable:not(:disabled) { cursor:pointer; box-shadow:0 3px 0 var(--cfull-accent); touch-action:manipulation; }
.cfull-tile-indicated { outline:3px dashed #bd461d; outline-offset:2px; }
.cfull-tile-id { font-size:.85em; font-weight:800; line-height:1; }
.cfull-tile-kind { font-size:.72em; line-height:1.2; }
.cfull-destination { display:grid; justify-items:center; gap:.2rem; width:100%; padding:.35rem .1rem; margin-top:.25rem; border-top:1px solid var(--cfull-accent); background:var(--cfull-accent-soft); border-radius:.35rem; font-size:.75em; font-weight:750; line-height:1.3; }
.cfull-destination .cfull-symbol { width:1.6rem; height:1.6rem; }
.cfull-pipe { display:block; width:100%; max-width:5rem; height:auto; aspect-ratio:1; }
.cfull-path-description { background:var(--cfull-paper); padding:.6rem .8rem; border-radius:.7rem; }
.cfull-path-description summary { min-height:48px; display:list-item; align-content:center; cursor:pointer; }
.cfull-edge-list { margin:.5rem 0; padding-left:1.5rem; }
.cfull-notice { padding:.8rem 1rem; border-left:4px solid var(--cfull-accent); background:var(--cfull-accent-soft); border-radius:.3rem; }
.cfull-sky { position:relative; display:grid; justify-items:center; gap:1rem; min-width:0; padding:1.5rem 1rem; border-radius:1.25rem; background:var(--cfull-sky); color:#fff7da; text-align:center; }
.cfull-sky-title { font-size:1.1em; font-weight:600; }
.cfull-orbit { display:grid; place-items:center; width:7rem; height:7rem; border:2px dashed #e8dba5; border-radius:50%; color:#fff0ac; }
.cfull-orbit .cfull-symbol { width:4.5rem; height:4.5rem; }
.cfull-empty-star { font-size:2em; }
.cfull-sky-label { font-weight:700; white-space:pre-wrap; }
.cfull-sky-scope { font-size:.85em; color:#e0e7ec; }
.cfull-sky-stars { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; width:100%; }
.cfull-star { position:relative; min-width:0; padding:.65rem; border:1px dashed #d9d1a6; border-radius:1rem; }
.cfull-star-complete + .cfull-star-complete::before { content:""; position:absolute; left:-.75rem; top:3rem; width:.75rem; height:2px; background:#e5dfba; }
.cfull-star-complete[open]::before, .cfull-star-complete[open] + .cfull-star-complete::before { display:none; }
.cfull-star-empty { display:grid; align-content:center; justify-items:center; min-height:8rem; font-size:.8em; }
.cfull-star-summary { display:flex; flex-direction:column; align-items:center; gap:.4rem; min-height:48px; cursor:pointer; }
.cfull-star-summary .cfull-symbol { width:2.75rem; height:2.75rem; }
.cfull-star-number { font-size:.75em; }
.cfull-star-complete { background:#ffffff10; }
.cfull-star-complete .cfull-attribution { color:#e5e1cd; }
.cfull-star-complete .cfull-personal-text { margin-top:.6rem; text-align:left; }
.cfull-star-complete[open] { grid-column:1/-1; }
.cfull-star-complete[open] .cfull-star-summary { align-items:flex-start; }
.cfull-sky-note { font-size:.82em; color:#e5e1cd; }
.cfull-ending, .cfull-reader, .cfull-read-part { display:grid; gap:1rem; min-width:0; }
.cfull-read-part { margin:1rem 0; padding-block:1rem; border-block:1px solid var(--cfull-line); }
.cfull-final-message { white-space:pre-wrap; padding:1.25rem; border:2px solid var(--cfull-accent); border-radius:1rem; background:var(--cfull-paper); font-size:1.12em; }
.cfull[data-motion="full"] .cfull-star-complete { animation:cfull-arrive .4s ease-out both; }
.cfull[data-motion="full"] .cfull-sky-revealed .cfull-orbit { animation:cfull-arrive .4s ease-out both; }
.cfull-live:empty { margin:0; }
.cfull-live:not(:empty) { margin-top:1rem; padding:.7rem; border:1px solid var(--cfull-line); border-radius:.6rem; }
.cfull-session-note { margin-top:1.25rem; }
@keyframes cfull-arrive { from { opacity:.4; transform:scale(.92); } to { opacity:1; transform:scale(1); } }
@media (max-width:360px) { .cfull-board { gap:5px; } .cfull-personal { padding:.75rem; } .cfull-personal-heading { gap:.6rem; } }
@media (prefers-reduced-motion:reduce) { .cfull .cfull-orbit { animation:none !important; } }
.cfull[data-motion="reduced"] .cfull-orbit { animation:none; }
@media (prefers-reduced-motion:reduce) { .cfull .cfull-star-complete { animation:none !important; } }
.cfull[data-motion="reduced"] .cfull-star-complete { animation:none; }
@media (max-width:360px) { .cfull-sky { padding:1rem .6rem; } .cfull-sky-stars { gap:.35rem; } .cfull-star { padding:.4rem; } .cfull-star-summary strong { font-size:.85em; } }
@media (forced-colors:active) { .cfull .cfull-tile, .cfull .cfull-button, .cfull .cfull-sky { border:2px solid CanvasText; } }
