:root{font-family:system-ui;color:#294941;background:#e9eee1}*{box-sizing:border-box}body{margin:0;overflow:hidden}#stage,#stage>canvas{position:fixed;inset:0;width:100%;height:100%}a{color:#31594c}header{position:fixed;left:24px;top:20px;pointer-events:none}header a,#cards{pointer-events:auto}h1{margin:8px 0;font-size:30px}header>span{font-size:12px}#cards{display:flex;gap:10px;margin-top:16px}.card,aside,#drawer{background:#fffdf1ed;border:1px solid #cdd7bf;border-radius:18px;box-shadow:0 8px 30px #273e3915}.card{padding:12px 18px;min-width:120px}.card strong{display:block;font-size:24px}.card span{font-size:12px}aside{position:fixed;right:24px;top:24px;width:230px;padding:18px;font-size:13px;line-height:1.8}h2{font-size:16px}footer{position:fixed;bottom:10px;left:12px;right:12px;height:36px;display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow:hidden;background:#fffdf1e8;border-radius:999px;padding:0 10px}footer button{padding:3px 10px;border-radius:999px}button{border:1px solid #b4c4a9;background:#fffdf1;border-radius:12px;padding:8px 14px;color:#294941;cursor:pointer}#timeline{display:flex;gap:6px;overflow:auto;margin:0;min-height:0;min-width:0;flex:1}#timeline button{white-space:nowrap;border-left:4px solid #e3a468}#map{position:fixed;right:24px;bottom:56px;border-radius:16px;background:#fffdf1df}#drawer{position:fixed;left:24px;bottom:56px;padding:20px;max-width:340px}#status{font-size:11px;margin-left:10px}.label{position:fixed;pointer-events:none;padding:3px 7px;border-radius:7px;background:#fffdf1de;font-size:11px;white-space:nowrap}.label.house{cursor:pointer;pointer-events:auto}#map-button{display:none}@media(max-width:600px){header{left:14px;right:14px;top:12px}h1{font-size:24px}#cards{overflow:auto;max-width:100%;gap:8px}.card{min-width:110px;padding:8px 12px}aside{top:auto;bottom:48px;right:12px;width:170px;padding:10px;font-size:11px}aside h2{font-size:12px}aside #moving{display:none}footer{left:8px;right:8px;bottom:6px;height:32px;padding:0 8px}#status{margin:0 0 0 6px}#map{display:none;right:12px;bottom:118px}#map.open{display:block}#map-button{display:inline-block}#drawer{left:0;right:0;bottom:0;max-width:none;z-index:5;border-radius:24px 24px 0 0;padding:24px}}

:root{color:#fff2d8;background:#292942}header a{color:#ffdc99}.label{color:#493649;background:#fff1d8ed}header>span{color:#f4cfab}aside,.card,footer,#drawer{color:#493649}
