:root{--paper: #f4ecd8;--paper2: #ede2c8;--paper3: #e2d4b2;--ink: #3a2a1a;--ink2: #5c4630;--ink3: #8c7456;--ink-line: rgba(74, 54, 34, .35);--ink-faint: rgba(74, 54, 34, .15);--w-sage: #8fa882;--w-sage-d: #5f7a54;--w-blue: #7e96a8;--w-blue-d: #4e6a80;--w-ochre: #c8a35c;--w-ochre-d: #9a7430;--w-rust: #b07050;--w-rust-d: #8a4a2e}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--paper);background-image:radial-gradient(ellipse 60% 38% at 8% 4%,rgba(143,168,130,.13) 0%,transparent 70%),radial-gradient(ellipse 48% 30% at 95% 14%,rgba(200,163,92,.11) 0%,transparent 70%),radial-gradient(ellipse 55% 35% at 12% 88%,rgba(126,150,168,.1) 0%,transparent 70%),radial-gradient(ellipse 40% 28% at 88% 92%,rgba(176,112,80,.08) 0%,transparent 70%);background-attachment:fixed;color:var(--ink);font-family:IM Fell English,serif;font-size:17px;line-height:1.55;min-height:100vh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E")}#root{position:relative;z-index:2}.shell{max-width:560px;margin:0 auto;padding:40px 20px 64px}.masthead{text-align:center;margin-bottom:30px}.masthead h1{font-family:Cormorant Garamond,serif;font-weight:500;font-size:2.1rem;letter-spacing:.02em}.masthead .sub{font-style:italic;color:var(--ink3);font-size:1rem;margin-top:2px}.page{background:#f8f1de9e;border:1px solid var(--ink-line);box-shadow:0 1px #fffcf099 inset,2px 3px 14px #4a36221a;position:relative;padding:28px 26px 26px;animation:leaf-in .38s cubic-bezier(.16,1,.3,1)}.page:after{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1px solid var(--ink-faint);pointer-events:none}@keyframes leaf-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.page{animation:none}}.chapter{font-family:IM Fell English SC,serif;letter-spacing:.22em;font-size:.8rem;color:var(--ink3);text-align:center}.page h2{font-family:Cormorant Garamond,serif;font-weight:600;font-size:1.55rem;text-align:center;margin-top:4px}.page .whisper{font-style:italic;color:var(--ink3);text-align:center;font-size:.95rem;margin-top:2px}.ink-rule{display:flex;align-items:center;gap:12px;justify-content:center;margin:18px 0;color:var(--ink3);font-size:.85rem}.ink-rule:before,.ink-rule:after{content:"";flex:1;max-width:90px;height:1px;background:linear-gradient(90deg,transparent,var(--ink-line),transparent)}label.scribe{display:block;font-family:IM Fell English SC,serif;letter-spacing:.14em;font-size:.82rem;color:var(--ink2);margin-bottom:6px}input.quill{width:100%;background:#fffcf08c;border:none;border-bottom:1.5px solid var(--ink-line);padding:10px 8px;font-family:IM Fell English,serif;font-size:1.05rem;color:var(--ink);outline:none;transition:border-color .22s}input.quill:focus{border-bottom-color:var(--w-sage-d)}input.quill.cipher{font-family:Cormorant Garamond,serif;font-size:1.9rem;letter-spacing:.45em;text-align:center}.btn-ink{display:block;width:100%;margin-top:22px;border:1.5px solid var(--ink2);background:transparent;color:var(--ink2);font-family:IM Fell English SC,serif;letter-spacing:.14em;font-size:.95rem;padding:13px 20px;cursor:pointer;transition:background .22s,box-shadow .22s}.btn-ink:hover{background:#4a36220d;box-shadow:1px 2px 8px #4a36221f}.btn-ink.primary{background:var(--w-sage-d);border-color:var(--w-sage-d);color:#f2eedc}.btn-ink.primary:hover{background:#55704b}.btn-ink.reveal{background:var(--w-blue-d);border-color:var(--w-blue-d);color:#f2eedc}.btn-ink.reveal:hover{background:#44607a}.btn-ink:disabled{opacity:.5;cursor:default;box-shadow:none}.marginalia{border-left:2px solid var(--w-rust);background:#b070500f;padding:10px 14px;margin-top:18px;font-style:italic;color:var(--w-rust-d);font-size:.95rem}.marginalia .glyph{font-style:normal;margin-right:6px}.aside{font-style:italic;color:var(--ink3);font-size:.9rem;text-align:center;margin-top:16px}.password-leaf{background:#fffcf0cc;border:1px solid var(--ink-line);padding:16px;margin-top:18px;text-align:center}.password-leaf code{font-family:Cormorant Garamond,serif;font-size:1.45rem;font-weight:600;letter-spacing:.06em;word-break:break-all;color:var(--ink);-webkit-user-select:all;user-select:all}.blooming{position:relative;width:64px;height:64px;margin:22px auto 8px}.blooming span{position:absolute;top:0;right:0;bottom:0;left:0;border:1.5px solid var(--w-sage-d);border-radius:52% 48% 56% 44%/48% 54% 46% 52%;animation:bloom 1.8s ease-out infinite;opacity:0}.blooming span:nth-child(2){border-radius:46% 54% 44% 56%/54% 46% 56% 44%;animation-delay:.6s}.blooming span:nth-child(3){border-radius:50% 44% 52% 48%/46% 56% 44% 54%;animation-delay:1.2s}.blooming .nib{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:1.3rem;animation:bob 2.2s ease-in-out infinite;opacity:1;border:none}@keyframes bloom{0%{transform:scale(.3);opacity:.5}to{transform:scale(2.4);opacity:0}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.status-line{text-align:center;font-style:italic;color:var(--ink3);min-height:1.6em}.colophon{text-align:center;margin-top:34px;font-size:.82rem;color:var(--ink3);font-style:italic}
