:root{font:16px/1.5 system-ui,"Apple SD Gothic Neo",sans-serif;color:#23382d;background:#f6f2e7}*{box-sizing:border-box}body{margin:0}header{max-width:1040px;margin:auto;padding:15px 22px;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #ded7c6}a{color:#2a5846;text-underline-offset:.22em}main{max-width:944px;padding:17px 22px 26px;margin:auto}h1{margin:0;font-family:serif;font-size:clamp(26px,5vw,41px)}.intro{margin:3px 0 14px;color:#53655a}.game{border:1px solid #d7cbb2;border-radius:18px;overflow:hidden;background:#fffdf6;box-shadow:0 14px 34px #33312415}.scene{position:relative;background:#557b5d}.scene canvas{display:block;width:100%;height:auto}.place{position:absolute;top:12px;left:12px;padding:5px 10px;border-radius:5px;background:#17392bed;color:#fff7de;font-size:.82rem;font-weight:bold}.panel{padding:10px 16px}.controls{display:flex;align-items:center;gap:18px}.pad{flex:none;display:grid;grid-template-columns:repeat(3,45px);grid-template-rows:repeat(2,44px);gap:4px;touch-action:none}.up{grid-column:2}.left{grid-row:2;grid-column:1}.down{grid-row:2;grid-column:2}.right{grid-row:2;grid-column:3}button{font:inherit;font-weight:700;background:#e7eee3;color:#224837;border:1px solid #bccdbd;border-radius:9px;min-height:44px;padding:5px 10px;cursor:pointer;touch-action:manipulation}.pad button{padding:0;touch-action:none;user-select:none;-webkit-user-select:none}.pad button:active,.actions button{background:#28523e;color:#fff9e9}button:disabled{opacity:.55}button:focus-visible,a:focus-visible{outline:3px solid #a46a14;outline-offset:2px}.actions{display:flex;flex-wrap:wrap;gap:6px}.guide p{margin:0 0 5px;font-weight:600}.keys{font-size:.78rem;color:#596959;margin:6px 0 0}[hidden]{display:none!important}@media(max-width:520px){header{padding:10px 12px;font-size:.81rem}main{padding:12px 8px}h1,.intro{margin-left:5px}.controls{gap:9px}.panel{padding:9px 8px}.guide{font-size:.86rem}.pad{grid-template-columns:repeat(3,43px)}}
.presence{color:#244e3c;font-weight:700;margin:0 0 9px;font-size:.91rem}.chant{margin-top:20px;border:1px solid #d7cbb2;border-radius:13px;padding:15px;background:#fffdf6}.chant h2{font:700 1.3rem serif;margin:0}.chant p{margin:4px 0 8px;color:#53655a}.chant iframe{display:block;width:min(100%,600px);aspect-ratio:16/9;min-height:200px;border:0;margin-top:12px;border-radius:9px}.chant button{margin-right:8px}
