@font-face{font-family:localserif;src:local('Songti SC'),local('Noto Serif CJK SC')}*{box-sizing:border-box}body{margin:0;background:#f5f3ed;color:#253b42;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;font-size:14px}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #af683d;outline-offset:5px}.hidden{display:none!important}.small,.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:600}.muted{color:#8b9595}.gold{color:#e7ba6a}.login-screen{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh}.login-art{background:#142d39;color:#f7f2e9;position:relative;overflow:hidden;padding:9vw 8vw;display:flex;flex-direction:column;justify-content:space-between;min-height:650px}.login-art:after{content:'';position:absolute;left:-20%;bottom:-35%;width:135%;height:70%;border-radius:50%;border:1px solid #546c71;transform:rotate(-18deg)}.wordmark{font-family:Georgia,serif;font-size:clamp(44px,6vw,90px);line-height:1.05;letter-spacing:-3px;position:relative;z-index:1}.sun{height:150px;width:150px;border:1px solid #bfa56d;border-radius:50%;position:absolute;right:-48px;top:43%}.login-art p{font-family:localserif,Georgia,serif;font-size:25px;line-height:1.9}.login-art .small{color:#9eaeb3}.login-form{max-width:420px;width:100%;margin:auto;padding:42px}.login-form h1{font-size:30px;font-weight:500;margin:26px 0 14px}.login-form p{color:#85918d;font-size:13px;line-height:1.7}.login-form label{display:block;margin:45px 0 12px;font-size:12px}.login-form input{width:100%;padding:15px;background:transparent;border:1px solid #cdd2ca;border-radius:3px;outline-color:#3b665e}.primary{background:#203c47;color:white;border:0;padding:16px;width:100%;margin:16px 0 8px;text-align:left;border-radius:3px}.primary span{float:right}.login-form .small{display:block;margin-top:90px}#login-error{color:#a24538;min-height:20px}.game{display:flex;min-height:100dvh}.rail{position:fixed;left:0;top:0;bottom:0;width:90px;background:#142d39;display:flex;flex-direction:column;align-items:center;z-index:10;color:white}.mark{text-decoration:none;color:#f6eedc;font-family:Georgia,serif;line-height:1;letter-spacing:-6px;font-size:34px;margin:32px 0 55px}.mark span{color:#d4a66d;font-size:25px;position:relative;top:8px}.rail nav{display:grid;gap:21px;width:100%}.rail button{border:0;background:none;color:#9aafb7;position:relative}.rail nav button{display:flex;gap:9px;flex-direction:column;align-items:center;padding:10px 5px}.rail button span{font-size:23px;line-height:1.2}.rail button b{font-size:10px;font-weight:400;letter-spacing:2px}.rail .active{color:#f2d4a0}.rail .active:before{content:'';position:absolute;left:0;top:15px;width:3px;height:33px;background:#d5aa67}.exit{margin-top:auto;margin-bottom:30px;font-size:23px}#unread-count:not(:empty){position:absolute;top:4px;right:22px;background:#bd724d;color:white;border-radius:15px;font-size:9px;font-style:normal;padding:2px 5px}.workspace{margin-left:90px;flex:1;min-width:0}.topbar{height:82px;padding:0 5vw;border-bottom:1px solid #e0e3da;display:flex;align-items:center;justify-content:space-between;background:#f8f6f0}.brand{font-size:11px;letter-spacing:2px;font-weight:700}.brand span{font-size:10px;letter-spacing:1px;color:#98a19a;margin-left:15px;font-weight:400}.quiet{border:none;background:transparent;color:#789084;font-size:13px}.quiet span{font-size:11px;margin-left:6px}.layout{max-width:1320px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:65px;padding:52px 5vw 80px}main{min-width:0;max-width:780px}.scene-meta{display:flex;align-items:center;gap:20px;color:#71867b}.scene-meta #time{font-size:13px;border-left:1px solid #c8d0c7;padding-left:20px;letter-spacing:1px}main h1{font-family:localserif,Georgia,serif;font-size:38px;font-weight:500;letter-spacing:1px;margin:21px 0 12px}.place{color:#8c938b;font-size:12px;line-height:1.7;margin-bottom:30px}.rule{border-top:1px solid #b7bfb1;padding-top:12px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.9px;color:#879384}.rule span:last-child{font-size:8px;color:#af8157}.narrative{font-family:localserif,Georgia,'Songti SC',serif;font-size:17px;line-height:2.05;letter-spacing:.4px;padding:30px 0;white-space:pre-wrap;overflow-wrap:anywhere}.decision-label{border-top:1px solid #d7dccf;padding:25px 0 18px;display:flex;justify-content:space-between;font-size:12px;color:#576a60}.decision-label span:last-child{font-size:9px;letter-spacing:1.5px;color:#9aa191}.choices{display:grid;gap:9px}.choice{width:100%;background:#fbfaf6;border:1px solid #dce0d4;display:flex;gap:20px;text-align:left;align-items:flex-start;padding:18px 20px;border-radius:3px;color:#334d46;line-height:1.65;transition:border-color .15s,transform .15s}.choice:hover{border-color:#9fafa0;transform:translateX(3px)}.choice .number{font-family:Georgia,serif;color:#bc8e62;font-size:16px;flex-shrink:0}.composer{margin-top:22px;border:1px solid #c8d0c5;border-radius:4px;padding:16px 18px;background:#f9f8f3}.composer textarea{resize:vertical;width:100%;border:0;outline:none;background:none;color:#2b4841;min-height:50px;line-height:1.7}.composer textarea::placeholder{color:#a4a99d}.composer>div{display:flex;justify-content:space-between;align-items:center;margin-top:7px}.composer>div span{font-size:10px;color:#9aab9a}.composer button{border:0;border-radius:3px;background:#294a48;color:white;width:33px;height:31px;font-size:22px}#status{color:#a26845;font-size:12px;line-height:1.7;min-height:20px}.scene-aside{padding-top:6px}.side-title{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.2px;border-bottom:1px solid #d5dccf;padding-bottom:17px;color:#7a8a7d}.side-title span:last-child{font-size:10px;letter-spacing:0}.cast{display:grid;gap:22px;margin-top:22px}.person{border:0;padding:0;text-align:left;background:none;color:inherit;display:block;width:100%}.portrait{width:100%;height:210px;object-fit:cover;object-position:50% 25%;border-radius:3px;background:#dce0d5;filter:saturate(.75)}.person .avatar{height:100px;background:#e7e8de;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:45px;color:#acb8a5;border-radius:3px}.person strong{display:block;font-size:13px;font-weight:500;margin-top:12px;line-height:1.6}.person small{font-size:9px;letter-spacing:1px;color:#8c9a87}.day-card{background:#ebece2;padding:23px;margin-top:32px;border-radius:3px}.day-card .eyebrow{color:#a18763}.day-card h2{font-family:localserif,serif;font-weight:500;font-size:19px;margin:12px 0 18px}.day-card p{font-size:12px;line-height:1.8;color:#758375}.text-button{border:0;background:none;padding:12px 0 0;font-size:11px;color:#6d8171}.save-status{margin-top:30px;display:flex;align-items:center;gap:8px;color:#99a18f;font-size:10px}.save-status i{width:5px;height:5px;border-radius:50%;background:#90a381}dialog{padding:30px;border:1px solid #d3dacd;border-radius:7px;width:min(640px,92vw);max-height:85dvh;background:#f9f7f1;color:#2f4943;box-shadow:0 30px 100px #112f4333}dialog::backdrop{background:#152d3977;backdrop-filter:blur(3px)}dialog header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #d6ddcf;margin-bottom:24px}dialog header h2{font-family:localserif,serif;font-weight:500;font-size:25px}#drawer-body .portrait{height:360px;width:100%;object-fit:contain;background:#e7e7dd}#drawer-body p{line-height:1.9;white-space:pre-wrap}#drawer-body .entry{display:block;text-align:left;width:100%;border:0;background:#eeefe6;margin:10px 0;padding:17px;color:inherit;border-radius:3px;line-height:1.7}#drawer-body .entry small{display:block;color:#919d8a}#drawer-body .entry strong{font-weight:500}#drawer-body .mini-people{display:grid;grid-template-columns:1fr 1fr;gap:23px}#drawer-body .history-text{font-family:localserif,serif;font-size:16px;line-height:2}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1500px){.layout{padding-top:65px;gap:90px}.scene-aside{padding-top:10px}}@media(max-width:1000px){.layout{grid-template-columns:minmax(0,1fr) 185px;gap:35px;padding-left:4vw;padding-right:4vw}.portrait{height:180px}.rail{width:72px}.workspace{margin-left:72px}.topbar{padding:0 4vw}main h1{font-size:32px}.narrative{font-size:16px}}@media(max-width:740px){.login-screen{grid-template-columns:1fr}.login-art{min-height:280px;padding:36px}.wordmark{font-size:46px;letter-spacing:-1px}.login-art p{font-size:14px;position:absolute;right:30px;top:30px}.login-art>.small{margin-top:35px}.login-form{padding:35px 28px;max-width:500px}.login-form h1{font-size:27px}.login-form .small{margin-top:28px}.login-form label{margin-top:30px}.rail{width:100%;height:65px;top:auto;bottom:0;flex-direction:row;justify-content:center;border-top:1px solid #43606a}.mark,.rail .exit{display:none}.rail nav{display:flex;justify-content:space-around;gap:0}.rail nav button{flex:1;padding:7px 4px;gap:4px}.rail nav button span{font-size:20px}.rail nav button b{font-size:9px}.rail .active:before{top:0;left:32%;width:36%;height:2px}.workspace{margin:0}.topbar{height:65px;padding:0 23px}.brand{font-size:9px;letter-spacing:1.5px}.brand span{display:none}.quiet{font-size:15px}.quiet span{font-size:10px}.layout{display:block;padding:30px 24px 100px}.scene-aside{display:none}main h1{font-size:31px;line-height:1.4}.scene-meta{gap:14px}.scene-meta .eyebrow{font-size:9px;letter-spacing:1.5px}.narrative{font-size:16px;line-height:2.1;padding:24px 0}.place{margin-bottom:24px}.rule{letter-spacing:1.3px}.choice{padding:16px 14px;font-size:13px;gap:14px}.decision-label{font-size:11px}.decision-label span:last-child{font-size:8px}.composer{padding:14px}dialog{padding:24px}#drawer-body .portrait{height:280px}}
