:root{--paper:#e7dfce;--paper-hi:#fbf7ee;--paper-mid:#f6f1e5;--paper-low:#f1eadc;--card:#fbf8f0;--ink:#211d18;--ink-body:#3e382f;--ink-soft:#6b6255;--ink-faint:#a29889;--cinnabar:#a6332b;--cinnabar-deep:#8c2822;--cinnabar-seal:#b03a2e;--gold:#9a7c4a8c;--gold-soft:#9a7c4a66;--gold-faint:#9a7c4a3d;--edge:#785f3c33;--col-shade:#785f3c80;--serif:"Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;--kai:"Kaiti SC", "STKaiti", "KaiTi", serif;--latin:"EB Garamond", Georgia, serif;--fold-top:max(140px, 21vh);--art-height:min(396px, 39vh)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}button:focus-visible{outline:1.5px solid var(--cinnabar);outline-offset:3px}button:disabled{opacity:.45;cursor:default}img{max-width:100%;display:block}.hidden-file-input{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scroll-stage{background:linear-gradient(160deg, var(--paper-hi) 0%, var(--paper-mid) 46%, var(--paper-low) 100%);grid-template-columns:22.92% 11.81% repeat(4,16.32%);height:100vh;min-height:700px;display:grid;position:relative;overflow:hidden}.landscape-wash{object-fit:cover;object-position:50% 62%;opacity:.6;mix-blend-mode:multiply;z-index:0;pointer-events:none;width:112.5%;height:74.5%;position:absolute;bottom:-4%;left:-9.7%;-webkit-mask-image:linear-gradient(#0000 0,#000 30%);mask-image:linear-gradient(#0000 0,#000 30%)}.col{z-index:2;flex-direction:column;align-items:center;min-width:0;display:flex;position:relative}.col-spacer{flex:1}.col-ordinal{letter-spacing:.2em;color:#9b9285bf;font-size:11px;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.col-brand{background:linear-gradient(90deg,#fffdf7d1,#f2ecdf80);padding:clamp(60px,9vh,92px) 30px 52px;box-shadow:inset -10px 0 20px -13px #785f3c8c}.brand-chars{flex-direction:column;align-items:center;line-height:1.1;display:flex;position:relative}.brand-chars>span:not(.brand-seal){letter-spacing:.02em;font-size:clamp(46px,5.55vw,80px);font-weight:500}.brand-seal{aspect-ratio:1;object-fit:contain;width:clamp(23px,2.1vw,30px);position:absolute;bottom:8px;right:calc(-1*clamp(24px,2.2vw,32px));transform:rotate(-2deg)}.brand-slogan{letter-spacing:.06em;color:var(--ink-body);text-align:center;margin-top:clamp(30px,3.6vw,52px);font-size:clamp(13px,1.32vw,19px);line-height:1.95}.brand-divider{align-items:center;gap:16px;width:min(252px,78%);margin-top:clamp(22px,2.6vw,38px);display:flex}.brand-divider i{flex:1;height:1px}.brand-divider i:first-child{background:linear-gradient(90deg,#9a7c4a00,#9a7c4a99)}.brand-divider i:last-child{background:linear-gradient(270deg,#9a7c4a00,#9a7c4a99)}.brand-divider span{letter-spacing:.2em;color:#4a423a;white-space:nowrap;font-size:clamp(12px,1.18vw,17px)}.brand-subline{font-family:var(--kai);letter-spacing:.06em;color:#8b8375;text-align:center;margin-top:clamp(20px,2.4vw,34px);font-size:clamp(11px,.97vw,14px);line-height:2}.brand-footer{flex-direction:column;align-items:center;gap:12px;display:flex}.brand-latin{font-family:var(--latin);letter-spacing:.32em;color:#968c7ee6;font-size:10px;font-style:normal}.brand-dev{letter-spacing:.2em;color:var(--ink-faint);font-size:clamp(10px,.83vw,12px);text-decoration:none;transition:color .2s}.brand-dev:hover{color:var(--cinnabar)}.col-action{padding:var(--fold-top) 0 52px;box-shadow:inset 10px 0 20px -13px var(--col-shade), inset -10px 0 20px -13px #785f3c73;background:linear-gradient(90deg,#f0e9db9e,#fffdf7b8);justify-content:flex-start;gap:clamp(16px,1.8vw,26px)}.action-home{flex-direction:column;align-items:center;gap:clamp(16px,1.8vw,26px);display:flex}.upload-button{width:clamp(46px,4.44vw,64px);height:var(--art-height);background:var(--cinnabar);color:#f8f1e3;border-radius:3px;flex-direction:column;justify-content:center;align-items:center;gap:clamp(14px,1.8vw,26px);transition:background .2s;display:flex;box-shadow:inset 0 0 0 1.5px #fcf0e04d,0 16px 32px #78281c2e}.upload-button:hover{background:var(--cinnabar-deep)}.upload-label{writing-mode:vertical-rl;letter-spacing:.24em;font-size:clamp(15px,1.46vw,21px)}.upload-button svg{flex-shrink:0;width:clamp(15px,1.4vw,20px);height:auto}.upload-note{flex-direction:row-reverse;align-items:flex-start;gap:.9em;display:flex}.upload-note>span{writing-mode:vertical-rl;letter-spacing:.18em;color:var(--ink-faint);font-size:clamp(9px,.76vw,11px)}.action-done{flex-direction:column;align-items:center;gap:clamp(14px,1.7vw,24px);display:flex}.done-copy{display:contents}.done-kicker{letter-spacing:.3em;color:var(--cinnabar);order:1;font-size:clamp(9px,.76vw,11px)}.done-manuscript{aspect-ratio:126/172;border:1px solid var(--edge);background:#f3efe5;order:2;width:min(126px,78%);overflow:hidden;transform:rotate(-2deg);box-shadow:0 12px 24px #46341e24}.done-manuscript img{object-fit:cover;object-position:52% 44%;width:100%;height:100%}.done-note{font-family:var(--kai);letter-spacing:.05em;color:var(--ink-soft);text-align:center;order:3;font-size:clamp(11px,.9vw,13px);line-height:1.95}.reset-button{border:1px solid var(--cinnabar);width:clamp(38px,3.6vw,52px);height:min(212px,28vh);color:var(--cinnabar);writing-mode:vertical-rl;letter-spacing:.18em;order:4;justify-content:center;align-items:center;font-size:clamp(11px,.97vw,14px);transition:background .2s;display:flex}.reset-button:hover{background:#a6332b0f}.col-scene{padding:var(--fold-top) 15px 52px}.col-odd{box-shadow:inset 10px 0 20px -13px var(--col-shade);background:linear-gradient(#fbf8f000 52%,#f7f1e5e6 72%,#f5efe2f7 100%),linear-gradient(90deg,#fffdf7cc,#f2ecdf7a)}.col-even{box-shadow:inset 10px 0 20px -13px var(--col-shade);background:linear-gradient(#fbf8f000 52%,#f7f1e5e6 72%,#f5efe2f7 100%),linear-gradient(90deg,#f0e9db99,#fffdf7b8)}.art-card{width:min(205px,86%);height:var(--art-height);background:var(--card);border:1px solid var(--edge);cursor:zoom-in;transition:transform .3s;position:relative;overflow:hidden;box-shadow:0 24px 46px #46341e33}.art-card:hover{transform:translateY(-6px)}.art-card>img{max-width:none;height:100%;position:absolute;top:0}.art-card-round{box-shadow:none;cursor:default;background:0 0;border:0;justify-content:center;align-items:center;display:flex;overflow:visible}.art-card-round:hover{transform:none}.fan-circle{aspect-ratio:1;border:clamp(4px, .42vw, 6px) solid var(--card);cursor:zoom-in;background:#e4a542;border-radius:50%;width:100%;transition:transform .3s;position:relative;overflow:hidden;box-shadow:0 20px 40px #46341e3d}.fan-circle:hover{transform:translateY(-6px)}.fan-circle>img{max-width:none;position:absolute}.col-scene h3{letter-spacing:.2em;margin-top:clamp(20px,2.2vw,32px);font-size:clamp(17px,1.67vw,24px);font-weight:400}.scene-kicker{letter-spacing:.24em;color:var(--cinnabar);margin-top:12px;font-size:clamp(9px,.76vw,11px)}.scene-actions{justify-content:center;align-items:center;gap:14px;margin-top:clamp(16px,1.8vw,26px);display:flex}.scene-actions button{letter-spacing:.06em;color:var(--ink-soft);align-items:center;gap:7px;font-size:clamp(11px,.9vw,13px);transition:color .2s;display:flex}.scene-actions button:hover{color:var(--cinnabar)}.scene-actions svg{width:13px;height:13px}.scene-actions i{background:var(--gold-soft);width:1px;height:14px}.scene-desc{display:none}.arc{aspect-ratio:940/210;z-index:6;pointer-events:none;width:65.28%;position:absolute;top:0;left:34.72%}.arc svg{width:100%;height:100%;position:absolute;inset:0}.arc-circle{aspect-ratio:1;border:1px solid var(--gold);color:#5e564a;background:#f9f5ec;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:4.9%;font-size:clamp(9px,.9vw,13px);line-height:1.08;display:flex;position:absolute;transform:translate(-50%,-50%)}.arc-circle b{font-weight:400}.arc-circle-0{color:var(--cinnabar);border-color:#b03a2e8c;top:71.9%}.arc-circle-1,.arc-circle-2{top:60.5%}.arc-circle-3{top:71.9%}.arc-stem{background:#9a7c4a80;width:1px;position:absolute}.arc-stem-0{height:15.24%;top:82.86%}.arc-stem-1,.arc-stem-2{height:26.67%;top:71.43%}.arc-stem-3{height:15.24%;top:82.86%}.arc-kicker{letter-spacing:.28em;white-space:nowrap;font-size:clamp(9px,.76vw,11px);position:absolute;top:19%;right:0}.fold-rail,.foot-fold{display:none}.busy-overlay{z-index:90;background:#f8f4ebf5;flex-direction:column;justify-content:center;align-items:center;gap:clamp(28px,3.3vw,48px);padding:24px;transition:opacity .52s;animation:.36s ease-out both busy-overlay-in;display:flex;position:fixed;inset:0;overflow-y:auto}.busy-overlay.is-leaving{opacity:0;pointer-events:none}.busy-heading{text-align:center;animation:.52s cubic-bezier(.22,.8,.24,1) 80ms both busy-heading-in}.busy-heading p{letter-spacing:.32em;color:var(--cinnabar);margin-bottom:14px;font-size:11.5px}.busy-heading h2{letter-spacing:.12em;font-size:clamp(20px,2.36vw,34px);font-weight:400}.busy-heading span{letter-spacing:.08em;color:var(--ink-soft);margin-top:14px;font-size:13px;display:block}.busy-ink-line{background:#9a7c4a33;width:92px;height:1px;margin:18px auto 0;position:relative;overflow:hidden}.busy-ink-line i{background:linear-gradient(90deg, transparent, var(--cinnabar), transparent);width:38%;animation:1.65s ease-in-out infinite busy-ink-travel;position:absolute;inset:0 auto 0 0}.busy-grid{border:1px solid var(--gold-soft);background:#fffdf899;grid-template-columns:repeat(4,minmax(0,235px));animation:.56s cubic-bezier(.22,.8,.24,1) .16s both busy-grid-in;display:grid}.busy-grid>div{flex-direction:column;align-items:center;gap:20px;padding:26px 15px 28px;display:flex;position:relative}.busy-grid>div+div{border-left:1px solid var(--gold-faint)}.busy-thumb{aspect-ratio:180/230;background:var(--card);opacity:.2;filter:saturate(.55)sepia(.08);border:1px solid #785f3c2e;width:min(180px,100%);transition:opacity .62s,filter .62s,transform .62s cubic-bezier(.22,.8,.24,1);position:relative;overflow:hidden;transform:translateY(5px)}.busy-thumb:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(#0000 20%,#a6332b1a 48%,#9a7c4a14 54%,#0000 78%);position:absolute;inset:-35% 0;transform:translateY(-55%)}.busy-thumb img{object-fit:cover;width:100%;height:100%}.busy-grid strong{letter-spacing:.2em;opacity:.2;font-size:clamp(16px,1.4vw,20px);font-weight:400;transition:opacity .62s}.busy-grid small{letter-spacing:.16em;color:var(--ink-faint);font-size:10.5px;transition:color .42s}.busy-grid>div.is-active .busy-thumb{opacity:.52;animation:1.7s ease-in-out infinite busy-paper-breathe}.busy-grid>div.is-active .busy-thumb:after{opacity:1;animation:1.7s ease-in-out infinite busy-ink-scan}.busy-grid>div.is-active small{color:var(--ink-soft)}.busy-grid>div.is-ready .busy-thumb,.busy-grid>div.is-ready strong{opacity:1}.busy-grid>div.is-ready .busy-thumb{filter:none;animation:.62s cubic-bezier(.22,.8,.24,1) both busy-card-ready;transform:translateY(0)}.busy-grid>div.is-ready .busy-thumb:after{opacity:0;animation:none}.busy-grid>div.is-ready small{color:var(--cinnabar)}.busy-progress{background:var(--gold-faint);width:min(940px,92%);height:2px}.busy-progress span{background:var(--cinnabar);height:100%;transition:width .7s cubic-bezier(.22,.8,.24,1);display:block}@keyframes busy-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes busy-heading-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes busy-grid-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes busy-ink-travel{0%{opacity:0;transform:translate(-110%)}25%,75%{opacity:1}to{opacity:0;transform:translate(360%)}}@keyframes busy-ink-scan{0%{transform:translateY(-55%)}to{transform:translateY(55%)}}@keyframes busy-paper-breathe{0%,to{opacity:.4}50%{opacity:.62}}@keyframes busy-card-ready{0%{opacity:.48;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#2c2319c7;justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;inset:0}.scene-modal{background:var(--card);border:1px solid #e2cdaf99;grid-template-columns:minmax(0,1fr) 320px;max-width:1120px;max-height:92vh;display:grid;position:relative;box-shadow:0 34px 100px #160f0a70}.modal-close{z-index:2;color:var(--ink-soft);letter-spacing:.16em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fbf8f0e6;border:1px solid #9a7c4a6b;padding:8px 10px;font-size:11px;position:absolute;top:16px;right:16px}.modal-close:hover{color:var(--cinnabar);border-color:#a6332b8c}.modal-view{background:#eee7d78c;justify-content:center;align-items:center;min-height:0;padding:44px;display:flex}.modal-view img{object-fit:contain;max-width:100%;max-height:min(620px,66vh);box-shadow:0 18px 44px #46341e33}.modal-side{border-left:1px solid #9a7c4a52;flex-direction:column;justify-content:space-between;gap:32px;padding:48px 34px;display:flex}.modal-side>div:first-child p{letter-spacing:.28em;color:var(--cinnabar);margin-bottom:11px;font-size:10.5px}.modal-side h3{letter-spacing:.22em;font-size:clamp(26px,2.3vw,33px);font-weight:400}.modal-side>div:first-child span{letter-spacing:.04em;color:var(--ink-soft);text-wrap:pretty;margin-top:20px;font-size:14px;line-height:2.05;display:block}.modal-actions{border:1px solid #9a7c4a57;display:flex}.modal-actions button{letter-spacing:.14em;color:var(--ink-soft);text-align:center;flex:1;padding:14px 0;font-size:13px;transition:color .2s,background .2s}.modal-actions button:hover{color:var(--cinnabar)}.modal-actions .modal-primary{background:var(--cinnabar);color:#f8f1e3}.modal-actions .modal-primary:hover{background:var(--cinnabar-deep);color:#f8f1e3}.modal-meta{letter-spacing:.12em;color:var(--ink-faint);margin-top:18px;font-size:11px}.toast{z-index:120;color:#f8f1e3;letter-spacing:.12em;white-space:nowrap;background:#28221beb;padding:14px 26px;font-size:13px;position:fixed;bottom:44px;left:50%;transform:translate(-50%)}@media (width<=920px){.scroll-stage{background:linear-gradient(170deg, var(--paper-hi) 0%, var(--paper-mid) 46%, var(--paper-low) 100%);height:auto;min-height:0;display:block;overflow:visible}.landscape-wash{aspect-ratio:490/330;opacity:.42;width:122%;height:auto;bottom:0;left:-10%;-webkit-mask-image:linear-gradient(#0000 0,#000 40%);mask-image:linear-gradient(#0000 0,#000 40%)}.arc{display:none}.col{padding-left:40px;padding-right:40px}.col-ordinal{margin-top:22px;position:static;transform:none}.col-brand{background:linear-gradient(#fffdf7d1,#f2ecdf80);padding:96px 40px 54px;box-shadow:inset 0 -12px 22px -14px #785f3c8c}.brand-chars>span:not(.brand-seal){font-size:clamp(52px,16.4vw,66px)}.brand-seal{width:28px;bottom:6px;right:-30px}.brand-slogan{margin-top:44px;font-size:17px}.brand-divider{width:236px;margin-top:34px}.brand-divider span{font-size:16px}.brand-subline{margin-top:26px;font-size:13px}.brand-footer{gap:14px;margin-top:34px}.brand-latin{margin-top:0}.brand-dev{font-size:12px}.col-action{box-shadow:inset 0 12px 22px -14px var(--col-shade), inset 0 -12px 22px -14px #785f3c73;background:linear-gradient(#f0e9db9e,#fffdf7b8);padding:52px 40px 46px}.action-home{gap:20px;width:100%}.upload-button{letter-spacing:.24em;flex-direction:row;gap:14px;width:100%;height:60px;font-size:19px;box-shadow:inset 0 0 0 1.5px #fcf0e04d,0 14px 28px #78281c2e}.upload-label{writing-mode:horizontal-tb;font-size:19px}.upload-button svg{width:19px}.upload-note{text-align:center;max-width:22em;line-height:1.9;display:block}.upload-note>span{writing-mode:horizontal-tb;letter-spacing:.14em;font-size:11.5px}.upload-note>span+span:before{content:" · "}.action-done{flex-direction:row;align-items:center;gap:24px;width:100%}.done-copy{flex-direction:column;flex:1;order:3;align-items:flex-start;gap:14px;min-width:0;display:flex}.done-manuscript{aspect-ratio:104/142;flex-shrink:0;width:104px}.done-kicker{font-size:11px}.done-note{text-align:left;font-size:13.5px}.reset-button{writing-mode:horizontal-tb;width:auto;height:42px;padding:0 20px;font-size:13.5px}.col-scene{padding:54px 40px 44px}.col-odd{box-shadow:inset 0 12px 22px -14px var(--col-shade), inset 0 -12px 22px -14px #785f3c73;background:linear-gradient(#fffdf7cc,#f5efe2f5)}.col-even{box-shadow:inset 0 12px 22px -14px var(--col-shade), inset 0 -12px 22px -14px #785f3c73;background:linear-gradient(#f0e9dbb8,#f5efe2f5)}.art-card{aspect-ratio:248/478;width:min(248px,72vw);height:auto}.art-card-round{aspect-ratio:auto;height:auto}.fan-circle{border-width:7px;width:min(248px,66vw)}.col-scene h3{margin-top:28px;font-size:23px}.scene-kicker{margin-top:11px;font-size:11px}.scene-actions{gap:16px;margin-top:22px}.scene-actions button{font-size:13.5px}.scene-desc{letter-spacing:.03em;color:var(--ink-soft);text-align:center;text-wrap:pretty;margin-top:16px;font-size:13.5px;line-height:2;display:block}.fold-rail{z-index:40;flex-direction:column;align-items:center;display:flex;position:fixed;top:33vh;right:13px}.fold-rail button{flex-direction:column;align-items:center;display:flex}.fold-rail i{background:#9a7c4a73;width:1px;height:20px}.fold-rail span{width:30px;height:30px;color:var(--ink-soft);background:#f9f5ece6;border:1px solid #9a7c4a80;border-radius:50%;justify-content:center;align-items:center;font-size:13px;transition:all .3s;display:flex}.fold-rail button.is-active span{color:var(--cinnabar);background:#a6332b1a;border-color:#b03a2eb3}.foot-fold{z-index:2;letter-spacing:.06em;color:var(--ink-faint);text-align:center;background:linear-gradient(#fffdf7b3,#f6f1e566);padding:40px 40px 120px;font-size:12px;line-height:2;display:block;position:relative}.busy-overlay{gap:34px;padding:70px 34px 60px}.busy-heading h2{letter-spacing:.1em;font-size:23px;line-height:1.7}.busy-heading span{font-size:12.5px}.busy-grid{grid-template-columns:repeat(2,1fr);width:100%}.busy-grid>div{border:1px solid #9a7c4a33;gap:12px;padding:20px 16px 18px}.busy-grid>div+div{border-left:1px solid #9a7c4a33}.busy-thumb{aspect-ratio:106/136;width:106px}.busy-grid strong{font-size:16px}.modal-backdrop{padding:0}.scene-modal{border:0;flex-direction:column;width:100%;max-height:100vh;display:flex}.modal-view{background:0 0;flex:1;padding:80px 26px 20px}.modal-view img{max-height:100%;box-shadow:0 18px 44px #140e0880}.modal-side{background:var(--card);border-left:0;padding:26px 26px 54px}.modal-side h3{font-size:26px}.modal-side>div:first-child span{margin-top:14px;font-size:13.5px}.modal-actions button{padding:15px 0;font-size:13.5px}.modal-meta{display:none}.toast{padding:13px 22px;font-size:12.5px;bottom:60px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
