:root{--red:#843d3a;--gold:#b99b67;--paper:#f7f3eb;--ink:#342b29;--muted:#93857b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 75% 35%,#3d3029 0,#201b19 42%,#171413 85%);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Helvetica Neue","Microsoft YaHei",sans-serif;min-height:100dvh;display:flex;align-items:center;justify-content:center;gap:9vw}button,input{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}.intro{width:350px;color:#e9e0d5}.seal{width:48px;height:55px;border:1px solid #b58b68;color:#d5ac87;display:grid;place-items:center;font:30px serif;margin-bottom:44px}.eyebrow{font-size:10px;letter-spacing:3.6px;color:#aa927f}.intro h1{font-family:"Songti SC",SimSun,serif;font-weight:400;font-size:44px;line-height:1.65;letter-spacing:4px;margin:22px 0}.intro-copy{font-size:14px;line-height:2.1;color:#b9a99c;letter-spacing:2px}.rule{height:1px;width:48px;background:#8d6c53;margin:32px 0}.intro small{color:#af9986;font-size:11px;letter-spacing:2px}.hint{font-size:11px;color:#89796d;line-height:2.4;margin-top:40px}.hint b{color:#d3b98d;letter-spacing:3px;margin-left:10px}.phone{height:min(880px,94dvh);aspect-ratio:390/844;position:relative;border-radius:49px;overflow:hidden;background:#17100e;box-shadow:0 0 0 2px #786d63,0 0 0 7px #211d1a,0 38px 95px #0008;isolation:isolate}.wall{position:absolute;inset:0;background-position:center;background-size:cover}.home-wall{background-image:linear-gradient(0deg,#05030285,transparent 48%),url('assets/home.png')}.status{position:absolute;top:0;left:0;right:0;height:55px;padding:20px 28px 0;display:flex;justify-content:space-between;align-items:flex-start;color:#fff;font-size:12px;font-weight:600;z-index:20;pointer-events:none;text-shadow:0 1px 5px #0008}.island{position:absolute;left:50%;transform:translateX(-50%);top:12px;width:102px;height:28px;background:#060606;border-radius:25px}.signal{letter-spacing:2px;font-size:11px}.lock{position:absolute;inset:0;background:linear-gradient(0deg,#120b0cd9 0%,transparent 38%,#160b0b1a 60%,#10090950),url('assets/lock.jpeg') center center/cover;color:white;text-align:center}.lock-top{position:absolute;top:8%;width:100%;text-shadow:0 2px 16px #0006}.lock-icon{font-size:25px}.lock-top p{font-size:17px;margin:10px 0 0;font-weight:500}.time{font-size:76px;letter-spacing:-4px;line-height:1.15;font-weight:600}.lock-bottom{position:absolute;bottom:6%;width:100%;display:flex;align-items:center;flex-direction:column}.lock-bottom p{font-size:21px;letter-spacing:5px;margin:0 0 9px}.lock-bottom small{font-size:10px;letter-spacing:2px;color:#eadbd3}.unlock{padding:19px 35px;margin:30px 0 9px;background:#fff2;border:1px solid #fff3;border-radius:30px;backdrop-filter:blur(14px);font-size:14px;letter-spacing:2px}.unlock span{margin-left:23px}.pass{position:absolute;inset:0;z-index:25;background:#1c1111dd;backdrop-filter:blur(30px);color:white;display:flex;flex-direction:column;align-items:center}.cancel{position:absolute;top:60px;right:25px;font-size:14px}.pass-heading{margin-top:24%;text-align:center}.pass-heading>span{font-size:26px}.pass-heading h2{font-size:20px;font-weight:500;letter-spacing:2px}.pass-heading p{font-size:12px;color:#cdbdb1}#dots{font-size:23px;letter-spacing:8px;margin:24px}.keys{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 24px}.keys button{width:68px;height:68px;background:#fff2;border-radius:50%;font-size:28px;font-weight:300}.keys button:active{background:#fff5}.pass>small{margin-top:24px;color:#c4b1a6;font-size:11px}.home{position:absolute;inset:0}.home-bottom{position:absolute;bottom:30px;left:20px;right:20px}.apps{display:grid;grid-template-columns:repeat(4,1fr);gap:21px 13px}.app-tile{position:relative;display:flex;align-items:center;flex-direction:column;gap:7px;padding:0;color:#fff;font-size:11px;text-shadow:0 1px 5px #000}.tile-icon,.dock-icon{width:55px;height:55px;display:grid;place-items:center;border-radius:15px;box-shadow:0 3px 10px #0002;text-shadow:none;border:1px solid #fff2}.tile-icon svg,.dock-icon svg{width:29px;height:29px}.tile-icon{background:linear-gradient(135deg,#9b5a50,#5c2929);color:#f4dfbd}.ivory{background:linear-gradient(140deg,#fff9ed,#d6c7b1)!important;color:#855146!important}.green{background:linear-gradient(135deg,#67836e,#355345)!important;color:#fff!important}.red{background:linear-gradient(135deg,#ad625b,#6c3038)!important;color:#fff!important}.gold{background:linear-gradient(135deg,#c3a772,#87704d)!important;color:#fff!important}.pages{display:flex;justify-content:center;gap:6px;margin:19px 0}.pages i{width:5px;height:5px;border-radius:50%;background:#fff4}.pages i:first-child{background:white}.dock{display:flex;justify-content:space-around;background:#f5e4d92b;backdrop-filter:blur(25px);border:1px solid #ffffff1a;border-radius:27px;padding:12px 4px}.dock button{padding:0}.dock-icon{width:51px;height:51px}.home-bar{position:absolute;bottom:9px;left:50%;transform:translateX(-50%);width:113px;height:5px;background:#fff;border-radius:4px;z-index:45;box-shadow:0 1px 3px #0005;padding:0}.app{position:absolute;inset:0;background:var(--paper);z-index:10}.phone.in-app .status{color:var(--ink);text-shadow:none}.phone.in-app .home-bar{background:var(--ink)}.app-header{height:109px;padding:57px 18px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #9d7e581c;background:#f7f3ebf0}.app-header>button{font-size:30px;width:33px;padding:0;color:var(--red)}.app-header>button:last-child{font-size:25px}.app-header div{text-align:center}.app-header h2{font-size:16px;font-weight:600;letter-spacing:2px;margin:0}.app-header small{display:block;font-size:9px;color:var(--muted);margin-top:5px;letter-spacing:1px}.app-body{height:calc(100% - 109px);overflow:auto;padding:24px 21px 45px;overscroll-behavior:contain;scrollbar-width:none}.app-body::-webkit-scrollbar{display:none}.kicker{font-size:9px;letter-spacing:2.8px;color:#a68a6b}.title{font-size:27px;font-weight:500;letter-spacing:1px;margin:12px 0}.subtitle{font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:26px}.card{background:#fffcf6;border:1px solid #ae926524;border-radius:17px;padding:19px;margin-bottom:15px;box-shadow:0 3px 14px #75553404}.card h3{font-size:17px;font-weight:500;margin:8px 0 12px}.card p{font-size:12px;line-height:1.9;color:#817166}.row{display:flex;align-items:center;width:100%;text-align:left;gap:13px;padding:17px 0;border-bottom:1px solid #a88b6d20}.row>div{flex:1;min-width:0}.row strong{display:block;font-size:14px;font-weight:500}.row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:var(--muted);margin-top:7px}.row .arrow{color:#b9a99b}.avatar{width:45px;height:45px;border-radius:50%;object-fit:cover;flex:none;display:grid;place-items:center;background:#8d6b5c;color:#fff;font:20px serif}.badge{font-size:9px;color:#b19371;padding:3px 7px;border:1px solid #b1937144;border-radius:10px}.soft,.primary{padding:11px 15px;border-radius:11px;font-size:12px;line-height:1.5}.soft{background:#e9dfd1;color:var(--red)}.primary{background:var(--red);color:#fff}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.prose{font-size:15px;line-height:2.2;white-space:pre-line;letter-spacing:.3px}.footer-note{font-size:10px;line-height:1.8;color:#a79688;margin:24px 0}.entry-num{font-size:21px;font-weight:300;color:#b79a78;width:28px}.chat{display:flex;flex-direction:column;gap:14px}.chat-label{align-self:center;color:#a18d7d;font-size:10px;margin:8px 0 14px}.bubble{align-self:flex-start;background:#fffdf9;border:1px solid #e8ded0;border-radius:15px 15px 15px 3px;padding:12px 14px;max-width:86%;font-size:13px;line-height:1.8;white-space:pre-line}.bubble.me{align-self:flex-end;background:#e0e7dc;border-color:#d5decf;border-radius:15px 15px 3px 15px}.reply-options{border-top:1px solid #d6c9b9;margin-top:26px;padding-top:15px;display:flex;gap:8px;flex-direction:column}.reply-options small{font-size:10px;color:var(--muted);margin-bottom:4px}.reply-options button{background:#eee4d7;border-radius:18px;padding:12px;font-size:12px;text-align:left;color:var(--red)}.album-cover{width:100%;border-radius:13px;aspect-ratio:1.55;object-fit:cover;display:block}.album-card{padding:10px;text-align:left;width:100%}.album-card h3{margin:13px 6px 5px}.album-card p{margin:0 6px 9px;font-size:10px}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.photo-grid button{padding:0;position:relative}.photo-grid img{width:100%;height:150px;object-fit:cover;border-radius:10px}.photo-grid span{font-size:10px;display:block;text-align:left;margin:7px 2px;color:#8d7563}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.tabs button{padding:8px 13px;border-radius:20px;font-size:11px;background:#e9e0d4}.tabs button.active{background:var(--red);color:white}.viewer{position:absolute;inset:0;background:#100d0c;z-index:50;color:white;display:flex;flex-direction:column;justify-content:center}.viewer-top{position:absolute;top:57px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.viewer-top button{font-size:24px}.viewer-img{width:100%;max-height:65%;object-fit:contain;touch-action:pan-y;cursor:zoom-in}.viewer-img.zoom{max-height:none;transform:scale(1.65);cursor:zoom-out}.viewer-bottom{position:absolute;bottom:40px;left:22px;right:22px;text-align:center;font-size:13px}.viewer-bottom .actions{justify-content:center}.call{position:absolute;inset:0;z-index:40;background:radial-gradient(ellipse at 50% 10%,#79584a,#241b19 70%);color:white;text-align:center;padding:105px 25px 55px}.call-avatar{width:85px;height:85px;border:1px solid #d0b48e66;background:#ad8d6420;border-radius:50%;display:grid;place-items:center;margin:auto;font:34px serif;color:#e8d1ac}.call h2{font-size:29px;font-weight:400;letter-spacing:3px;margin-bottom:10px}.call small{font-size:12px;color:#d1bdaa;letter-spacing:2px}.call-controls{position:absolute;left:40px;right:40px;bottom:65px;display:flex;justify-content:space-around}.call-control{display:flex;align-items:center;flex-direction:column;font-size:11px;gap:12px}.call-control span{width:63px;height:63px;border-radius:50%;display:grid;place-items:center;background:#b74445}.call-control.accept span{background:#5a8e6d}.call-control svg{width:27px}.call-lines{margin:35px 0 0;padding:18px;min-height:130px;background:#fff1;border:1px solid #fff1;border-radius:15px;font-size:15px;line-height:2}.call-lines b{display:block;color:#dfc59c;font-size:11px;font-weight:400;margin-bottom:7px}.call-next{margin-top:20px;color:#e4cba4;font-size:12px}.notice{position:absolute;z-index:60;top:61px;left:12px;right:12px;border-radius:19px;padding:17px;background:#faf4e9ef;backdrop-filter:blur(20px);box-shadow:0 7px 30px #0003;font-size:12px;line-height:1.8}.notice b{display:block;margin-bottom:5px}.toast{position:absolute;bottom:44px;left:25px;right:25px;z-index:65;background:#30251fea;color:white;padding:13px 16px;border-radius:13px;font-size:11px;text-align:center;line-height:1.7}.map{position:relative;min-height:480px;border:1px solid #c3a57d55;border-radius:18px;background:linear-gradient(90deg,transparent 49.7%,#c8b39444 50%,transparent 50.3%),repeating-linear-gradient(0deg,#ede4d6 0px,#f4ecdf 75px,#d8c7ad88 76px,#f4ecdf 78px);overflow:hidden;margin:15px 0}.map:before{content:'宮';position:absolute;right:25px;bottom:20px;color:#bda47c33;font:150px serif}.map-pin{position:absolute;width:105px;transform:translateX(-50%);font-size:12px;display:flex;flex-direction:column;align-items:center;gap:6px}.map-pin svg{width:37px;height:37px;color:var(--red);filter:drop-shadow(0 3px 2px #7b4c2222)}.map-pin span{background:#fffbf1;padding:7px 10px;border:1px solid #bc9b6655;border-radius:4px;box-shadow:0 2px 6px #553a1510}.map-pin.visited span:after{content:' · 印';color:var(--red);font-size:9px}.map-pin.current:before{content:'';width:7px;height:7px;border-radius:50%;background:#a6423b;position:absolute;right:24px;top:0;animation:pulse 2s infinite}.artifact{height:125px;display:grid;place-items:center;background:radial-gradient(ellipse,#e2d3bb55,transparent 65%);color:#99764e}.artifact svg{height:75px;width:75px}.seal-note{color:var(--red);font-size:11px;letter-spacing:3px;margin:20px 0}.check-row{font-size:13px;display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #dbd0bf}.check-row input{accent-color:var(--red);width:17px;height:17px}.record{width:190px;height:190px;border-radius:50%;margin:22px auto;background:repeating-radial-gradient(#261d1b 0px,#261d1b 2px,#382a25 3px,#261d1b 4px);box-shadow:0 10px 25px #32171130;display:grid;place-items:center;animation:spin 22s linear infinite;animation-play-state:paused}.record.playing{animation-play-state:running}.record img{width:105px;height:105px;object-fit:cover;border-radius:50%;border:4px solid #b38e6355}.player{text-align:center}.player h3{font-size:23px;font-weight:400}.player p{font-size:12px;color:var(--muted)}.rain-scene{height:85px;border-radius:15px;background:linear-gradient(#58675d,#7b8a7d);position:relative;overflow:hidden;margin-top:15px}.rain-scene:before{content:'';position:absolute;inset:-100%;background:repeating-linear-gradient(110deg,transparent 0 30px,#e3efde50 31px 32px,transparent 33px 75px);animation:rain 1s linear infinite}.setting{display:flex;align-items:center;justify-content:space-between;padding:14px 0;font-size:12px;gap:15px}.setting input{accent-color:var(--red);width:18px;height:18px}.about-avatar{width:90px;height:90px;object-fit:cover;object-position:center 43%;border-radius:50%;display:block;margin:4px auto 20px}.center{text-align:center}.about-title{font-size:23px;letter-spacing:3px;font-weight:500}.about-prose{font-size:13px;line-height:2.05;white-space:pre-line}.source-link{display:block;font-size:11px;line-height:1.8;color:var(--red);margin:12px 0;overflow-wrap:anywhere}.reduced *{animation:none!important;scroll-behavior:auto!important}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{box-shadow:0 0 0 6px #a6423b18}}@keyframes rain{to{transform:translate(-40px,85px)}}@media(max-width:760px){body{display:block;background:#000}.intro{display:none}.phone{width:100%;height:100dvh;max-height:none;aspect-ratio:auto;border-radius:0;box-shadow:none}.status{padding-top:max(17px,env(safe-area-inset-top));height:55px}.home-bottom{bottom:max(29px,env(safe-area-inset-bottom));left:22px;right:22px}.home-bar{bottom:max(8px,calc(env(safe-area-inset-bottom) - 17px))}.island{display:none}.app-header{padding-top:54px;height:109px}}@media(min-width:761px) and (max-height:760px){.tile-icon{width:47px;height:47px}.apps{gap:15px}.home-bottom{bottom:24px}.dock-icon{width:44px;height:44px}.dock{padding:8px 3px}.pages{margin:12px 0}.pass-heading{margin-top:18%}.keys button{width:57px;height:57px}.keys{gap:12px 20px}.time{font-size:63px}}

.call{z-index:55}.notice{z-index:60}.dock button:nth-child(1){--dock-name:phone}

/* iOS typography: system San Francisco and PingFang on Apple devices. */
:root{--font-system:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","PingFang SC","Helvetica Neue",Arial,"Microsoft YaHei",sans-serif}
body{font-family:var(--font-system);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,textarea,select{font-family:inherit}
.intro h1{font-family:var(--font-system);font-size:46px;font-weight:600;line-height:1.5;letter-spacing:-.8px}
.seal,.call-avatar,.avatar{font-family:var(--font-system);font-weight:500}
.seal{font-size:29px}.intro-copy{font-size:15px;letter-spacing:.35px}.intro small{font-size:12px;letter-spacing:.5px}.hint{font-size:12px}
.status{font-size:13px;font-weight:600}.time{font-family:var(--font-system);font-size:80px;letter-spacing:-3.5px;font-weight:600;font-variant-numeric:tabular-nums}
.lock-top p{font-size:18px;letter-spacing:0}.lock-bottom p{font-size:26px;letter-spacing:.5px;font-weight:600}.lock-bottom small{font-size:12px;letter-spacing:.4px}.unlock{font-size:16px;letter-spacing:.2px;font-weight:500}
.pass-heading h2{font-size:23px;font-weight:600;letter-spacing:0}.pass-heading p{font-size:14px}.keys button{font-size:30px;font-weight:400}
.app-tile{font-size:13px;font-weight:500;letter-spacing:0}.app-header h2{font-size:19px;font-weight:600;letter-spacing:0}.app-header small{font-size:11px;letter-spacing:.1px}
.title{font-size:30px;font-weight:650;letter-spacing:-.5px;line-height:1.35}.subtitle{font-size:14px;line-height:1.85}.kicker{font-size:10px;letter-spacing:1.7px}
.card h3{font-size:19px;font-weight:600;letter-spacing:-.2px}.card p{font-size:14px;line-height:1.85}.row strong{font-size:16px;font-weight:550}.row small{font-size:12px;line-height:1.5}.row{padding:18px 0}.badge{font-size:10px}
.soft,.primary{font-size:14px;font-weight:500}.prose{font-size:17px;line-height:1.95;letter-spacing:.1px}.bubble{font-size:15px;line-height:1.8}.chat-label{font-size:11px}.reply-options button{font-size:14px;line-height:1.65}.reply-options small{font-size:12px}
.album-card p{font-size:12px}.photo-grid span{font-size:12px}.tabs button{font-size:13px}.footer-note{font-size:11px;line-height:1.9}
.call h2{font-size:32px;font-weight:500;letter-spacing:.2px}.call small{font-size:13px;letter-spacing:.3px}.call-lines{font-size:17px;line-height:1.9}.call-lines b{font-size:13px}.call-next{font-size:14px}.call-control{font-size:13px}
.map-pin{font-size:14px;font-weight:500}.check-row,.setting{font-size:14px}.player h3{font-size:27px;font-weight:600;letter-spacing:-.3px}.player p{font-size:14px}.about-title{font-size:27px;font-weight:600;letter-spacing:-.3px}.about-prose{font-size:15px;line-height:1.95}.source-link{font-size:13px}
@media(min-width:761px) and (max-height:760px){.time{font-size:68px}.app-tile{font-size:12px}}
