:root{--silk:#e6e8e1;--silk-deep:#d8dcd2;--ink:#1f2622;--ink-soft:#55605a;--azurite:#2d5b7a;--malachite:#4e8c78;--ochre:#a27b4f;--cinnabar:#b23a2b;--font-serif:"Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", serif;--font-sans:system-ui, -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--fs-small:.8125rem;--fs-body:1rem;--fs-lead:1.125rem;--fs-title:1.5rem;--fs-display:2.75rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-slip:2px;--radius-seal:4px;--line:1px solid color-mix(in srgb, var(--ink) 22%, transparent);--content-width:40rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--silk);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-body);margin:0;line-height:1.7}a{color:inherit}:focus-visible{outline:2px solid var(--azurite);outline-offset:3px}.page{max-width:var(--content-width);padding:var(--space-6) var(--space-5) var(--space-7);margin:0 auto}.hero{gap:var(--space-5);grid-template-columns:auto 1fr;align-items:end;min-height:15rem;display:grid}.hero-title{writing-mode:vertical-rl;font-family:var(--font-serif);font-size:var(--fs-display);letter-spacing:.18em;margin:0;font-weight:700;line-height:1}.hero-side{gap:var(--space-4);align-content:end;align-self:stretch;display:grid}.hero-lead{font-family:var(--font-serif);font-size:var(--fs-lead);color:var(--ink-soft);max-width:16em;margin:0}.mountains{width:100%;height:auto;display:block;-webkit-mask-image:linear-gradient(#000 62%,#0000);mask-image:linear-gradient(#000 62%,#0000)}.mountains .ridge{transform-origin:bottom;animation:1.2s cubic-bezier(.2,.7,.2,1) both ridge-rise}.mountains .ridge-far{animation-delay:0s}.mountains .ridge-mid{animation-delay:.15s}.mountains .ridge-near{animation-delay:.3s}@keyframes ridge-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.mountains .ridge{animation:none}}.section-title{font-family:var(--font-serif);font-size:var(--fs-title);margin:var(--space-7) 0 var(--space-4);font-weight:600}.slips{gap:var(--space-3);grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}.slips>li{display:grid}.slip{gap:var(--space-3);min-height:11rem;padding:var(--space-4) var(--space-3);border:var(--line);border-radius:var(--radius-slip);color:var(--ink-soft);grid-template-rows:auto 1fr auto;text-decoration:none;display:grid;position:relative}.slip-name{font-family:var(--font-serif);font-size:var(--fs-title);writing-mode:vertical-rl;letter-spacing:.2em;justify-self:center;margin:0;font-weight:700}.slip-blurb{font-size:var(--fs-small);align-self:end;margin:0;line-height:1.5}.slip-state{font-size:var(--fs-small);color:var(--ochre)}a.slip{color:var(--ink);border:2px solid var(--ink);background:color-mix(in srgb, var(--malachite) 10%, var(--silk))}a.slip:active{background:var(--silk-deep)}.seal{border-radius:var(--radius-seal);background:var(--cinnabar);width:2.6em;height:2.6em;color:var(--silk);font-family:var(--font-serif);font-size:var(--fs-small);text-align:center;justify-self:start;place-items:center;padding:2px;font-weight:700;line-height:1.05;display:inline-grid;transform:rotate(-4deg)}.back{margin-bottom:var(--space-5);color:var(--ink-soft);text-decoration:none;display:inline-block}.back:hover{text-decoration:underline}.subject-head{font-family:var(--font-serif);font-size:var(--fs-display);margin:0 0 var(--space-2);letter-spacing:.1em}.module-list{margin:var(--space-6) 0 0;border-top:var(--line);padding:0;list-style:none}.module-item{gap:var(--space-3);padding:var(--space-4) 0;border-bottom:var(--line);grid-template-columns:1fr auto;align-items:baseline;display:grid}.module-item h3{font-family:var(--font-serif);font-size:var(--fs-lead);margin:0}.module-item p{margin:var(--space-1) 0 0;color:var(--ink-soft);font-size:var(--fs-small)}.diag dl{gap:var(--space-2) var(--space-4);margin:var(--space-5) 0;grid-template-columns:7em 1fr;display:grid}.diag dt{color:var(--ink-soft)}.diag dd{word-break:break-all;margin:0}.status-ok{color:var(--malachite);font-weight:600}.status-bad{color:var(--cinnabar);font-weight:600}.button{font:inherit;padding:var(--space-2) var(--space-5);border:2px solid var(--ink);border-radius:var(--radius-slip);color:var(--ink);cursor:pointer;background:0 0}.button:active{background:var(--silk-deep)}@media (width>=640px){.hero{min-height:20rem}.slip{min-height:13rem}}
