:root{--paper:#ECE7D9;--ink:#242219;--ink-soft:#4b473c;--seal:#b0392c}#ink-world,#ink-world *{box-sizing:border-box}#ink-world{position:fixed;inset:0;overflow:hidden;background:var(--paper);font-family:Kaiti SC,STKaiti,KaiTi,楷体,Songti SC,STSong,"Source Han Serif SC",SimSun,serif;color:var(--ink);-webkit-font-smoothing:antialiased;cursor:grab}#ink-world.live{cursor:grab}#ink-world.live:active{cursor:grabbing}#scene{position:absolute;inset:0;width:100%;height:100%;display:block;outline:none;touch-action:none}.grain,.vignette{position:absolute;inset:0;pointer-events:none}.grain{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.05;mix-blend-mode:multiply;z-index:3}.vignette{z-index:4;background:radial-gradient(120% 100% at 50% 42%,#0000 55%,#28261e29)}.veil{position:absolute;inset:0;z-index:20;background:var(--paper);display:flex;align-items:center;justify-content:center;transition:opacity 2.2s ease;opacity:1}.ink-bloom{position:absolute;left:50%;top:50%;width:40vmax;height:40vmax;margin:-20vmax 0 0 -20vmax;border-radius:50%;background:radial-gradient(circle,#1c1a14e6,#28261e8c 34%,#3c392e00 70%);transform:scale(0);opacity:.9;transition:transform 2.8s cubic-bezier(.19,1,.22,1),opacity 2.6s ease}.calli{position:relative;z-index:2;text-align:center;opacity:0;transform:translateY(16px);filter:blur(6px);transition:opacity 1.7s ease,transform 1.7s cubic-bezier(.19,1,.22,1),filter 1.7s ease}.calli .zh{font-size:clamp(76px,17vw,190px);font-weight:600;letter-spacing:.16em;color:var(--ink);line-height:1;text-indent:.16em;text-shadow:0 0 22px rgba(36,34,25,.22)}.calli .sub{margin-top:1.4rem;font-size:clamp(13px,1.6vw,17px);letter-spacing:.5em;color:var(--ink-soft);text-indent:.5em}.calli .stamp{display:inline-block;margin-top:1.6rem;width:52px;height:52px;line-height:52px;color:#fff;background:var(--seal);font-size:26px;border-radius:5px;transform:rotate(-4deg) scale(.4);opacity:0;transition:transform .7s cubic-bezier(.34,1.56,.64,1) .5s,opacity .5s ease .5s;box-shadow:0 2px 10px #78281e66}#ink-world.veil-bleed .ink-bloom{transform:scale(1)}#ink-world.veil-title .calli{opacity:1;transform:translateY(0);filter:blur(0)}#ink-world.veil-title .calli .stamp{opacity:1;transform:rotate(-4deg) scale(1)}#ink-world.veil-open .veil,#ink-world.veil-open .ink-bloom{opacity:0}#ink-world.veil-done .veil{display:none}.hud{position:absolute;left:0;right:0;bottom:26px;z-index:10;text-align:center;color:var(--ink-soft);font-size:15px;letter-spacing:.14em;pointer-events:none;opacity:0;transition:opacity 1.2s ease .4s}.hud b{color:var(--ink);font-weight:600}#ink-world.live .hud{animation:hudIn 1.2s ease .5s forwards,hudOut 2.5s ease 9s forwards}@keyframes hudIn{0%{opacity:0}to{opacity:.92}}@keyframes hudOut{0%{opacity:.92}to{opacity:.28}}#skip{position:absolute;top:22px;right:26px;z-index:22;cursor:pointer;color:var(--ink-soft);font-size:15px;letter-spacing:.24em;user-select:none;padding:6px 4px;transition:opacity .5s ease,color .2s}#skip:hover{color:var(--ink)}#skip.gone{opacity:0;pointer-events:none}#soundBtn{position:absolute;left:28px;bottom:30px;z-index:12;cursor:pointer;user-select:none;background:#ece7d966;border:1px solid rgba(75,71,60,.32);color:var(--ink);font-family:inherit;font-size:15px;letter-spacing:.28em;text-indent:.28em;padding:8px 16px;border-radius:4px;backdrop-filter:blur(3px);opacity:0;transition:opacity 1s ease 1.2s,background .2s,border-color .2s,color .2s}#ink-world.live #soundBtn{opacity:1}#soundBtn:hover{background:#4b473c14;border-color:#4b473c99}#soundBtn[aria-pressed=false]{color:var(--ink-soft)}#hour{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:11;color:var(--ink-soft);font-size:22px;letter-spacing:.1em;user-select:none;opacity:0;transition:opacity 1s ease 1.3s}#ink-world.live #hour{opacity:.85}.seal{position:absolute;right:28px;bottom:26px;z-index:12;display:flex;align-items:center;gap:14px;padding:8px 12px;border-radius:8px;background:#ece7d966;backdrop-filter:blur(3px);opacity:0;transform:translateY(8px);transition:opacity .8s ease .3s,transform .8s ease .3s}#ink-world.live .seal{opacity:1;transform:translateY(0)}.seal .stamp{width:54px;height:54px;line-height:54px;text-align:center;color:#fff;background:var(--seal);font-size:32px;border-radius:6px;box-shadow:0 3px 10px #78281e6b;text-indent:0}.seal .who{text-align:right;line-height:1.4}.seal .who .n{font-size:18px;color:var(--ink);letter-spacing:.08em}.seal .who .r{font-size:12px;color:var(--ink-soft);letter-spacing:.16em}#aboutBtn{position:absolute;top:22px;left:26px;z-index:10;cursor:pointer;user-select:none;background:transparent;border:1px solid rgba(75,71,60,.35);color:var(--ink);font-family:inherit;font-size:15px;letter-spacing:.3em;text-indent:.3em;padding:7px 16px;border-radius:3px;backdrop-filter:blur(2px);opacity:0;transition:opacity 1s ease 1.1s,background .2s,border-color .2s}#ink-world.live #aboutBtn{opacity:1}#aboutBtn:hover{background:#4b473c14;border-color:#4b473c99}#about{position:absolute;top:64px;left:26px;z-index:15;width:min(340px,80vw);background:#ece7d9e6;backdrop-filter:blur(6px);border:1px solid rgba(75,71,60,.28);border-radius:6px;padding:22px 24px;box-shadow:0 12px 40px #28261e2e;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .35s ease,transform .35s ease}#about.show{opacity:1;transform:translateY(0);pointer-events:auto}#about h3{margin:0 0 2px;font-size:22px;letter-spacing:.06em}#about .role{color:var(--ink-soft);font-size:13px;letter-spacing:.12em;margin-bottom:14px}#about p{margin:0 0 16px;font-size:14px;line-height:1.75;color:var(--ink-soft)}#about .links{display:flex;flex-wrap:wrap;gap:8px}#about a{text-decoration:none;color:var(--ink);font-size:13px;letter-spacing:.08em;border:1px solid rgba(75,71,60,.3);border-radius:3px;padding:5px 12px;transition:.2s}#about a:hover{background:var(--ink);color:var(--paper)}#about .motto{margin-top:16px;font-size:12px;color:var(--ink-soft);letter-spacing:.1em;opacity:.85}#aboutClose{position:absolute;top:10px;right:14px;cursor:pointer;color:var(--ink-soft);font-size:18px}#aboutClose:hover{color:var(--ink)}@media (max-width:640px){.hud{font-size:12px;letter-spacing:.06em;padding:0 12px}#skip,#aboutBtn{font-size:13px}.seal .who .n{font-size:14px}}@media (prefers-reduced-motion:reduce){.ink-bloom,.calli{transition-duration:.8s}}
