:root{--ink:#020308;--moon:222 229 244;--serif:"Songti SC", "STSong", "Noto Serif CJK SC", "Source Han Serif SC", "Noto Serif SC", serif;--sans:ui-sans-serif, system-ui, -apple-system, "PingFang SC", sans-serif}html,body,#root{background:var(--ink);height:100%;margin:0;overflow:hidden}canvas{touch-action:none;display:block}.title{font:clamp(40px, min(7.5vh, 12vw), 76px) var(--serif);color:rgb(var(--moon) / .94);filter:drop-shadow(0 1px 8px #020308b3);pointer-events:none;flex-direction:column;animation:1.6s ease-out .2s both arrive;display:flex;position:fixed;top:21%;left:50%;translate:-50%}@keyframes arrive{0%{opacity:0}}.title h1{margin:0 calc(-.25em - var(--ink-r,0) * 1em) 0 calc(var(--ink-l,0) * -1em);letter-spacing:.25em;font-size:1em;font-weight:700;line-height:1.15}.title .date{text-align:center;font:max(11px, .22em)/1.4 var(--sans);letter-spacing:.5em;color:rgb(var(--moon) / .6);margin:0 0 .5em;padding-left:.5em}.title .region{margin:.25em calc(-.2em - var(--ink-r,0) * 1em) 0 0;font:500 max(12px, .25em)/1.4 var(--sans);letter-spacing:.2em;color:rgb(var(--moon) / .72);align-items:center;gap:.8em;display:flex}.title .rule{clip-path:polygon(0 0,calc(100% - 28px) 0,100% 50%,calc(100% - 28px) 100%,0 100%);background:currentColor;flex:1;height:2px}.credits{font:10px/1.5 var(--sans);letter-spacing:.02em;color:rgb(var(--moon) / .45);pointer-events:none;filter:drop-shadow(0 1px 3px #020308e6);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"hint author""sources author";align-items:end;gap:6px 48px;display:grid;position:fixed;bottom:32px;left:32px;right:32px}.credits .hint{color:rgb(var(--moon) / .6);letter-spacing:.12em;word-break:keep-all;grid-area:hint;font-size:12px}.credits .sources{grid-area:sources;max-width:110ch}.credits .sources p{margin:6px 0 0}.credits summary{cursor:pointer;pointer-events:auto;letter-spacing:.01em;min-height:24px;color:rgb(var(--moon) / .6);align-items:center;gap:4px;font-size:12px;font-weight:500;list-style:none;transition:color .15s;display:inline-flex}.credits summary::-webkit-details-marker{display:none}.credits summary svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:14px;height:14px;transition:rotate .15s}.credits details[open] summary svg{rotate:180deg}@media (hover:hover){.credits summary:hover{color:rgb(var(--moon) / .84)}}@media (prefers-reduced-motion:reduce){.credits summary svg{transition:none}}.credits .author{letter-spacing:.01em;min-height:24px;color:rgb(var(--moon) / .6);pointer-events:auto;grid-area:author;justify-self:start;align-items:center;gap:8px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.credits .author svg{fill:currentColor;width:18px;height:18px}@media (hover:hover){.credits .author:hover{color:rgb(var(--moon) / .84)}}.error{font:14px/1.7 var(--sans);color:rgb(var(--moon) / .85);text-align:center;place-items:center;padding:16px;display:grid;position:fixed;inset:0}@media (width<=600px){.credits{grid-template-columns:minmax(0,1fr);grid-template-areas:"hint""author""sources";gap:8px;bottom:16px;left:16px;right:16px}}.card-page{background:#f5f5f5;place-items:center;padding:48px;display:grid;position:fixed;inset:0;overflow:auto}.card{--ink-1:#000000e6;--ink-2:#000000a3;--ink-3:#0000008f;box-sizing:border-box;aspect-ratio:1.414;width:min(1280px,100%,141.4dvh - 135.744px);font:16px/1.6 var(--sans);color:var(--ink-1);background:#fff;border-radius:2px;grid-template:"meta meta""window note"minmax(0,1fr)"window fine"/minmax(0,1.75fr) minmax(0,1fr);gap:16px 40px;padding:40px;display:grid;box-shadow:0 1px 2px #0000000f,0 24px 48px -24px #00000029}.card .front{display:contents}.card .meta{color:var(--ink-3);grid-area:meta;justify-content:space-between;gap:16px;font-size:13px;line-height:1.5;display:flex}.card .window{flex-direction:column;grid-area:window;gap:12px;min-height:0;margin:0;display:flex}.card .glass{background:#020308;border-radius:6px;flex:1;min-height:0;position:relative;overflow:hidden}.card .glass:after{content:"";border-radius:inherit;pointer-events:none;box-shadow:inset calc(var(--ex,0) * 3px) calc(var(--ey,0) * -3px) 0 #e5e5e5;position:absolute;inset:0}.card .loading{color:#ffffff8f;place-items:center;font-size:13px;display:grid;position:absolute;inset:0}.card figcaption{color:var(--ink-3);font-size:13px;line-height:1.5}.card-page.full .glass{z-index:1;border-radius:0;position:fixed;inset:0}.card-page.full .glass:after{content:none}.card .toggle{cursor:pointer;width:44px;height:44px;color:rgb(var(--moon) / .6);filter:drop-shadow(0 1px 3px #020308e6);background:0 0;border:0;border-radius:6px;place-items:center;padding:0;transition:color .15s;display:grid;position:absolute;top:2px;right:2px}.card .toggle svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:16px;height:16px}.card .toggle:focus-visible{outline:2px solid rgb(var(--moon) / .9);outline-offset:-4px}.card-page.full .toggle{top:18px;right:18px}@media (hover:hover){.card .toggle:hover{color:rgb(var(--moon) / .84)}}@media (width<=600px){.card-page.full .toggle{top:2px;right:2px}}.card .note{grid-area:note}.card h1{margin:0 0 24px;font-size:clamp(26px,2.8vw,40px);font-weight:500;line-height:1.3}.card .note p{color:var(--ink-2);margin:0}.card .note .from{color:var(--ink-1);margin-top:8px;font-weight:500}.card .fine{color:var(--ink-3);grid-area:fine;gap:8px;font-size:10px;line-height:1.5;display:grid}.card .fine p{margin:8px 0 0}.card .fine summary{cursor:pointer;min-height:24px;color:var(--ink-2);align-items:center;gap:4px;font-size:13px;font-weight:500;list-style:none;transition:color .15s;display:inline-flex}.card .fine summary::-webkit-details-marker{display:none}.card .fine summary svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:16px;height:16px;transition:rotate .15s}.card .fine details[open] summary svg{rotate:180deg}@media (hover:hover){.card .fine summary:hover{color:var(--ink-1)}}@media (prefers-reduced-motion:reduce){.card .fine summary svg{transition:none}}.card .author{min-height:24px;color:var(--ink-2);justify-self:start;align-items:center;gap:8px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.card .author svg{fill:currentColor;width:16px;height:16px}@media (hover:hover){.card .author:hover{color:var(--ink-1)}}@media (orientation:portrait){.card{aspect-ratio:1/1.414;grid-template:"meta""window"minmax(0,1fr)"note""fine"/minmax(0,1fr);gap:24px;width:min(800px,100%,70.7214dvh - 67.8925px)}}@media (orientation:portrait) and (width<=600px),(orientation:landscape) and (height<=500px){.card-page{background:#fff;padding:0;display:block}.card{aspect-ratio:auto;width:auto;box-shadow:none;border-radius:0;padding:0;display:block}.card .front{box-sizing:border-box;grid-template:"meta""window"minmax(0,1fr)"note"/minmax(0,1fr);gap:16px;height:100dvh;padding:24px;display:grid}.card h1{margin-bottom:16px;font-size:26px}.card .fine{padding:8px 24px 32px}}@media (orientation:landscape) and (height<=500px){.card .front{grid-template:"meta meta""window note"minmax(0,1fr)/minmax(0,1.3fr) minmax(0,1fr);gap:12px 32px;padding:16px 24px}.card h1{margin-bottom:12px;font-size:24px}}
