blob: 76098398f697586d7bbf014ea9d0de34b2171189 [file]
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta
http-equiv="Content-Security-Policy"
content="default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob:; connect-src 'self'"
/>
<title>Maka</title>
<style>
/*
* Preload skeleton — renders BEFORE React mounts and before any
* external CSS loads. Prevents a blank white/gray screen during
* the 355KB CSS + 5.8MB JS loading window.
*
* Colors are hardcoded (not CSS variables) because maka-tokens.css
* (70KB) hasn't loaded yet. Light/dark chosen via prefers-color-scheme
* to match cached-theme-bootstrap.ts fallback logic.
*/
html, body, #root {
margin: 0;
padding: 0;
height: 100%;
}
#root {
display: flex;
align-items: center;
justify-content: center;
}
.maka-preload {
position: relative;
width: min(620px, calc(100% - 48px));
min-height: 132px;
margin: auto;
overflow: hidden;
border-radius: 12px;
}
/* light theme (default) */
.maka-preload {
background: #f3f3f5;
border: 1px solid #d4d4d8;
box-shadow: 0 10px 24px rgba(0,0,0,0.06);
}
.maka-preload::before,
.maka-preload::after {
content: "";
position: absolute;
left: 24px;
right: 24px;
border-radius: 999px;
background: linear-gradient(90deg, #e4e4e7, #d4d4d8, #e4e4e7);
}
.maka-preload::before {
top: 34px;
width: min(280px, calc(100% - 48px));
height: 16px;
}
.maka-preload::after {
top: 66px;
width: min(460px, calc(100% - 48px));
height: 12px;
opacity: 0.7;
}
/* dark theme overrides */
@media (prefers-color-scheme: dark) {
.maka-preload {
background: #1c1d21;
border-color: #2e3035;
box-shadow: 0 10px 24px rgba(0,0,0,0.18);
}
.maka-preload::before,
.maka-preload::after {
background: linear-gradient(90deg, #2a2b30, #3a3c42, #2a2b30);
}
}
</style>
</head>
<body>
<div id="root">
<div class="maka-preload" role="status" aria-busy="true" aria-label="Maka"></div>
</div>
<script type="module" src="/main.tsx"></script>
</body>
</html>