*,*:before,*:after{box-sizing:border-box}*{margin:0}html{interpolate-size:allow-keywords}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p{overflow-wrap:break-word;text-wrap:pretty}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;text-wrap:balance}#root,#app{isolation:isolate}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;color-scheme:dark;--color-bg: #11141a;--color-surface: #1a1f28;--color-surface-hover: #212733;--color-border: rgba(255, 255, 255, .09);--color-text: #e8ebf1;--color-text-muted: #8a92a3;--color-accent: #5fc7e0;--color-accent-strong: #86d7ea;--color-accent-ink: #06222b;--radius-md: 14px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .45);--ease-slow: .32s ease}body{min-height:100dvh;background-color:var(--color-bg);color:var(--color-text)}.page{max-width:80ch;margin-inline:auto;padding:2rem 1.25rem}.page__link{display:inline-flex;align-items:center;margin-top:1rem;padding:.5rem 1.25rem;border-radius:var(--radius-pill);border:1px solid var(--color-border);color:var(--color-text);text-decoration:none;font-weight:600;transition:background-color var(--ease-slow),border-color var(--ease-slow)}.page__link:hover,.page__link:focus-visible{background-color:var(--color-surface);border-color:var(--color-accent)}.night-sky{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at top,rgba(95,199,224,.08),transparent 60%)}.night-sky__moon{position:absolute;top:7%;right:10%;width:clamp(64px,12vw,110px);height:clamp(64px,12vw,110px);border-radius:50%;background:radial-gradient(circle at 35% 35%,#f8f3df,#cdbf8f 55%,#cdbf8f00 78%);box-shadow:0 0 70px 14px #f8f3df2e;opacity:.9}.night-sky__stars{position:absolute;inset:-10%;opacity:.55;background-repeat:repeat;background-size:240px 220px;background-image:radial-gradient(1.6px 1.6px at 12% 18%,#fff,transparent 60%),radial-gradient(1px 1px at 28% 42%,#fff,transparent 60%),radial-gradient(1.2px 1.2px at 46% 12%,#fff,transparent 60%),radial-gradient(1px 1px at 64% 58%,#fff,transparent 60%),radial-gradient(1.4px 1.4px at 82% 24%,#fff,transparent 60%),radial-gradient(1px 1px at 91% 68%,#fff,transparent 60%),radial-gradient(1.2px 1.2px at 8% 78%,#fff,transparent 60%),radial-gradient(1px 1px at 38% 88%,#fff,transparent 60%),radial-gradient(1.4px 1.4px at 58% 92%,#fff,transparent 60%),radial-gradient(1px 1px at 74% 8%,#fff,transparent 60%)}.library{position:relative;isolation:isolate;min-height:100dvh;max-width:720px;margin-inline:auto;padding:2.5rem 1.25rem 3rem}.library__header{margin-bottom:1.75rem}.library__label{margin:0 0 .5rem;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent)}.library__title{margin:0 0 .6rem;font-size:clamp(1.5rem,4vw,2.1rem);font-weight:700;letter-spacing:-.01em;line-height:1.2}.library__subtitle{margin:0 0 1.25rem;max-width:46ch;color:var(--color-text-muted);font-size:.95rem;line-height:1.5}.story-list{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.story-card{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-sm);transition:background-color var(--ease-slow),border-color var(--ease-slow)}.story-card:hover,.story-card:focus-within{background-color:var(--color-surface-hover);border-color:var(--color-accent)}.story-card__link{display:flex;flex-direction:column;gap:.3rem;padding:1rem 1.1rem;color:var(--color-text);text-decoration:none}.story-card__title{font-size:1.05rem;font-weight:700}.story-card__teaser{color:var(--color-text-muted);font-size:.9rem;line-height:1.45}.story-card__meta{margin-top:.15rem;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.ambiance{display:flex;align-items:center;gap:.75rem}.ambiance__toggle{padding:.45rem 1.1rem;border-radius:var(--radius-pill);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);font-size:.8rem;font-weight:600;cursor:pointer;transition:background-color var(--ease-slow),border-color var(--ease-slow),color var(--ease-slow)}.ambiance__toggle[aria-pressed=true]{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}.ambiance__toggle:hover,.ambiance__toggle:focus-visible{border-color:var(--color-accent)}.ambiance__volume{width:100px;accent-color:var(--color-accent)}.reader{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:100dvh;max-width:620px;margin-inline:auto;padding:1.5rem 1.25rem 2.5rem}.reader__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem}.reader__back-link{color:var(--color-text-muted);text-decoration:none;font-size:.85rem;font-weight:600;transition:color var(--ease-slow)}.reader__back-link:hover,.reader__back-link:focus-visible{color:var(--color-accent)}.reader__page{flex:1;animation:reader-page-in .42s ease}@keyframes reader-page-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.reader__title{margin:0 0 1.25rem;font-size:clamp(1.3rem,3.6vw,1.7rem);font-weight:700;letter-spacing:-.01em}.reader__text{margin:0;color:var(--color-text);font-size:1.05rem;line-height:1.75}.reader__nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.reader__progress{margin:0;color:var(--color-text-muted);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.reader__nav-button{padding:.55rem 1.4rem;border-radius:var(--radius-pill);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);font-size:.9rem;font-weight:600;text-decoration:none;cursor:pointer;transition:background-color var(--ease-slow),border-color var(--ease-slow),opacity var(--ease-slow)}.reader__nav-button:disabled{opacity:.35;cursor:default}.reader__nav-button:not(:disabled):hover,.reader__nav-button:focus-visible{border-color:var(--color-accent)}.reader__nav-button--primary{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}.reader__nav-button--primary:hover{background-color:var(--color-accent-strong);border-color:var(--color-accent-strong)}
