html {
	overflow-y: scroll;
	overscroll-behavior-x: none; /* 横スワイプでの「戻る」を抑止 */
}
body {
	overscroll-behavior-x: none;
}
body {
	margin:0px;padding:0px;
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}
.subh1 {
	font-size:18px;
	margin:10px 0;
}
#stage {
	position:relative;
	width:100%;
	max-width:900px;
	margin:0 auto;
	background-color:#1b5e3a;
	box-sizing:border-box;
	padding-top:44px;
	min-height:640px;
	overflow:hidden;
	border-radius:6px;
	-webkit-user-select:none;
	user-select:none;
}
#info {
	position:absolute;
	top:0;left:0;right:0;
	height:40px;
	line-height:40px;
	background-color:rgba(0,0,0,0.35);
}
#info div{display:inline-block;}
#lmenu{position:absolute;left:8px;top:5px;white-space:nowrap;}
#tools {
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
	row-gap:4px;
	padding:6px 8px 0 8px;
	color:#fff;
	font-size:13px;
}
#stats{white-space:nowrap;}
.btn {
	display:inline-block;
	border:solid 2px #ffcc00;
	border-radius:5px;
	background-color:rgba(0,0,0,0.5);
	padding:4px 10px;
	cursor:pointer;
	color:#fff;
	font-size:13px;
	margin-right:4px;
	line-height:1.4;
}
.btn.disabled{opacity:0.35;cursor:default;}
#level {
	border:solid 2px #ffcc00;
	border-radius:5px;
	background-color:rgba(0,0,0,0.5);
	color:#fff;
	font-size:13px;
	padding:3px 4px;
	margin-right:4px;
}

#boardwrap {
	position:relative;
	width:100%;
}
#fxlayer {
	position:absolute;
	left:0;top:0;
	width:100%;height:0;
	z-index:100;
	pointer-events:none;
}
#board {
	position:relative;
	width:100%;
	touch-action:manipulation;
}
.slot {
	position:absolute;
	box-sizing:border-box;
	border:dashed 2px rgba(255,255,255,0.3);
	border-radius:5px;
}
.slot.hint{border-color:#ffcc00;box-shadow:0 0 10px #ffcc00;}
.card {
	position:absolute;
	box-sizing:border-box;
	background-size:100% 100%;
	background-repeat:no-repeat;
	border-radius:4px;
	box-shadow:0 1px 3px rgba(0,0,0,0.5);
	touch-action:none;
}
.card.up{cursor:default;}
.card.up.movable{cursor:grab;}
.card.sel{box-shadow:0 0 0 3px #ffcc00,0 1px 3px rgba(0,0,0,0.5);}
.card.hint{box-shadow:0 0 0 3px #ff5c5c,0 0 12px #ff5c5c;}
.card.dragging{z-index:5000;box-shadow:0 6px 14px rgba(0,0,0,0.6);cursor:grabbing;}
.card.small{border-radius:3px;}
#stock {
	cursor:pointer;
}
#stock .cnt {
	position:absolute;
	right:2px;bottom:2px;
	min-width:18px;
	padding:0 4px;
	line-height:18px;
	text-align:center;
	font-size:12px;
	font-weight:bold;
	color:#fff;
	background-color:rgba(0,0,0,0.7);
	border-radius:9px;
}
#stock.empty{cursor:default;}
#stock.hint{box-shadow:0 0 0 3px #ff5c5c,0 0 12px #ff5c5c;}
#toast {
	display:none;
	position:absolute;
	left:50%;top:52px;
	transform:translateX(-50%);
	padding:6px 14px;
	background-color:rgba(0,0,0,0.8);
	color:#fff;
	font-size:13px;
	border-radius:16px;
	z-index:9000;
	white-space:nowrap;
	pointer-events:none;
}

#dialog, #resultdialog, #helpdialog {
	display:none;
	position:absolute;
	width:80%;
	max-width:360px;
	padding:14px 16px;
	background-color:#f5f5f0;
	border:solid 2px #ffffff;
	border-radius:10px;
	box-shadow:10px 10px 20px rgba(0, 0, 0, 0.5);
	left:50%;
	top:60px;
	transform:translateX(-50%);
	z-index:10000;
	text-align:center;
	box-sizing:border-box;
	max-height:80%;
	overflow-y:auto;
}
#helptext{text-align:left;font-size:13px;line-height:1.6;}
#helptext ul{padding-left:18px;}
.btn2 {
	margin-top:10px;
	display:inline-block;
	border:solid 1px #666;
	border-radius:5px;
	background-color:#2b6cb0;
	padding:8px 20px;
	cursor:pointer;
	color:#fff;
}
.btn2.secondary {
	margin-left:6px;
	background-color:#e0e0e0;
	border-color:#ccc;
	color:#333;
}
#spider_intro {
	max-width:900px;
	margin:16px auto;
	padding:0 12px;
	font-size:14px;
	line-height:1.7;
	text-align:left;
}
@media screen and (max-width: 700px) {
	#stage{min-height:520px;}
	.btn{padding:3px 6px;font-size:12px;margin-right:2px;}
	#level{font-size:12px;margin-right:2px;}
	#tools{font-size:12px;}
}
