:root{--night: #1c2a4a;--night-deep: #131d36;--cream: #fdf8ef;--cream-dark: #f4ecdd;--gold: #c9962e;--gold-soft: #e7c987;--teal: #2e7d6f;--ink: #2b2b33;--muted: #6d6a63;--danger: #b3402f;--radius: 14px;--shadow: 0 4px 18px rgba(28, 42, 74, .1)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Georgia,Times New Roman,serif;background:var(--cream);color:var(--ink);line-height:1.6}button,input,select,textarea{font-family:inherit;font-size:1rem}a{color:var(--teal)}.container{max-width:960px;margin:0 auto;padding:0 1.25rem}.site-header{background:var(--night);color:var(--cream);padding:.85rem 0}.site-header .container{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.brand{font-size:1.35rem;font-weight:700;color:var(--gold-soft);text-decoration:none;letter-spacing:.02em}.brand span{color:var(--cream)}.nav{display:flex;gap:1rem;margin-left:auto;align-items:center;flex-wrap:wrap}.nav a{color:var(--cream);text-decoration:none;opacity:.9}.nav a:hover{opacity:1;text-decoration:underline}.btn{display:inline-block;background:var(--teal);color:#fff;border:none;border-radius:999px;padding:.6rem 1.4rem;font-size:1rem;cursor:pointer;text-decoration:none;transition:filter .15s ease}.btn:hover{filter:brightness(1.08)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-gold{background:var(--gold);color:var(--night-deep)}.btn-ghost{background:transparent;color:var(--teal);border:1.5px solid var(--teal)}.btn-danger{background:var(--danger)}.btn-sm{padding:.35rem .9rem;font-size:.9rem}.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;margin:1rem 0}.form{display:flex;flex-direction:column;gap:.9rem;max-width:420px}.form label{font-weight:700;font-size:.95rem}.form input,.form select,.form textarea{width:100%;padding:.6rem .8rem;border:1.5px solid var(--cream-dark);border-radius:8px;background:var(--cream)}.form input:focus{outline:2px solid var(--gold-soft);border-color:var(--gold)}.error{color:var(--danger);font-weight:700}.notice{color:var(--teal);font-weight:700}.muted{color:var(--muted);font-size:.92rem}.hero{background:var(--night);color:var(--cream);padding:4rem 0 4.5rem;text-align:center}.hero h1{font-size:2.6rem;margin:0 0 1rem;color:var(--gold-soft)}.hero p.lead{font-size:1.25rem;max-width:620px;margin:0 auto 2rem;opacity:.95}.trust-strip{background:var(--cream-dark);padding:1rem 0;text-align:center;font-size:.98rem}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:2rem 0}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem}.theme-tile{background:#fff;border:2px solid var(--cream-dark);border-radius:var(--radius);padding:1rem .75rem;text-align:center;cursor:pointer;transition:border-color .15s ease,transform .1s ease}.theme-tile:hover{transform:translateY(-2px)}.theme-tile.selected{border-color:var(--gold);background:#fffaf0}.theme-tile .emoji{font-size:1.9rem;display:block;margin-bottom:.3rem}.theme-tile .name{font-weight:700;font-size:.95rem}.chips{display:flex;gap:.6rem;flex-wrap:wrap}.chip{border:2px solid var(--cream-dark);border-radius:999px;background:#fff;padding:.45rem 1.1rem;cursor:pointer}.chip.selected{border-color:var(--teal);background:#eef7f5;font-weight:700}.story-reader{background:#fffdf8;border-radius:var(--radius);box-shadow:var(--shadow);padding:2.25rem 2rem;margin:1.5rem 0;max-width:720px}.story-reader h1{font-size:1.9rem;color:var(--night);margin-top:0}.story-reader p{font-size:1.13rem;line-height:1.85}.story-meta{color:var(--muted);font-style:italic;margin-bottom:1rem}.cursor:after{content:"▍";color:var(--gold);animation:blink 1s infinite}@keyframes blink{50%{opacity:0}}.book-stage{--book-gap: 1.4rem;margin:1.5rem 0 2rem;perspective:2000px}.book-stage:fullscreen{background:linear-gradient(160deg,#0d1730,#1c2a4a 60%,#101c38);display:flex;flex-direction:column;justify-content:center;padding:2rem;margin:0}.book{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:var(--book-gap);aspect-ratio:16 / 10;max-height:74vh;padding:1.4rem;border-radius:10px;background:linear-gradient(155deg,#d9d4cb,#c3bdb2 45%,#d9d4cb);box-shadow:0 18px 44px #131d3657,inset 0 0 0 1px #ffffff59;transform-style:preserve-3d;touch-action:pan-y}.book-spine{position:absolute;top:1.4rem;bottom:1.4rem;left:50%;width:12px;transform:translate(-50%);background:linear-gradient(90deg,#00000029,#0000000a 45%,#00000029);border-radius:6px;pointer-events:none}.book-half{position:relative;min-width:0;display:flex;overflow:hidden;border-radius:6px}.page-art{flex:1;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(145deg,#cfc9c0,#bdb7ac);border-radius:6px}.art-frame{margin:0;padding:.7rem;background:#fff;border-radius:3px;box-shadow:0 8px 22px #131d364d;transform:rotate(-1.2deg);max-height:100%}.art-frame img{display:block;width:100%;height:auto;max-height:100%;object-fit:cover;border-radius:2px}.page-art-ornament{flex-direction:column;gap:.6rem;background:radial-gradient(circle at 50% 40%,#23345c,#131d36 75%);color:var(--gold-soft)}.ornament-big{width:min(76%,260px);height:auto}.art-pending-label{font-size:.85rem;color:var(--gold-soft);opacity:.85;font-style:italic}.page-art-ornament.is-pending .ornament-big{animation:breathe 2.6s ease-in-out infinite}@keyframes breathe{50%{opacity:.55}}.page-text{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(1.2rem,3.5vw,2.4rem);border-radius:4px;background:#fdf9ee;border:12px solid #7e9153;outline:2px solid rgba(0,0,0,.12);box-shadow:inset 0 0 32px #a082502e;color:var(--ink);overflow-y:auto}.page-text p{margin:0;font-size:clamp(1rem,1.9vw,1.5rem);line-height:1.85;max-width:26ch}.page-text.text-lg p{font-size:clamp(1.15rem,2.5vw,1.95rem)}.page-text.text-md p{font-size:clamp(1.05rem,2.1vw,1.6rem)}.page-text.text-sm p{font-size:clamp(.95rem,1.6vw,1.25rem);line-height:1.7}.page-title h1{margin:.4rem 0 .5rem;font-size:clamp(1.5rem,3.4vw,2.5rem);color:var(--night)}.page-title-sub{font-style:italic;color:var(--muted)}.page-title-hint{margin-top:1.2rem!important;font-size:.9rem!important;color:var(--muted)}.page-end h2{font-size:clamp(1.6rem,3.6vw,2.6rem);color:var(--night);margin:.4rem 0}.ornament{color:var(--gold);flex:0 0 auto}.ornament-corner-top,.ornament-corner-bottom{width:clamp(70px,22%,130px);height:auto;opacity:.75}.flip-sheet{position:absolute;top:1.4rem;bottom:1.4rem;width:calc(50% - 1.4rem - var(--book-gap) / 2);transform-style:preserve-3d;backface-visibility:hidden;z-index:4;pointer-events:none;box-shadow:0 0 26px #131d364d}.flip-sheet .flip-face,.flip-sheet .flip-back{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;backface-visibility:hidden;border-radius:6px;overflow:hidden}.flip-sheet .flip-back{background:linear-gradient(90deg,#efe8da,#fdf9ee);transform:rotateY(180deg)}.flip-next{right:1.4rem;transform-origin:left center;animation:flipForward var(--flip-ms, .62s) ease-in forwards}.flip-prev{left:1.4rem;transform-origin:right center;animation:flipBackward var(--flip-ms, .62s) ease-in forwards}@keyframes flipForward{0%{transform:rotateY(0)}to{transform:rotateY(-176deg)}}@keyframes flipBackward{0%{transform:rotateY(0)}to{transform:rotateY(176deg)}}.book-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:none;border:none;padding:0;cursor:pointer;z-index:5;filter:drop-shadow(0 6px 16px rgba(0,0,0,.45));transition:transform .15s ease}.book-play:hover{transform:translate(-50%,-50%) scale(1.06)}.page-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:none;background:#1c2a4abf;color:var(--cream);font-size:1.8rem;line-height:1;cursor:pointer;z-index:5}.page-arrow:hover{background:var(--night)}.page-arrow:disabled{opacity:0;pointer-events:none}.page-arrow-left{left:-22px}.page-arrow-right{right:-22px}.book-controls{display:flex;align-items:center;justify-content:center;gap:.8rem;flex-wrap:wrap;margin-top:.9rem}.page-dots{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:center}.page-dot{width:10px;height:10px;padding:0;border-radius:50%;border:1.5px solid var(--gold);background:transparent;cursor:pointer}.page-dot.current{background:var(--gold);transform:scale(1.25)}.book-progress{white-space:nowrap}.book-art-note{text-align:center}@media (max-width: 760px){.book{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr);aspect-ratio:3 / 4;max-height:78vh;padding:.8rem}.book-spine,.flip-sheet{display:none}.page-arrow-left{left:4px}.page-arrow-right{right:4px}.page-text{border-width:8px}.page-text p{max-width:32ch}}@media (prefers-reduced-motion: reduce){.flip-sheet,.page-art-ornament.is-pending .ornament-big{animation:none}.book-play{transition:none}}.story-list{list-style:none;padding:0}.story-list li{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.25rem;margin-bottom:.75rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.story-list .title{font-weight:700;font-size:1.05rem;text-decoration:none;color:var(--night);flex:1 1 240px}.story-thumb{flex:0 0 auto;width:54px;height:68px;border-radius:6px;overflow:hidden;background:var(--cream-dark);display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 2px 8px #1c2a4a2e}.story-thumb img{width:100%;height:100%;object-fit:cover}.story-plain{margin-bottom:2rem}.story-plain summary{cursor:pointer}.story-plain .story-reader{margin-top:.75rem}.paywall{border:2px solid var(--gold);background:#fffaf0;text-align:center}table.admin{width:100%;border-collapse:collapse;font-family:system-ui,sans-serif;font-size:.92rem}table.admin th,table.admin td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--cream-dark);vertical-align:top}footer.site-footer{padding:2.5rem 0;text-align:center;color:var(--muted);font-size:.9rem}footer.site-footer p{margin:.5rem 0}.footer-links{display:flex;gap:1.25rem;justify-content:center;flex-wrap:wrap;margin-bottom:1rem}.footer-links a{color:var(--muted);text-decoration:none}.footer-links a:hover{text-decoration:underline}.legal{padding-top:2rem;padding-bottom:2rem}.legal article{max-width:760px;margin:0 auto;text-align:left;line-height:1.65}.legal h1{margin-bottom:.25rem}.legal h2{margin-top:1.8rem;font-size:1.15rem}.legal ul{padding-left:1.25rem}.legal li{margin:.35rem 0}.legal hr{border:none;border-top:1px solid var(--cream-dark);margin:2rem 0 1rem}@media print{.site-header,.nav,.no-print,footer.site-footer{display:none!important}.story-reader{box-shadow:none;max-width:none}body{background:#fff}}
