:root{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:#19324e;background:#f5fbff}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 8% 8%,var(--bio-soft),transparent 38%),#f5fbff}a{color:inherit}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;background:white;padding:10px;z-index:10}.bio-header{background:#153b63;color:white;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px max(20px,calc((100vw - 1120px)/2))}.bio-brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-weight:800}.bio-header nav{display:flex;flex-wrap:wrap;gap:16px}.bio-header nav a{text-decoration:none;font-weight:700}.bio-header a:hover{text-decoration:underline}.bio-main{max-width:1120px;margin:auto;padding:34px 20px 70px}.bio-hero{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;padding:clamp(24px,5vw,50px);border-radius:28px;background:linear-gradient(125deg,var(--bio-soft),#fff 65%,#fff1c9);border:2px solid var(--bio-accent);box-shadow:0 14px 34px #183f6420}.bio-symbol{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--bio-accent);color:white;font-size:1.8rem}.bio-kicker{color:var(--bio-accent);font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.13em}.bio-hero h1{font-size:clamp(2.8rem,6vw,5rem);line-height:1.02;color:#153b63;margin:0 0 16px}.bio-hero-copy>p:not(.bio-kicker){font-size:1.1rem;line-height:1.7}.bio-art{margin:0}.bio-art img{display:block;width:100%;max-height:360px;object-fit:contain;border-radius:15px;background:white;box-shadow:0 10px 25px #153b6327}.bio-art figcaption{font-size:.8rem;color:#4c6072;margin-top:8px}.bio-button{display:inline-block;background:#153b63;color:white;text-decoration:none;font-weight:800;border-radius:999px;padding:12px 20px;margin-top:9px;box-shadow:0 5px 0 #0c2846}.bio-button:hover{transform:translateY(-2px)}.bio-details{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr);gap:20px;margin:25px 0}.bio-panel{background:white;border:1px solid #c8e0e9;border-top:5px solid var(--bio-accent);padding:24px;border-radius:18px;box-shadow:0 7px 20px #19445f0e}.bio-panel h2{margin:0 0 15px;color:#153b63}.bio-panel p{line-height:1.7}.bio-facts{margin:0}.bio-facts dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#60758a;font-weight:800}.bio-facts dd{margin:3px 0 16px;font-weight:650}.bio-more{padding:22px;border-radius:18px;background:var(--bio-soft)}.bio-more h2{margin:0 0 8px;color:#153b63}.bio-more a{color:#153b63;font-weight:750}.bio-more a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid #e99a31;outline-offset:4px}@media(max-width:700px){.bio-header{flex-direction:column;align-items:flex-start}.bio-hero,.bio-details{grid-template-columns:1fr}.bio-art img{max-height:290px}}

/* Character origins: comic-book paper, stickers, and native chapter controls. */
.origin-page {
  --origin-ink: #183b55;
  --origin-ease: cubic-bezier(.22,1,.36,1);
  background:
    radial-gradient(circle at 1px 1px,#22496615 1px,transparent 1.5px) 0 0 / 22px 22px,
    radial-gradient(ellipse at 0 12%,var(--bio-soft),transparent 55%),
    linear-gradient(135deg,#fff9de,#f6fbff 55%,var(--bio-soft));
}
.origin-page .bio-header { border-bottom:4px solid #ffcf63; }
.origin-page .bio-header nav a { padding:8px 12px;border-radius:12px;transition:background .2s ease; }
.origin-page .bio-header nav a:hover { background:#ffffff19; }
.origin-page .bio-main { padding-top:42px; }
.origin-page .bio-hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:3px solid var(--origin-ink);
  border-radius:30px 30px 65px 30px;
  background:linear-gradient(120deg,#fffcf0 35%,var(--bio-soft));
  box-shadow:8px 9px 0 var(--bio-accent),0 20px 35px #183b5514;
  animation:origin-arrive .65s var(--origin-ease) both;
}
.origin-page .bio-hero::before {
  content:'';position:absolute;inset:0;z-index:-1;
  background:radial-gradient(circle at 80% 15%,#ffd66d 0 55px,transparent 56px),
    radial-gradient(circle at 92% 87%,#ffffff99 0 100px,transparent 101px);
}
.origin-page .bio-hero::after {
  content:'';position:absolute;top:23px;right:28px;width:34px;height:34px;z-index:-1;
  background:var(--bio-accent);
  clip-path:polygon(50% 0,61% 36%,100% 50%,61% 62%,50% 100%,38% 62%,0 50%,38% 36%);
  animation:origin-twinkle 3s ease-in-out 3;
}
.origin-page .bio-symbol {
  width:64px;height:64px;margin-bottom:18px;
  border:2px solid var(--origin-ink);border-radius:18px;
  background:#ffe08b;color:var(--origin-ink);font-size:2.2rem;
  box-shadow:4px 4px 0 var(--origin-ink);transform:rotate(-8deg);
  animation:origin-sticker .8s var(--origin-ease) .15s both;
}
.origin-page .bio-kicker { line-height:1.6;letter-spacing:.08em; }
.origin-page .bio-hero h1 { font-weight:950;letter-spacing:-.05em;text-wrap:balance; }
.origin-page .bio-hero-copy>p:not(.bio-kicker) { color:#35546c; }
.origin-page .bio-art { padding:10px 10px 0;border:2px solid var(--origin-ink);border-radius:15px;background:#fff;box-shadow:5px 6px 0 #183b5530;transform:rotate(2deg);transition:transform .35s var(--origin-ease); }
.origin-page .bio-art:hover { transform:rotate(0deg) translateY(-4px); }
.origin-page .bio-art img { border-radius:7px;box-shadow:none; }
.origin-page .bio-art figcaption { padding:4px 6px 10px;color:#425b6d;font-weight:650;line-height:1.5; }
.origin-page .bio-button {
  border:2px solid var(--origin-ink);border-radius:13px;background:#ffdc7e;color:var(--origin-ink);
  box-shadow:0 5px 0 var(--origin-ink);transition:transform .2s ease,box-shadow .2s ease;
}
.origin-page .bio-button:hover { transform:translateY(-3px);box-shadow:0 8px 0 var(--origin-ink); }
.origin-page .bio-button:active { transform:translateY(4px);box-shadow:0 1px 0 var(--origin-ink); }
.bio-origin-link { display:inline-block;margin:18px 0 0 16px;padding:8px 0;color:#153b63;font-weight:800;text-underline-offset:5px; }
.origin-page .bio-details { margin-top:36px; }
.origin-page .bio-panel { border:2px solid #183b552e;border-top:5px solid var(--bio-accent);border-radius:20px;box-shadow:4px 5px 0 #183b5510; }
.origin-page .bio-panel h2 { font-size:1.3rem;letter-spacing:-.025em; }
.origin-page .bio-facts dd { margin-bottom:18px; }
.origin-page .bio-facts dd:last-child { margin-bottom:0; }
.origin-page .bio-details .bio-panel:last-child { background:linear-gradient(160deg,#fff 50%,var(--bio-soft)); }
.origin-page .bio-details .bio-panel:last-child p:last-child { margin-bottom:0; }
.origin-story {
  position:relative;margin:30px 0 36px;padding:clamp(22px,4vw,40px);
  border:3px solid var(--origin-ink);border-radius:27px;background:#fffdf5;
  box-shadow:8px 8px 0 var(--bio-soft),10px 10px 0 var(--origin-ink);
}
.origin-heading { max-width:730px;margin-bottom:28px; }
.origin-label { display:inline-block;margin:0 0 16px;padding:8px 13px;border:1px solid #183b5533;border-radius:9px;background:var(--bio-soft);color:var(--origin-ink);font-size:.82rem;font-weight:850;transform:rotate(-1deg); }
.origin-heading h2 { margin:0;color:var(--origin-ink);font-size:clamp(1.8rem,3.8vw,2.8rem);letter-spacing:-.045em;line-height:1.12;text-wrap:balance; }
.origin-heading p { margin:12px 0 0;color:#476074;line-height:1.6; }
.origin-steps { display:grid;gap:18px; }
.origin-steps details {
  --chapter-color:var(--bio-accent);--chapter-paper:var(--bio-soft);
  overflow:hidden;border:2px solid var(--origin-ink);border-radius:18px;background:#fff;
  box-shadow:0 4px 0 #183b5520;
  transition:box-shadow .25s ease,border-color .25s ease;
}
.origin-steps details:nth-child(2) { --chapter-color:#9b520d;--chapter-paper:#fff0d0; }
.origin-steps details:nth-child(3) { --chapter-color:#9a396b;--chapter-paper:#ffe4f0; }
.origin-steps details[open] { box-shadow:0 5px 0 var(--chapter-color); }
.origin-steps summary {
  display:flex;align-items:center;gap:16px;min-height:94px;padding:17px 20px;
  background:var(--chapter-paper);cursor:pointer;list-style:none;
  transition:background .2s ease;
}
.origin-steps summary::-webkit-details-marker { display:none; }
.origin-steps summary>span:nth-child(2) { flex:1;min-width:0; }
.origin-steps summary:hover { background:color-mix(in srgb,var(--chapter-paper),#fff 30%); }
.origin-steps summary:focus-visible { outline:3px solid #e99a31;outline-offset:-5px; }
.origin-number {
  display:grid;place-items:center;flex:none;width:48px;height:48px;
  border:2px solid var(--origin-ink);border-radius:14px;background:#fff;color:var(--chapter-color);
  font-size:1.1rem;font-weight:900;box-shadow:3px 3px 0 var(--chapter-color);transform:rotate(-5deg);
  transition:transform .3s var(--origin-ease);
}
.origin-steps summary:hover .origin-number,.origin-steps details[open] .origin-number { transform:rotate(0deg) translateY(-2px); }
.origin-steps summary small { display:block;margin-bottom:5px;color:var(--chapter-color);font-size:.76rem;font-weight:850;letter-spacing:.025em; }
.origin-steps summary strong { display:block;color:var(--origin-ink);font-size:clamp(1rem,2vw,1.2rem);line-height:1.3; }
.origin-reveal { flex:none;margin-left:auto;color:var(--chapter-color);font-size:.77rem;font-weight:800; }
.origin-steps details[open] .origin-reveal { font-size:0; }
.origin-steps details[open] .origin-reveal::after { content:'Close chapter';font-size:.77rem; }
.origin-steps summary::after { content:'+';display:grid;place-items:center;flex:none;width:30px;height:30px;border:1px solid #183b5533;border-radius:50%;background:#ffffffc9;color:var(--origin-ink);font-size:1.4rem;line-height:1;transition:transform .3s var(--origin-ease); }
.origin-steps details[open] summary::after { transform:rotate(45deg); }
.origin-scene { padding:6px clamp(20px,4vw,42px) 26px;border-top:1px dashed #183b5533;background:linear-gradient(90deg,var(--chapter-paper) 0 5px,#fff 5px); }
.origin-scene p { max-width:75ch;margin:18px 0 0;line-height:1.85;color:#29485e;font-size:1.02rem; }
.origin-steps details[open] .origin-scene { animation:origin-chapter .4s var(--origin-ease) both; }
.origin-page .bio-more { border:2px dashed #183b5555;background:var(--bio-soft);border-radius:22px; }
.origin-page .bio-more>p:first-of-type { display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:0; }
.origin-page .bio-more>p:first-of-type a { padding:9px 13px;border:1px solid #183b5533;border-radius:999px;background:#fff;font-size:.88rem;text-decoration:none;box-shadow:0 3px 0 #183b5515;transition:transform .2s ease,box-shadow .2s ease; }
.origin-page .bio-more>p:first-of-type a:hover { transform:translateY(-3px);box-shadow:0 6px 0 #183b5520; }
#origin-title { scroll-margin-top:24px; }
@keyframes origin-arrive { from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)} }
@keyframes origin-sticker { from{opacity:0;transform:rotate(-20deg) scale(.7)}to{opacity:1;transform:rotate(-8deg) scale(1)} }
@keyframes origin-twinkle { 0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(20deg) scale(.75)} }
@keyframes origin-chapter { from{opacity:.1;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)} }
@supports (interpolate-size:allow-keywords) and (transition-behavior:allow-discrete) {
  .origin-steps details::details-content { interpolate-size:allow-keywords;block-size:0;overflow:clip;transition:block-size .38s var(--origin-ease),content-visibility .38s allow-discrete; }
  .origin-steps details[open]::details-content { block-size:auto; }
}
@media(max-width:700px) {
  .origin-page .bio-main { padding-top:24px; }
  .origin-page .bio-hero { gap:30px;border-radius:24px 24px 44px 24px;box-shadow:5px 6px 0 var(--bio-accent); }
  .origin-page .bio-art { transform:rotate(1deg); }
  .origin-page .bio-details { margin-top:28px; }
}
@media(max-width:580px) {
  .origin-story { padding:21px 13px 23px;box-shadow:5px 5px 0 var(--bio-soft),7px 7px 0 var(--origin-ink); }
  .origin-heading { padding:0 4px; }
  .origin-label { font-size:.75rem; }
  .origin-steps summary { gap:11px;padding:15px 12px; }
  .origin-number { width:38px;height:40px;border-radius:10px;font-size:.95rem; }
  .origin-reveal { display:none; }
  .origin-steps summary::after { width:26px;height:26px; }
  .origin-scene { padding:3px 18px 22px; }
  .origin-scene p { font-size:1rem;line-height:1.75; }
  .bio-origin-link { margin-left:0;margin-right:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .origin-page *,.origin-page *::before,.origin-page *::after,.origin-steps details::details-content { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
}
