@import url('data:text/css,');
:root{--bg:#070708;--panel:#101012;--text:#f3f1ed;--muted:#9b9996;--red:#d20a18;--line:#29292d;--paper:#f0eadf;--papertext:#231f1b;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.site-shell{min-height:100vh}.topbar{position:fixed;z-index:50;top:0;left:0;right:0;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:linear-gradient(180deg,rgba(4,4,5,.92),rgba(4,4,5,.45),transparent);backdrop-filter:blur(7px)}.brand{display:flex;flex-direction:column;font-weight:800;letter-spacing:.12em;font-size:14px}.brand small{font-size:8px;color:#aaa;letter-spacing:.32em;margin-top:3px}.nav{display:flex;gap:26px;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.17em}.nav a{opacity:.72;transition:.2s}.nav a:hover{opacity:1;color:#fff}.menu-btn{display:none;background:none;border:0;color:#fff;font-size:26px}.hero{min-height:100vh;position:relative;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:5vw;padding:110px max(5vw,calc((100vw - var(--max))/2)) 70px;overflow:hidden}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 72% 45%,rgba(175,0,14,.17),transparent 30%),radial-gradient(circle at 35% 28%,rgba(255,255,255,.05),transparent 25%),linear-gradient(105deg,#080809 25%,#0e0d0e 80%);z-index:-3}.hero-noise{position:absolute;inset:0;opacity:.1;z-index:-2;background-image:linear-gradient(90deg,transparent 50%,rgba(255,255,255,.025) 50%);background-size:3px 3px}.eyebrow{font-size:10px!important;letter-spacing:.32em!important;text-transform:uppercase;color:#c7c2bc!important;font-family:Arial,sans-serif!important}.hero h1{margin:18px 0 24px;line-height:.9}.hero h1 span{font-size:clamp(48px,7vw,104px);display:block;letter-spacing:-.055em;font-weight:900}.hero h1 em{display:block;font-style:normal;font-size:clamp(18px,2.1vw,32px);letter-spacing:.32em;color:#d8d4ce;margin-top:18px;font-weight:400}.hero-line{font-family:Georgia,serif;font-size:clamp(19px,2vw,29px);line-height:1.45;color:#c8c4bd;max-width:720px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 19px;border:1px solid #3b3b40;background:transparent;color:#fff;border-radius:2px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:.22s}.btn:hover{transform:translateY(-2px);border-color:#777}.btn.primary{background:var(--red);border-color:var(--red);font-weight:800}.btn.glass{background:rgba(255,255,255,.035);backdrop-filter:blur(8px)}.continue{display:inline-flex;margin-top:18px;color:#aaa;font-size:12px;border-bottom:1px solid #444;padding-bottom:5px}.hero-cover{position:relative;width:min(34vw,490px);justify-self:end;transform:rotate(1.2deg);animation:float 7s ease-in-out infinite}.hero-cover img{width:100%;display:block;box-shadow:0 35px 100px rgba(0,0,0,.65)}.cover-shadow{position:absolute;inset:auto 5% -8% 5%;height:20%;filter:blur(30px);background:#000;z-index:-1}.scroll-cue{position:absolute;left:4vw;bottom:28px;font-size:8px;letter-spacing:.3em;color:#706e6b;display:flex;gap:14px;align-items:center}.scroll-cue span{color:var(--red);font-size:16px}@keyframes float{50%{transform:rotate(.2deg) translateY(-9px)}}.manifesto{padding:130px max(5vw,calc((100vw - var(--max))/2));border-top:1px solid #161618;border-bottom:1px solid #161618;background:#0b0b0d}.manifesto>p{color:var(--red);font-weight:800;letter-spacing:.18em}.manifesto h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(34px,5vw,70px);line-height:1.08;margin:20px 0 60px;max-width:1100px}.manifesto h2 span{color:#777}.manifesto-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-left:30%}.manifesto-grid p{font-family:Georgia,serif;color:#aaa;font-size:18px;line-height:1.65}.chapters{padding:120px max(5vw,calc((100vw - var(--max))/2))}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}.section-head h2{font-family:Georgia,serif;font-size:clamp(40px,5vw,68px);font-weight:400;margin:6px 0}.section-head>span{font-size:9px;letter-spacing:.24em;color:#777;margin-bottom:14px}.chapter-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:42px 22px}.chapter-card{display:block;min-width:0}.poster-wrap{position:relative;overflow:hidden;background:#111;aspect-ratio:2/3}.poster-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:.45s cubic-bezier(.2,.7,.2,1)}.poster-glow{position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.chapter-card:hover img{transform:scale(1.035)}.card-meta{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.18em;color:#767478;margin-top:13px}.chapter-card h3{font-family:Georgia,serif;font-weight:400;font-size:21px;margin:8px 0 7px}.card-arrow{font-size:10px;color:#999;letter-spacing:.08em}.card-arrow b{color:var(--red);font-size:15px}.downloads{padding:120px max(5vw,calc((100vw - var(--max))/2));background:#111113;display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;align-items:center;border-top:1px solid #212125}.downloads h2{font:400 clamp(40px,5vw,68px)/1.05 Georgia,serif;margin:10px 0 25px}.downloads>div>p:not(.eyebrow){font:17px/1.6 Georgia,serif;color:#9d9993;max-width:520px}.download-cards{display:grid;grid-template-columns:1fr 1fr;gap:15px}.download-cards a{min-height:250px;border:1px solid #2b2b30;padding:26px;display:flex;flex-direction:column;background:#0b0b0c;transition:.25s}.download-cards a:hover{border-color:#666;transform:translateY(-4px)}.download-cards span{color:var(--red);font-size:11px;letter-spacing:.25em}.download-cards strong{font:400 27px/1.1 Georgia,serif;margin-top:55px}.download-cards small{color:#777;margin-top:8px}.download-cards b{margin-top:auto;font-size:10px;text-transform:uppercase;letter-spacing:.15em}footer{border-top:1px solid #222;padding:45px max(5vw,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;color:#777;font-size:10px;letter-spacing:.12em}footer>div{display:flex;flex-direction:column;gap:3px}footer strong{color:#bbb}.reader{background:#08080a;min-height:100vh}.read-progress{position:fixed;z-index:100;left:0;top:0;height:2px;background:var(--red);transition:width .1s}.chapter-hero{height:min(82vh,850px);position:relative;overflow:hidden;background:#000}.chapter-hero img{width:100%;height:100%;object-fit:cover;object-position:center 43%;filter:brightness(.78)}.chapter-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.12) 45%,#08080a 100%)}.chapter-overlay{position:absolute;z-index:2;left:max(5vw,calc((100vw - 930px)/2));bottom:70px}.chapter-overlay p{color:var(--red);font-size:10px;font-weight:bold;letter-spacing:.3em}.chapter-overlay h1{font:400 clamp(47px,7vw,96px)/.95 Georgia,serif;margin:10px 0}.chapter-overlay span{font-size:10px;letter-spacing:.17em;color:#aaa;text-transform:uppercase}.reading{width:min(930px,90vw);margin:0 auto;padding:60px 0 110px}.reading-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:85px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#888}.reading-tools button{color:#aaa;background:transparent;border:1px solid #333;padding:9px 12px;cursor:pointer}.reading header{text-align:center;margin-bottom:65px}.reading header p{font-size:10px;letter-spacing:.28em;color:var(--red);font-weight:bold}.reading header h2{font:400 clamp(40px,6vw,66px)/1 Georgia,serif;margin:10px}.prose{font:20px/1.74 Georgia,'Times New Roman',serif;color:#dedad2;max-width:760px;margin:0 auto}.prose p{margin:0 0 1.42em;white-space:pre-line}.prose .dialogue{margin:0 0 1.5em;color:#f2eee7;line-height:1.82}.prose .end{text-align:center;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.15em;color:#777;text-transform:uppercase;margin:50px 0}.scene-break{text-align:center;color:#777;letter-spacing:1em;margin:45px 0}.social-panel{border-top:1px solid #303034;border-bottom:1px solid #303034;margin:90px auto 25px;padding:42px 0;max-width:760px}.social-panel h3{font:400 32px Georgia,serif;margin:8px 0 22px}.social-actions{display:flex;gap:10px;flex-wrap:wrap}.instagram-link{display:inline-block;margin-top:18px;font-size:11px;color:#999}.chapter-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:60px}.chapter-nav a{border:1px solid #29292c;padding:24px;min-height:105px;display:flex;flex-direction:column;justify-content:center;transition:.2s}.chapter-nav a:hover{border-color:#666;background:#111}.chapter-nav small{font-size:8px;letter-spacing:.25em;color:#777}.chapter-nav strong{font:400 20px Georgia,serif;margin-top:8px}.chapter-nav .next{text-align:right}.reader.paper{background:var(--paper)}.reader.paper .chapter-hero:after{background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.05) 45%,var(--paper) 100%)}.reader.paper .reading,.reader.paper .prose{color:var(--papertext)}.reader.paper .prose{color:#302a25}.reader.paper .reading-tools,.reader.paper .reading-tools button{color:#766e66}.reader.paper .reading-tools button,.reader.paper .social-panel,.reader.paper .chapter-nav a{border-color:#c9c0b5}.reader.paper .btn{color:#28221e;border-color:#bcb2a6}.reader.paper .btn.primary{color:#fff}.reader.paper .chapter-nav a:hover{background:#e4ddd3}.notfound{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.notfound p{color:var(--red);font-size:12px;letter-spacing:.4em}.notfound h1{font:400 50px Georgia,serif}.notfound .btn{margin-top:20px}@media(max-width:1000px){.chapter-grid{grid-template-columns:repeat(3,1fr)}.hero{grid-template-columns:1fr .75fr}.manifesto-grid{margin-left:10%}.downloads{grid-template-columns:1fr}.download-cards{max-width:650px}}@media(max-width:720px){.topbar{height:62px}.nav{display:none;position:absolute;top:58px;left:0;right:0;background:#09090a;border-bottom:1px solid #222;padding:24px 5vw;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.menu-btn{display:block}.hero{grid-template-columns:1fr;padding-top:95px;padding-bottom:90px}.hero-copy{z-index:3}.hero h1 span{font-size:15vw}.hero h1 em{font-size:4vw;letter-spacing:.2em}.hero-cover{width:65vw;justify-self:center;margin-top:25px;opacity:.88}.scroll-cue{display:none}.manifesto{padding-top:90px;padding-bottom:90px}.manifesto-grid{margin-left:0;grid-template-columns:1fr;gap:10px}.chapter-grid{grid-template-columns:repeat(2,1fr);gap:35px 14px}.chapter-card h3{font-size:18px}.section-head{align-items:start}.section-head>span{display:none}.downloads{padding-top:90px;padding-bottom:90px}.download-cards{grid-template-columns:1fr}.chapter-hero{height:72vh}.chapter-overlay{left:5vw;bottom:50px}.reading{padding-top:35px;width:90vw}.reading-tools{margin-bottom:55px}.prose{font-size:18px;line-height:1.7}.chapter-nav{grid-template-columns:1fr}.chapter-nav .next{text-align:left}.social-actions .btn{flex:1 1 45%}footer{flex-direction:column;gap:20px}}@media(max-width:420px){.chapter-grid{grid-template-columns:1fr 1fr}.card-meta span:last-child{display:none}.hero-actions .btn{width:100%}.prose{font-size:17px}.social-actions .btn{flex-basis:100%}}

.home-link{display:inline-flex;align-items:center;gap:8px}.share-note{font-size:10px;color:#777;margin-top:14px;line-height:1.5}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;z-index:999;background:#fff;color:#000;padding:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.paper-mode .reader{background:var(--paper)}body.paper-mode .chapter-hero:after{background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.05) 45%,var(--paper) 100%)}body.paper-mode .reading,body.paper-mode .prose{color:var(--papertext)}body.paper-mode .prose{color:#302a25}body.paper-mode .reading-tools,body.paper-mode .reading-tools button{color:#766e66}body.paper-mode .reading-tools button,body.paper-mode .social-panel,body.paper-mode .chapter-nav a{border-color:#c9c0b5}body.paper-mode .btn{color:#28221e;border-color:#bcb2a6}body.paper-mode .btn.primary{color:#fff}body.paper-mode .chapter-nav a:hover{background:#e4ddd3}
/* Novel dialogue & machine-interface treatment */
.prose .dialogue + .dialogue{margin-top:-.28em}
.system-output{max-width:700px;margin:2em auto;padding:18px 20px 19px;border-left:2px solid var(--red);background:#0e0e10;box-shadow:inset 0 0 0 1px rgba(255,255,255,.045);font-family:"Courier New",Courier,monospace;color:#e9e6df}
.system-output .system-label{display:block;margin-bottom:9px;color:#d94952;font:700 9px/1.2 Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase}
.system-output .system-text{font-size:15px;line-height:1.65;white-space:pre-wrap}
body.paper-mode .system-output{background:#e6ded2;border-color:#9f1b22;color:#2c2722;box-shadow:inset 0 0 0 1px rgba(0,0,0,.07)}
body.paper-mode .system-output .system-label{color:#9f1b22}
@media(max-width:720px){.prose p{margin-bottom:1.5em}.prose .dialogue{line-height:1.78}.system-output{margin:1.8em 0;padding:15px 16px}.system-output .system-text{font-size:14px}}

/* Light mode fixes */
.reader.paper .prose .dialogue,
body.paper-mode .prose .dialogue{color:var(--papertext);}
.reader.paper .prose .dialogue strong,
body.paper-mode .prose .dialogue strong{color:var(--papertext);}
.reader.paper .share-note,
body.paper-mode .share-note{color:#6f675e;}


/* =========================================================
   EU-VINHAIS-1 — VOICE TYPOGRAPHY & DRAMATIC BEATS
   Human narration/dialogue = literary serif
   Serah = precise machine mono
   Sol = warmer condensed/sans machine voice
   System/interface = technical block (existing)
   ========================================================= */
:root{
  --human-font: Georgia,'Times New Roman',serif;
  --serah-font: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;
  --sol-font: 'Arial Narrow','Aptos Narrow','Liberation Sans Narrow','Roboto Condensed',Arial,sans-serif;
}

/* Human dialogue stays fully literary. */
.prose .dialogue.voice-human{
  font-family:var(--human-font);
  font-weight:400;
  letter-spacing:0;
}

/* Serah: exact, cold, machine-readable without looking like a terminal dump. */
.prose .dialogue.voice-serah{
  font-family:var(--serah-font);
  font-size:.94em;
  line-height:1.92;
  letter-spacing:-.018em;
  font-weight:500;
}

/* Sol: technological, but less rigid and slightly more human than Serah. */
.prose .dialogue.voice-sol{
  font-family:var(--sol-font);
  font-size:1.02em;
  line-height:1.82;
  letter-spacing:.025em;
  font-weight:600;
}

/* Typed terminal exchanges retain NUNO:/SOL: labels because they are diegetic interface text. */
.prose .terminal-line{
  margin:1.15em 0 1.4em;
  padding-left:1.05em;
  border-left:1px solid #4a4745;
}
.prose .terminal-sol{
  font-family:var(--sol-font);
  font-weight:600;
  letter-spacing:.035em;
  color:#e9e5dd;
}
.prose .terminal-human{
  font-family:var(--serah-font);
  font-size:.94em;
  letter-spacing:-.01em;
  color:#ddd8cf;
}

/* Dialogue breathing room: enough to track alternating voices without screenplay labels. */
.prose .dialogue{margin-bottom:1.72em;}

/* Dramatic beat system. Used sparingly (roughly 2–4 moments/chapter). */
.prose .impact{
  margin-top:2.05em;
  margin-bottom:2.15em;
}
.prose .impact-major{
  font-size:1.12em;
  line-height:1.68;
  font-weight:600;
}
.prose .impact-statement{
  font-family:var(--serah-font);
  letter-spacing:.025em;
  font-weight:700;
}
.prose .impact-machine.impact-serah{
  font-family:var(--serah-font);
  letter-spacing:-.018em;
}
.prose .impact-machine.impact-sol,
.prose .impact-terminal.impact-sol{
  font-family:var(--sol-font);
  letter-spacing:.035em;
}
.prose .impact-system{
  transform:scale(1.015);
  transform-origin:center;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 14px 38px rgba(0,0,0,.16);
}
.prose .impact-final{
  text-align:center;
  font-size:1.18em;
  line-height:1.48;
  font-weight:600;
  letter-spacing:.015em;
}
.prose .impact-final-first{margin-top:3.1em;margin-bottom:.25em;}
.prose .impact-final-last{margin-top:.25em;margin-bottom:3.1em;}

/* Paper mode: keep all voice identities readable without relying on colour. */
body.paper-mode .prose .dialogue.voice-serah,
body.paper-mode .prose .dialogue.voice-sol,
body.paper-mode .prose .terminal-line,
body.paper-mode .prose .impact{color:var(--papertext);}
body.paper-mode .prose .terminal-line{border-left-color:#aaa095;}
body.paper-mode .prose .impact-system{
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.09),0 12px 28px rgba(50,40,30,.08);
}

@media(max-width:720px){
  .prose .dialogue{margin-bottom:1.62em;}
  .prose .dialogue.voice-serah{font-size:.93em;line-height:1.88;}
  .prose .dialogue.voice-sol{font-size:1em;}
  .prose .impact-major{font-size:1.08em;}
  .prose .impact-final{font-size:1.12em;}
}


/* Editorial semantics: paper artefacts, internal machine state and generic system speech. */
.prose .artifact-note{
  max-width:700px;margin:1.8em auto;padding:14px 18px;
  border-left:2px solid #777;background:rgba(255,255,255,.025);
  font-family:var(--serah-font);font-size:.88em;line-height:1.7;letter-spacing:.02em;color:#d7d2ca;
}
.prose .machine-state{
  max-width:700px;margin:1.8em auto;padding:15px 18px;
  border-left:1px solid #56545a;background:rgba(255,255,255,.018);
  font-family:var(--serah-font);font-size:.83em;line-height:1.7;letter-spacing:.015em;color:#c9c5bf;
}
.prose .dialogue.voice-system{
  font-family:var(--serah-font);font-size:.94em;line-height:1.86;color:#d7d3cb;
}
body.paper-mode .prose .artifact-note,
body.paper-mode .prose .machine-state,
body.paper-mode .prose .dialogue.voice-system{color:var(--papertext);}
body.paper-mode .prose .artifact-note{background:#e8e0d5;border-left-color:#8d8277;}
body.paper-mode .prose .machine-state{background:#ece5db;border-left-color:#a3988d;}

/* Distinct machine reply outside SYSTEM / INTERFACE blocks */
.prose .sol-response{font-family:Arial,Helvetica,sans-serif;letter-spacing:.025em;font-weight:700;border-left:2px solid #777;padding:.35em 0 .35em 1em;margin:1.6em 0 1.8em;color:#d9e3ea}
.reader.paper .prose .sol-response,body.paper-mode .prose .sol-response{color:#2b3135;border-left-color:#777}

.time-shift{font-family:Arial,Helvetica,sans-serif;text-align:center;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin:0 0 3.2em;font-weight:700}.reader.paper .time-shift,body.paper-mode .time-shift{color:#9f1b22}
