:root{font-family:PingFang SC,Arial,sans-serif;color:#283e38;background:#f3f0e7;font-synthesis:none;font-size:16px}*{box-sizing:border-box}body{margin:0}button,a,summary{-webkit-tap-highlight-color:transparent}button,select,input{font:inherit}button{cursor:pointer;border:1px solid #c6cbbd;background:#faf8ef;color:#2e473e;border-radius:8px;min-height:46px;padding:9px 15px;line-height:1.35}button:hover{background:#e6eadb}button:disabled{opacity:.5;cursor:default}button:focus-visible,summary:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #ae8343;outline-offset:3px}button span{font-size:13px;margin-top:3px}a{color:inherit}span[lang=en]{display:block;font-family:Arial,sans-serif;font-weight:400;letter-spacing:0;line-height:1.45}p{line-height:1.75;margin:10px 0}p span{font-size:15px;line-height:1.5;margin-top:5px}h1,h2,h3{font-family:Songti SC,STSong,serif;font-weight:500}h1 span,h2 span,h3 span{font-family:Arial,sans-serif}#shelf{max-width:1500px;margin:auto;padding:0 6%}.shelf-head{height:125px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #d9d8c9}.logo{font:32px Songti SC,serif;text-decoration:none;letter-spacing:6px}.logo span{display:block;font:9px Arial;letter-spacing:2px;margin-top:7px}.shelf-head>div{font-size:13px;color:#6a7564;line-height:1.8}.shelf-head>div span{font-size:12px}.shelf-head>button{background:transparent;font-size:13px}.shelf-head>button span{font-size:11px}.hero{position:relative;min-height:510px;padding:65px 0 45px;overflow:hidden}.eyebrow{font-size:11px;color:#8d7d5c;letter-spacing:3px}.hero h1{font-size:clamp(42px,5.6vw,76px);line-height:1.35;letter-spacing:6px;margin:20px 0;color:#344d42}.hero h1>span{display:inline;color:#8f987b;font-family:inherit}.hero>p:not(.eyebrow){font-size:15px;line-height:1.9;color:#697763}.hero>p span{font-size:14px}.shelf-note{margin-top:25px;font-size:12px;color:#8b825e}.shelf-note span{font-size:11px;margin-top:5px}.book-mark{position:absolute;right:6%;top:75px;width:42%;height:390px;transform:rotate(-8deg);isolation:isolate}.book-mark i{position:absolute;width:68%;height:90%;left:15%;top:10px;background:#c8cbbb;box-shadow:20px 30px 60px #384e3520;border-radius:4px 20px 20px 4px;transform:rotate(17deg)}.book-mark i:nth-child(2){background:#cfbfa4;transform:rotate(-4deg);left:9%;top:25px}.book-mark i:nth-child(3){background:#778d80;transform:rotate(0);left:22%;top:30px;border:8px double #bdc4a2}.book-mark b{position:absolute;left:46%;top:25%;font:44px Songti SC,serif;color:#f7efd7;line-height:1.5;letter-spacing:5px}.book-mark small{position:absolute;left:37%;bottom:15%;font-size:9px;letter-spacing:4px;line-height:1.8;color:#eee8d1}.books-title{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #d9d8c9;padding:35px 0 30px}.books-title h2{font-size:25px;margin:0}.books-title h2 span{font-size:14px;margin-top:9px;color:#697763}.books-title p{font-size:12px;color:#7b826c}.books-title p span{font-size:11px}#books{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.book{--accent:#668b79;background:#faf8ef;border:1px solid #dfdfd0;border-radius:12px;overflow:hidden;transition:transform .2s,box-shadow .2s}.book:hover{transform:translateY(-5px);box-shadow:0 12px 40px #354d3215}.cover{position:relative;height:215px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--paper),var(--accent));overflow:hidden}.cover:before{content:"";position:absolute;inset:15px;border:1px solid #fff7}.cover img{width:100%;height:100%;object-fit:cover;position:relative}.cover .vol{position:absolute;left:24px;top:20px;font:italic 18px Georgia;color:#fffde9;z-index:1;text-shadow:0 1px 7px #28423766}.cover .symbol{font:76px Songti SC,serif;color:#fff9dfb8;letter-spacing:10px}.book-body{padding:22px}.book h3{font-size:25px;margin:0}.book h3 span{font-size:16px;margin-top:6px}.book .subtitle{font-size:14px;color:#6b7a69;margin-top:15px;min-height:55px}.book .subtitle span{font-size:13px}.book .theme{font-size:13px;color:#77806c;min-height:72px}.book .theme span{font-size:12px}.book button{width:100%;background:transparent;border-color:var(--accent);color:#3e594d}.book .status{font-size:11px;margin:12px 0 0;color:#8c8061}.book .status span{font-size:10px}.shelf-footer{text-align:center;padding:55px 0 40px;color:#85907a;font-size:12px}.shelf-footer span{font-size:11px;margin-top:6px}#game{position:fixed;inset:0;overflow:hidden}#world{display:block;width:100%;height:100dvh;touch-action:none;outline:none}.game-head{position:absolute;left:4%;right:4%;top:max(18px,env(safe-area-inset-top));display:flex;justify-content:space-between;gap:15px;pointer-events:none}#game-title{font:24px Songti SC,serif;min-width:0}#game-title span{font-size:14px;margin-top:5px}.game-head nav{display:flex;gap:7px;pointer-events:auto;flex-shrink:0}.paper{background:#faf8eef5;border:1px solid #fffdf6;border-radius:13px;padding:20px;box-shadow:0 14px 50px #2d463416}#task{position:absolute;top:115px;left:4%;width:290px;max-height:calc(100dvh - 145px);overflow:auto}#stage-name{font-size:14px;color:#75836b;margin:0}#stage-name span{font-size:13px}#goal{font-size:23px;line-height:1.4;margin:14px 0}#goal span{font-size:17px;margin-top:6px}summary{cursor:pointer;padding:9px 0;font-size:14px}#task-detail{font-size:15px}#progress-text{font-size:13px;color:#77633f}.actions{display:flex;gap:7px;flex-shrink:0}.actions button{flex:1;min-width:0}.primary{background:#3f6252;color:#fff9e6;border-color:#3f6252}.primary:hover{background:#2c4a3d}#hint-text{font-size:14px;color:#84673f}#dialog{position:absolute;bottom:26px;left:50%;transform:translate(-50%);width:min(690px,92vw);max-height:49dvh;display:flex;flex-direction:column;gap:12px}#dialog-scroll{overflow:auto;overscroll-behavior:contain;min-height:0}#speaker{font-size:14px;color:#896f3d;margin:0 0 10px}#speaker span{font-size:13px}#line{font-size:21px;line-height:1.6;margin:5px 0}#line span{font-size:18px;margin-top:8px;line-height:1.5}#choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex-shrink:0;min-width:0}#choices button{min-width:0;min-height:70px;text-align:left;background:#e8eddd;overflow-wrap:anywhere}#mechanic p{font-size:15px}#mechanic .puzzle-buttons{display:flex;gap:8px;flex-wrap:wrap}#mechanic button{flex:1;min-width:90px;background:#ebeedf}#mechanic .demo{margin-top:10px;font-size:14px;display:block;width:100%;background:transparent}#feedback{font-size:15px;color:#876237}#near{position:absolute;bottom:35px;left:50%;transform:translate(-50%);padding:9px 20px;text-align:center;font-size:14px}#near span{font-size:13px}#touch{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));left:16px;right:16px;display:flex;align-items:end;justify-content:space-between;pointer-events:none}.pad{text-align:center}#touch button{min-width:48px;min-height:48px;padding:7px;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;margin:2px;background:#faf8eef2}#act{width:110px}#intro{position:absolute;inset:0;display:grid;place-items:center;background:#dce2d566;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:18px}#intro>.paper{width:min(600px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:28px}#intro-title{font-size:40px;margin:15px 0}#intro-title span{font-size:24px;margin-top:10px}#intro-kicker{font-size:13px;color:#8a7b55}#intro-theme{font-size:19px}#intro-theme span{font-size:16px}#intro p:last-child{font-size:13px}#intro p:last-child span{font-size:12px}#begin{width:100%;margin:10px 0}progress{display:block;width:100%;height:5px;accent-color:#6d8d78;margin-top:20px}#load-status{font-size:14px}#load-status span{font-size:13px}#version{font-size:15px}#source-link{font-size:14px}#panel{position:fixed;inset:0;background:#d8dfd277;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);display:grid;place-items:center;padding:16px;z-index:30}#panel>.paper{width:min(630px,100%);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}#close-panel{float:right;margin:0 0 10px 12px}#panel-title{clear:both;font-size:25px;line-height:1.5}#panel-title span{font-size:19px}fieldset{border:1px solid #c8ccbb;border-radius:9px;margin:20px 0;padding:15px}legend{font-size:16px}label{display:block;margin:10px 0;font-size:15px}select{display:block;width:100%;min-height:44px;padding:8px;margin-top:5px;background:#fffdf5;border:1px solid #bbc5b0;color:#304b3f;border-radius:6px}label.checkbox{display:flex;align-items:center;gap:8px;line-height:1.5}input[type=checkbox]{width:22px;height:22px;flex-shrink:0}#voice-status{font-size:14px}#notice{position:fixed;right:4%;top:100px;max-width:360px;z-index:40;font-size:15px;pointer-events:none}#notice span{font-size:14px}#legacy{position:fixed;inset:0;background:#edf0e6}#legacy-frame{border:0;width:100%;height:calc(100dvh - 56px);display:block}.legacy-bar{height:56px;display:flex;align-items:center;justify-content:space-between;padding:3px 15px;background:#f8f6ed;border-top:1px solid #c4ccb9}.legacy-bar button{min-height:44px;padding:4px 15px;font-size:14px}.legacy-bar button span{font-size:11px}.legacy-bar p{font-size:14px}.legacy-bar p span{font-size:11px}[hidden]{display:none!important}@media(max-width:1000px){#books{grid-template-columns:repeat(2,1fr)}.hero{min-height:490px}.book-mark{right:0;width:45%;height:330px}.book-mark b{font-size:35px}}@media(max-width:760px){#shelf{padding:0 5%}.shelf-head{height:98px}.shelf-head>div{display:none}.shelf-head>button{font-size:12px}.hero{padding:32px 0;min-height:470px}.hero h1{font-size:46px;letter-spacing:3px}.hero>p:not(.eyebrow){font-size:14px}.hero>p span{font-size:13px}.eyebrow{font-size:9px;letter-spacing:2px}.book-mark{width:38%;height:230px;top:115px;right:-10%}.book-mark b{font-size:25px;left:43%;top:23%}.book-mark small{font-size:6px;left:30%;bottom:8%}.book-mark i:nth-child(3){border-width:5px}.shelf-note{font-size:11px}.shelf-note span{font-size:10px}.books-title{padding:25px 0}.books-title h2{font-size:22px}.books-title h2 span{font-size:13px}.books-title>p{display:none}#books{gap:17px;grid-template-columns:1fr}.cover{height:210px}.book-body{padding:20px}.book .theme,.book .subtitle{min-height:0}.shelf-footer{font-size:11px}.shelf-footer span{font-size:10px}.game-head{top:max(10px,env(safe-area-inset-top));left:12px;right:12px;gap:8px}#game-title{font-size:19px;max-width:calc(100vw - 190px);overflow-wrap:anywhere}#game-title span{font-size:12px}.game-head nav{gap:4px}.game-head button{font-size:14px;padding:6px 9px}.game-head button span{font-size:11px}#fullscreen{display:none}#task{top:90px;left:12px;right:12px;width:auto;max-height:32dvh;padding:12px 16px}#stage-name{font-size:14px}#stage-name span{font-size:12px}#goal{font-size:19px;margin:8px 0}#goal span{font-size:16px;margin-top:3px}#task .actions button{padding:5px 8px;font-size:14px;min-height:42px}#task .actions button span{font-size:12px}#dialog{bottom:130px;width:calc(100vw - 24px);max-height:45dvh;padding:14px}#line{font-size:19px}#line span{font-size:17px}#choices{grid-template-columns:1fr}#choices button{min-height:58px;font-size:15px}#choices button span{font-size:13px}body:has(#choices:not([hidden])) #dialog{max-height:54dvh}body:has(#dialog:not([hidden])) #task{display:none}#near{bottom:135px;max-width:90%;width:max-content}#notice{inset:auto 12px 130px;max-width:none}#intro>.paper{padding:20px;max-height:calc(100dvh - 70px);margin-top:40px}#intro-title{font-size:31px}#intro-title span{font-size:22px}#mechanic button{min-width:70px;font-size:15px}#mechanic button span{font-size:12px}.legacy-bar p{display:none}}@media(max-height:560px){.game-head{top:8px}#game-title{font-size:18px}#game-title span{font-size:12px}.game-head button{min-height:40px;padding:4px 10px}#task{top:78px;width:260px;right:auto;max-height:calc(100dvh - 185px)}#dialog{left:auto;right:12px;transform:none;width:calc(100vw - 215px);bottom:82px;max-height:calc(100dvh - 155px);padding:12px}#line{font-size:18px}#line span{font-size:16px}#choices{grid-template-columns:1fr 1fr}#choices button{min-height:55px;font-size:14px}body:has(#choices:not([hidden])) #dialog{max-height:calc(100dvh - 125px)}#speaker{margin-bottom:5px}#speaker span{font-size:12px}#intro>.paper{margin-top:45px;max-height:calc(100dvh - 60px);padding:16px}#intro-title{font-size:27px}#intro-title span{font-size:20px}#touch button{min-height:42px;min-width:42px}#notice{top:75px;bottom:auto}body:has(#dialog:not([hidden])) #task{display:none}#mechanic button{min-width:65px}}@media(prefers-reduced-motion:reduce){.book{transition:none}.book:hover{transform:none}}.game-head{z-index:15}#mechanic .cue{margin-top:10px;font-size:14px;background:#f5f0df}body:has(#shelf:not([hidden])) #notice{top:20px}.hero h1 small{display:block;font:23px/1.5 Arial,sans-serif;letter-spacing:0;color:#697763;margin-top:15px}@media(max-width:760px){.hero h1 small{font-size:19px}.hero{min-height:550px}}#cast-guide{width:100%;margin-top:8px;font-size:14px}#cast-panel{position:fixed;inset:0;z-index:35;background:#d8dfd2b0;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:grid;place-items:center;padding:14px}#cast-panel>.paper{width:min(680px,100%);max-height:calc(100dvh - 28px);overflow:auto;overscroll-behavior:contain}#close-cast{float:right;margin-bottom:12px}#cast-title{clear:both}#cast-title span{font-size:18px}#cast-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}#cast-list article{border:1px solid #c8cebc;border-radius:10px;padding:12px}#cast-list h3{font-size:20px;margin:4px 0}#cast-list h3 span{font-size:15px}#cast-list p{font-size:14px}#cast-list p span{font-size:13px}#cast-list button{width:100%}@media(max-width:500px){#cast-list{grid-template-columns:1fr}#task{max-height:38dvh}}
