/* Source: vars.css */

:root{
	--em: 16px;
	--font: montserrat, sans-serif;
	--scroll-size: 8px;
	--scroll-track: linear-gradient(0deg, #aaa, #dcdcdc);
	--scroll-thumb: linear-gradient(0deg, #ececec, #fff);
	--scroll-over: linear-gradient(0deg, #ececec, #fff);
	--hn-size: 1.75em;
	--hn-step: .125em;
	--hn-font: var(--font);
	--h1-size: var(--hn-size);
	--h2-size: calc(var(--hn-size) - var(--hn-step));
	--h3-size: calc(var(--hn-size) - 2 * var(--hn-step));
	--h4-size: calc(var(--hn-size) - 3 * var(--hn-step));
	--h5-size: calc(var(--hn-size) - 4 * var(--hn-step));
	--h6-size: calc(var(--hn-size) - 5 * var(--hn-step));
	--error-color: #910;
	--error-background: #fff5f0;
	--button-height: 2.25em;
	--button-padding: 1em;
	--button-weight: normal;
	--button-font: var(--font);
	--button-color: #fff;
	--button-background: linear-gradient(90deg, #48235f 0%, #433583 50%, #b83582 100%);
	--button-border: none;
	--button-outline: none;
	--button-radius: 0px;
	--button-opacity: inherit;
	--button-filter: inherit;
	--button-shadow: none;
	--button-transition: inherit;
	--button-focus-color: #000;
	--button-focus-weight: var(--button-weight);
	--button-focus-background: #fff;
	--button-focus-border: none;
	--button-focus-outline: 1px dashed #000;
	--button-focus-opacity: var(--button-opacity);
	--button-focus-filter: var(--button-filter);
	--button-focus-shadow: var(--button-shadow);
	--button-over-color: var(--button-color);
	--button-over-weight: var(--button-weight);
	--button-over-background: var(--button-background);
	--button-over-border: var(--button-border);
	--button-over-outline: var(--button-outline);
	--button-over-opacity: var(--button-opacity);
	--button-over-filter: var(--button-filter);
	--button-over-shadow: var(--button-shadow);
	--input-height: 2.25em;
	--input-icon: 1.25em;
	--input-padding: .5em;
	--input-color: #000;
	--input-background: #fff;
	--input-border: 1px solid #dcdcdc;
	--input-outline: none;
	--input-separator: var(--input-border);
	--input-radius: 0px;
	--input-shadow: none;
	--input-opacity: 1;
	--input-filter: none;
	--input-transition: none;
	--input-focus-color: var(--input-color);
	--input-focus-background: var(--input-background);
	--input-focus-border: 1px solid transparent;
	--input-focus-outline: 1px dashed #000;
	--input-focus-separator: 1px dashed #000;
	--input-focus-shadow: var(--input-shadow);
	--input-focus-opacity: var(--input-opacity);
	--input-focus-filter: var(--input-filter);
	--input-over-color: var(--input-color);
	--input-over-background: var(--input-background);
	--input-over-border: var(--input-border);
	--input-over-outline: var(--input-outline);
	--input-over-separator: var(--input-border);
	--input-over-shadow: var(--input-shadow);
	--input-over-opacity: var(--input-opacity);
	--input-over-filter: var(--input-filter);
}

/* Source: init.css */

@font-face{
	font-family: montserrat;
	src: local(montserrat), url("montserrat.ttf");
}

@media (max-width: 400px) {
    html, body { font-size: calc(0.80 * var(--em)); }
}
@media (min-width: 400px) and (max-width: 600px) {
    html, body { font-size: calc(0.84 * var(--em)); }
}
@media (min-width: 600px) and (max-width: 800px) {
    html, body { font-size: calc(0.87 * var(--em)); }
}
@media (min-width: 800px) and (max-width: 1000px) {
    html, body { font-size: calc(0.90 * var(--em)); }
}
@media (min-width: 1000px) and (max-width: 1200px) {
    html, body { font-size: calc(0.92 * var(--em)); }
}
@media (min-width: 1200px) and (max-width: 1400px) {
    html, body { font-size: calc(0.95 * var(--em)); }
}
@media (min-width: 1400px) and (max-width: 1600px) {
    html, body { font-size: calc(0.97 * var(--em)); }
}
@media (min-width: 1600px) and (max-width: 1800px) {
    html, body { font-size: calc(0.98 * var(--em)); }
}
@media (min-width: 1800px) and (max-width: 2000px) {
    html, body { font-size: calc(1.00 * var(--em)); }
}
@media (min-width: 2000px) and (max-width: 2200px) {
    html, body { font-size: calc(1.02 * var(--em)); }
}
@media (min-width: 2200px) and (max-width: 2400px) {
    html, body { font-size: calc(1.03 * var(--em)); }
}
@media (min-width: 2400px) and (max-width: 2600px){
    html, body { font-size: calc(1.05 * var(--em)); }
}
@media (min-width: 2600px){
    html, body { font-size: calc(1.06 * var(--em)); }
}

::-webkit-scrollbar{ width: var(--scroll-size); height: var(--scroll-size); }
::-webkit-scrollbar-track{ background: var(--scroll-track); }
::-webkit-scrollbar-thumb{ background: var(--scroll-thumb); }
::-webkit-scrollbar-thumb:hover{ background: var(--scroll-over); }

html{ overflow: auto; }
html, body{ width: 100%; height: 100%; padding: 0; margin: 0; display: block; font-family: var(--font); }
*{ padding: 0; margin: 0; box-sizing: border-box; line-height: 1em; }
*[tabindex="-1"]{ outline: none; }
*:focus{ outline: 1px dashed #000; }

h1,h2,h3,h4,h5,h6,div,header,section,article,nav,ul,li,footer,p{ display: block; }
h1,h2,h3,h4,h5,h6{ font-family: var(--hn-font); }
h1{ font-size: var(--h1-size); }
h2{ font-size: var(--h2-size); }
h3{ font-size: var(--h3-size); }
h4{ font-size: var(--h4-size); }
h5{ font-size: var(--h5-size); }
h6{ font-size: var(--h6-size); }

button, .button{ 
	display: inline-flex; align-items: center; justify-content: center; 
	position: relative; text-align: center; padding: 0em var(--button-padding); 
	cursor: pointer; white-space: nowrap; text-decoration: none; height: var(--button-height); 
	color: var(--button-color); background: var(--button-background); 
	border-radius: var(--button-radius); border: var(--button-border); outline: var(--button-outline); 
	opacity: var(--button-opacity); filter: var(--button-filter); box-shadow: var(--button-shadow); 
	transition: var(--button-transition); font-weight: var(--button-weight); 
	font-family: var(--button-font);
}
button:hover, .button:hover{ 
	color: var(--button-over-color); background: var(--button-over-background); 
	border: var(--button-over-border); outline: var(--button-over-outline); 
	opacity: var(--button-over-opacity); filter: var(--button-over-filter); 
	box-shadow: var(--button-over-shadow); font-weight: var(--button-over-weight);
}
button:focus, .button:focus{ 
	color: var(--button-focus-color); background: var(--button-focus-background); 
	border: var(--button-focus-border); outline: var(--button-focus-outline); 
	opacity: var(--button-focus-opacity); filter: var(--button-focus-filter); 
	box-shadow: var(--button-focus-shadow); font-weight: var(--button-focus-weight);
}
button[disabled], .button[disabled]{ 
	cursor: not-allowed; box-shadow: var(--button-disabled-shadow); 
	color: var(--button-disabled-color); background: var(--button-disabled-background); 
	border: var(--button-disabled-border); outline: var(--button-disabled-outline);
	opacity: var(--button-disabled-opacity); filter: var(--button-disabled-filter); 
	font-weight: var(--button-disabled-weight);
}

button:before, .button:before, button:after, .button:after{ 
	content: ""; display: none; vertical-align: middle; 
	background-repeat: no-repeat; background-position: center center; 
	height: var(--button-icon-size); width: var(--button-icon-size); 
	flex: 0 0 var(--button-icon-size); transform: var(--button-icon-transform); 
	background-size: var(--button-icon-image); opacity: var(--button-icon-opacity); 
	filter: var(--button-icon-filter); 
}
button:hover:before, .button:hover:before, button:hover:after, .button:hover:after{ 
	transform: var(--button-icon-over-transform); 
	background-size: var(--button-icon-over-image); opacity: var(--button-icon-over-opacity); 
	filter: var(--button-icon-over-filter); 
}
button:focus:before, .button:focus:before, button:focus:after, .button:focus:after{ 
	transform: var(--button-icon-focus-transform); 
	background-size: var(--button-icon-focus-image); opacity: var(--button-icon-focus-opacity); 
	filter: var(--button-icon-focus-filter); 
}
button[disabled]:before, .button[disabled]:before, button[disabled]:after, .button[disabled]:after{ 
	transform: var(--button-icon-disabled-transform); 
	background-size: var(--button-icon-disabled-image); opacity: var(--button-icon-disabled-opacity); 
	filter: var(--button-icon-disabled-filter); 
}
button:empty, .button:empty{ 
	width: var(--button-height); flex: 0 0 var(--button-height); 
}
button:not(:empty):before, .button:not(:empty):before{ 
	margin-right: calc(0.25 * var(--button-height) - 0.25em); 
}
button:not(:empty):after, .button:not(:empty):after{ 
	margin-left: calc(0.25 * var(--button-height) - 0.25em); 
}
button:not(:empty):before, .button:not(:empty):before{ margin-right: .5em; }
button:not(:empty):after, .button:not(:empty):after{ margin-left: .5em; }

input, button, select, textarea{ font-size: 1em; }
fieldset{ border: none; }

.input{ display: flex; align-items: center; position: relative; }
.input>.input, .input>input, .input>select, .input>textarea{ background: none; border: none; outline: none; }
.input>*:first-child{ margin-left: calc(-1 * var(--input-padding)); }
.input>*:last-child{ margin-right: calc(-1 * var(--input-padding)); }
.input:before, .input:after{ 
	content: ""; display: none; vertical-align: middle; position: absolute; top: 0;
	background-repeat: no-repeat; background-position: center center; 
	height: 100%; width: var(--input-height); flex: 0 0 var(--input-height); 
	background-size: var(--input-icon);
}
.input[class*="-before"]{ padding-left: calc(var(--input-height) + var(--input-padding)); }
.input[class*="-after"]{ padding-right: calc(var(--input-height) + var(--input-padding)); }
.input:before{ left: 0; border-right: var(--input-separator); }
.input:after{ right: 0; border-left: var(--input-separator); }
.input:hover:before{ border-right: var(--input-over-separator); }
.input:hover:after{ border-left: var(--input-over-separator); }
.input:focus:before{ border-right: var(--input-focus-separator); }
.input:focus:after{ border-left: var(--input-focus-separator); }
.input[disabled]:before{ border-right: var(--input-disabled-separator); }
.input[disabled]:after{ border-left: var(--input-disabled-separator); }

.input, input, select, textarea{ 
	resize: none; cursor: default; font-family: var(--font); 
	height: var(--input-height); padding: 0em var(--input-padding); 
	transition: var(--input-transition);
	color: var(--input-color); background: var(--input-background); 
	border: var(--input-border); outline: var(--input-outline); 
	border-radius: var(--input-radius); box-shadow: var(--input-shadow); 
	opacity: var(--input-opacity); filter: var(--input-filter); 
}
input[type="text"], textarea, [contenteditable="true"]{ cursor: text; }
.input:hover, input:hover, select:hover, textarea:hover{ 
	color: var(--input-over-color); background: var(--input-over-background); 
	border: var(--input-over-border); outline: var(--input-over-outline); 
	box-shadow: var(--input-over-shadow);
	opacity: var(--input-over-opacity); filter: var(--input-over-filter); 
}
.input:focus, input:focus, select:focus, textarea:focus{ 
	color: var(--input-focus-color); background: var(--input-focus-background); 
	border: var(--input-focus-border); outline: var(--input-focus-outline); 
	box-shadow: var(--input-focus-shadow); 
	opacity: var(--input-focus-opacity); filter: var(--input-focus-filter); 
}
.input[disabled], input[disabled], select[disabled], textarea[disabled]{ 
	cursor: not-allowed; 
	color: var(--input-disabled-color); background: var(--input-disabled-background); 
	border: var(--input-disabled-border); outline: var(--input-disabled-outline); 
	box-shadow: var(--input-disabled-shadow); 
	opacity: var(--input-disabled-opacity); filter: var(--input-disabled-filter); 
}
input[type="checkbox"], input[type="radio"]{ border: none; background: none; padding: 0; height: auto; }
input[type="color"]{ padding: 0; }
textarea{ padding: var(--input-padding); }

/* Source: core.css */

:root{
	--color-dark: #48235f;
	--color-mid: #433583;
	--color-light: #b83582;
	--grad-dg: linear-gradient(45deg, #fff 0%, #fff 50%, #dcdcdc 100%);
	--grad-hg: linear-gradient(90deg, #fff, #ececec);
	--grad-rg: linear-gradient(90deg, #ececec, #fff);
	--grad-rc: radial-gradient(var(--color-light) 0%, var(--color-mid) 90%, var(--color-dark) 100%);
	--grad-hc: linear-gradient(90deg, var(--color-dark) 0%, var(--color-mid) 50%, var(--color-light) 100%);
	--grad-hcd: linear-gradient(90deg, var(--color-dark) 0%, var(--color-mid) 100%);
	--grad-vc: linear-gradient(0deg, var(--color-dark) 0%, var(--color-mid) 50%, var(--color-light) 100%);
	--grad-vcd: linear-gradient(0deg, var(--color-dark) 0%, var(--color-mid) 100%);
	--grad-vcl: linear-gradient(0deg, var(--color-light) 0%, var(--color-mid) 100%);
}

/* Source: hook/view.css */

.setup-view{ 
	width: 100%; height: 100%; display: flex; flex-direction: column; 
	align-items: center; justify-content: center; padding: 2em; 
	background: var(--grad-rc); 
}
.setup-head{ margin-bottom: 1.5em; }
.setup-logo{ height: 6em; filter: grayscale(1) brightness(10); }
.setup-author{ 
	display: flex; align-items: center; justify-content: center; margin-top: 1em; 
	filter: grayscale(1) invert(1) brightness(10); 
}
.setup-emiagic{ margin-left: .5em; height: 1.25em; }
.setup-body{
	background: var(--grad-hg); border-radius: 1em; 
	width: min(40em, 100%); display: flex; flex-direction: column; overflow: hidden;
}
.setup-top{ 
	padding: .75em; display: flex; align-items: center; justify-content: center; 
	position: relative; z-index: 1; box-shadow: 0px 0px 3px #aaa;
}
.setup-center{ overflow-y: auto; padding: 2em; display: flex; flex-direction: column; }

@media (max-width: 1200px){ 
	.setup-body{ width: 100%; }
}

/* Source: --- */

.setup-center{ align-items: center; }
.setup-phrase{ font-size: 1.125em; margin-bottom: .5em; }
.setup-project{ font-weight: bold; font-size: 1.25em; }
.setup-time{ margin-top: .5em; font-size: 1.125em; }
.setup-center{ padding: 0em; }
.setup-pending{ padding: 2em; display: flex; flex-direction: column; align-items: center; }
.setup-form{ width: 100%; display: flex; flex-direction: column; overflow: hidden; height: 100%; width: 100%; }
.setup-rows{ flex-grow: 1; padding: 2em; overflow-y: scroll; }
.setup-row{ margin-top: 1em; }
.setup-row:first-child{ margin-top: 0em; }
.setup-label{ display: block; margin-bottom: .75em; font-weight: bold; }
.setup-input{ width: 100%; }
.setup-submit{ display: flex; justify-content: center; padding: .75em; box-shadow: 0px 0px 3px #aaa; }
.setup-error{ padding: .75em; line-height: normal; text-align: justify; color: var(--error-color); border: 1px solid var(--error-color); }
.setup-error *{ color: var(--error-color); }
.setup-path-label{ font-weight: bold; }
.setup-path-list{ max-height: 12em; overflow: auto; padding: 1em; border: var(--input-border); }