*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;font-family:Arial,Helvetica,sans-serif;color:#303b36;background:#ecebe5}button,a,input{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #427568;outline-offset:4px}#stage{position:relative;width:100%;height:100dvh;min-height:650px;overflow:hidden;background:radial-gradient(ellipse at 66% 44%,#fcfcf7,#e5e5df)}canvas{position:absolute;inset:0;display:block;touch-action:none}header{position:absolute;inset:0 0 auto;z-index:3;height:110px;padding:34px 42px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.brand,.top-actions{pointer-events:auto}.brand{display:flex;gap:15px;align-items:center;color:inherit;text-decoration:none;font-size:13px;letter-spacing:2.5px}.brand small{display:block;font-size:10px;letter-spacing:.7px;margin-top:7px;color:#748078}.mark{font-family:Georgia,serif;font-size:26px;letter-spacing:-2px;border:1px solid #adb4aa;padding:9px 7px}.top-actions{display:flex;gap:8px}.top-actions button{border:1px solid #c8cec4;background:#f7f8f1c9;border-radius:30px;padding:11px 17px;font-size:11px}aside{position:absolute;top:140px;left:42px;width:247px;z-index:2;pointer-events:none}aside>*{pointer-events:auto}.eyebrow{font-size:9px;font-weight:700;letter-spacing:2px;color:#738376}h1{font-family:Georgia,'Times New Roman',serif;font-size:43px;font-weight:400;letter-spacing:-1.7px;line-height:1.06;margin:17px 0 18px}.intro{font-size:12px;color:#6d7870;line-height:1.75;max-width:225px}.rule{height:1px;background:#cbd1c8;margin:22px 0}.views{display:flex;flex-direction:column;margin-top:11px}.views button{border:0;border-bottom:1px solid #d1d5cc;background:#f0f1e9b8;display:flex;align-items:center;gap:12px;text-align:left;padding:11px 10px;font-size:10px;color:#7c887e}.views button span{flex:1;color:#405047;font-size:11px}.views button.active{background:#dde4d8;color:#4b6552}.views button:hover{background:#e2e8dd}.wall-row{font-size:11px;margin:19px 0}.wall-row label{display:flex;align-items:center;gap:9px}.wall-row input{accent-color:#46604d}.primary{width:100%;border:0;background:#3e5546;color:#fff;padding:14px 13px;text-align:left;font-size:11px}.primary span{float:right}#mode-help{font-size:10px;line-height:1.7;color:#728175}.render-links{display:flex;flex-direction:column;gap:9px;margin-top:18px}.render-links a{font-size:10px;color:#5d6e61;text-decoration:none}.caption{position:absolute;bottom:30px;left:340px;right:40px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;pointer-events:none;color:#66766b}#status{letter-spacing:.4px;color:#829085}#loading{position:absolute;inset:0;z-index:6;background:#edeee7;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;font-size:13px}#loading span:last-child{font-size:11px;color:#758378}.loader{width:30px;height:30px;border:1px solid #cad3c6;border-top-color:#3e5546;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#error{position:absolute;z-index:7;bottom:25px;left:30%;background:#fff4ed;padding:20px;max-width:550px}dialog{border:0;border-radius:8px;padding:15px;max-width:90vw;max-height:92vh;background:#fcfcf7;box-shadow:0 20px 100px #0004}dialog::backdrop{background:#17291eb8}dialog img{display:block;max-width:80vw;max-height:75vh;margin:auto}dialog p{font-size:11px;color:#687269}#close-plan{display:block;margin:0 0 10px auto;background:transparent;border:0;padding:5px}#walk-controls{position:absolute;bottom:75px;right:40px;z-index:4;text-align:center}#walk-controls button{width:48px;height:44px;background:#f3f5eddd;border:1px solid #bbc6b9;border-radius:6px;margin:2px}body.walking aside .intro,body.walking aside .rule,body.walking aside h1{display:none}body.walking #mode-help{background:#eef1e5de;padding:10px}body.walking .caption{background:#eff2e7c9;padding:8px}body.walking header .brand{background:#eef1e8dc;padding:8px}body.walking aside .eyebrow{background:#eef1e8dc;padding:8px}@media(max-height:820px) and (min-width:761px){aside{top:116px}h1{font-size:34px;margin:12px 0}.intro{font-size:11px;margin:9px 0}.rule{margin:14px 0}.views button{padding:9px}.wall-row{margin:12px 0}.render-links{margin-top:10px}}@media(max-width:760px){#stage{min-height:600px}header{height:80px;padding:20px}.brand{font-size:10px}.brand small{display:none}.mark{font-size:22px}.top-actions button{font-size:9px;padding:9px}aside{top:auto;bottom:38px;left:15px;right:15px;width:auto;background:#f2f3edeb;padding:15px;border:1px solid #d6dccf;border-radius:7px}h1,.intro,.rule,aside>.eyebrow,.render-links{display:none}.views{flex-direction:row;overflow-x:auto;gap:6px;margin:0 0 12px}.views button{flex:none;border:1px solid #d2d9cb;font-size:0;padding:9px}.views button span{font-size:10px}.wall-row{display:inline-block;margin:5px 0}.primary{float:right;width:auto;font-size:10px;padding:10px;min-width:160px}#mode-help{margin:5px 0 0;font-size:9px}.caption{left:20px;right:20px;bottom:13px;font-size:8px;letter-spacing:.8px}.caption #status{font-size:8px}#walk-controls{bottom:220px;right:18px}body.walking aside .eyebrow{display:none}}
@media(max-height:780px) and (min-width:761px){aside .intro{display:none}aside .rule{margin:12px 0}aside .render-links{gap:7px;margin-top:10px}}
body.detail aside{isolation:isolate}body.detail aside::before{content:"";position:absolute;inset:-12px;z-index:-1;background:#edf0e8ee;border-radius:5px}body.detail .caption{background:#edf0e8dd;padding:8px}body.detail header .brand{background:#edf0e8dd;padding:8px}
