:root{color-scheme:dark;font-family:PingFang SC,Microsoft YaHei,sans-serif;color:#e8eadb;background:#080f18;font-size:14px}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,.primary{border:1px solid #c4d4ca29;color:#dde8dc;background:#102329d9;padding:11px 16px;border-radius:9px;cursor:pointer;text-decoration:none;transition:background .2s,border-color .2s}button:hover,a.primary:hover{background:#264047;border-color:#c1d4c780}button:disabled{opacity:.45;cursor:wait}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid #e9cf94;outline-offset:4px}a{color:#b2c9bf}input,textarea,select{display:block;width:100%;background:#08171ccb;color:#f0eedc;border:1px solid #d9dec836;border-radius:8px;padding:12px;margin:8px 0 16px;outline:none}textarea{resize:vertical;min-height:78px}.primary{background:#d7dec1;color:#162326;border-color:#d7dec1;font-weight:600}.primary:hover{background:#eff2db;color:#152627}.quiet{display:block;border:0;background:transparent;color:#a8c3bb;padding:12px 0;font-size:12px;text-decoration:none}canvas{position:fixed;inset:0;outline:none;width:100%;height:100%;touch-action:none}header{position:fixed;top:0;left:0;right:0;padding:26px 32px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;background:linear-gradient(#080f18bf,transparent);z-index:5}header>*{pointer-events:auto}.brand{display:flex;gap:10px;align-items:center;font-size:28px;color:#e8ebd9;text-decoration:none}.brand span{font-size:18px;font-weight:600;letter-spacing:3px}.brand small{display:block;font-size:8px;letter-spacing:2px;color:#9bb7b1;margin-top:4px}.connection{font-size:11px;letter-spacing:1px;color:#bdd3c4;display:flex;align-items:center;gap:8px}.connection i{width:5px;height:5px;border-radius:50%;background:#83c9ae;box-shadow:0 0 10px #93d4af}nav{display:flex;gap:8px}nav button{padding:9px 14px;font-size:12px}.welcome{position:fixed;left:6%;top:24%;width:350px;background:radial-gradient(ellipse at left,#08131acf,transparent 80%);z-index:3}.eyebrow{font-size:9px;letter-spacing:2.3px;color:#92b0a6;margin-bottom:20px}h1{font-weight:400;font-size:38px;line-height:1.45;letter-spacing:2px;margin:0 0 20px}p{color:#a7beb6;line-height:1.9;font-size:13px}form label{font-size:11px;color:#b2c9bd}form .primary{width:100%}.identity{position:fixed;left:32px;top:120px;width:245px;z-index:3;padding:20px;background:linear-gradient(110deg,#091921d9,#09192159);border:1px solid #b8d4c117;border-radius:15px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.identity .eyebrow{font-size:8px;letter-spacing:1.2px;margin-bottom:10px}h2{font-size:22px;font-weight:400;line-height:1.5;margin:0 0 12px}.identity p{font-size:11px;margin:0 0 14px}.identity .actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:15px}.identity .actions button{font-size:11px;padding:10px 8px}.identity .quiet{padding-bottom:0}#progress{font-size:11px;line-height:1.9;color:#d0d7bb}#travel-hud{position:fixed;bottom:80px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:9px;background:#0d2024dd;border:1px solid #dbcfaf26;border-radius:13px;padding:14px 18px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:4}#travel-hud[hidden]{display:none}#travel-hud small,#travel-hud strong{display:block;white-space:nowrap}#travel-hud small{font-size:9px;color:#a4c4b9;letter-spacing:1px;margin-bottom:6px}#travel-hud strong{font-size:12px;font-weight:400}#travel-hud button{font-size:11px;white-space:nowrap}progress{appearance:none;width:100%;height:2px;margin-top:10px;border:0}progress::-webkit-progress-bar{background:#b3c9ba25}progress::-webkit-progress-value{background:#dac799}footer{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:10px;padding:20px 32px;font-size:10px;color:#8aaba0;pointer-events:none;background:linear-gradient(transparent,#080f18bd);z-index:3}#toast{position:fixed;top:96px;left:50%;transform:translate(-50%);padding:12px 20px;border-radius:10px;background:#122f34e6;color:#ede8d3;z-index:30;font-size:12px;opacity:0;transition:opacity .2s;max-width:80vw}#toast.show{opacity:1}dialog{border:1px solid #b0c4b939;border-radius:18px;background:#0d2025f7;color:#e5e8d9;width:min(620px,90vw);max-height:85vh;overflow:auto;padding:28px;box-shadow:0 24px 100px #0009}dialog::backdrop{background:#02080e80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.dialog-head .eyebrow{margin-bottom:8px}.dialog-head button{padding:4px 12px;font-size:22px}.editor-row{display:flex;gap:18px}.editor-row label{flex:1}dialog label{color:#afc8bb;font-size:12px}#search-form{display:flex;gap:8px;align-items:baseline}#search-form input{flex:1}#destinations{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.destination{text-align:left;border-radius:12px;padding:18px;background:linear-gradient(140deg,#183b41,#13252b)}.destination strong,.destination span,.destination small{display:block}.destination strong{font-size:13px;font-weight:500;margin-bottom:10px}.destination span{font-size:10px;color:#bfd0bc;line-height:1.9}.destination small{font-size:9px;color:#749f93;margin-top:10px;letter-spacing:1px}.label{position:absolute;top:0;left:0;transform:translate(-50%,-100%);font-size:10px;color:#f4e7bb;white-space:nowrap;text-shadow:0 2px 6px #000;pointer-events:none;padding:4px 7px;background:#08202a9c;border-radius:7px;border:1px solid #c5d7c923}#photo,#movie{width:100%;border-radius:10px;margin-bottom:18px}#media-download{display:inline-block}#new-key{font-family:monospace;word-break:break-all}#save-key button{margin-right:10px}#boot{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse,#17343b,#071019);z-index:100;font-size:14px;letter-spacing:2px}#boot[hidden],#touch{display:none}#island-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}[hidden]{display:none!important}@media(max-width:700px){header{padding:18px 16px}.brand{font-size:23px}.brand span{font-size:15px}.brand small{font-size:6px;letter-spacing:1px}.connection{display:none}nav{gap:5px}nav button{padding:8px;font-size:10px}nav #record-button{display:none}.welcome{left:24px;top:22%;width:min(310px,85vw)}h1{font-size:31px}.identity{left:14px;top:90px;width:182px;padding:14px;opacity:.95}.identity h2{font-size:18px}.identity .actions{gap:5px}.identity .actions button{font-size:10px;padding:8px 5px}#travel-hud{bottom:115px;max-width:96vw;flex-wrap:wrap;width:max-content;gap:6px;padding:12px}#travel-hud>div{width:100%}footer{padding:16px;font-size:9px}#hints{display:none}dialog{padding:20px}#destinations{grid-template-columns:1fr}#touch{position:fixed;bottom:54px;left:16px;display:flex;gap:6px;z-index:4}#touch button{padding:12px 16px;background:#18303ddb}.editor-row{gap:10px}}.avatar-choice{display:flex;align-items:center;gap:14px;width:100%;margin:0 0 18px;padding:8px 15px;text-align:left;background:#152b2cbd}.avatar-choice-preview{display:block}#avatar-choice-preview svg{width:40px;height:56px;display:block}.avatar-choice small{display:block;color:#aebdb2;font-size:11px;margin-bottom:4px}.avatar-choice strong{display:block;font-weight:500;letter-spacing:.1em}.avatar-choice>span:last-child{margin-left:auto;color:#dbcfac}.avatar-picker{width:min(660px,calc(100vw - 32px))}.avatar-picker>p{color:#aebdb2;line-height:1.8}.avatar-options{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px}.avatar-option{padding:12px 8px 14px;background:radial-gradient(ellipse at 50% 40%,#a5b3a012,transparent 70%),#142227;border-color:#becbbb26;transition:background .2s,border-color .2s,transform .2s}.avatar-option svg{display:block;width:72px;height:101px;margin:auto auto 8px}.avatar-option span{font-size:12px;letter-spacing:.06em}.avatar-option:hover{transform:translateY(-2px)}.avatar-option[aria-pressed=true]{background-color:#293d3c;border-color:#dbcf9a;box-shadow:inset 0 0 0 1px #dbcf9a35}@media(max-width:560px){.avatar-options{grid-template-columns:repeat(3,1fr);gap:8px}.avatar-option svg{width:56px;height:79px}.avatar-option span{font-size:11px;letter-spacing:0}}@media(prefers-reduced-motion:reduce){.avatar-option{transition:none}}.identity-footer{display:flex;flex-wrap:wrap;gap:18px;margin-top:6px}.recovery-option{font-size:11px;opacity:.7}#new-account-form,#login-form,#password-setup-form{display:grid;gap:10px}#new-account-form .primary,#login-form .primary,#password-setup-form .primary{margin-top:12px}#account-summary{line-height:1.9}.welcome{top:clamp(100px,19vh,185px);max-height:calc(100dvh - 160px);overflow-y:auto;scrollbar-width:thin;padding-right:8px}@media(max-width:700px){.welcome{top:19%;max-height:calc(81dvh - 52px)}}.book-cover{--cover: #172d42;--foil: #d7bd82;position:relative;aspect-ratio:.68;width:100%;padding:0 0 5px;filter:drop-shadow(6px 12px 10px #0005);transform:perspective(1100px) rotateY(-7deg);transition:transform .25s ease,filter .25s ease}.book-cover:before{content:"";position:absolute;inset:9px -4px 1px 8px;border-radius:2px 5px 5px 2px;background:repeating-linear-gradient(to bottom,#e1dcc7 0px 1px,#b9b09a 1px 2px);box-shadow:1px 1px #8d836b}.book-cloth{position:relative;display:flex;align-items:center;flex-direction:column;height:100%;color:var(--foil);padding:24px 19px 18px 25px;border-radius:3px 7px 7px 3px;background:linear-gradient(90deg,#0004 0%,#fff1 3%,#0003 5%,transparent 7%,#ffffff05 70%,#0002),var(--cover);border:1px solid #ffffff12;box-shadow:inset 5px 0 7px #0003,inset -1px 0 #fff2}.book-cloth:after{content:"";position:absolute;inset:9px 8px 9px 14px;border:1px solid #d7bd822a;border-radius:1px 4px 4px 1px;pointer-events:none}.book-imprint{font-size:8px;letter-spacing:3px;opacity:.8;margin-bottom:17px}.book-cover-title{font-family:Songti SC,"Noto Serif SC",serif;font-size:21px;font-weight:500;text-align:center;letter-spacing:2px;line-height:1.55;text-shadow:0 1px 0 #0008;min-height:64px;display:flex;align-items:center;justify-content:center}.book-art{width:100%;flex:1;display:flex;align-items:center;min-height:0}.book-art svg{width:100%;max-height:100%;display:block}.book-cover-author{font-size:10px;letter-spacing:2px;margin-top:7px}.book-tile{border:0;background:transparent;padding:0;color:inherit;text-align:left;display:flex;flex-direction:column;gap:16px;min-width:0}.book-tile:hover{background:transparent;border:0}.book-tile:hover .book-cover{transform:perspective(1100px) rotateY(0) translateY(-7px);filter:drop-shadow(6px 17px 14px #0007)}.book-tile-label{font-family:Songti SC,serif;font-size:16px;line-height:1.6;color:#ede4cf}.book-tile-detail{display:block;font-family:PingFang SC,sans-serif;font-size:10px;line-height:1.8;color:#a0b1a6;margin-top:6px}.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:28px 7px 12px}#library-dialog,#backpack-dialog{width:min(900px,93vw);background:radial-gradient(ellipse at top left,#263d34,#101f23 65%);padding:34px 42px}.library-intro{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid #d7bd822a;padding-bottom:22px;color:#b2c3b1;font-size:12px;line-height:1.8}.library-count{font:italic 32px Georgia,serif;color:#dccba5;white-space:nowrap}.library-empty{padding:55px 20px;text-align:center;line-height:2.2;color:#b9c8b8;font-family:Songti SC,serif;font-size:18px}#reader-dialog{width:min(1110px,96vw);max-height:95dvh;background:#152626;padding:24px 28px 18px;border-color:#d3c49d40;overflow:hidden}#reader-dialog .dialog-head{margin-bottom:16px}#reader-title{font-family:Songti SC,serif;font-weight:400;font-size:23px;color:#e8debf;margin:0}#reader-spread{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:5px;box-shadow:0 8px 30px #0005;overflow:hidden}.book-page{height:min(65dvh,570px);position:relative;padding:34px 44px 43px;background:radial-gradient(ellipse at top right,#fff9e7,#ece4cd);color:#373d32;border-right:1px solid #d0c6ac;box-shadow:inset -12px 0 22px #57442a0d;overflow:auto;scrollbar-width:thin}.book-page:nth-child(2){background:radial-gradient(ellipse at top left,#fff9e7,#ece4cd);box-shadow:inset 12px 0 22px #57442a15}.book-running{font-size:9px;letter-spacing:1px;color:#7d8270;display:block;border-bottom:1px solid #90826335;padding-bottom:12px;margin-bottom:25px}.book-page h3{font-family:Songti SC,serif;font-weight:500;font-size:22px;margin:0 0 22px;letter-spacing:1px;line-height:1.55}.book-prose{font-family:Songti SC,"Noto Serif SC",serif;font-size:17px;line-height:1.95;white-space:pre-line;letter-spacing:.35px;overflow-wrap:anywhere}.book-page-number{position:absolute;bottom:18px;left:0;right:0;text-align:center;font:11px Georgia,serif;color:#89907b}.book-title-page{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:15px}.book-title-page .book-cover{height:70%;width:auto;aspect-ratio:.68;max-width:230px}.book-title-page p{font:12px Songti SC,serif;text-align:center;line-height:1.8}.book-colophon{display:grid;place-items:center;height:90%;font-family:Songti SC,serif;color:#848b77;font-size:15px;letter-spacing:2px}.reader-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.reader-toolbar button{font-size:12px;padding:8px 13px}#reader-position{font:12px Georgia,serif;letter-spacing:2px;color:#ccbfa0}.reader-toc{display:flex;gap:8px;overflow:auto;max-height:0;margin:0;transition:max-height .2s ease}.reader-toc.open{max-height:100px;margin:12px 0}.reader-toc button{white-space:nowrap;font-size:11px;flex-shrink:0;padding:8px 12px}#reader-actions{display:flex;gap:8px}#reader-actions:empty{display:none}.book-grid .book-cover{max-height:360px}@keyframes page-arrive{0%{opacity:.75;transform:translate(4px)}to{opacity:1;transform:translate(0)}}#reader-spread.turning{animation:page-arrive .22s ease}@media(max-width:760px){#reader-dialog{padding:16px 13px}#reader-spread{grid-template-columns:1fr}.book-page{height:63dvh;padding:26px 25px 42px}.book-prose{font-size:16px;line-height:1.9}.book-running{margin-bottom:18px}.book-page h3{font-size:21px;margin-bottom:18px}.reader-toolbar{gap:6px;flex-wrap:wrap}.reader-toolbar button{padding:7px 9px}#library-dialog,#backpack-dialog{padding:25px 24px}.book-grid{gap:22px;grid-template-columns:repeat(2,1fr)}.book-cover-title{font-size:17px;min-height:57px}.book-cloth{padding:20px 12px 18px 18px}.book-imprint{font-size:6px;letter-spacing:1.5px;margin-bottom:10px}.book-cover-author{font-size:8px}.library-count{font-size:25px}}@media(prefers-reduced-motion:reduce){.book-cover,.reader-toc{transition:none}#reader-spread.turning{animation:none}}#author-dialog{width:min(850px,95vw);background:#142629;padding:32px 36px}#author-dialog>p{font-size:12px;line-height:1.9;color:#b1c4b6}.author-layout{display:grid;grid-template-columns:1fr 180px;gap:40px;align-items:center;margin:25px 0}.author-chapter{padding:20px 0;border-top:1px solid #d7bd8230}.author-chapter textarea{min-height:180px;line-height:1.9;font-family:Songti SC,serif;font-size:16px}#author-status{font-size:12px;line-height:1.9;color:#bacbb7}@media(max-width:760px){#author-dialog{padding:25px 23px}.author-layout{grid-template-columns:1fr 125px;gap:15px}.author-layout .book-cover-title{font-size:13px;min-height:40px}.author-layout .book-cloth{padding:14px 8px 11px 13px}.author-layout .book-imprint{font-size:5px;margin-bottom:4px}.author-layout .book-cover-author{font-size:7px}}.book-title-page p{color:#73795f}.reader-toc[hidden]{display:none}.book-title-page p{margin:0}.book-cover-title{text-wrap:balance}.book-cover-title,.book-cover-author{max-width:100%;overflow-wrap:anywhere}#reader-title{overflow-wrap:anywhere;min-width:0}@media(max-width:760px){#reader-actions{width:100%;border-top:1px solid #d7bd822a;padding-top:10px;justify-content:flex-end}#reader-actions button{width:100%;text-align:center}#reader-position{margin:auto}}
