:root{font-family:system-ui,sans-serif;color:#173652;background:#d3edfa}*{box-sizing:border-box}body{margin:0;background:linear-gradient(#d9effa99,#dcf0fbe6),url('/assets/room-v1.webp') center/cover fixed;min-height:100vh}header{display:flex;justify-content:space-between;align-items:center;padding:12px 4%;background:#f5fcffdf}a{color:#17688e}main{max-width:1280px;margin:auto;padding:22px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.panel{background:#f7fcfff2;border:1px solid white;border-radius:18px;padding:22px;box-shadow:0 8px 26px #214a7015}.task h1{margin:8px 0;font-size:28px}.task p{margin:8px 0;line-height:1.6}.task small{color:#44738d}.character{grid-column:2;grid-row:1/3;align-self:start;position:sticky;top:20px}.avatar{height:310px;width:310px;background:url('/assets/expressions-v1.webp') 0 0/300% 200% no-repeat;filter:drop-shadow(0 10px 12px #28507a25)}.avatar[data-mood=focused]{background-position:50% 0}.avatar[data-mood=happy]{background-position:50% 100%}.avatar[data-mood=confused]{background-position:0 100%}.avatar[data-mood=smug]{background-position:100% 0}.dialogue{border-top:4px solid #3eafd6}.dialogue b{color:#0a729e}.dialogue p{font-size:18px;line-height:1.75}.simulator{grid-column:1;min-width:0}button{font:inherit;border:1px solid #8cc6df;border-radius:10px;padding:10px 14px;background:#087caf;color:white;cursor:pointer;margin:4px 5px 4px 0}button:hover:not(:disabled){background:#09658c}button:focus-visible,a:focus-visible{outline:3px solid #f0b932;outline-offset:3px}button:disabled{opacity:.45;cursor:default}.secondary{background:#eaf5fc;color:#245c7b}h2{font-size:16px;margin:12px 0}.map{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0;background:#def1fb;border-radius:16px;padding:24px 10px 16px}.place{position:relative;text-align:center;min-height:140px;border:2px solid #b4d8ea;border-radius:14px;background:#f9fcff;z-index:1;padding:14px 6px}.place.current{border-color:#087caf;box-shadow:0 0 0 3px #40b9e333}.place.installed{background:#d7f4de;border-color:#51a878}.dot{display:block;margin:14px auto 5px;width:24px;height:24px;background:#2dc9ef;border:4px solid #e9ffff;border-radius:50%;box-shadow:0 0 13px #039fde;transition:transform .6s}.chip{display:block;margin:10px auto 0;color:#786015;font-weight:700}.route{position:absolute;top:50%;left:10%;right:10%;height:4px;background:#86c9e2}.editor{display:grid;grid-template-columns:1fr 1.5fr;gap:20px}.editor section{min-width:0}.editor #cards{display:flex;flex-direction:column;align-items:stretch}.editor ol{padding-left:25px}.editor li{background:#e9f4fa;border-radius:10px;margin-bottom:9px;padding:9px}.card-label{display:inline-block;min-width:110px;margin:0 8px 0 0}.editor li.active{background:#cbecfa;outline:2px solid #1a91bf}.editor li.error{background:#ffe6df;outline:2px solid #cf715b}.editor li.pending{opacity:.55}.editor li button{font-size:13px;padding:6px 10px}.controls{border-top:1px solid #c5deec;padding-top:14px;display:flex;flex-wrap:wrap}#trace{padding-left:25px;line-height:1.7}#trace li{margin:7px 0}#trace .error{color:#a13f2d}#paper{background:#fff4cd;padding:14px;border-radius:12px;line-height:1.65}#saved{font-size:13px;color:#476f85}#notice{color:#8b4b17}#progress{color:#24774c}#finish{background:#e7f5eb;border-radius:12px;padding:0 14px;margin-top:15px}dialog{max-width:440px;border:0;border-radius:16px;padding:24px;color:#173652}dialog::backdrop{background:#17365288}[hidden]{display:none!important}@media(max-width:900px){main{grid-template-columns:minmax(0,1fr) 240px;padding:14px;gap:12px}.avatar{height:230px;width:230px}.panel{padding:16px}.editor{grid-template-columns:1fr}.dialogue p{font-size:16px}}@media(max-width:650px){header{gap:8px;font-size:13px}main{display:flex;flex-direction:column}.character{position:static;display:flex;align-items:center;gap:8px;order:1}.task{order:0}.simulator{order:2}.avatar{flex:0 0 120px;width:120px;height:120px}.dialogue{flex:1;min-width:0;padding:12px}.dialogue p{margin:7px 0;font-size:15px}.task h1{font-size:24px}.map{gap:6px;padding:14px 6px}.place{font-size:14px;min-height:135px}.editor{grid-template-columns:1fr}.editor #cards{display:grid;grid-template-columns:1fr 1fr}button{padding:9px 10px}.controls button{flex:1 1 auto}}@media(prefers-reduced-motion:reduce){.dot{transition:none}}

.simulator[data-complete="true"]{border:2px solid #78c29a;box-shadow:0 0 28px #5baa7833}
