:root{--ink:#f5e9c8;--paper:#2b0033;--panel:#3d0a4d;--gold:#ffd76b;--hot:#ff529c;--cyan:#3ff0e0;--border:#ffd76b}*{box-sizing:border-box}body{color:var(--ink);background-color:var(--paper);background-image:radial-gradient(circle at 4px 4px,#ffd76b40 1px,#0000 1.5px),repeating-linear-gradient(45deg,#33013f,#33013f 12px,#2b0033 12px 24px);background-size:16px 16px,34px 34px;margin:0;padding:0;font-family:Times New Roman,Georgia,serif;line-height:1.6}header,main,footer{max-width:42rem;margin:0 auto;padding:1rem 1.25rem}header{padding-top:1.5rem}.banner{border:4px double var(--border);background:var(--panel);text-align:center;padding:.75rem 1rem;overflow:hidden}.marquee-track{white-space:nowrap;color:var(--cyan);padding-left:100%;font-family:Comic Sans MS,Comic Sans,cursive,sans-serif;font-weight:700;animation:14s linear infinite scroll-left;display:inline-block}@keyframes scroll-left{0%{transform:translate(0)}to{transform:translate(-100%)}}@media (prefers-reduced-motion:reduce){.marquee-track{padding-left:0;animation:none}}.blink{animation:1.4s steps(2,jump-none) infinite blink-fade}@keyframes blink-fade{50%{opacity:.15}}@media (prefers-reduced-motion:reduce){.blink{animation:none}}a{color:var(--cyan)}a:visited{color:#b98bd6}nav[aria-label=Primary]{border:3px ridge var(--border);background:var(--panel);margin-top:1rem;padding:.6rem .8rem}nav[aria-label=Primary] ul{flex-wrap:wrap;justify-content:center;gap:.4rem .9rem;margin:0;padding:0;font-family:Comic Sans MS,Comic Sans,cursive,sans-serif;font-size:.95rem;list-style:none;display:flex}nav[aria-label=Primary] a{color:var(--gold);border-bottom:1px dotted var(--gold);text-decoration:none}nav[aria-label=Primary] a:hover,nav[aria-label=Primary] a:focus-visible,nav[aria-label=Primary] a[aria-current=page]{color:var(--hot);border-bottom-style:solid}main{border:3px groove var(--border);background:#2b0033d9;margin-top:1rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem 1.75rem}h1{color:var(--gold);text-shadow:2px 2px 0 var(--hot);text-align:center;margin-top:0;font-family:Comic Sans MS,Comic Sans,cursive,sans-serif;font-size:1.9rem}h2{color:var(--cyan);border-bottom:2px dashed var(--gold);padding-bottom:.25rem}.divider{text-align:center;color:var(--gold);letter-spacing:.3em;margin:1.5rem 0}.hanzi{font-size:1.15em}.shrine{border:2px solid var(--gold);background:#00000040;margin:1.25rem 0;padding:1rem 1.25rem}.shrine dt{color:var(--gold);margin-top:.75rem;font-family:Comic Sans MS,Comic Sans,cursive,sans-serif;font-weight:700}.shrine dt:first-child{margin-top:0}.shrine dd{margin-left:0}.badge-row{flex-wrap:wrap;justify-content:center;gap:.6rem;margin:1rem 0;display:flex}.badge{border:2px outset var(--gold);width:11rem;height:2.25rem;color:var(--ink);text-align:center;background:linear-gradient(#4d0f5e,#2b0033);justify-content:center;align-items:center;padding:0 .4rem;font-family:Comic Sans MS,Comic Sans,cursive,sans-serif;font-size:.75rem;display:inline-flex}.counter{color:#0f0;letter-spacing:.2em;border:2px inset var(--gold);background:#000;padding:.3rem .6rem;font-family:Courier New,monospace}.under-construction{--stripe:repeating-linear-gradient(45deg, #ffd76b, #ffd76b 10px, #1a1a1a 10px, #1a1a1a 20px);border:2px solid #1a1a1a;grid-template-rows:.5rem auto .5rem;display:grid}.under-construction:before,.under-construction:after{content:"";background:var(--stripe)}.under-construction span{color:#ffd76b;text-align:center;background:#1a1a1a;padding:.35rem .5rem;font-family:Comic Sans MS,Comic Sans,cursive,sans-serif;font-weight:700}.guestbook-entry{border:2px dashed var(--gold);background:#0003;margin:1rem 0;padding:.75rem 1rem}.guestbook-entry .signed{color:var(--cyan);margin-top:.4rem;font-style:italic;display:block}footer{text-align:center;padding-bottom:2rem;font-size:.85rem}.ring-nav{border:2px inset var(--gold);background:var(--panel);justify-content:space-between;gap:.75rem;margin:1.25rem 0;padding:.6rem .9rem;font-family:Comic Sans MS,Comic Sans,cursive,sans-serif;display:flex}@media (width<=480px){header,main,footer{padding-inline:.75rem}h1{font-size:1.5rem}.badge{width:9rem}.ring-nav{text-align:center;flex-direction:column}}
