:root :where(.is-layout-constrained) > * {
	margin-block-start: 0rem;
}

/*============== 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(../assets/cursors/std.svg) 0 0, default;
}

*[onclick], a[href], input[type='submit'], input[type='image'], label[for], select, button, .clickable {
	cursor: url(../assets/cursors/clickable.svg) 5 5, pointer;
}

.not-clickable, .inactive {
	cursor: url(../assets/cursors/not-clickable.svg) 0 0, not-allowed;
}


/*============== 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("../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 {
    position: fixed;
    max-width: 250px;
	visibility:hidden;
    background-image:url("../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:-10px;
	padding-right: 25px;
	rotate: var(--postit-random-rotation);
  }
  .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("../assets/icons/draw-arw.svg");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}

  .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;
  }



/*============== TUTORIAL TOOLTIP ==============*/
  
  .hover-tooltip {
    position: absolute;
    max-width: 250px;
	visibility:hidden;
    background-image:url("../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("../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-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;
}
