@import 'services/vars';

html,
body {
	width: 100%;
	height: 100%;
	overflow: hidden;
	margin: 0;
	padding: 0;
	background: var(--vscode-editor-background); // $background;
    color: var(--vscode-editor-foreground); // $text;
    font-family: Menlo, Monaco, 'Courier New', monospace; //Courier New, Courier, monospace;
    // font-family: var(--vscode-editor-font-family);
	font-size: var(--vscode-editor-font-size); // 12px;
	font-weight: var(--vscode-editor-font-weight);
}

body {
	--record-duration: 10;
}

.content,
.record,
.shader,
.error {
	width: 100%;
	height: 100%;
	overflow: hidden;
	box-sizing: border-box;
}

.content {
	background-color: var(--vscode-editor-background);
	// background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAHElEQVQYV2P4//+/FBbMgI4ZhohCbBhD81BQCAD6ay/4Sj20ZAAAAABJRU5ErkJggg==');
}

.shader {
    background: transparent;
    cursor: pointer;
}

.tools {
	position: absolute;
	width: auto;
	height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	left: 50%;
	bottom: 15px;
	transform: translateX(-50%);
	border-radius: 6px;
	// background: rgba(black, .7);
	background: var(--vscode-editor-background);
	// border: 1px solid rgba(0,0,0,0.1);
	box-shadow: 0 8px 8px -4px rgba(0.0, 0.0, 0.0, 0.3);

	.btn {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 30px;
		height: 30px;
		-webkit-appearance: none;
		background: transparent;
		border: 0;
		outline: 0 !important;
		padding: 0;
		color: var(--vscode-editor-foreground);
		cursor: pointer;
		font-size: 12px;
		transform: scale3d(1.0, 1.0, 1.0);
		transition: transform ease-in-out 150ms;
		&:hover,
		&.active {
			transform: scale3d(0.9, 0.9, 0.9);
		}
	}

	.recording & {
		.btn:not(.btn-record) {
			pointer-events: none;
			opacity: 0.3;
		}
	}
	/*
	.btn+.btn {
		margin-left: -1px;
	}
	*/
}

.tools {
	.btn-record {
		&.active {
            margin-top: 1px;
			color: var(--vscode-editorOverviewRuler-errorForeground);
		}
	}

	.btn-mode {
		position: relative;
		// color: var(--vscode-button-background);
		// color: var(--vscode-debugIcon-breakpointCurrentStackframeForeground);
		// color: var(--vscode-debugIcon-restartForeground);

		&:hover,
		&.active {
			transform: scale3d(1.0, 1.0, 1.0);
		}

		&.hover {
			// color: var(--vscode-button-hoverBackground);

			.nav-modes {
				display: flex;
			}
		}
	}
}

.nav-modes {
	display: none;
	justify-content: flex-end;
	align-items: center;
    flex-direction: column;
	list-style: none;
	margin: 0;
	padding: 0;
	position: absolute;
	width: 30px;
	height: auto;
	left: 0;
	bottom: 30px;
	border-radius: 6px; // 6px 6px 0 0;
	// border: 1px solid rgba(0,0,0,0.1);
	background: var(--vscode-editor-background);
	// box-shadow: 0 10px 10px -5px rgba(--vscode-widget-shadow,0.2);

	li {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 30px;
		height: 30px;
		color: var(--vscode-editor-foreground);
		// color: var(--vscode-button-background);
		// color: var(--vscode-debugIcon-breakpointCurrentStackframeForeground);
		// color: var(--vscode-debugIcon-restartForeground);
		cursor: pointer;
		font-size: 12px;
		opacity: 0.5;
		transform: scale3d(1.0, 1.0, 1.0);
		transition: all ease-in-out 150ms;
		&:hover,
		&.active {
			// color: var(--vscode-button-hoverBackground);
			opacity: 1;
			transform: scale3d(0.9, 0.9, 0.9);
		}
	}
}

.record {
	display: none;
	position: absolute;
	top: 0;
	width: 100%;
	min-height: 100%;
	pointer-events: none;

	.recording & {
		display: block;

		&:after {
			counter-reset: time var(--record-duration);
			content: counter(time);
			position: absolute;
			left: 50%;
			top: 50%;
			margin: -40px 0 0 -40px;
			display: flex;
			justify-content: center;
			align-items: center;
			width: 80px;
			height: 80px;
			border-radius: 40px;
			font-size: 30px;
			overflow: hidden;
			background: rgba(0, 0, 0, 0.2);
			color: white;
			z-index: 1;
		}
	}
}

.errors {
	display: none;
	position: absolute;
	top: 0;
	width: 100%;
	min-height: 100%;
	background: var(--vscode-editor-background); // $errors;
	&.active {
		display: block;
	}
}

.welcome, .missing {
	display: none;
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	justify-content: center;
	align-items: center;
	background: var(--vscode-editor-background); // $background;
	&.active {
		display: flex;
	}
	.welcome-content {
		text-align: center;
	}
}

.welcome {
	.welcome-content {
		text-align: center;
	}
}

.missing {
	.missing-content {
		text-align: center;
	}
}

.btn-create {
    -webkit-appearance: none;
    background: $create;
    color: var(--vscode-editor-foreground);
    font-size: 15px;
    font-weight: 600;
	// font-family: var(--vscode-editor-font-family); // Arial, Helvetica, sans-serif;
    padding: 4px 10px 5px 10px;
    line-height: 20px;
    border-radius: 5px;
    border: 1px solid darken($create, 10%);
    text-decoration: none;
	outline: 0 !important;
	cursor: pointer;
	transition: all ease-in-out 250ms;
	&:hover,
	&:active,
	&:focus {
		background: darken($create, 10%);
		box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.3);
	}
}

.errors-content {
	width: calc(100% - 30px);
	height: auto;
	min-height: 100%;
    padding: 15px;
    // font-family: var(--vscode-editor-font-family);
    font-size: var(--vscode-editor-font-size);
    font-weight: var(--vscode-editor-font-weight);

    .title {
        font-size: 1.1em;
        font-weight: 400;
        padding: 7px 7px;
        background: var(--vscode-editorPane-background);
        border-bottom: 1px solid var(--vscode-editorRuler-foreground);
    }

	ul {
		list-style: none;
		padding: 0;
    }

	li {
		padding: 0;
		a,
		a:hover,
		a:visited,
		a:link {
			color: unset;
			text-decoration: none;
		}
    }

	.line {
        color: var(--vscode-editorRuler-foreground);
        font-weight: 800;
		flex: 0 0 100px;
	}
	.value {
		color: var(--vscode-editorOverviewRuler-modifiedForeground);
        flex: 0 0 50px;
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
	}
	.text {
		color: var(--vscode-editor-foreground);
		flex: 1 0 calc(100% - 150px);
	}
	.error,
	.warning {
		display: flex;
		border: 0px solid transparent;
		justify-content: flex-start;
		align-items: center;
		line-height: 1;
		padding: 5px;
		margin-bottom: 5px;
		font-size: 11px;
		cursor: pointer;
        transition: ease-in-out 250ms background-color;

		span {
			display: inline-block;
			overflow: hidden;
			text-overflow: ellipsis;
			white-space: nowrap;
			padding: 2px;
        }

    }

    .error {
		background-color: var(--vscode-editor-lineHighlightBorder);
        .line {
			color: var(--vscode-editorOverviewRuler-errorForeground);
        }
		&:hover {
            background-color: var(--vscode-editor-lineHighlightBackground);
		}
    }

	.warning {
    	background-color: var(--vscode-editor-lineHighlightBorder);
        .line {
			color: var(--vscode-editorOverviewRuler-findMatchForeground);
        }
		&:hover {
            background-color: var(--vscode-editor-lineHighlightBackground);
		}
    }

}

[unselectable] {
	-webkit-user-select: none;
	user-select: none;
}

@import 'services/gui/gui';

/*
.stats {
	background: var(--vscode-editor-foreground);
	canvas {
		mix-blend-mode: luminosity;
	}
}
*/

body {

	&.idle,
	&.empty {
		.stats {
			visibility: hidden;
		}
	}

	.tools, .dg.main, .stats {
		opacity: 0!important;
		transition: opacity ease-in-out 1000ms;
	}

	&:not(.idle):hover {
		.tools, .dg.main, .stats {
			transition: none;
			opacity: 1!important;
		}
	}
}

/*
.dg.main{transition:opacity .1s linear}
.dg.main.taller-than-window .close-button{opacity:1;margin-top:-1px;border-top:1px solid #2c2c2c}
.dg.main ul.closed .close-button{opacity:1 !important}
.dg.main:hover .close-button,
.dg.main.main .close-button.drag{opacity:1}
.dg.main .close-button{-webkit-transition:opacity .1s linear;-o-transition:opacity .1s linear;-moz-transition:opacity .1s linear;transition:opacity .1s linear;border:0;line-height:19px;height:20px;cursor:pointer;text-align:center;background-color:#000}
*/

.content {
	display: flex;
    justify-content: center;
    align-items: center;
}

.glsl-canvas--error {
	padding: 10px;
	font-size: 12px;
	text-align: center;
}
