:root{font-family:'Yu Gothic UI','Meiryo',sans-serif;color:#f4eedb;background:#0b202b;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(90deg,#061c2ae6,#071e2a60),url('assets/town.png') center/cover fixed}button,select{font:inherit;color:inherit;background:#214753;border:1px solid #648c91;border-radius:9px;padding:11px 16px;min-height:46px;cursor:pointer}button:hover{background:#36606a}button:disabled{opacity:.5;cursor:default}button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ffd58b;outline-offset:3px}.primary{background:#e8bc79;color:#172c35;border-color:#ffd799;font-weight:700}.primary:hover{background:#f4ce96}a{color:#f1dbc0}header{padding:18px 4vw;display:flex;justify-content:space-between;align-items:center;gap:15px}header a{font-size:14px}main{max-width:1130px;margin:auto;padding:20px}.card{background:#102d38f5;border:1px solid #72938b70;border-radius:18px;padding:28px;box-shadow:0 14px 50px #0004}#home{max-width:600px;margin:24px 0 60px;padding:40px}.eyebrow{letter-spacing:.18em;color:#c4d9d3;font-size:12px;margin:0 0 12px}h1{font-family:serif;font-size:clamp(32px,5vw,52px);letter-spacing:.06em;margin:15px 0 24px}h2{font-size:24px;margin:0}h3{font-size:18px;line-height:1.5}.lead{font-family:serif;font-size:25px;line-height:1.7}p{line-height:1.8}.row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.choices{display:flex;gap:15px;flex-wrap:wrap;margin:26px 0}.choices label{flex:1}label{display:block;margin:15px 0}select{width:100%;margin-top:8px}details{margin-top:25px;border-top:1px solid #72938b70;padding-top:20px}summary{cursor:pointer;min-height:44px}.gamehead{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:15px}.layout{display:grid;grid-template-columns:minmax(320px,620px) minmax(260px,1fr);gap:24px}.boardwrap{padding:16px;background:#102c35f5;border-radius:18px;border:1px solid #78918e70}.stats{display:flex;justify-content:space-between;gap:8px;font-weight:bold;padding:0 0 14px;font-size:14px}#board{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;aspect-ratio:1}.cell{position:relative;min-height:0;min-width:0;border-radius:7px;padding:0;background:#345661;border:1px solid #53737a;aspect-ratio:1;overflow:hidden}.cell.wall{background:repeating-linear-gradient(0deg,#172d38 0 10px,#29434e 11px 13px);border-color:#0b202a;cursor:default}.cell.hide{background:#315d50}.cell.danger{background:repeating-linear-gradient(135deg,#785044 0 7px,#674237 7px 10px)}.cell.selected{outline:3px solid #ffe2a2;outline-offset:-3px}.cell.player{box-shadow:inset 0 0 0 3px #8ee6d2}.sprite{position:absolute;inset:2%;background-image:url('assets/sprites.png');background-size:400% 100%;background-repeat:no-repeat;pointer-events:none}.sprite.fox{background-position:0 0}.sprite.owl{background-position:33.333% 0}.sprite.letter{background-position:66.666% 0}.sprite.post{background-position:100% 0}.tag{position:absolute;bottom:1px;left:2px;font-size:11px;line-height:1.2;background:#112a35e8;border-radius:3px;padding:1px 3px;color:white}.warn{position:absolute;top:1px;right:3px;font-weight:bold;font-size:14px;background:#4b271d;color:#ffe4a8;padding:0 3px;line-height:1.2;border-radius:3px}.arrow{position:absolute;top:0;left:3px;color:white;font-size:21px;text-shadow:0 1px 3px black;font-weight:bold}.legend,.small{font-size:12px;color:#d1dfda;line-height:1.8}.legend{margin-bottom:0}aside.card{padding:24px}#message{min-height:70px;border-left:3px solid #cfb582;padding-left:14px}#preview{min-height:52px;color:#ffe0a5}#confirm{width:100%}#result{border-top:1px solid #72938b70;margin-top:22px}#result button{margin-bottom:10px}dialog{color:#f4eedb;background:#102d38;border:1px solid #7b9c98;border-radius:18px;max-width:90vw;width:400px;padding:28px}dialog::backdrop{background:#06141ac9}input[type=range]{display:block;width:100%;min-height:44px}input[type=checkbox]{width:22px;height:22px;vertical-align:middle}#notice{background:#102d38;border-radius:8px;padding:4px 12px}#notice:empty{display:none}[hidden]{display:none!important}body.reduce *{transition:none!important;animation:none!important}@media(max-width:760px){main{padding:12px}.layout{display:block}.boardwrap{padding:10px}aside.card{margin-top:16px;padding:18px}.gamehead{margin-bottom:12px}h2{font-size:19px}#home{padding:24px;margin-top:10px}#board{gap:3px}.row button{flex:1}.cell{border-radius:4px}#message{min-height:0}.legend{font-size:11px}header{padding:12px}.tag{font-size:10px}.stats{font-size:12px}.small{margin-bottom:0}body{background-position:30% center}}
:root{scroll-behavior:auto}.sprite{left:12%;right:12%;top:0;bottom:0}#board{max-width:min(100%,calc(100dvh - 250px));margin:auto}.layout{grid-template-columns:minmax(320px,540px) minmax(260px,1fr)}@media(max-width:760px){#board{max-width:none}}
.sprite{left:12%;right:12%;top:0;bottom:0}#board{max-width:min(100%,calc(100dvh - 250px));margin:auto}.layout{grid-template-columns:minmax(320px,540px) minmax(260px,1fr)}@media(max-width:760px){#board{max-width:none}}

#pad{margin:8px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}#pad button{padding:6px;font-size:20px;min-width:44px;min-height:46px}aside details{font-size:13px;margin-top:12px;padding-top:10px}@media(max-width:760px){aside h3{margin-top:0}aside #preview{min-height:0;margin:10px 0}aside #message{margin:10px 0}aside.card{padding:14px}}

aside.card{display:flex;flex-direction:column}.finished #result{order:-1;margin-top:0;border-top:0}.finished #pad,.finished #confirm,.finished #wait,.finished #lure,.finished .small,.finished #goal,.finished #preview{display:none}.finished #message{min-height:0}.finished #result h3{color:#ffe0a5}

.cell.cursor{outline:2px dashed #ffe2a2;outline-offset:-3px}
