:root{color:#303a34;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f4f0e7;font-family:Yu Gothic,Hiragino Kaku Gothic ProN,sans-serif;line-height:1.8}*{box-sizing:border-box}body{min-width:320px;margin:0}button{font:inherit;color:inherit}button:focus-visible{outline-offset:4px;outline:3px solid #4f663e}.book{flex-direction:column;max-width:1040px;min-height:100svh;margin:0 auto;padding:30px clamp(24px,6vw,80px);display:flex}.book-header,.book-footer{justify-content:space-between;align-items:center;gap:20px;display:flex}.book-header{border-bottom:1px solid #c9cabc;padding-bottom:22px}.wordmark{letter-spacing:.2em;font-family:Georgia,serif;font-size:18px}.edition,.book-footer{color:#60665a;font-size:12px}.scene{flex:1;padding:32px 0 44px}.eyebrow{color:#687044;letter-spacing:.18em;margin:0 0 8px;font-size:12px}h1{letter-spacing:.08em;overflow-wrap:anywhere;margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(27px,4vw,36px);font-weight:500;line-height:1.6}.scene-title{width:fit-content;scroll-margin-top:24px}.scene-title:focus-visible{outline-offset:6px;outline:2px solid #899366}.scene-image{background:#e9e7d7;border:1px solid #c9cabc;margin:24px 0 28px}.scene-image img{width:100%;height:auto;display:block}.image-fallback{padding:24px}.image-fallback p{margin:0 0 8px}.image-fallback small{color:#60665a}.scene-body{overflow-wrap:anywhere;margin:26px 0 32px;line-height:2.15}.scene-body p{white-space:pre-line;margin:0 0 14px}.choices{border-top:1px solid #c9cabc;padding-top:22px}.choices-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}h2{margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:21px;font-weight:500}.controls-help{color:#60665a;text-align:right;margin:0;font-size:11px}.choice-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.choice-button{text-align:left;cursor:pointer;background:#faf8f1;border:1px solid #b7beaa;border-radius:3px;align-items:center;gap:16px;width:100%;min-height:56px;padding:14px 18px;display:flex}.choice-button:hover:not(:disabled){background:#e7eadc;border-color:#7d8e69}.choice-button:active:not(:disabled){background:#dce2ce}.choice-number{text-align:center;border-right:1px solid #c9cabc;flex-shrink:0;width:24px;height:26px;padding-right:12px;font-family:Georgia,serif;font-size:18px}.choice-label{overflow-wrap:anywhere;flex:1}.choice-arrow{color:#687044}.choice-button:disabled{color:#73766b;cursor:not-allowed;background:#edece3;border-color:#d4d5c9}.choice-button:disabled .choice-arrow{visibility:hidden}.choice-reason{color:#666c5c;margin:4px 0 0 59px;font-size:12px}.book-footer{border-top:1px solid #c9cabc;padding-top:20px}.book-footer p{margin:0}.footer-symbol{color:#899366;font-size:12px}.loading-page{justify-content:center;gap:24px}.retry-button{cursor:pointer;background:#faf8f1;border:1px solid #7d8e69;border-radius:3px;padding:12px 24px}.game-status{border-bottom:1px solid #c9cabc;grid-template-columns:1fr 1fr 2fr;gap:20px;padding:20px 0;font-size:13px;display:grid}.game-status p,.game-status ul{margin:0}.status-label{color:#60665a;letter-spacing:.08em;font-size:11px}.status-value{font-family:Georgia,serif;font-size:23px}.game-status small{color:#60665a}.stat-list{margin:6px 0 0}.stat-list div{gap:16px;display:flex}.stat-list dd{margin:0;font-weight:700}.inventory ul{padding-left:18px}.inventory>p:last-child{margin-top:6px}.outcome{background:#e8ecdc;border-left:3px solid #7d8e69;margin:0 0 28px;padding:20px}.event-list{margin:0;padding:0;font-size:14px;list-style:none}.event-list li+li{margin-top:6px}.check-result{flex-wrap:wrap;gap:8px 16px;display:flex}.result-success{color:#345b35}.result-failure{color:#795533}.action-log{margin-bottom:28px;font-size:13px}.action-log summary{cursor:pointer;padding:12px 0}.action-log summary:focus-visible{outline-offset:3px;outline:3px solid #4f663e}.action-log>ol{max-height:300px;padding:0 0 0 24px;overflow:auto}.action-log>ol>li{border-top:1px solid #d4d5c9;padding:8px 0}.action-log p{margin:0 0 6px}.action-log time{color:#60665a;margin-right:10px}@media (width<=540px){.book{padding-top:22px}.book-header{flex-direction:column;align-items:flex-start;gap:6px;padding-bottom:18px}.scene{padding-top:24px}.scene-body{font-size:15px}.choices-header{flex-direction:column;align-items:flex-start;gap:8px}.controls-help{text-align:left}.choice-button{gap:12px;padding:12px;font-size:14px}.choice-reason{margin-left:49px}.game-status{grid-template-columns:1fr 1fr;gap:12px}.inventory{grid-column:1/-1}}.save-panel{border-top:1px solid var(--line,#d8d6c9);margin-top:2rem;padding-top:1.5rem}.save-panel h2{font-size:1.1rem}.save-help{color:#62665a;font-size:.85rem}.save-actions{flex-wrap:wrap;gap:.65rem;display:flex}.save-actions button,.save-actions label{color:#344332;font:inherit;background:#faf9f3;border:1px solid #999e88;border-radius:.35rem;padding:.7rem .9rem;font-size:.9rem}.save-actions button{cursor:pointer}.save-actions button:disabled{opacity:.5;cursor:default}.save-actions input{width:15rem;max-width:100%;font:inherit;margin-top:.5rem;display:block}.save-actions label{min-width:0}.save-actions button:focus-visible,.save-actions input:focus-visible{outline-offset:3px;outline:3px solid #6e815c}dialog{color:#344332;background:#faf9f3;border:1px solid #999e88;border-radius:.5rem;width:min(30rem,100vw - 3rem);max-height:80vh;padding:1.5rem;line-height:1.8;overflow:auto}dialog::backdrop{background:#20282099}.package-picker{color:#344332;flex-wrap:wrap;align-items:center;gap:.7rem;max-width:850px;margin:1rem auto;padding:0 1.5rem;display:flex}.package-picker select{color:inherit;font:inherit;background:#faf9f3;border:1px solid #999e88;border-radius:.35rem;max-width:100%;padding:.6rem}.package-picker small{font-size:.8rem}.party-list{margin-top:.8rem;font-size:.85rem}.party-list summary{cursor:pointer}.party-list ul{padding-left:1.2rem}.party-list li+li{margin-top:.6rem}@media (width>=541px){.game-status:has(.party-list){grid-template-columns:1fr 2fr 2fr}}.choice-button:focus{outline-offset:3px;background:#e8ecdc;outline:3px solid #4f663e}.choice-preview{color:#4c5944;margin:.4rem 0 .8rem;padding-left:.8rem;font-size:.85rem}.package-picker a{color:#344332;font-size:.8rem}.workbench{gap:1.5rem}.workbench section{border-top:1px solid #c9cabc;padding-top:1.5rem}.workbench p{margin:.7rem 0}.author-note{color:#60665a;font-size:.85rem}.author-fields{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1rem 0;display:grid}.author-fields label,.workbench label{flex-direction:column;gap:.4rem;font-size:.9rem;display:flex}.author-fields input,.author-fields select,.author-json{width:100%;font:inherit;color:#303a34;background:#faf8f1;border:1px solid #999e88;border-radius:.3rem;padding:.6rem}.author-json{resize:vertical;font-family:Consolas,monospace;font-size:.85rem}.author-table{overflow-x:auto}.author-table table{border-collapse:collapse;width:100%;font-size:.9rem}.author-table th,.author-table td{text-align:left;border-bottom:1px solid #c9cabc;padding:.75rem}.author-table small{color:#60665a;display:block}.inverse-result{background:#e8ecdc;border-left:3px solid #7d8e69;padding:1rem}.workbench input:focus-visible,.workbench select:focus-visible,.workbench textarea:focus-visible{outline-offset:2px;outline:3px solid #4f663e}.book.game-layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:44px;max-width:1180px;padding:24px 32px;display:grid}.story-column{min-width:0}.sidebar{scrollbar-width:thin;background:#eceadf;border:1px solid #d6d3c7;border-radius:10px;max-height:calc(100svh - 32px);padding:22px;position:sticky;top:16px;overflow-y:auto}.sidebar-title{overflow-wrap:anywhere;margin:12px 0;font-size:14px;line-height:1.7}.portrait{justify-content:center;margin:12px 0 20px;display:flex}.portrait img{object-fit:contain;max-width:100%;height:auto;display:block}.portrait small{display:block}.pixel-art{image-rendering:pixelated}.sidebar .game-status,.sidebar-dialog .game-status{border:0;grid-template-columns:1fr;gap:14px;padding:0;display:grid}.sidebar .status-label{margin-top:0}.sidebar .status-value{font-size:22px}.sidebar .game-status p{margin-bottom:6px}.sidebar-navigation{gap:5px;margin-top:20px;display:grid}.sidebar-navigation button{text-align:left;min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;justify-content:space-between;align-items:center;padding:11px 12px;font-size:14px;display:flex}.sidebar-navigation button:hover{background:#e1e0d3}.sidebar-navigation button:focus-visible{outline-offset:2px;outline:2px solid #53715c}.sidebar-navigation button:nth-child(4){border-top-color:#cccdbd;margin-top:8px;padding-top:16px}.save-indicator{overflow-wrap:anywhere;border-top:1px solid #cccdbd;margin-top:16px;font-size:12px;line-height:1.6}.mobile-menu-button{display:none}.sidebar-dialog{width:min(560px,100vw - 48px);max-width:none;max-height:calc(100svh - 48px);color:inherit;background:#f7f5ee;border:1px solid #bdc4b6;border-radius:10px;padding:24px;box-shadow:0 16px 70px #17251938}.sidebar-dialog::backdrop{background:#17251966}.panel-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.panel-header h2{margin:0;font-size:20px}.sidebar-dialog button,.sidebar-dialog select,.save-indicator button,.mobile-menu-button{font:inherit;min-height:40px}.panel-header button,.panel-back,.mobile-menu-button,.save-indicator button{color:inherit;cursor:pointer;background:#f7f5ee;border:1px solid #b5c0ae;border-radius:5px;padding:8px 12px}.panel-back{margin-bottom:18px}.sidebar-dialog .save-panel{border:0;margin:0;padding:0}.sidebar-dialog .save-actions{gap:12px}.sidebar-dialog .package-picker{margin:0;padding:0}.sidebar-dialog .package-picker label,.language-select{gap:12px;width:100%;display:grid}.sidebar-dialog select{width:100%;max-width:100%}.sidebar-dialog .action-log ol{max-height:none}.item-description{color:#5b655b;font-size:13px;line-height:1.8}@media (width<=899px){.book.game-layout{max-width:800px;padding:16px 22px;display:block}.sidebar{max-height:none;margin-bottom:24px;padding:14px 16px;position:static}.sidebar-desktop{display:none}.sidebar .game-status{grid-template-columns:1fr 1fr;gap:12px;font-size:12px}.sidebar .game-status small,.sidebar .game-status .status-value+p{display:none}.mobile-menu-button{width:100%;margin-top:12px;display:block}.save-indicator{margin-top:10px}.save-indicator p{margin:6px 0 0}.sidebar-dialog{box-sizing:border-box;border-radius:0;width:min(380px,100vw);height:100svh;max-height:100svh;margin:0 0 0 auto;padding:22px}}@media (width>=900px){.sidebar{flex-direction:column;height:calc(100svh - 76px);padding:16px 20px;display:flex;overflow:hidden}.sidebar>.sidebar-desktop:has(nav){scrollbar-width:thin;flex:1;min-height:90px;overflow-y:auto}.sidebar>.sidebar-desktop:first-child{flex-shrink:0}.sidebar .portrait{margin:8px 0 14px}.sidebar .portrait img{max-height:144px}.sidebar .sidebar-title{margin:8px 0}.sidebar .wordmark{margin:0}.sidebar .game-status{flex-shrink:0;gap:8px}.sidebar .game-status p{margin:0 0 4px}.sidebar-navigation{margin-top:12px}.save-indicator{flex-shrink:0;margin-top:10px}}@media (width>=900px) and (height<=600px){.sidebar{height:auto;overflow-y:auto}.sidebar>.sidebar-desktop:has(nav){flex:none;overflow:visible}.sidebar .portrait img{max-height:80px}.save-indicator{background:#eceadf;position:sticky;bottom:-16px}}body:has(dialog[open]){overflow:hidden}@media (width>=900px) and (height>=601px){.sidebar{height:calc(100svh - 48px)}.sidebar .portrait img{max-height:120px}.sidebar .portrait{margin:6px 0 10px}.sidebar .game-status{gap:6px;font-size:12px}.sidebar .status-value{font-size:20px;line-height:1.3}.sidebar .sidebar-title{margin:6px 0;line-height:1.4}.sidebar-navigation button{min-height:40px;padding:8px 10px}.sidebar-navigation button:nth-child(4){margin-top:4px;padding-top:10px}}
