@charset "UTF-8";
:root{--ink:#405961;--muted:#83928f;--blue:#617d87;--blue-dark:#49656e;--paper:#f1efe5;--cream:#faf7ed;--line:#d4d9cd;--sage:#aab9ab;--reading-size:20px;--serif:"Iowan Old Style","Baskerville","Songti SC","STSong","Noto Serif CJK SC",Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--serif);font-size:15px;line-height:1.7}body::before{content:"";position:fixed;inset:0;z-index:30;pointer-events:none;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='170' height='170'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.3' filter='url(%23n)'/%3E%3C/svg%3E")}button,input,textarea,select{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.48}button,a,select,input,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #597e8b}button{border:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1{font-weight:400;letter-spacing:.06em;line-height:1.4;font-size:32px;margin-bottom:9px}h2{font-size:25px;line-height:1.4;font-weight:400;letter-spacing:.02em;margin-bottom:14px}h3{font-size:19px;font-weight:400;line-height:1.5;margin-bottom:10px}p{line-height:1.9}small{font-size:12px;color:var(--muted)}em{font-weight:400}label{display:block}input:not([type=checkbox]):not([type=range]):not([type=file]),textarea,select{width:100%;border:1px solid var(--line);background:#f8f7ef;border-radius:5px;padding:10px 13px;line-height:1.7;font-family:var(--sans);font-size:14px}textarea{resize:vertical;min-height:90px}input[type=range]{accent-color:var(--blue);min-width:40px}input[type=checkbox]{accent-color:var(--blue);width:18px;height:18px}form label{font-size:13px;letter-spacing:.03em;margin-bottom:16px}form label input,form label select,form label textarea{margin-top:7px}.icon{width:20px;height:20px;vertical-align:middle;flex-shrink:0}.btn{padding:12px 22px;min-height:44px;background:var(--blue-dark);color:#f6f2e5;border:1px solid var(--blue-dark);border-radius:5px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:14px;transition:background .2s,transform .2s;letter-spacing:.04em}.btn:not(:disabled):hover{background:#3d5d66;transform:translateY(-1px)}.btn.secondary{background:transparent;border-color:#b6c4be;color:var(--ink)}.btn.secondary:not(:disabled):hover{background:#e3e8df}.full{width:100%}.text-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:8px 0;background:none;color:var(--ink);font-size:14px;border-bottom:1px solid #c9d2c7;line-height:1.5}.text-btn:hover{color:#253d48}.actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.eyebrow{display:block;color:#84948c;font-style:italic;font-size:15px;letter-spacing:.04em;margin-bottom:10px}.hint{font-size:12px;color:var(--muted);line-height:1.9;margin:18px 0 0;font-family:var(--sans)}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:none;padding:10px;color:#82968f}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;margin:30px 0 26px}.page-heading p{font-size:14px;color:#85938b;margin:0;letter-spacing:.035em}.heading-star{font-size:42px;color:#c1c9b7;margin-right:20px;font-weight:200}.panel{padding:30px;background:#f8f6ec;border:1px solid var(--line);border-radius:7px}.panel p{font-size:14px;color:#7d8b83}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}.boot{display:grid;place-content:center;min-height:100vh;font-size:45px;text-align:center}.boot small{display:block;font-size:14px}.boot.error{font-size:16px;padding:30px}.file-label{position:relative;overflow:hidden;cursor:pointer}.file-label input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
/* The cover is only lettering and paper. */
.splash{min-height:100svh;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;overflow:hidden;padding:44px;background:#c6cfca;background-image:radial-gradient(ellipse at 50% 35%,#e5e8dc 0%,#c9d3cd 47%,#8e9e9f 130%);text-align:center}.splash::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 150px 10px #526a6740;opacity:.7}.splash-texture{position:absolute;inset:0;background:repeating-linear-gradient(105deg,transparent 0 8px,#74847c08 9px 11px,transparent 12px 28px);transform:scale(1.2) rotate(-4deg)}.splash-top{font-size:11px;letter-spacing:.3em;color:#728981;z-index:1}.splash-center{position:relative;z-index:1;padding:45px 0}.splash-star{font-size:42px;color:#7b9594}.splash h1{font-family:Georgia,var(--serif);font-size:clamp(90px,13vw,172px);font-style:italic;letter-spacing:-.075em;margin:-8px 0 4px;font-weight:400;line-height:1.2;color:#405c66;animation:title-unfold 2s ease both;text-shadow:1px 2px #f5f5e970}.splash-cn{font-size:19px;letter-spacing:.9em;padding-left:.9em;margin:12px 0 24px}.splash-rule{width:120px;height:1px;background:#8c9f965c;margin:0 auto 24px}.splash-center>p:not(.splash-cn){font-size:14px;letter-spacing:.13em;color:#6b837d}.enter-button{margin-top:34px;display:inline-flex;align-items:center;gap:32px;background:transparent;border:1px solid #8b9f97;padding:13px 28px;min-width:240px;justify-content:space-between;animation:enter 2.5s ease both;font-size:15px;border-radius:2px}.enter-button:hover{background:#edf0e755}.splash-foot{z-index:1;display:grid;gap:8px;color:#81978e;font-size:10px;letter-spacing:.24em}.splash-foot small{font-size:11px;letter-spacing:.1em;color:#7e918a}@keyframes title-unfold{0%{opacity:0;transform:translateY(9px) scale(.97)}55%{opacity:1;transform:translateY(-4px) scale(1.018)}100%{transform:translateY(0) scale(1)}}@keyframes enter{0%,55%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}
/* Persistent book tabs. */
.game-shell{max-width:1800px;margin:auto;display:grid;grid-template-columns:210px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#e3e8de;border-right:1px solid #d3dbd0;padding:30px 22px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;justify-content:center}.brand-symbol{font-size:32px;color:#8ca59b}.brand>span:nth-child(2){font-family:Georgia,serif;font-size:28px;letter-spacing:-.07em;font-style:italic;line-height:1.3}.brand small{display:block;font-size:11px;letter-spacing:.4em;text-align:center;font-style:normal;margin-top:5px;color:#708981}.side-rule{height:1px;background:#becdc04a;margin:30px 12px 18px}.sidebar nav{display:grid;gap:4px}.nav-item{display:flex;align-items:center;gap:17px;background:transparent;text-align:left;padding:10px 15px;border-radius:5px;position:relative;min-height:52px;color:#7d928a}.nav-item span{display:block}.nav-item b{font-size:16px;font-weight:400;line-height:1.2;display:block}.nav-item small{font-size:10px;letter-spacing:.16em;color:inherit;display:block;margin-top:3px}.nav-item.active{background:#f5f4e9;color:#476971;box-shadow:0 2px 4px #475b5010}.nav-item i{position:absolute;right:12px;font-size:28px}.nav-item:hover{background:#eff0e7}.sidebar-foot{margin-top:auto;text-align:center;padding-top:20px}.tiny-seal{display:inline-flex;border:1px solid #b0c0b4;transform:rotate(-8deg);height:30px;width:25px;align-items:center;justify-content:center;color:#899e8f;font-style:italic}.sidebar-foot p{font-size:11px;line-height:1.8;color:#93a297;margin:13px 0 10px}.sidebar-foot small{font-size:7px;letter-spacing:.14em;color:#a1ad9f}.main{padding:0 46px;min-width:0}.topline{height:72px;border-bottom:1px solid #d7ddd27a;display:flex;align-items:center;justify-content:space-between}.topline>div{display:flex;align-items:center;gap:20px}.era-tag{font-family:var(--sans);font-size:11px;letter-spacing:.04em;color:#8d9a90;display:flex;align-items:center;gap:9px}.era-tag i{width:5px;height:5px;border-radius:50%;background:#7c9687}.era-tag em{margin:0 3px;color:#b2bcae}.coins{font-size:14px;color:#9a997e}.player-chip{font-family:var(--sans);font-size:12px;background:none;padding:8px 0 8px 8px;display:flex;gap:18px}.player-chip span{color:#a1aa99}.page-foot{margin:40px 0 20px;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#a7b19f;letter-spacing:.08em}.page-foot span:first-child{font-size:9px;letter-spacing:.36em}
/* Illustrated map and journal. */
.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 258px;gap:24px}.map-card{border:1px solid #cad4c8;border-radius:8px;overflow:hidden;box-shadow:0 8px 18px #7b8d7620;background:#e5e8db}.card-caption{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;font-size:12px;color:#5a7b77;background:#e8ebdf;border-bottom:1px solid #d0dacb}.card-caption small{font-size:9px;letter-spacing:.16em;color:#8b9f91}.map-wrap{position:relative;overflow:hidden;min-height:360px;height:390px}.world-map{width:100%;height:100%;object-fit:cover;opacity:.91}.map-inscription{position:absolute;bottom:29px;left:25px;font-size:37px;font-style:italic;color:#7f968d;letter-spacing:-.03em;line-height:1.4;text-shadow:0 2px #e5e8da}.map-inscription small{display:block;font-size:10px;letter-spacing:.04em}.map-point{position:absolute;transform:translate(-50%,-50%);background:transparent;display:flex;flex-direction:column;align-items:center;min-width:75px;padding:0;z-index:1;filter:drop-shadow(0 2px 2px #e1e6d9)}.pin{font-size:24px;border:1px solid #9fb3a4;background:#e7eddfa8;color:#5c7d7a;line-height:34px;border-radius:50%;width:36px;height:36px;transition:transform .2s}.pin-name{margin-top:5px;border:1px solid #bdcdbb99;background:#f1f1e4dc;padding:2px 9px;white-space:nowrap;border-radius:3px;font-size:11px;color:#536e67}.map-point:hover .pin,.map-point.selected .pin{transform:translateY(-5px);background:#f6f4e7;border-color:#6e9992}.map-point.locked{filter:grayscale(.8);opacity:.45}.map-point.locked .pin{font-size:17px;line-height:27px;width:28px;height:28px}.map-point.locked .pin-name{font-size:10px}.map-bottom{display:flex;justify-content:space-between;padding:11px 20px;background:#eef0e4;border-top:1px solid #ced8cb;font-size:10px;letter-spacing:.04em;color:#8b9c8e}.map-bottom small{font-size:10px}.journal{padding:25px 24px 18px;background:#f7f3e6;border:1px solid #dddcc9;border-radius:7px;position:relative}.journal::before{content:"";width:15px;height:38px;background:#a7b8b0;position:absolute;right:26px;top:-1px;clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%)}.journal .eyebrow{font-size:13px;margin-bottom:13px;max-width:160px}.chapter-number{font-family:Georgia,serif;font-size:55px;color:#9bb1ad;line-height:1.1;display:flex;align-items:flex-end;gap:13px;margin:18px 0}.chapter-number small{font-size:8px;letter-spacing:.12em;margin-bottom:9px}.journal h2{font-size:23px;letter-spacing:.08em}.journal p{font-size:13px;color:#8a9589;line-height:1.9;min-height:50px}.progress-track{height:3px;background:#dfe3d5;margin:21px 0 5px;border-radius:4px;overflow:hidden}.progress-track i{display:block;height:100%;background:#96aca7}.progress-label{display:flex;justify-content:space-between;font-size:10px;color:#9aa692;margin-bottom:20px}.journal .btn{font-size:13px;padding:10px 12px}.journal-note{border-top:1px dashed #d9ddcd;margin-top:24px;padding-top:18px}.journal-note>span{font-size:11px;color:#899b8a}.journal-note p{font-size:12px;margin:8px 0;min-height:0}.journal-note small{font-size:10px}.home-lower{display:grid;grid-template-columns:minmax(0,1fr) 258px;gap:24px;margin-top:23px}.life-scene{position:relative;min-height:170px;background:#dce4d8;border-radius:7px;border:1px solid #c9d5c5;overflow:hidden}.life-label{position:absolute;top:17px;left:21px;color:#7b9485;font-size:13px;font-style:italic;z-index:1}.life-label em{font-style:normal;font-size:10px;margin-left:12px;color:#9aaa98}.life-window{position:absolute;right:40px;top:10px;width:120px;height:94px;border:5px double #bbcbb9;background:#e7ede1;border-radius:60px 60px 0 0}.life-window::after{content:"";position:absolute;height:100%;width:1px;background:#bacbb8;left:50%}.life-shelf{position:absolute;top:83px;left:30px;width:96px;height:4px;background:#abbda8}.life-shelf::before{content:"";position:absolute;width:35px;height:20px;background:repeating-linear-gradient(90deg,#a9bbb0 0 6px,#d0dccc 7px 10px);bottom:4px;left:4px}.life-floor{position:absolute;height:42px;bottom:0;left:0;right:0;background:#cbd8c5;border-top:1px solid #bccdb8}.life-actors{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:center;padding-top:47px;gap:35px}.actor{background:none;display:grid;justify-items:center;padding:0}.actor>span{font-size:10px;color:#7e937f;margin-top:-5px}.life-scene .chibi{width:79px}.life-scene.lit{box-shadow:inset -100px 0 70px #ece0ac40}.life-scene.lit::after{content:"";position:absolute;right:34px;top:60px;width:17px;height:27px;border:2px solid #99a38a;border-radius:6px;background:#ddd6a1;box-shadow:0 0 25px #efe2a3}.plant-pot{position:absolute;left:44px;bottom:24px;font-size:45px;z-index:1;color:#769d7c}.little-note{padding:14px 10px;display:flex;flex-direction:column;justify-content:center}.little-note .eyebrow{font-size:12px}.little-note p{font-size:15px;color:#748979;line-height:2;margin-bottom:10px}.little-note .text-btn{font-size:12px;border:0;padding-top:0}.little-note>small{margin-top:16px;font-size:10px;color:#a7b19c}.chibi{width:90px;position:relative;flex-shrink:0;transform-origin:center bottom;animation:idle 5s ease-in-out infinite}.chibi svg{width:100%;display:block;overflow:visible}.chibi img{width:100%;aspect-ratio:104/120;object-fit:contain}.chibi.large{width:150px}.chibi .eyes{transform-origin:center 47px;animation:blink 5.5s ease-in-out infinite}.chibi-I{animation:steady 8s ease-in-out infinite}.chibi-M{animation:steady 7s ease-in-out infinite}.chibi-E{animation:steady 6s ease-in-out infinite}.chibi-L{animation:sway 5s ease-in-out infinite}.life-scene .chibi-L{animation:walk 14s ease-in-out infinite}.custom-accessory{position:absolute;top:55%;left:27%;height:17%;width:47%;background:#aac6c6;border-radius:25%;font-size:0;opacity:.82;pointer-events:none}.custom-accessory.apron{height:24%;background:#d6c9b1;top:62%;left:33%;width:35%;border-radius:2px}.custom-accessory.beret{top:5%;left:19%;height:19%;width:63%;background:#839589;border-radius:50% 50% 16% 20%}@keyframes idle{50%{transform:translateY(-3px)}}@keyframes steady{50%{transform:translateY(-1.5px) rotate(-1deg)}}@keyframes sway{50%{transform:rotate(2deg) translateY(-2px)}}@keyframes walk{0%,20%,100%{transform:translateX(0)}40%,70%{transform:translateX(12px) rotate(2deg)}75%{transform:translateX(10px)}}@keyframes blink{0%,41%,45%,100%{transform:scaleY(1)}43%{transform:scaleY(.1)}}
/* Reader. */
.story-heading{display:flex;justify-content:space-between;align-items:center;margin:27px 0 22px}.story-heading h1{font-size:27px}.story-heading .eyebrow{font-size:12px;margin-bottom:4px}.story-tools{display:flex;gap:24px}.story-tools .text-btn{font-size:12px;border:0}.story-stage{height:300px;border:1px solid #c5d0c3;border-radius:8px 8px 0 0;position:relative;overflow:hidden;background:#c2cfca}.scene-art{width:100%;height:100%;object-fit:cover;object-position:50% 49%;opacity:.87}.story-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#586e701f,transparent 65%);pointer-events:none}.story-stage.night .scene-art{filter:brightness(.72) saturate(.65)}.scene-label{position:absolute;left:23px;top:19px;background:#f4f3e4d9;border:1px solid #bdcfc16b;border-radius:3px;font-size:12px;padding:6px 13px;z-index:2;color:#536e66}.scene-label i{padding:0 7px;color:#98a694}.day-label{position:absolute;bottom:22px;left:25px;background:#f5f2e6dc;padding:9px 14px;font-size:11px;color:#607e75;border:1px solid #c6d3c199;line-height:1.5;letter-spacing:.12em;z-index:2}.day-label small{display:block;font-size:12px;letter-spacing:.04em;margin-top:3px}.story-portrait{position:absolute;height:100%;object-fit:contain;right:8%;bottom:0;z-index:1}.reading-card{background:#faf7ed;border:1px solid #d5dacb;border-top:0;border-radius:0 0 8px 8px;padding:27px 42px 20px;box-shadow:0 8px 18px #7e8e7820;min-height:260px;position:relative}.reading-meta{display:flex;justify-content:space-between;font-size:11px;color:#92a08f;margin-bottom:20px;letter-spacing:.12em}.reading-meta small{font-family:Georgia,serif;font-size:11px}.prose{font-size:var(--reading-size);white-space:pre-wrap;line-height:2.15;letter-spacing:.045em;color:#4b605f}.reader-bottom{margin-top:28px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e1e3d5;padding-top:17px;gap:15px}.reader-bottom>span{font-size:10px;color:#a2ad98}.next-button{display:flex;gap:27px;align-items:center;background:none;color:#617f77;font-size:13px;padding:8px}.next-button:hover{color:#2b555f}.choice-title{font-size:20px;text-align:center;margin:10px 0 24px}.choice-list{display:grid;gap:12px;max-width:820px;margin:auto}.choice{padding:13px 20px;display:flex;gap:20px;align-items:center;background:#eff1e6;border:1px solid #d2dccb;border-radius:4px;font-size:16px;line-height:1.8;text-align:left;transition:background .2s}.choice span{font-size:11px;color:#9bac97}.choice:hover{background:#e0e8dc;border-color:#a7bdaa}.chosen-line{border-left:2px solid #b9c8b3;background:#eef0e5;padding:9px 16px;margin-bottom:20px;font-size:14px;color:#82957f}.reaction{display:flex;align-items:center;justify-content:flex-end;margin-top:10px;gap:8px}.reaction .chibi{width:50px;animation:reaction-hop .5s ease 2}.reaction small{font-size:10px}.reading-log{max-height:65vh;overflow:auto;padding-right:16px}.reading-log>div{border-bottom:1px solid #e0e4d5;padding:16px 0}.reading-log p{font-size:16px;white-space:pre-wrap;line-height:2}.reading-log small{font-size:10px;letter-spacing:.06em}.free-scene{width:100%;height:180px;object-fit:cover;margin-bottom:20px}.modal .prose{font-size:18px}@keyframes reaction-hop{50%{transform:translateY(-7px)}}
/* Correspondence and keepsakes. */
.letters-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:30px}.correspondents{padding-top:5px}.person-tab{width:100%;display:flex;align-items:center;gap:12px;padding:13px 15px;text-align:left;border-bottom:1px solid #d9e0d1;background:none}.person-tab.selected{background:#e4e9de;border-radius:6px;border:1px solid #c6d6c3}.person-tab>span:nth-child(2){font-size:17px;line-height:1.4}.person-tab small{display:block;font-size:10px;color:#94a38c;margin-top:5px}.person-tab i{margin-left:auto;color:#8fa68f;font-size:25px}.mini-avatar{width:46px;height:49px;overflow:hidden;display:grid;place-items:center}.mini-avatar .chibi{width:46px}.correspondents>p{font-size:11px;color:#97a18f;line-height:2.1;padding:25px 13px}.letter-paper{border:1px solid #d7d9c5;background:#faf6e9;padding:28px 40px;box-shadow:3px 4px #dfdfcd77,-1px 5px 14px #83907717;position:relative;min-height:580px}.letter-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dadfd0;padding-bottom:13px;margin-bottom:26px}.letter-top>span{font-style:italic;color:#8c9c89;font-size:15px}.letter-top small{font-size:8px;letter-spacing:.16em}.letter-paper>h2{font-size:23px}.letter-thread{max-height:430px;overflow:auto;margin-bottom:22px;padding-right:10px}.letter-entry{padding:22px 0;border-bottom:1px dashed #d5ddcb}.letter-entry.user{padding-left:22px;border-left:2px solid #d6dccb}.letter-entry small{font-size:10px;color:#95a28e}.letter-entry p{white-space:pre-wrap;font-size:17px;line-height:2;margin:10px 0 0}.empty-letter{display:grid;place-items:center;min-height:220px;color:#a0ad93;text-align:center}.empty-letter>span{font-size:48px;line-height:1}.empty-letter p{font-size:15px;margin:4px 0}.letter-paper textarea{background:transparent;border:0;border-top:1px solid #d5ddcb;border-radius:0;padding:22px 0;min-height:110px;font-family:var(--serif);font-size:16px}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.form-bottom small{font-size:10px;line-height:1.8}.character-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.character-card{border:1px solid #d0d9c8;border-radius:7px;overflow:hidden;position:relative;background:#f9f6eb}.character-era{position:absolute;top:15px;left:18px;z-index:1;color:#8b9f8b;font-size:11px;letter-spacing:.14em}.character-art{height:270px;display:grid;place-items:center;background:#dce4d9;background-image:radial-gradient(ellipse at 50% 50%,#edf0e3,transparent);overflow:hidden}.character-art>img{width:100%;height:100%;object-fit:contain}.character-art .chibi{width:175px}.unknown{font-size:70px;color:#adbeab;font-style:italic}.character-info{padding:22px}.character-info>small{font-size:10px;letter-spacing:.06em;font-style:italic}.character-info h2{font-size:22px;margin:8px 0 13px}.character-info p{font-size:13px;color:#80917d;min-height:80px}.character-detail{font-size:10px;border-top:1px solid #dce1d1;padding:11px 0;color:#95a38c}.character-info .text-btn{font-size:12px}.unmet{filter:grayscale(.65);opacity:.62}.memory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.memory-card{border:1px solid #d4dccb;background:#faf6e9;border-radius:6px;overflow:hidden}.memory-image{height:170px;position:relative;overflow:hidden;background:#dde4d7;display:grid;place-items:center}.memory-image img{width:100%;height:100%;object-fit:cover;opacity:.87}.memory-image>span{font-size:50px;color:#acbaa6}.memory-image b{position:absolute;bottom:14px;left:21px;font-family:Georgia,serif;font-size:38px;font-weight:400;color:#f9f7e9;text-shadow:0 2px 3px #5e78657f}.memory-card>div:last-child{padding:21px 25px}.memory-card small{font-size:9px;letter-spacing:.16em}.memory-card h2{margin:7px 0 12px;font-size:23px}.memory-card p{font-size:14px;color:#81947d;min-height:50px}.memory-card .text-btn{font-size:12px}.memory-bottom{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:25px}.encounter-list{display:flex;flex-wrap:wrap;gap:10px}.encounter-list .btn{font-size:12px;padding:9px 12px}.encounter{padding:16px 10px;text-align:center}.encounter .eyebrow{font-size:12px}.encounter-art{position:relative;display:flex;justify-content:center;height:235px;align-items:center}.encounter-art>img{height:230px;object-fit:contain;z-index:1;animation:slow-push 4s ease-out both}.encounter-art .chibi{width:165px;z-index:1}.orbit{position:absolute;width:200px;height:200px;border:1px solid #b6c9b2;border-radius:50%;transform:rotate(-15deg)}.orbit::after{content:'✧';position:absolute;left:19px;top:10px;background:#f8f5e9;padding:0 5px;color:#94ad97}.encounter h2{font-size:28px;animation:enter 2s ease both;margin:12px 0 2px}.encounter em{font-size:12px;color:#8fa28b}.encounter p{font-size:16px;margin:27px 0}.chapter-end{text-align:center}.end-number{font-family:Georgia,serif;color:#b5c4b0;font-size:66px;line-height:1.3}.chapter-end h2{font-size:29px}.chapter-end>img{width:100%;height:190px;object-fit:cover;border-radius:4px;opacity:.8;margin:22px 0}.chapter-end p{font-size:18px}.chapter-end .actions{justify-content:center;margin-top:27px}.chapter-end>.text-btn{margin:18px 10px 0;font-size:12px}@keyframes slow-push{from{transform:scale(.97)}to{transform:scale(1.04)}}
/* Bakery and wardrobe. */
.market-grid{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:28px}.stall-scene{position:relative;height:470px;border:1px solid #c7d5c3;border-radius:8px;overflow:hidden;background:#dbe3d4;background-image:linear-gradient(90deg,#bac9b733 1px,transparent 1px),linear-gradient(#becdbb33 1px,transparent 1px);background-size:90px 40px}.awning{height:78px;background:repeating-linear-gradient(90deg,#8fa9a7 0 55px,#e3e6d8 55px 110px);border-bottom:7px solid #7e9997;display:flex;align-items:center;justify-content:center}.awning span{background:#eff0dfdc;padding:6px 15px;font-size:12px;letter-spacing:.18em;color:#6b8780}.stall-back{height:226px;display:flex;align-items:flex-end;justify-content:space-around;padding:20px}.stall-back>div:first-child{position:relative;display:grid;justify-items:center}.stall-back .chibi{width:126px}.stall-back>div>span{font-size:10px;color:#8b9b82}.order-bubble{background:#f9f5e4;border:1px solid #b9cbb5;border-radius:18px 18px 0 18px;padding:20px 25px;max-width:250px;align-self:center;box-shadow:0 2px #c0cfb557}.order-bubble small{font-size:10px}.order-bubble p{font-size:15px;line-height:1.9;margin:8px 0 0}.order-bubble b{font-weight:400}.counter{height:120px;border-top:7px solid #9aab8e;background:repeating-linear-gradient(90deg,#b6c4a8 0 65px,#a4b599 66px 68px);display:flex;align-items:center;justify-content:space-around;position:relative}.counter .chibi{width:107px;transform:translateY(-25px);z-index:3}.counter>div:first-child{align-self:flex-end}.dessert-preview{height:95px;width:175px;position:relative;align-self:flex-start;top:-25px}.plate{position:absolute;border:2px solid #b0bcaa;background:#edf0df;border-radius:50%;width:140px;height:37px;top:28px;left:15px}.dessert-base{position:absolute;top:12px;left:46px;width:80px;height:30px;border-radius:50%;background:#cdb491;border:3px solid #aa9578;z-index:1}.dessert-base.cake{height:50px;top:-2px;border-radius:45% 45% 28% 28%;background:#d1bd98}.dessert-fill{position:absolute;background:#f1e8cb;top:4px;left:50px;width:72px;height:27px;border-radius:50%;z-index:2}.dessert-fill.berry{background:#a57974}.dessert-top{position:absolute;font-size:40px;z-index:3;color:#739576;top:-30px;left:70px}.dessert-preview small{position:absolute;top:69px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;color:#728669}.stall-sign{text-align:center;font-size:14px;font-style:italic;color:#8b9c7b;margin-top:15px}.recipe-panel{padding:26px 24px;background:#faf6e9;border:1px solid #d6dcc8;border-radius:7px}.recipe-panel h2{font-size:24px;margin-bottom:25px}.ingredient-group{margin-bottom:19px}.ingredient-group label{font-size:13px;display:flex;gap:12px;margin-bottom:8px}.ingredient-group label b{font-size:10px;color:#9bad92;font-weight:400}.ingredient-group>div{display:flex;gap:8px}.ingredient{padding:8px 13px;border:1px solid #d0dbc6;background:#f1f2e6;border-radius:4px;font-size:13px}.ingredient.selected{border-color:#7fa190;background:#dce8d8;color:#4a6e5f}.recipe-panel .hint{font-size:11px}.recipe-panel>small{display:block;margin-top:18px;font-size:10px}.market-callout{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #d3dcc7;margin-top:30px;padding-top:18px}.market-callout p{margin:0;color:#849779;font-size:14px}.wardrobe-characters{display:flex;flex-wrap:wrap;justify-content:center;gap:42px;padding:20px 25px 35px;border-bottom:1px solid #d7dfca;margin-bottom:28px}.outfit-person{display:grid;justify-items:center;max-width:150px}.outfit-person .chibi{width:125px}.outfit-person h3{margin:8px 0 12px;font-size:17px}.outfit-person h3 small{font-size:10px;margin-left:7px}.outfit-person select{font-size:12px;padding:7px 10px}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.shop-item{border:1px solid #d0dcc4;background:#faf6e9;border-radius:5px;padding:18px 24px 24px;text-align:center}.item-art{height:145px;display:flex;justify-content:center;align-items:center}.item-art .chibi{width:105px}.decor-symbol{font-size:90px;color:#94ad8e;line-height:1}.shop-item h3{font-size:18px;margin:6px 0 9px}.shop-item p{font-size:12px;color:#8da080}.shop-item .btn{font-size:12px;padding:8px 16px}
/* Save slots, preferences, and onboarding. */
.save-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:26px}.save-actions>span{font-size:10px;color:#9daa90}.save-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.save-card{border:1px solid #d1dcc5;background:#faf7ec;border-radius:6px;overflow:hidden}.save-thumb{height:105px;position:relative;overflow:hidden}.save-thumb img{width:100%;height:100%;object-fit:cover;opacity:.7}.save-thumb b{position:absolute;bottom:12px;left:19px;font-family:Georgia,serif;font-size:25px;color:#f9f7e9;font-weight:400;text-shadow:0 1px 3px #3d67557a}.save-card>div:last-child{padding:19px}.save-card h3{font-size:17px;margin:6px 0 11px}.save-card p{font-size:11px;color:#8e9f83;line-height:1.9;min-height:62px}.save-card .text-btn{font-size:12px}.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:25px}.settings-layout h2{font-size:23px}.settings-layout .btn{font-size:12px;padding:9px 14px}.settings-layout .panel p{font-size:13px}.preference-row{display:flex;align-items:center;gap:12px;font-size:12px;margin:13px 0}.preference-row label{width:100px}.preference-row input{flex:1}.preference-row>span{width:36px;color:#899f7f;font-size:10px;text-align:right}.settings-layout .actions{margin-top:22px}.api-panel{margin-bottom:25px}.api-forms{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:28px}.api-form{border:1px solid #d8dfca;padding:24px;background:#f4f4e8;border-radius:5px;align-self:start}.api-form h3{font-size:21px;margin-bottom:20px}.api-buttons{display:flex;flex-wrap:wrap;gap:10px}.api-buttons .btn{font-size:11px;padding:10px 13px}.api-feedback{margin-top:14px;font-size:12px;line-height:1.7;color:#7b9872}.api-panel>.actions{border-top:1px solid #d3ddc3;margin-top:22px;padding-top:20px}.api-panel .text-btn{font-size:12px}.asset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:22px}.asset-upload{border:1px dashed #b4c9a8;min-height:135px;position:relative;padding:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:4px;overflow:hidden}.asset-upload>span{font-size:30px;color:#9eb193;line-height:1;margin-bottom:10px}.asset-upload>b{font-size:12px;font-weight:400}.asset-upload>small{font-size:9px;margin-top:5px}.asset-upload>img{height:66px;max-width:120px;object-fit:contain;margin-bottom:8px}.asset-upload>input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.asset-upload:hover{background:#eaf0df}.danger-zone{margin-top:25px}.danger-zone h2{font-size:20px}.danger-zone .text-btn{font-size:12px;color:#8d8e75}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.onboard{min-height:100svh;padding:45px 24px 65px;display:flex;flex-direction:column;align-items:center;background:#d6dfd2;background-image:radial-gradient(ellipse at center,#edf0e3,transparent)}.onboard-brand{text-align:center;font-family:Georgia,serif;font-size:40px;font-style:italic;letter-spacing:-.035em;margin-bottom:25px}.onboard-brand>small{font-family:var(--serif);display:block;font-style:normal;font-size:11px;letter-spacing:.2em}.onboard-card{max-width:680px;width:100%;background:#faf7ec;padding:38px 43px;border:1px solid #c8d6bd;border-radius:8px;box-shadow:0 15px 45px #77936c21}.onboard-card h2{font-size:28px}.onboard-card>p{font-size:13px;color:#899e7e}.agreement-text{white-space:pre-wrap;max-height:400px;overflow:auto;font-size:14px;line-height:2;padding:20px;background:#f0f2e4;border:1px solid #dbe3cd;margin:23px 0}.check-row{display:flex;align-items:center;gap:10px;margin:20px 0;font-size:13px}.reference-upload{border:1px dashed #bdcdae;padding:15px;line-height:2}.reference-upload small{display:block}.reference-upload input{max-width:100%;font-size:11px}.modal-open{overflow:hidden}.modal-backdrop{position:fixed;inset:0;background:#344d526b;backdrop-filter:blur(5px);z-index:100;display:flex;align-items:center;justify-content:center;padding:25px}.modal{position:relative;background:#f8f5e9;width:560px;max-width:100%;max-height:91vh;overflow:auto;padding:38px;border:1px solid #bdcdb5;border-radius:7px;box-shadow:0 15px 75px #2d484342;animation:modal-in .22s ease-out}.modal.wide{width:830px}.close-btn{position:absolute;right:13px;top:12px;background:none;padding:7px;color:#869c7c;z-index:3}.modal>p{font-size:14px;color:#839677}.confirm-text{font-size:16px!important;color:#5e7859!important;white-space:pre-wrap;margin:25px 0}.modal .actions{margin-top:25px}.modal>h2{margin-top:8px}.modal .text-btn{font-size:13px}#toast{position:fixed;z-index:200;left:50%;bottom:34px;transform:translate(-50%,20px);background:#4e6e65;color:#f5f3e4;padding:13px 24px;border:1px solid #859f87;border-radius:5px;max-width:min(650px,90vw);font-size:13px;box-shadow:0 5px 25px #4f6a4c33;opacity:0;transition:.22s;pointer-events:none}#toast.show{opacity:1;transform:translate(-50%,0)}@keyframes modal-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1550px){.map-wrap{height:470px}.home-grid,.home-lower{grid-template-columns:minmax(0,1fr) 300px}.journal{padding:35px 30px}.life-scene{min-height:200px}.life-actors{padding-top:62px}.life-scene .chibi{width:92px}}
@media(max-width:1200px){.game-shell{grid-template-columns:180px minmax(0,1fr)}.sidebar{padding:26px 16px 18px}.main{padding:0 30px}.home-grid,.home-lower{grid-template-columns:minmax(0,1fr) 225px;gap:18px}.journal{padding:23px 19px}.journal h2{font-size:21px}.map-wrap{height:370px}.nav-item{padding-left:10px;gap:13px}.character-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.market-grid{grid-template-columns:1fr}.stall-scene{height:420px}.stall-back{height:176px}.recipe-panel{display:block}.ingredient-group{display:inline-block;margin-right:25px}.recipe-panel>.actions{max-width:300px}.asset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.api-forms{gap:20px}.api-form{padding:18px}.letter-paper{padding:25px}.letters-layout{grid-template-columns:180px minmax(0,1fr);gap:20px}}
@media(max-width:1000px){.game-shell{grid-template-columns:86px minmax(0,1fr)}.sidebar{padding:25px 10px 12px}.brand-symbol{font-size:33px}.brand>span:nth-child(2),.sidebar-foot,.nav-item span,.nav-item i{display:none}.side-rule{margin:23px 10px}.nav-item{padding:14px 0;justify-content:center}.nav-item .icon{width:23px;height:23px}.home-grid,.home-lower{grid-template-columns:minmax(0,1fr) 230px}.main{padding:0 25px}.map-wrap{height:390px}.map-inscription{font-size:29px;left:16px;bottom:20px}.map-inscription small{font-size:8px}.map-bottom small{display:none}.settings-layout{grid-template-columns:1fr}.save-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-stage{height:290px}.reading-card{padding:25px 30px 18px}}
@media(max-width:760px){.game-shell{display:block;padding-bottom:74px}.sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;z-index:40;height:69px;border-right:0;border-top:1px solid #c9d7c1;padding:4px 8px;background:#e8eddfed;backdrop-filter:blur(10px)}.brand,.side-rule{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:3px;scrollbar-width:none}.nav-item{min-width:64px;min-height:56px;flex-direction:column;gap:3px;padding:6px 7px;flex-shrink:0}.nav-item span{display:block;white-space:nowrap}.nav-item b{display:none}.nav-item small{display:block;font-size:9px;margin:0;letter-spacing:0}.nav-item .icon{width:19px;height:19px}.main{padding:0 20px}.topline{height:59px}.topline>div{gap:13px}.era-tag{font-size:9px;gap:5px}.player-chip{font-size:11px;gap:6px;max-width:110px;white-space:nowrap;overflow:hidden}.coins{font-size:12px}.page-heading{margin:24px 0 20px}.page-heading h1{font-size:27px}.page-heading p{font-size:12px;max-width:85%}.page-heading .eyebrow{font-size:13px;margin-bottom:8px}.heading-star{font-size:34px;margin-right:7px}.home-grid{display:flex;flex-direction:column}.map-wrap{height:350px;min-height:300px}.world-map{object-fit:fill}.card-caption{padding:12px 14px;font-size:10px}.card-caption small{font-size:7px;letter-spacing:.1em}.map-inscription{font-size:28px;bottom:21px;left:18px}.map-point{min-width:65px}.pin{font-size:20px;width:31px;height:31px;line-height:29px}.pin-name{font-size:9px;padding:2px 6px}.map-point.locked .pin-name{font-size:8px}.map-bottom{padding:10px 13px;font-size:9px}.journal{padding:24px;display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.journal>.eyebrow{grid-column:1/-1;max-width:none;font-size:12px}.chapter-number{margin:5px 0 12px;font-size:43px;grid-row:2/4}.journal h2{font-size:21px;grid-column:2}.journal>p{grid-column:2;font-size:12px;min-height:0;margin-bottom:5px}.journal>.progress-track,.journal>.progress-label,.journal>.btn{grid-column:1/-1}.journal>.progress-track{margin-top:6px}.journal>.progress-label{margin-bottom:15px}.journal-note{display:none}.home-lower{grid-template-columns:1fr}.life-scene{min-height:180px}.life-actors{padding-top:50px;gap:24px}.life-scene .chibi{width:78px}.little-note{display:none}.page-foot{font-size:8px;margin-top:27px}.page-foot span:last-child{letter-spacing:0}.page-foot span:first-child{font-size:7px}.story-heading{margin:21px 0 16px;align-items:flex-end}.story-heading h1{font-size:23px;margin-bottom:0}.story-tools{gap:13px}.story-tools .text-btn{font-size:0;padding:9px}.story-tools .icon{width:18px}.story-stage{height:225px}.scene-label{left:12px;top:12px;font-size:9px;padding:5px 9px;max-width:calc(100% - 24px)}.day-label{left:14px;bottom:15px;font-size:9px;padding:6px 10px}.day-label small{font-size:10px}.reading-card{padding:21px 22px 15px;min-height:320px}.prose{font-size:calc(var(--reading-size) - 2px);line-height:2;letter-spacing:.025em}.reading-meta{font-size:9px;letter-spacing:.06em;margin-bottom:18px}.reading-meta small{font-size:9px}.reader-bottom{margin-top:23px;gap:9px}.reader-bottom>span{font-size:8px}.next-button{gap:10px;font-size:12px;padding-right:0}.choice{font-size:14px;gap:13px;padding:13px}.choice-title{font-size:18px}.letters-layout{display:flex;flex-direction:column;gap:16px}.correspondents{display:flex;overflow:auto;gap:8px;padding:0}.person-tab{min-width:143px;width:auto;flex-shrink:0;padding:9px 10px;border:1px solid #d2ddc8;border-radius:5px;gap:8px}.person-tab>span:nth-child(2){font-size:14px}.person-tab small{font-size:9px;margin-top:3px}.person-tab .mini-avatar{width:33px;height:40px}.mini-avatar .chibi{width:35px}.person-tab i{display:none}.correspondents>p{display:none}.correspondents>.text-btn{min-width:90px;font-size:11px;padding:8px}.letter-paper{padding:23px 22px;min-height:520px}.letter-top>span{font-size:13px}.letter-top small{font-size:6px;letter-spacing:.03em}.letter-paper h2{font-size:22px}.letter-entry p{font-size:16px}.form-bottom{align-items:flex-start;flex-direction:column}.form-bottom .btn{align-self:flex-end;padding:10px 18px;font-size:13px}.form-bottom small{font-size:9px}.character-grid{grid-template-columns:1fr}.character-art{height:230px}.character-info p{min-height:0}.character-info h2{font-size:23px}.memory-grid{grid-template-columns:1fr;gap:20px}.memory-image{height:165px}.memory-bottom{grid-template-columns:1fr}.panel{padding:25px 23px}.panel h2{font-size:23px}.panel .eyebrow{font-size:13px}.market-grid{gap:18px}.stall-scene{height:350px}.awning{height:59px}.awning span{font-size:9px}.stall-back{height:169px;padding:14px 10px;gap:5px}.stall-back .chibi{width:95px}.order-bubble{padding:12px 13px;max-width:200px}.order-bubble p{font-size:12px}.order-bubble small{font-size:9px}.counter{height:100px}.counter .chibi{width:82px;transform:translateY(-17px)}.dessert-preview{width:125px;transform:scale(.85);transform-origin:center left}.dessert-preview small{font-size:9px;left:65%}.stall-sign{font-size:11px;margin-top:0}.recipe-panel{padding:24px}.ingredient-group{display:block;margin-right:0}.ingredient-group>div{display:grid;grid-template-columns:1fr 1fr}.ingredient{font-size:14px}.recipe-panel>.actions{max-width:none}.market-callout{flex-direction:column;align-items:flex-start;gap:15px}.market-callout p{font-size:12px}.wardrobe-characters{gap:23px;padding:10px 0 25px}.outfit-person{width:calc(50% - 16px)}.outfit-person .chibi{width:108px}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.shop-item{padding:15px 13px 20px}.item-art{height:120px}.item-art .chibi{width:90px}.shop-item h3{font-size:15px}.shop-item p{font-size:10px;min-height:36px}.shop-item .btn{font-size:10px;padding:7px 10px}.save-grid{grid-template-columns:1fr}.save-card{display:grid;grid-template-columns:90px 1fr}.save-thumb{height:100%;min-height:180px}.save-thumb img{object-fit:cover;opacity:.6}.save-thumb b{font-size:22px;left:15px;top:17px;bottom:auto}.save-card>div:last-child{padding:17px}.save-card p{min-height:0}.save-actions .btn{font-size:12px;padding:10px 14px}.save-actions>span{font-size:9px}.api-forms{grid-template-columns:1fr;gap:20px}.api-form{padding:20px}.api-form h3{font-size:19px}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.asset-upload>b{font-size:10px}.asset-upload>small{font-size:7px}.preference-row{gap:8px;font-size:11px}.preference-row label{width:85px}.onboard{padding:26px 15px 40px}.onboard-brand{font-size:34px;margin-bottom:20px}.onboard-card{padding:27px 24px}.onboard-card h2{font-size:25px}.onboard-card .eyebrow{font-size:12px}.agreement-text{font-size:13px;max-height:48vh;padding:17px}.form-columns{grid-template-columns:1fr;gap:0}.check-row{font-size:12px;align-items:flex-start}.onboard-card .btn{font-size:13px;padding:12px 14px}.splash{padding:29px 20px 27px}.splash-top{font-size:8px;letter-spacing:.2em}.splash h1{font-size:95px}.splash-center>p:not(.splash-cn){font-size:11px;letter-spacing:.05em}.splash-cn{font-size:15px}.splash-foot{font-size:7px;letter-spacing:.15em}.splash-foot small{font-size:9px}.enter-button{font-size:13px;min-width:215px;padding:11px 22px}.modal-backdrop{padding:16px}.modal{padding:33px 24px;max-height:90svh}.modal>h2{font-size:25px}.modal>p{font-size:13px}.modal .prose{font-size:16px}.modal .btn{padding:10px 15px;font-size:12px}.chapter-end>img{height:155px}.chapter-end p{font-size:16px}.encounter h2{font-size:25px}#toast{bottom:87px;font-size:12px;padding:11px 18px;width:max-content;max-width:88vw}.reading-log p{font-size:15px}}
@media(max-width:380px){.main{padding:0 14px}.topline>div{gap:6px}.era-tag{font-size:8px}.map-wrap{height:300px}.pin-name{font-size:8px}.map-point.locked .pin-name{display:none}.reading-card{padding:19px 18px}.reading-meta{font-size:8px}.reader-bottom>span{max-width:135px}.shop-grid{gap:10px}.shop-item{padding:13px 10px}.page-heading h1{font-size:24px}}
.reduce-motion *,.reduce-motion *::before,.reduce-motion *::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
