:root{font-family:system-ui,'Noto Sans JP',sans-serif;background:#fcf7f8;color:#3e3447;color-scheme:light}
*{box-sizing:border-box}body{margin:0;min-width:280px}
.topbar{padding:17px clamp(16px,4vw,48px);background:#3d3045;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.brand-kicker{font-size:.68rem;letter-spacing:.18em;color:#efc9d4}.topbar h1{margin:3px 0 0;font-size:clamp(1.23rem,3vw,1.7rem);letter-spacing:.04em}.topbar h1 span{color:#f7c0d6}.topbar small{color:#f0dee9}
.notice{padding:9px clamp(16px,4vw,48px);background:#fdf0d8;color:#5b4938;font-size:.78rem;line-height:1.65}
main{max-width:1360px;margin:0 auto;padding:17px clamp(10px,2vw,26px) 40px}
.intro{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px;padding:18px clamp(16px,2.3vw,27px);background:#fff;border:1px solid #e8dae2;border-radius:15px;box-shadow:0 2px 14px #3a24320b}.eyebrow{margin:0 0 3px;color:#ac5577;font-size:.69rem;letter-spacing:.16em}.intro h2{margin:0 0 5px;font-size:clamp(1.1rem,2.6vw,1.55rem);color:#46354d}.intro p{margin:4px 0;font-size:.88rem;line-height:1.52}.intro-actions{display:flex;gap:7px;flex-wrap:wrap}
button{font:inherit;cursor:pointer;min-height:44px;border-radius:9px;border:1px solid #c7b2c5;background:#fff7fa;color:#573a50;padding:9px 14px}button.primary{background:#a34870;color:white;border-color:#a34870;font-weight:600}button:hover:not(:disabled){background:#f9e2ea}button.primary:hover:not(:disabled){background:#913c62}button:disabled{opacity:.5;cursor:default}button:focus-visible,summary:focus-visible{outline:3px solid #296b9f;outline-offset:2px}
.as60-e{max-width:none;grid-template-columns:minmax(0,1.45fr) minmax(320px,.9fr);gap:12px}.as60-e .e-ui-header{background:#fff;border-color:#e4d8e2}.as60-e .e-ui-scene{min-height:580px;box-shadow:0 5px 22px #3723361a}.as60-e .e-ui-portrait{height:81%;width:73%;left:0;bottom:126px;object-position:bottom left}.as60-e .e-ui-dialogue{background:#fffdfaf4;box-shadow:0 6px 25px #34223442;min-height:112px;border-color:#d0c2c9}.as60-e .e-ui-words{font-size:1.02rem;line-height:1.85}.as60-e .e-ui-side>section{box-shadow:0 2px 14px #3923380b}.as60-e .e-ui-controls{order:-1}.as60-e .e-ui-button{font-weight:600}.as60-e .e-ui-card{background:#f7f3f7}.as60-e .e-ui-choices{gap:9px}.as60-e .e-ui-button{min-height:52px}.as60-e .e-ui-journal-entries{max-height:165px}
.utilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.utilities details{background:#fff;border:1px solid #e6d9e2;border-radius:12px;min-width:0;overflow:hidden}.utilities summary{cursor:pointer;padding:15px 17px;display:flex;gap:5px;flex-direction:column}.utilities summary span{font-weight:700;color:#5a3d53}.utilities summary small{font-size:.74rem;color:#776b78}.utility-body{border-top:1px solid #f0e6eb;padding:14px}.button-grid,.places,nav,.utility-buttons{display:flex;flex-wrap:wrap;gap:8px}.phaser{width:100%;max-width:900px;margin:11px auto;background:#f9eff3;border-radius:12px;overflow:hidden}.phaser canvas{max-width:100%;display:block}#aiSetup{display:flex;gap:9px;flex-wrap:wrap}#aiKey{flex:1;min-width:190px;border:1px solid #d0bbcb;border-radius:9px;padding:10px;font-size:16px}.utility-body p{line-height:1.65;font-size:.88rem}.utility-buttons{margin-top:10px}.system-status{font-size:.8rem;color:#69536a;margin:16px 4px;min-height:1.2em}footer{text-align:center;padding:24px 12px;background:#f1e8ef;font-size:.77rem;line-height:1.6;color:#665466}
@media(max-width:950px){.as60-e{grid-template-columns:1fr}.as60-e .e-ui-scene{min-height:520px}.as60-e .e-ui-side{display:grid;grid-template-columns:1fr}.utilities{grid-template-columns:1fr}}
@media(max-width:480px){main{padding:9px 6px 28px}.intro{padding:13px 11px}.intro-actions{width:100%}.intro-actions button{flex:1}.as60-e .e-ui-scene{min-height:480px}.as60-e .e-ui-portrait{width:90%;height:78%;bottom:140px}.as60-e .e-ui-dialogue{left:7px;right:7px;bottom:8px;padding:12px;min-height:125px}.as60-e .e-ui-words{font-size:.91rem;line-height:1.68}.utilities summary{padding:13px}}

/* DAY1 r1 A layout glue: E v0.3.0 owns character/scene panels. */
.as60-e.as60-e--day1{display:block;max-width:100%}
.as60-e.as60-e--day1 .e-ui-main{min-width:0}
.as60-e.as60-e--day1 .e-ui-stage{min-width:0}
.as60-e.as60-e--day1 .e-ui-scene{min-height:0}
.as60-e.as60-e--day1 .e-ui-controls{order:0}
.as60-e.as60-e--day1 .e-ui-side{min-width:0}
@media(max-width:480px){.topbar{padding:12px}.notice{padding:8px 12px}.intro{padding:10px}.as60-e.as60-e--day1 .e-ui-scene{min-height:0}}
