:root, [data-theme="day"] { --bg:#fdfaf3;--fg:#3b2f2f;--muted:#6b5a49;--link:#7a1f1f;--accent:#7a1f1f;--card:#f8f4e9;--bord:#d7c7a0;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Arial, sans-serif;--font-text:"Old Standard TT", "Times New Roman", serif;--font-title:"Playfair Display", "Old Standard TT", serif;--shadow-soft:0 2px 6px rgba(0, 0, 0, 0.1);--shadow-strong:0 6px 18px rgba(0, 0, 0, 0.15);--paper-texture:url(/assets/img/paper-fiber.webp);--header-bg:#231a14;--header-text:#f8efe3;--header-btn-bg:rgba(255,255,255,0.05);--header-btn-border:rgba(255,255,255,0.15);} html { overflow-y:scroll;scrollbar-gutter:stable;} body { background:var(--bg);background-image:var(--paper-texture);background-attachment:fixed;background-size:cover;color:var(--fg);} body{background-repeat:repeat,no-repeat;background-size:800px auto,cover;background-attachment:fixed;background-blend-mode:multiply;color-scheme:light} body.night{background-color:#18130e;background-image:url(/assets/img/paper-fiber.webp),linear-gradient(180deg,#1f1a15 0%,#0e0b08 100%);background-repeat:repeat,no-repeat;background-size:800px auto,cover;background-attachment:fixed;background-blend-mode:soft-light;color-scheme:dark;position:relative} body.night::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 40% 10%,#ffd2a014,transparent 70%);mix-blend-mode:screen;z-index:-1} a{color:var(--link)} a:hover{color:var(--accent);text-decoration-color:#a0783c80} footer{background:#fdfaf3;color:#503c2899;border-top:1px solid #785a3c26} hr{border:none;height:1px;background:linear-gradient(to right,transparent,#bfa67b80,transparent)} .hero-intro{--hero-bg:linear-gradient(180deg,#fdf9f3 0%,#f3e7cf 100%);--hero-heading:#3a2818;--hero-text:#4a3b2b;--hero-link:#8b3a2a} .brand img{position:relative} .brand img::after{content:"";position:absolute;top:.5em;left:.9em;width:.4em;height:.4em;background:radial-gradient(circle at center,#ffd282cc,#ffd28200 70%);border-radius:50%;filter:blur(3px);pointer-events:none;animation:flicker 2.5s ease-in-out infinite} @keyframes flicker { 0%,100%{opacity:.9;transform:scale(1)} 40%{opacity:.6;transform:scale(1.05)} 70%{opacity:1;transform:scale(0.98)} } .brand{position:relative} .brand::before{content:"";position:absolute;top:50%;left:1.4rem;width:1.2rem;height:1.2rem;transform:translateY(-50%);background:radial-gradient(circle at center,#ffd28259 0%,#ffb46426 35%,#ffa0500d 65%,transparent 100%);filter:blur(10px);pointer-events:none;z-index:0;animation:candle-glow 3s ease-in-out infinite} @keyframes candle-glow { 0%,100%{opacity:.85;transform:translateY(-50%) scale(1)} 45%{opacity:.6;transform:translateY(-50%) scale(1.03)} 70%{opacity:1;transform:translateY(-50%) scale(0.97)} } .brand img{position:relative;z-index:1} [data-theme="dark"] .brand::before{opacity:.7;filter:blur(12px)} .header-btn{background:var(--header-btn-bg);border:1px solid var(--header-btn-border);opacity:.95;transition:background .2s ease,transform .2s ease,opacity .2s ease} .header-btn:hover,.header-btn:focus{background:#ffffff26;opacity:1;transform:translateY(-1px)} .header-btn:active{transform:scale(0.96)} .hero-intro{padding:2rem 1rem} .skip-link { position:absolute;top:-40px;left:0;background:#000;color:#fff;padding:0.5rem 1rem;z-index:1000;transform:translateY(-100%);} .skip-link:focus { top:0;transform:translateY(0);}