[hidden]{display:none!important}.portrait-placeholder{position:absolute;inset:0;display:grid;place-items:center;font:76px var(--serif);letter-spacing:12px;color:#768370;background:radial-gradient(ellipse at 50% 30%,#f5f0df,transparent 65%);opacity:.55}.bond-letter{width:32px;height:32px;display:grid;place-items:center;flex-shrink:0;border:1px solid var(--border);border-radius:50%;color:var(--sage);font:16px var(--serif)}
:root{--paper:#eeeade;--ink:#293c35;--muted:#7e8270;--sage:#697e67;--border:#d1d1bd;--red:#975450;--white:#f8f5e9;--serif:"Noto Serif SC","Source Han Serif SC","Songti SC","STSong","SimSun",serif;--sans:"Microsoft YaHei","PingFang SC",sans-serif}
.settlement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0 4px;padding-top:16px;border-top:1px solid var(--border)}.settlement-grid>div{display:grid;grid-template-columns:1fr auto;gap:3px 8px;padding:8px 9px;border:1px solid var(--border);background:#f8f5e96b}.settlement-grid span{font-size:10px;color:var(--muted)}.settlement-grid b{font:15px var(--serif);text-align:right}.settlement-grid small{grid-column:1 / -1;color:var(--sage);font-size:9px}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:14px var(--sans);background-image:radial-gradient(ellipse at 0 0,#e1e4d4 0,transparent 55%),radial-gradient(ellipse at 100% 80%,#e6dfcd 0,transparent 50%)}button,a,input{ -webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--red);outline-offset:4px}button{transition:background .18s,color .18s,transform .18s}button:hover:enabled{filter:brightness(.95)}.paper-grain{position:fixed;inset:0;pointer-events:none;opacity:.12;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' opacity='.24' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.topbar{max-width:1600px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:23px 5%;border-bottom:1px solid var(--border);gap:20px}.brand{display:flex;align-items:center;text-decoration:none;gap:12px;white-space:nowrap}.brand svg{width:42px;height:34px;fill:var(--ink)}.brand>span:first-of-type{font:32px var(--serif);letter-spacing:4px}.seal{writing-mode:vertical-rl;background:var(--red);color:var(--white);font:10px var(--serif);padding:5px 3px;border:2px solid var(--paper);outline:1px solid var(--red);letter-spacing:2px}.top-chapter{display:flex;flex-direction:column;gap:6px;margin-right:auto;margin-left:35px;font:12px var(--serif);color:var(--muted);letter-spacing:1px}.eyebrow{font:10px var(--sans);letter-spacing:2px;color:var(--muted)}.top-tools{display:flex;gap:8px;align-items:center}.tool{padding:8px 12px;background:transparent;border:1px solid transparent;font-size:12px;letter-spacing:1px}.tool:hover{border-color:var(--border);background:#f8f5e944}.tool:last-child{border:1px solid var(--border);border-radius:50%;width:28px;height:28px;padding:0;margin-left:8px}main{max-width:1320px;margin:auto;padding:30px 32px 0}.chapter-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.chapter-heading h1{font:31px var(--serif);letter-spacing:5px;margin:9px 0 6px;display:flex;gap:22px;align-items:center}.heading-line{width:74px;height:1px;background:var(--border)}.chapter-heading p{margin:0;color:var(--muted);font:12px var(--serif);letter-spacing:2px}.calendar{display:flex;align-items:center;gap:14px}.calendar-seal{border:1px solid var(--red);color:var(--red);font:28px var(--serif);height:44px;width:40px;display:grid;place-items:center}.calendar>div{display:flex;flex-direction:column;gap:5px;font-size:12px;letter-spacing:1px}.calendar>div strong{font-weight:500}.calendar>div>span{color:var(--muted);font-size:11px}.weather{color:var(--muted);font-size:11px;padding-left:15px;border-left:1px solid var(--border)}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 304px;gap:24px}.exploration{min-width:0}.map-card,.location-card,.stats-card{border:1px solid var(--border);background:#f8f5e95c}.panel-heading{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:0 18px}.panel-heading>div{display:flex;align-items:center;gap:12px}h2{font:20px var(--serif);letter-spacing:2px;margin:0}.panel-heading h2{font-size:15px;letter-spacing:2px}.small-diamond{font-size:9px;color:var(--sage)}.subtle{font-size:10px;color:var(--muted);letter-spacing:1px}.map-frame{margin:0 12px;position:relative;border:1px solid #a4b5a0;background:#9cab91;overflow:hidden}.map-frame canvas{width:100%;height:auto;display:block;image-rendering:pixelated;cursor:crosshair}.map-caption{position:absolute;bottom:11px;left:11px;right:auto;display:flex;gap:7px;align-items:center;font-size:10px;color:#e9ede2;background:#314438d9;backdrop-filter:blur(5px);padding:7px 11px;border:1px solid #e9ede222;max-width:calc(100% - 22px);pointer-events:none}.map-dot{width:5px;height:5px;border-radius:50%;background:#b0c291}.destinations{display:grid;grid-template-columns:repeat(6,1fr);gap:0;padding:12px 10px}.destination{background:none;border:0;border-right:1px solid var(--border);font:12px var(--serif);padding:8px 0;letter-spacing:1px;color:var(--muted);white-space:nowrap}.destination:last-child{border-right:none}.destination.active{color:var(--red);font-weight:600}.destination span{font-size:9px;margin-right:5px}.location-card{margin-top:17px;padding:20px}.location-title{display:flex;gap:10px;justify-content:space-between;align-items:flex-start}.location-title h2{font-size:22px;margin:5px 0 9px}.location-title p{color:var(--muted);font:12px/1.8 var(--serif);margin:0;max-width:520px;letter-spacing:.5px}.text-button{border:0;background:none;color:var(--muted);font-size:10px;padding:4px 0;white-space:nowrap}.activities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:17px}.activity{padding:14px 15px;text-align:left;border:1px solid var(--border);background:#f8f5e96b;min-height:90px;position:relative}.activity:hover:enabled{background:#e5e8d9;border-color:#a7b29d;transform:translateY(-1px)}.activity.primary{background:#405a4d;color:#f6f2e5;border-color:#405a4d}.activity.primary .activity-desc,.activity.primary .activity-cost{color:#c8d2bf}.activity-top{display:flex;justify-content:space-between;gap:6px;align-items:center}.activity-name{font:16px var(--serif);letter-spacing:1px}.activity-cost{font-size:10px;color:var(--muted);white-space:nowrap}.activity-desc{display:block;font-size:10px;color:var(--muted);margin-top:7px;line-height:1.6}.activity-gain{font-size:10px;display:block;margin-top:7px;color:var(--sage)}.activity.primary .activity-gain{color:#e0d6a3}.bottom-note{display:flex;justify-content:space-between;gap:20px;font:10px/1.8 var(--serif);color:var(--muted);margin-top:14px}.bottom-note span:last-child{max-width:65%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.character-sidebar{display:flex;flex-direction:column;gap:17px}.portrait-card{height:400px;position:relative;border:1px solid var(--border);overflow:hidden;background:#ece7d9}.portrait-top{position:absolute;z-index:2;top:16px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:center}.age-badge{font-size:9px;letter-spacing:1px;border:1px solid #adaf97;padding:4px 6px;color:var(--muted)}.main-portrait{width:100%;height:100%;object-fit:cover;object-position:50% 18%;mix-blend-mode:multiply}.portrait-card::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#ede9db 0%,#ede9dbf0 13%,transparent 45%)}.portrait-poem{position:absolute;z-index:1;top:61px;right:15px;writing-mode:vertical-rl;font:13px/2.2 var(--serif);color:#5e6f58;letter-spacing:5px;opacity:.8}.portrait-copy{position:absolute;z-index:2;bottom:16px;left:22px;right:15px}.portrait-copy h2{font-size:27px;margin-bottom:4px;letter-spacing:5px}.portrait-copy>span:not(.tiny-seal){font-size:10px;color:var(--muted);letter-spacing:2px}.portrait-copy p{font:12px/1.8 var(--serif);margin:12px 0 0;color:#566352;letter-spacing:.5px}.tiny-seal{float:right;writing-mode:vertical-rl;border:1px solid var(--red);color:var(--red);font:15px var(--serif);padding:3px;margin-right:6px}.stats-card{padding:18px 20px;flex:1}.stats-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.stats-heading h2{font-size:15px;letter-spacing:1px}.stats-heading>span{font-size:10px;color:var(--muted)}.stamina-row{display:flex;gap:9px;align-items:center;font-size:10px;margin-bottom:19px}.stamina-row strong{font-size:9px;font-weight:400;color:var(--muted);white-space:nowrap}.stamina-track{height:4px;background:#dadbc9;flex:1}.stamina-track i{display:block;height:100%;background:#ad956c;transition:width .4s}.stat-row{display:grid;grid-template-columns:32px 1fr 30px;align-items:center;gap:10px;font-size:11px;margin-top:14px}.stat-row>strong{font-size:12px;font-weight:400;text-align:right;font-family:var(--serif)}.stat-track{height:5px;background:#d9dcca}.stat-track>i{display:block;height:100%;background:var(--sage);transition:width .4s}.stat-row:nth-child(2) i{background:#a77b63}.stat-row:nth-child(3) i{background:#a99c72}.bond-heading{margin-top:23px;padding-top:16px;border-top:1px solid var(--border);display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.bonds-list{display:flex;gap:10px;margin-top:12px}.bond{display:flex;align-items:center;gap:7px;flex:1}.bond img{height:28px;width:28px;object-fit:cover;object-position:50% 18%;border-radius:50%;border:1px solid var(--border);mix-blend-mode:multiply}.bond div{display:flex;flex-direction:column;gap:3px;font:10px var(--serif)}.bond small{font:9px var(--sans);color:var(--muted)}.exam-preview{margin-top:19px;padding:9px 0 0;border-top:1px dashed var(--border);display:flex;justify-content:space-between;font-size:10px}.exam-preview>span{color:var(--muted)}.exam-preview strong{font-weight:400;color:var(--sage)}footer{border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 0;margin-top:24px;font:10px var(--serif);color:var(--muted);letter-spacing:1px}footer>span:nth-child(2){font:9px var(--sans);letter-spacing:.5px}.mobile-controls{display:none}dialog{color:var(--ink);background:var(--paper);border:1px solid #babca7;box-shadow:0 20px 100px #1d322554;max-height:90vh;max-height:90dvh}dialog::backdrop{background:#243e3477;backdrop-filter:blur(4px)}.scene-dialog{width:min(940px,calc(100% - 32px));padding:0;overflow:hidden}.scene-paper{display:grid;grid-template-columns:1fr 35%;min-height:530px;max-height:88vh}.scene-body{padding:42px 40px 25px;overflow:auto}.scene-body h2{font-size:27px;letter-spacing:3px;line-height:1.5;margin:8px 0 17px}.scene-rule{height:1px;background:var(--border);width:64px;margin-bottom:23px}.scene-text{font:15px/2.1 var(--serif);letter-spacing:.6px}.scene-text p{margin:0 0 14px}.scene-text .speech{color:var(--red)}.scene-choices{display:flex;flex-direction:column;gap:9px;margin-top:24px}.scene-choice{border:1px solid #babea5;background:#f8f5e97a;padding:12px 14px;text-align:left;display:flex;flex-direction:column;gap:5px}.scene-choice:hover:enabled{border-color:var(--sage);background:#e2e6d5}.scene-choice>span{font:14px var(--serif)}.scene-choice>small{font-size:10px;color:var(--muted)}.scene-footer{margin-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:var(--muted)}.scene-art{position:relative;overflow:hidden;min-width:0;background:#e9e4d5;border-left:1px solid var(--border)}.scene-art img{height:100%;width:100%;object-fit:cover;object-position:50% 10%;mix-blend-mode:multiply}.scene-art::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#e9e4d5,transparent 30%)}.scene-speaker{position:absolute;z-index:1;bottom:30px;left:25px;right:25px;font:29px var(--serif);letter-spacing:5px}.menu-dialog{width:min(720px,calc(100% - 30px));padding:28px 32px}.menu-heading{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:19px;border-bottom:1px solid var(--border)}.menu-heading h2{margin-top:8px;font-size:25px}.close-button{border:0;background:transparent;font-size:27px;color:var(--muted);width:36px;height:36px}.menu-content{padding-top:20px;font-size:13px;line-height:1.9}.menu-content p{margin:0 0 16px}.menu-content h3{font:17px var(--serif);letter-spacing:1px;margin:22px 0 10px}.menu-content ol,.menu-content ul{padding-left:22px}.menu-content strong{font-weight:500}.entry{padding:13px 0;border-bottom:1px solid var(--border)}.entry small{font-size:10px;color:var(--muted)}.entry p{font:13px/1.8 var(--serif);margin:5px 0 0}.inventory-row,.save-row{display:flex;align-items:center;gap:12px;border:1px solid var(--border);padding:14px;margin-bottom:10px}.inventory-row>div,.save-row>div{flex:1}.inventory-row strong,.save-row strong{display:block;font:15px var(--serif)}.inventory-row small,.save-row small{display:block;font-size:10px;color:var(--muted)}.small-button{border:1px solid var(--border);padding:7px 12px;background:#f9f5e7;font-size:11px}.small-button.primary{background:var(--ink);color:var(--white);border-color:var(--ink)}.menu-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.menu-note{font-size:11px;color:var(--muted);line-height:1.8}.ending-item{padding:18px;border:1px solid var(--border);margin-bottom:12px}.ending-item h3{margin:0 0 8px}.ending-item p{font:12px/1.9 var(--serif);margin:0}.ending-item small{color:var(--muted);font-size:10px}.toast{position:fixed;bottom:27px;left:50%;transform:translate(-50%,16px);color:var(--white);background:#344e42ed;border:1px solid #bec3a244;padding:12px 20px;max-width:min(90%,600px);font-size:12px;box-shadow:0 4px 22px #30423428;opacity:0;transition:opacity .2s,transform .2s;z-index:40;pointer-events:none;text-align:center;line-height:1.7}.toast.visible{opacity:1;transform:translate(-50%,0)}.warning{color:var(--red)}.empty{padding:24px 0;color:var(--muted);font:14px/1.9 var(--serif)}
@media(min-width:1450px){main{max-width:1420px}.game-layout{grid-template-columns:minmax(0,1fr) 332px;gap:28px}.portrait-card{height:448px}.topbar{padding-left:6%;padding-right:6%}}
@media(max-width:1000px){main{padding:25px 22px 0}.game-layout{grid-template-columns:minmax(0,1fr) 260px;gap:17px}.portrait-card{height:345px}.top-chapter{display:none}.topbar{padding:19px 22px}.stats-card{padding:16px}.activities{grid-template-columns:1fr}.portrait-copy{left:16px}.scene-body{padding:28px}.scene-paper{grid-template-columns:1fr 32%}.scene-text{font-size:14px}}
@media(max-width:740px){.topbar{padding:16px;gap:8px}.brand>span:first-of-type{font-size:26px;letter-spacing:2px}.brand{gap:6px}.brand svg{width:30px}.seal{font-size:8px}.top-tools{gap:0}.tool{font-size:11px;padding:7px}.tool:last-child{margin-left:4px;width:24px;height:24px}.tool#audio-button span{display:none}main{padding:24px 14px 0}.chapter-heading{align-items:flex-start;gap:10px;margin-bottom:19px}.chapter-heading h1{font-size:27px;letter-spacing:3px}.heading-line{width:35px}.chapter-heading p{font-size:10px;letter-spacing:1px}.calendar{gap:7px;margin-top:9px}.calendar-seal{height:36px;width:28px;font-size:23px}.calendar>div{font-size:10px}.calendar>div>span{font-size:9px}.weather{display:none}.game-layout{grid-template-columns:1fr}.character-sidebar{display:grid;grid-template-columns:35% 1fr;gap:12px;grid-row:2}.portrait-card{height:296px}.portrait-top{top:10px;left:10px;right:10px}.portrait-top .eyebrow{font-size:8px;letter-spacing:0}.age-badge{display:none}.portrait-poem{display:none}.portrait-copy{left:12px;bottom:14px;right:10px}.portrait-copy h2{font-size:22px;letter-spacing:2px}.portrait-copy>span:not(.tiny-seal){font-size:8px;letter-spacing:0}.portrait-copy p{font-size:9px;margin-top:10px}.tiny-seal{display:none}.stats-card{padding:14px}.stats-heading{gap:5px}.stats-heading h2{font-size:14px}.stats-heading>span{font-size:9px}.bond-heading{margin-top:19px;padding-top:12px}.exam-preview{margin-top:14px}.stat-row{margin-top:13px}.bonds-list{gap:5px}.bond img{width:24px;height:24px}.bond div{font-size:9px}.panel-heading{padding:0 12px;min-height:42px}.panel-heading>div{gap:8px}.panel-heading .subtle{font-size:8px;letter-spacing:0}.map-frame{margin:0 8px}.map-caption{font-size:8px;bottom:7px;left:7px;padding:5px 7px}.destination{font-size:10px}.destination span{display:none}.destinations{padding:8px 6px}.mobile-controls{display:flex;align-items:center;justify-content:center;gap:6px;padding:0 12px 12px}.mobile-controls button{border:1px solid var(--border);background:#ecefdf;height:32px;width:40px}.mobile-controls>div{display:flex;gap:6px}.mobile-controls #interact-button{width:auto;padding:0 15px;font-size:11px;margin-left:8px}.location-card{padding:17px;margin-top:13px}.location-title h2{font-size:20px}.location-title p{font-size:11px}.activities{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.activity{padding:12px;min-height:98px}.activity-top{align-items:flex-start;flex-direction:column;gap:5px}.activity-name{font-size:14px}.activity-cost{font-size:9px}.activity-desc{font-size:9px}.activity-gain{font-size:9px}.bottom-note{font-size:9px}.bottom-note span:last-child{max-width:50%}footer{flex-wrap:wrap;padding:18px 0;line-height:1.8;font-size:9px}footer>span:nth-child(2){order:3;width:100%;font-size:8px}.scene-dialog{width:calc(100% - 20px);overflow:auto}.scene-paper{display:flex;flex-direction:column;max-height:none;min-height:0}.scene-art{order:-1;height:180px;border-left:0;border-bottom:1px solid var(--border);flex-shrink:0}.scene-art img{object-position:50% 21%;width:100%;height:100%}.scene-art::after{background:linear-gradient(90deg,#e9e4d5 0,transparent 40%)}.scene-speaker{top:75px;left:22px;bottom:auto;font-size:23px;writing-mode:vertical-rl;letter-spacing:5px}.scene-body{padding:23px;overflow:visible}.scene-body h2{font-size:22px;margin-bottom:12px}.scene-text{font-size:13px;line-height:2}.scene-rule{margin-bottom:17px}.scene-choices{margin-top:19px}.scene-choice>span{font-size:13px}.menu-dialog{padding:22px}.inventory-row,.save-row{gap:8px;padding:11px}.small-button{padding:6px 9px}.inventory-row strong,.save-row strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.character-sidebar{align-self:start}.stats-card{flex:none}

/* 成年段：压在身上的事（只亮灯、只给档位，不写数字）与孕期条。 */
.status-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 2px}
.status-tags .tag{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;padding:3px 9px;font-size:11px;letter-spacing:1px;color:var(--muted);background:transparent}
.status-tags .tag.on{border-color:var(--red);color:var(--red)}
.status-tags .tag-bar{display:inline-flex;gap:2px}
.status-tags .tag-bar b{width:5px;height:5px;border-radius:50%;background:var(--border);display:block}
.status-tags .tag-bar b.on{background:currentColor}
.pregnancy-row span{letter-spacing:1px}
.pregnancy-row .stamina-track i{background:linear-gradient(90deg,#c9a3a3,#8c5a5a)}
/* 成年朝堂面板（`adult-court.js` 的 A12）：只在成年朝堂时代出现。 */
.court-panel{margin:10px 0 2px;border:1px solid var(--border);border-radius:8px;padding:8px 10px}
.court-panel .court-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:11px;letter-spacing:2px;color:var(--muted);margin-bottom:4px}
.court-panel .court-heading small{letter-spacing:0;font-size:11px}
.court-panel .court-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12px;padding:2px 0}
.court-panel .court-row span{color:var(--muted)}
