body{overflow-x:clip}body.page-message:after{display:none!important}.msg-hero{background:var(--ink-bg);justify-content:center;align-items:center;min-height:86vh;padding:120px 24px 110px;display:flex;position:relative;overflow:hidden}.msg-hero:before,.msg-hero:after{font-family:var(--font-serif);color:#ffffff06;pointer-events:none;user-select:none;z-index:0;font-weight:700;line-height:1;position:absolute}.msg-hero:before{content:"墨";font-size:clamp(220px,30vw,420px);top:4%;right:3%}.msg-hero:after{content:"痕";font-size:clamp(160px,24vw,320px);bottom:-6%;left:2%}.msg-hero-inner{z-index:1;text-align:center;flex-direction:column;align-items:center;max-width:680px;display:flex;position:relative}.msg-hero-inner>*{opacity:0;animation:.9s cubic-bezier(.16,1,.3,1) forwards heroRise}@keyframes heroRise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.msg-hero-kicker{animation-delay:50ms}.msg-hero-title{animation-delay:.16s}.msg-hero-sub{animation-delay:.3s}.msg-count{animation-delay:.44s}.msg-hero-kicker{font-family:var(--font-mono);letter-spacing:.34em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 22px;font-size:11px}.msg-hero-title{font-family:var(--font-serif);letter-spacing:.1em;color:var(--ink-text);margin:0;font-size:clamp(42px,7vw,66px);font-weight:700;line-height:1.15}.msg-hero-sub{font-family:var(--font-serif);letter-spacing:.14em;color:var(--ink-dim);margin:26px 0 0;font-size:16px}.msg-count{font-family:var(--font-serif);letter-spacing:.1em;color:var(--ink-dim);margin:34px 0 0;font-size:14.5px;line-height:2}.msg-count:before{content:"";background:var(--ink-gold);vertical-align:middle;width:18px;height:1px;margin-right:12px;display:inline-block}.msg-count .br-md{display:none}.scroll-hint{z-index:2;opacity:0;flex-direction:column;align-items:center;gap:12px;animation:1s .9s forwards hintIn;display:flex;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}@keyframes hintIn{to{opacity:1}}.scroll-hint-line{background:var(--ink-line-strong);width:1px;height:52px;animation:2.2s cubic-bezier(.6,.05,.3,.95) infinite hintBreathe}@keyframes hintBreathe{0%{transform-origin:top;opacity:0;transform:scaleY(0)}18%{opacity:1}45%{transform-origin:top;opacity:1;transform:scaleY(1)}55%{transform-origin:bottom;opacity:1;transform:scaleY(1)}88%{transform-origin:bottom;opacity:1;transform:scaleY(0)}to{transform-origin:bottom;opacity:0;transform:scaleY(0)}}.scroll-hint span{font-family:var(--font-mono);letter-spacing:.3em;color:var(--ink-faint);font-size:10px}.main{max-width:1360px;margin:0 auto;padding:110px 32px 120px}.section.chapter{max-width:680px;margin:0 auto 170px;scroll-margin-top:80px}.section.chapter:last-child{margin-bottom:0}.chapter-head{opacity:0;flex-direction:column;gap:14px;margin-bottom:46px;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);display:flex;transform:translateY(14px)}.section.visible .chapter-head{opacity:1;transform:none}.chapter-head--center{text-align:center;align-items:center}.chapter-no{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:12px;margin:0;font-size:11px;display:flex}.chapter-no:before{content:"";border:1px solid var(--ink-gold);flex-shrink:0;width:7px;height:7px;transform:rotate(45deg)}.chapter-sep{color:var(--ink-gold);margin:0 2px}.section-title{font-family:var(--font-serif);letter-spacing:.08em;color:var(--ink-text);align-items:center;gap:14px;margin:0;font-size:clamp(26px,3.4vw,34px);font-weight:700;line-height:1.3;display:flex}.chapter-head--center .section-title{justify-content:center}.section-title-accent{background:var(--ink-gold);width:26px;height:1px;transition:width .4s cubic-bezier(.16,1,.3,1);display:inline-block}.chapter-head:hover .section-title-accent{width:44px}.msg-paper{background:var(--ink-surface);border:1px solid var(--ink-line-strong);border-radius:2px;padding:34px 36px 26px;position:relative;box-shadow:0 24px 60px #0006}.msg-textarea{resize:vertical;width:100%;min-height:170px;font-family:var(--font-serif);letter-spacing:.04em;color:var(--ink-text);caret-color:var(--ink-gold);background:0 0;border:none;padding:0;font-size:15.5px;line-height:2.1;display:block}.msg-textarea::placeholder{color:var(--ink-faint)}.msg-textarea:focus{outline:none}.msg-turnstile{min-height:0;margin-top:14px}.msg-form-foot{border-top:1px solid var(--ink-line);justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding-top:16px;display:flex}.msg-char-count{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-faint);font-size:11px}.msg-form-actions{align-items:center;gap:16px;display:flex}.msg-cooldown{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-gold);font-size:11.5px}.msg-submit svg{width:15px;height:15px;display:block}.msg-spinner svg{width:14px;height:14px;animation:.8s linear infinite msgSpin;display:block}@keyframes msgSpin{to{transform:rotate(360deg)}}.msg-paper-seal{width:30px;height:30px;font-family:var(--font-serif);color:#c8a22780;pointer-events:none;border:1px solid #c8a22780;border-radius:2px;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:inline-flex;position:absolute;bottom:14px;right:16px;transform:rotate(-4deg)}.section.wall-band{background:var(--ink-surface);border-top:1px solid var(--ink-line);border-bottom:1px solid var(--ink-line);width:100vw;max-width:none;margin-bottom:0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:72px 0 64px}.wall-band .chapter-head{max-width:680px;margin-left:auto;margin-right:auto;padding:0 32px}.wall-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 26px;max-width:1120px;margin:0 auto;padding:0 32px;display:grid}.msg-note{--tilt:0deg;--d:0s;background:var(--ink-surface-2);border:1px solid var(--ink-line);opacity:0;transform:translateY(26px) rotate(var(--tilt));transition:opacity .7s cubic-bezier(.16, 1, .3, 1) var(--d), transform .7s cubic-bezier(.16, 1, .3, 1) var(--d), border-color .3s ease, box-shadow .3s ease, background .3s ease;border-radius:2px;padding:24px 22px 20px;position:relative;box-shadow:0 12px 28px #0000004d}.msg-note.reveal-in{opacity:1;transform:translateY(0) rotate(var(--tilt))}.msg-note.reveal-in:hover{border-color:var(--ink-line-strong);z-index:2;transition-delay:0s;transform:translateY(-5px)rotate(0);box-shadow:0 22px 46px #00000073}.msg-note:nth-child(3n+1){--tilt:-1.05deg}.msg-note:nth-child(3n+2){--tilt:.9deg;margin-top:22px}.msg-note:nth-child(3n){--tilt:-.45deg}.msg-note:nth-child(2n){background:#191916}.msg-note:nth-child(odd){background:var(--ink-surface-2)}.msg-note:before{content:"";background:var(--ink-gold);border-radius:50%;width:8px;height:8px;margin-left:-4px;position:absolute;top:10px;left:50%;box-shadow:0 0 0 3px #c8a22724,0 2px 6px #0009}.msg-note-head{align-items:center;gap:10px;margin-bottom:14px;display:flex}.msg-note-avatar{border:1px solid var(--ink-line-strong);width:30px;height:30px;color:var(--ink-gold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.msg-note-avatar svg{width:14px;height:14px;display:block}.msg-note-name{font-family:var(--font-sans);letter-spacing:.04em;color:var(--ink-text);font-size:13px;font-weight:600}.msg-note-date{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-faint);margin-left:auto;font-size:10.5px}.msg-note-content{font-family:var(--font-serif);letter-spacing:.03em;color:var(--ink-dim);word-break:break-word;white-space:pre-wrap;margin:0;font-size:14.5px;line-height:2}.msg-note-reply{border-left:2px solid var(--ink-gold);letter-spacing:.03em;color:var(--ink-dim);background:#c8a2270d;margin:14px 0 0;padding:10px 14px;font-size:13px;line-height:1.9}.msg-note-reply b{font-family:var(--font-serif);color:var(--ink-gold);margin-right:8px;font-weight:700}.msg-empty{text-align:center;max-width:680px;font-family:var(--font-serif);letter-spacing:.14em;color:var(--ink-faint);margin:0 auto;padding:56px 32px;font-size:14.5px}.msg-note--skeleton{pointer-events:none;opacity:1!important;transform:rotate(var(--tilt))!important}.msg-note--skeleton .skeleton-text{margin-bottom:12px}.msg-note--skeleton .skeleton-text:last-child{margin-bottom:0}.wall-band .epilogue-mark{margin:76px 0 0;padding:0 24px}.epilogue-mark{text-align:center;font-family:var(--font-serif);letter-spacing:.42em;text-indent:.42em;color:var(--ink-faint);opacity:0;font-size:13px;transition:opacity 1s .3s,transform 1s .3s;transform:translateY(8px)}.section.visible .epilogue-mark{opacity:1;transform:none}.msg-colophon{padding:0 24px 60px}.msg-colophon-bar{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);justify-content:center;align-items:center;gap:14px;font-size:11px;display:flex}.msg-colophon-dot{color:var(--ink-gold)}.toast.error{border-color:#c0574e8c}@media (width>=640px){.msg-count .br-md{display:inline}}@media (width<=1024px){.wall-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 22px}.section.wall-band{padding:60px 0 52px}}@media (width<=768px){.msg-hero{min-height:auto;padding:96px 20px 84px}.scroll-hint{display:none}.main{padding:72px 20px 88px}.section.chapter{margin-bottom:104px}.chapter-head{margin-bottom:34px}.msg-paper{padding:24px 20px 20px}.msg-textarea{min-height:140px;font-size:14.5px}.msg-form-foot{flex-direction:column;align-items:stretch;gap:12px}.msg-form-actions{justify-content:space-between}.section.wall-band{padding:52px 0 44px}.wall-band .chapter-head{padding:0 20px}.wall-grid{grid-template-columns:1fr;gap:20px;padding:0 20px}.msg-note:nth-child(3n+2){margin-top:0}.msg-note{padding:20px 18px 16px}.wall-band .epilogue-mark{margin-top:56px}}@media (width<=480px){.msg-hero-title{letter-spacing:.08em;font-size:38px}.msg-hero-sub{font-size:14.5px}.section-title{font-size:22px}.chapter-no{letter-spacing:.24em;font-size:10px}.msg-paper-seal{display:none}}@media (prefers-reduced-motion:reduce){.msg-hero-inner>*{opacity:1!important;animation:none!important}.scroll-hint{opacity:1;animation:none!important}.scroll-hint-line{animation:none!important}.chapter-head,.epilogue-mark{opacity:1!important;transition:none!important;transform:none!important}.msg-note{opacity:1!important;transform:rotate(var(--tilt))!important;transition:none!important}.msg-spinner svg{animation:none!important}}
