:root :where(.is-layout-constrained) > * {
	margin-block-start: 0rem;
}

hr.wp-block-separator.has-alpha-channel-opacity:first-child {
	opacity: 0;
	margin-top: -2px;
}

/**theme color **/
:root {
	--ncs-red: #8A0000;
	--ncs-light: #DBD2C9;
}

/*============== FONTS ==============*/

.f-nbrms {
	font-family:shikamaru;
}
.f-datefr {
	font-family:congenial;
}
.f-daterep {
	font-family:amasis;
}
.f-tanscript {
	font-size:0.9em;
	font-family:creative-over;
	letter-spacing: 1.9px;
}
.f-translateSekki {
	font-size:0.9em;
	font-family:deephero;
	letter-spacing: 1.9px;
}
.f-translateKo {
	font-size:0.9em;
	font-family:congenial;
}
.f-kanji {
	font-family:kouzan-subset;
	font-size:1.4em;
	line-height: 1.2em;
}

.f-cursed {
	font-family:kouzan-subset; 
}

/*============== CURSORS ==============*/

body {
	cursor: url(/naiv/assets/cursors/std.svg) 0 0, default;
}

*[onclick], a[href], input[type='submit'], input[type='image'], label[for], select, button, .clickable {
	cursor: url(/naiv/assets/cursors/clickable.svg) 5 5, pointer;
}

.not-clickable, .inactive {
	cursor: url(/naiv/assets/cursors/not-clickable.svg) 0 0, not-allowed;
}

/*============== MAP BACKGROUND ==============*/

#map-background {
	max-width: 100dvw;
	max-height: 100dvh;
	width: 100%;
	height: 100%;
	overflow: hidden;
	display: grid;
	place-items: center;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -100;
}
#map-background::before, #map-background::after  {
	content: '';
	position:absolute;
	width: 100%;
	height: 100%;
	z-index:-10;
}
#map-background::before {
	background-image:url("/naiv/assets/images/japon.webp");
	background-size: cover;
	background-position: center 20%;
	filter: brightness(50%);
}
#map-background::after {
	background-color:var(--mapBgColor);
	opacity:0.33;
	background-size: cover;
}

/*============== PAGE TITLE ==============*/

.page-title .txt-content {
	font-family:shikamaru;
	text-transform: uppercase;
	line-height: calc(var(--menu-height) - 2px);
	letter-spacing: 1px;
}

.page-title .txt-content {
	color:#314059;
}
.Jeudi .page-title .txt-content {
	color: #FFFFFF;
}

.page-title .before-caps {
	color: #8C9EB6;
	font-size:1.4em;
	font-family:zenjirou;
}
.page-title .caps {
	font-size:1.4em;
	font-family:zenjirou;
	color: var(--ncs-red);
}
.Jeudi .page-title .caps {
	color: #8C9EB6;
}
.page-title .after-caps {
	font-size:0.8em;
}

#page-title {
	position: fixed;
	top: var(--menu-top-margin);
	left: 50px;
	height:  calc(var(--menu-bottom-height) * 1.75);
}

#page-title h1 {
	position: absolute;
	top:50%;
	transform: translateY(-50%);
	font-size: 25px;
	margin: 0;
}

#page-title h1 .before-caps,
#page-title h1 .after-caps {
	color: var(--ncs-light);
}

#page-title h1 .before-caps, #page-title h1 .after-caps {
	color: var(--ncs-light);
}

#page-title h1 .caps {
	--shd-w: 1px;
	--shd-c: var(--ncs-light);
	text-shadow: 
		-1px 0 var(--shd-w) var(--shd-c), 0 1px var(--shd-w) var(--shd-c), 1px 0 var(--shd-w) var(--shd-c), 0 -1px var(--shd-w) var(--shd-c), 
		-1px 0 var(--shd-w) var(--shd-c), 0 1px var(--shd-w) var(--shd-c), 1px 0 var(--shd-w) var(--shd-c), 0 -1px var(--shd-w) var(--shd-c), 
		-1px 0 var(--shd-w) var(--shd-c), 0 1px var(--shd-w) var(--shd-c), 1px 0 var(--shd-w) var(--shd-c), 0 -1px var(--shd-w) var(--shd-c), 
		-1px 0 var(--shd-w) var(--shd-c), 0 1px var(--shd-w) var(--shd-c), 1px 0 var(--shd-w) var(--shd-c), 0 -1px var(--shd-w) var(--shd-c);

}



/*============== LOADING OVERLAY ==============*/
.overlay {
	left: 0;
	top: 0;
	width: 123%;
	height: 100%;
	position: fixed;
	background: #222;
	z-index: 100;
	max-width: 100%;
}

.overlay__inner {
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    position: absolute;
}

.overlay__content {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

.spinner {
    width: 75px;
    height: 75px;
    display: inline-block;
    border-width: 2px;
    border-color: rgba(255, 255, 255, 0.05);
    border-top-color: #fff;
    animation: spin 1s infinite linear;
    border-radius: 100%;
    border-style: solid;
}

@keyframes spin {
  100% {
    transform: rotate(360deg);
  }
}

/*============== TUTORIAL TOOLTIP ==============*/

  .tutorial-tooltip #closeCross {
		position: absolute;
		top: 1px;
		right: 1px;
		transform: translate(50%,-50%);
		width: 12px;
		height: 12px;
		
		background-color: white;
		background-image: url("/naiv/assets/icons/cross.svg");
		background-size: 60%;
		background-position: center;
		background-repeat: no-repeat;
		border: 1px #999 solid;
		border-radius: 100%;
		
		color: transparent;
		font-size: 0;
		
  }
  
  .tutorial-tooltip {
	--pos-offset: -40px;
	  
    position: absolute;
    max-width: 250px;
	visibility:hidden;
    background-image:url("/naiv/assets/images/postit.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
    filter: drop-shadow(0 4px 12px rgba(0,0,0,0.15));
    padding: 12px;
    font-family: sans-serif;
    z-index: 10;
	transform:translateX(-100%);
	margin-left: var(--pos-offset);
	padding-right: 25px;
	rotate: var(--postit-random-rotation);
	
	top: var(--target-y-center);
	left: var(--target-left);
  }
 .tutorial-tooltip::after {
	position: absolute;
	z-index:9;
	content: "";
	width:40px;
	height:50px;
	rotate:-10deg;
	
	position: absolute;
    top: 50%;
	transform: translateY(-50%);
    right: -20px;
	
	background-image:url("/naiv/assets/icons/draw-arw.svg");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
 }

@media (max-width: 600px) {
	.tutorial-tooltip {
		min-width: 150px;
	}
	
	.tutorial-tooltip.resp-target-topright,
	.tutorial-tooltip.resp-target-right {
		transform:translateX(0);
		margin-left: calc(var(--pos-offset) * -1);
		padding-right: 12px;
		padding-left: 25px;
		left: var(--target-right);
	}
	.tutorial-tooltip.resp-target-topright::after,
	.tutorial-tooltip.resp-target-right::after {
		rotate: 180deg;
		transform: translateY(50%);
		left: -20px;
		right: unset;
	}
	
	.tutorial-tooltip.resp-target-topright {
		transform: translate(0,-50%);
	}
	.tutorial-tooltip.resp-target-topleft {
		transform: translate(-100%,-50%);
	}
	.tutorial-tooltip.resp-target-topleft::after,
	.tutorial-tooltip.resp-target-topright::after	{
		top: 85%;
	}
	
	.tutorial-tooltip.resp-target-bottom {
		transform:translateX(0);
		margin-top: calc(var(--pos-offset) * -1);
		padding-right: 12px;
		padding-top: 25px;
		top: var(--target-y-bottom);
		left: var(--target-left);
	}
	.tutorial-tooltip.resp-target-bottom::after {
		rotate: -85deg;
		top: 0;
		transform: translate(50%,-50%);
		left: 50%;
	}
	
}

  .tutorial-tooltip h4,
  .tutorial-tooltip p {
	font-family: naivcursed;
  }
  .tutorial-tooltip h4 {
    margin: 0 0 6px 0;
    font-size: 18px;
    color: #333;
	font-weight:600;
  }

  .tutorial-tooltip p {
    margin: 0;
    font-size: 17px;
    color: #444;
	font-style: italic;
  }



/*============== HOVER TOOLTIP ==============*/
  
  .hover-tooltip {
    position: absolute;
    max-width: 250px;
	visibility:hidden;
    background-image:url("/naiv/assets/images/postit.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
    filter: drop-shadow(0 4px 12px rgba(0,0,0,0.15));
    padding: 12px;
    font-family: sans-serif;
    z-index: 20;
	rotate: var(--postit-random-rotation);
}

.ht-container {
	position:relative;
}

.ht-container:hover > .hover-tooltip {
	visibility:visible;
}

.hover-tooltip::after {
	position: absolute;
	z-index:9;
	content: "";
	width:40px;
	height:50px;
	rotate:-10deg;

	position: absolute;

	background-image:url("/naiv/assets/icons/draw-arw.svg");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}

.ht-top {
	top:0;
	left:50%;
	transform:translate(-50%, -100%);
	padding-bottom: 25px;
	margin-top: -20px;
}
.ht-top::after {
	bottom:0;
	left:50%;
	transform:translate(50%, 50%);
	rotate:90deg;
}

.ht-bottom {
	bottom:0;
	left:50%;
	transform:translate(-50%, 100%);
	padding-top: 25px;
	margin-bottom: -20px;
}

.ht-bottom::after {
	top:0;
	left:50%;
	transform:translate(50%, -50%);
	rotate:270deg;
	margin-top: -3px;
}

.ht-left {
	top:50%;
	left:0;
	transform:translate(-100%, -50%);
	padding-right: 25px;
	margin-left: -30px;
}
.ht-left::after {
	top:50%;
	right:0;
	transform:translate(50%, -50%);
	rotate:0deg;
}

.ht-right {
	top:50%;
	right:0;
	transform:translate(100%, -50%);
	padding-left: 25px;
	margin-right: -30px;
}
.ht-right::after {
	top:50%;
	left:0;
	transform:translate(50%, 50%);
	rotate:180deg;
}

.hover-tooltip h4,
.hover-tooltip p {
	font-family: naivcursed;
}
.hover-tooltip h4 {
	margin: 0 0 6px 0;
	font-size: 18px;
	color: #333;
	font-weight:600;
}

.hover-tooltip p {
	margin: 0;
	font-size: 17px;
	color: #444;
	font-style: italic;
}
.hover-tooltip.nowrap {
	height: fit-content;
}
.hover-tooltip.nowrap p,
.hover-tooltip.nowrap h4 {
	white-space: nowrap;
}

/*============== quoted ==============*/

.quoted:before, .quoted:after {
	font-size: calc(0.5em + 4px);
	vertical-align: baseline;
	position: relative; 
	top: calc(-0.5 * 0.83 * 2 * (1em - 4px)); 
}

.quoted:before {
	content:'« ';
}
.quoted:after {
	content:' »';
}

/*============== placeholder on contenteditable ==============*/

[contenteditable=true]:empty:before{
  content: attr(data-placeholder);
  pointer-events: none;
  display: block; /* For Firefox */
  opacity: .50;
}