:root {
--ml-black: #0c0c0f;
--ml-black-2: #15131a;
--ml-white: #f8f7fa;
--ml-paper: #f4f1f6;
--ml-ink: #18151d;
--ml-purple: #a77ad8;
--ml-purple-soft: #d9c7ee;
--ml-line: rgba(255,255,255,.14);
--ml-max-text: 760px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
margin: 0;
background: var(--ml-black);
color: var(--ml-white);
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
-webkit-font-smoothing: antialiased;
}
a { color: inherit; }
img { max-width: 100%; height: auto; }
.ml-site-header {
position: fixed;
inset: 0 0 auto 0;
z-index: 50;
height: 72px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 28px;
padding: 0 34px;
background: rgba(12,12,15,.92);
border-bottom: 1px solid rgba(255,255,255,.10);
backdrop-filter: blur(12px);
pointer-events: none;
}
.ml-site-header > * { pointer-events: auto; }
.ml-brand {
text-decoration: none;
font-weight: 800;
letter-spacing: .08em;
font-size: 14px;
text-transform: uppercase;
}
.ml-brand span { color: var(--ml-purple); }
.ml-menu { display:flex; align-items:center; gap:6px; list-style:none; padding:0; margin:0; flex-wrap:nowrap; }
.ml-menu li { margin:0; }
.ml-menu a {
display:block;
text-decoration:none;
font-size:13px;
line-height:1;
opacity:.88;
padding:10px 12px;
border-radius:999px;
white-space:nowrap;
}
.ml-menu a:hover, .ml-menu a:focus-visible {
opacity:1;
color:#fff;
background:rgba(167,122,216,.18);
outline:none;
} body.home { overflow: hidden; }
.ml-home-track {
height: 100svh;
display: flex;
overflow-x: auto;
overflow-y: hidden;
scroll-snap-type: x proximity;
overscroll-behavior-x: contain;
scrollbar-width: thin;
scrollbar-color: var(--ml-purple) var(--ml-black);
}
.ml-home-track::-webkit-scrollbar { height: 8px; }
.ml-home-track::-webkit-scrollbar-track { background: var(--ml-black); }
.ml-home-track::-webkit-scrollbar-thumb { background: var(--ml-purple); border-radius: 20px; }
.ml-intro-panel,
.ml-book-panel,
.ml-empty-panel {
flex: 0 0 auto;
width: min(74vw, 980px);
min-width: 690px;
height: 100svh;
padding: 108px 54px 44px;
scroll-snap-align: start;
position: relative;
display: flex;
align-items: center;
}
.ml-intro-panel {
width: min(58vw, 760px);
min-width: 600px;
padding-left: clamp(44px, 7vw, 110px);
overflow: hidden;
}
.ml-intro-panel::before {
content:"";
position:absolute;
width: 340px;
height: 340px;
border: 1px solid rgba(167,122,216,.45);
border-radius: 50%;
right: -110px;
top: 13vh;
box-shadow: 0 0 0 44px rgba(167,122,216,.04), 0 0 0 88px rgba(167,122,216,.025);
}
.ml-intro-panel::after {
content:"";
position:absolute;
left:0; right:0; bottom:0;
height: 5px;
background: linear-gradient(90deg, var(--ml-purple), transparent 75%);
}
.ml-intro-inner { position: relative; z-index: 2; max-width: 620px; }
.ml-kicker { margin:0 0 18px; color:var(--ml-purple-soft); text-transform:uppercase; letter-spacing:.18em; font-size:12px; font-weight:700; }
.ml-home-title {
margin:0;
font-size: clamp(62px, 8.2vw, 126px);
line-height:.84;
letter-spacing:-.065em;
font-weight:900;
}
.ml-home-title span { color:var(--ml-purple); }
.ml-home-subtitle { margin:30px 0 0; max-width:510px; font-size:clamp(17px,1.5vw,22px); line-height:1.5; color:rgba(255,255,255,.76); }
.ml-scroll-hint { margin-top:40px; display:inline-flex; gap:12px; align-items:center; font-size:13px; letter-spacing:.08em; text-transform:uppercase; opacity:.55; }
.ml-scroll-hint b { font-size:24px; font-weight:400; color:var(--ml-purple); }
.ml-book-panel {
width: min(54vw, 790px);
min-width: 620px;
gap: clamp(28px, 4vw, 64px);
border-left: 1px solid var(--ml-line);
background:
radial-gradient(circle at 18% 26%, rgba(167,122,216,.09), transparent 36%),
var(--ml-black);
}
.ml-book-cover-wrap {
flex: 0 0 43%;
height: min(68vh, 720px);
display:flex;
align-items:center;
justify-content:center;
}
.ml-book-cover {
display:block;
width:100%;
height:100%;
object-fit:contain;
filter: drop-shadow(0 24px 26px rgba(0,0,0,.38));
transition: transform .25s ease;
}
a.ml-book-cover-link:hover .ml-book-cover { transform: translateY(-5px); }
.ml-book-info { flex:1; min-width:0; }
.ml-book-number { color:var(--ml-purple); font-size:12px; letter-spacing:.16em; font-weight:800; text-transform:uppercase; }
.ml-book-title { margin:10px 0 16px; font-size:clamp(30px,3.4vw,54px); line-height:1.02; letter-spacing:-.04em; }
.ml-book-title a { text-decoration:none; }
.ml-book-title a:hover { color:var(--ml-purple-soft); }
.ml-book-excerpt { margin:0; color:rgba(255,255,255,.66); font-size:15px; line-height:1.65; max-width:36ch; }
.ml-book-more { display:inline-block; margin-top:24px; color:var(--ml-purple-soft); text-decoration:none; font-weight:700; font-size:14px; }
.ml-book-more::after { content:"  →"; }
.ml-book-more:hover { color:#fff; }
.ml-empty-panel { border-left:1px solid var(--ml-line); color:rgba(255,255,255,.65); } .ml-content-shell {
min-height:100vh;
background:var(--ml-paper);
color:var(--ml-ink);
padding: 126px 24px 80px;
}
.ml-content {
max-width: var(--ml-max-text);
margin: 0 auto;
font-family: Georgia, "Times New Roman", serif;
font-size: 19px;
line-height: 1.75;
}
.ml-content h1,.ml-content h2,.ml-content h3,.ml-content .entry-title {
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
color:var(--ml-ink);
line-height:1.08;
letter-spacing:-.035em;
}
.ml-content h1,.ml-content .entry-title { font-size:clamp(40px,6vw,74px); margin:0 0 34px; }
.ml-content h2 { font-size:34px; margin-top:2em; }
.ml-content h3 { font-size:26px; }
.ml-content a { color:#6e3aa7; text-decoration-thickness:1px; text-underline-offset:3px; }
.ml-content img { border-radius:4px; }
.ml-content blockquote { border-left:4px solid var(--ml-purple); margin-left:0; padding-left:24px; color:#514958; }
.ml-content .wp-block-separator { border-color:#d7cfe0; }
.ml-dark-footer {
background:var(--ml-black);
color:rgba(255,255,255,.58);
padding:30px 24px;
text-align:center;
font-size:13px;
} .woocommerce .ml-content { max-width:1100px; font-family:Inter, ui-sans-serif, system-ui, sans-serif; }
.woocommerce div.product .product_title { font-size:clamp(36px,5vw,64px); }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit {
background:var(--ml-black); color:#fff; border-radius:0; padding:.9em 1.2em;
}
.woocommerce a.button:hover, .woocommerce button.button:hover { background:#6e3aa7; color:#fff; }
@media (max-width: 760px) {
body.home { overflow:auto; }
.ml-site-header { height:62px; padding:0 18px; }
.ml-menu { gap:12px; }
.ml-menu li:nth-child(n+4) { display:none; }
.ml-home-track { height:100svh; scroll-snap-type:x mandatory; }
.ml-intro-panel,.ml-book-panel,.ml-empty-panel {
width: 88vw;
min-width: 88vw;
height:100svh;
padding:88px 24px 28px;
}
.ml-intro-panel { width:94vw; min-width:94vw; }
.ml-home-title { font-size:clamp(58px,18vw,92px); }
.ml-home-subtitle { font-size:17px; }
.ml-book-panel { flex-direction:column; justify-content:center; gap:20px; }
.ml-book-cover-wrap { flex:0 0 auto; width:100%; height:55vh; max-height:560px; }
.ml-book-info { flex:0 0 auto; width:100%; }
.ml-book-title { font-size:30px; margin:6px 0 10px; }
.ml-book-excerpt { display:none; }
.ml-book-more { margin-top:8px; }
.ml-content-shell { padding:94px 18px 60px; }
.ml-content { font-size:18px; line-height:1.7; }
}
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior:auto; }
.ml-book-cover { transition:none; }
}div.tnp-subscription,
form.tnp-subscription, form.tnp-profile {
display: block;
margin: 1em auto;
max-width: 500px;
width: 100%;
}
div.tnp-profile {
display: block;
margin: 1em 0;
max-width: 500px; } .tnp-subscription div.tnp-field,
.tnp-profile div.tnp-field
{
margin-bottom: .7em;
border: 0;
padding: 0;
}
.tnp-subscription label,
.tnp-profile label
{
display: block;
color: inherit;
font-weight: normal;
line-height: normal;
padding: 0;
margin: 0;
margin-bottom: .25em;
font-size: .9em;
}
.tnp-subscription .tnp-field-checkbox label,
.tnp-profile .tnp-field-checkbox label
{
display: inline-block;
}
.tnp-subscription input[type=text],
.tnp-subscription input[type=email],
.tnp-subscription input[type=submit],
.tnp-subscription select,
.tnp-subscription textarea,
.tnp-profile input[type=text],
.tnp-profile input[type=email],
.tnp-profile input[type=submit],
.tnp-profile select,
.tnp-profile textarea
{
width: 100%;
padding: .7em;
display: block;
border: 1px;
color: #444;
border-color: #ddd;
background-color: #f4f4f4;
background-image: none;
text-shadow: none;
font-size: 1em;
margin: 0;
line-height: normal;
box-sizing: border-box;
}
.tnp-subscription input[type=checkbox],
.tnp-widget input[type=radio],
.tnp-profile input[type=checkbox]
{ max-width: 1em;
display: inline-block;
margin-right: .5em;
} .tnp-subscription select option,
.tnp-profile select option
{
margin-right: .75em;
}
.tnp-subscription input.tnp-submit,
.tnp-profile input.tnp-submit,
.tnp-unsubscribe button.tnp-submit,
.tnp-reactivate button.tnp-submit
{
background-color: #444;
color: #fff;
width: auto;
height: auto;
margin: 0;
display: inline-block;
}
@media all and (max-width: 480px) {
.tnp-subscription input[type=submit],
.tnp-profile input[type=submit] {
width: 100%;
}
}
.tnp-widget {
width: 100%;
display: block;
box-sizing: border-box;
}
.tnp-widget .tnp-field {
margin-bottom: 10px;
border: 0;
padding: 0;
}
.tnp-widget label {
display: block;
color: inherit;
font-size: 14px;
}
.tnp-widget input[type=text], .tnp-widget input[type=email], .tnp-widget input[type=submit], .tnp-widget select {
width: 100%;
padding: 10px;
display: block;
border: 1px solid #ddd ;
border-color: #ddd;
background-color: #f4f4f4;
background-image: none;
text-shadow: none;
color: #444;
font-size: 14px;
line-height: normal;
box-sizing: border-box;
height: auto;
}
.tnp-widget input[type=checkbox], .tnp-widget input[type=radio] {
width: auto;
display: inline-block;
} .tnp-widget select option {
margin-right: 10px;
}
.tnp-widget input.tnp-submit {
background-color: #444;
background-image: none;
text-shadow: none;
color: #fff;
margin: 0;
}
.tnp-field input[type="submit"] {
position: inherit;
}
.tnp-field label {
} .tnp-widget-minimal {
width: 100%;
}
.tnp-widget-minimal form {
margin: 0;
padding: 0;
border: 0;
}
.tnp-widget-minimal input.tnp-email {
width: 100%;
box-sizing: border-box;
padding: 10px;
display: inline-block;
border: 1px solid #ddd;
background-color: #f4f4f4;
color: #444;
font-size: 14px;
}
.tnp-widget-minimal input.tnp-submit {
width: 100%;
box-sizing: border-box;
padding: 10px;
display: inline-block;
border: 1px;
border-color: #ddd;
background-color: #444;
background-image: none;
text-shadow: none;
color: #fff;
font-size: 14px;
line-height: normal;
border-radius: 0px;
height: auto;
margin: 0;
} .tnp-subscription-minimal {
width: 100%;
box-sizing: border-box;
margin: 10px 0;
}
.tnp-subscription-minimal form {
width: auto;
margin: 0;
padding: 0;
border: 0;
white-space: nowrap;
}
.tnp-subscription-minimal input.tnp-email,
.tnp-subscription-minimal input.tnp-name
{
width: 70%;
max-width: 300px;
box-sizing: border-box;
padding: 10px;
display: inline-block;
border: 1px solid #ddd;
background-color: #f4f4f4;
color: #444;
font-size: 14px;
line-height: 20px;
border-radius: 0px;
margin-right: 10px;
}
.tnp-subscription-minimal.with-name input.tnp-email,
.tnp-subscription-minimal.with-name input.tnp-name
{
width: 31%;
}
.tnp-subscription-minimal .tnp-privacy-field {
margin-top: 10px;
} .tnp-subscription-minimal input.tnp-submit {
width: 29%;
box-sizing: border-box;
display: inline-block;
padding: 10px;
border: 1px;
border-color: #ddd;
background-color: #444;
background-image: none;
text-shadow: none;
color: #fff;
font-size: 14px;
line-height: 20px;
border-radius: 0px;
margin: 0;
}
.tnp-subscription-posts {
margin-top: 2em;
margin-bottom: 2em;
padding: 2rem;
}
.tnp-subscription-posts .tnp-subscription {
max-width: auto;
margin: 0;
}
@media all and (max-width: 525px) {
.tnp-subscription-minimal.with-name input.tnp-email,
.tnp-subscription-minimal.with-name input.tnp-name,
.tnp-subscription-minimal input.tnp-submit
{
width: 100%;
max-width: 100%;
margin: 0;
display: block;
margin-bottom: .5rem;
}
} .tnp-button-form button.tnp-submit {
box-sizing: border-box;
padding: 10px;
display: inline-block;
border: 1px;
border-color: #ddd;
background-color: #444;
background-image: none;
text-shadow: none;
color: #fff;
font-size: 14px;
line-height: normal;
border-radius: 0px;
height: auto;
margin: 0;
} .tnp-comments {
clear: both;
margin-top: 15px;
margin-bottom: 15px;
}
.tnp-comments label {
display: block;
}
.tnp-comments input[type=checkbox] {
display: inline-block;
width: auto!important;
} .tnp-lock {
clear: both;
display: block;
box-sizing: border-box;
box-shadow: none;
margin: 20px;
padding: 15px;
background-color: #fff;
border: 1px solid #ddd;
}
.tnp-nl-checkout {
margin-bottom: 1em;
}