:root{--wine:#68132a;--wine-dark:#3c0d1b;--gold:#b58b48;--ink:#392a27;--muted:#7f6c60;--cream:#faf4e8;--green:#27583f;font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:#ece1ce}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#fbf5e8,#e9dcc4);min-height:100vh}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a{color:var(--wine)}img{max-width:100%}button[hidden],[hidden]{display:none!important}.icon{width:23px;height:23px;flex-shrink:0;vertical-align:middle}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,.reader-stage:focus-visible{outline:3px solid #4e8b74;outline-offset:4px}.screen-reader-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.ritual-app{max-width:1220px;min-height:100vh;margin:0 auto;background:var(--cream);box-shadow:0 20px 65px #43241116;padding-bottom:90px}.site-bar{display:flex;align-items:center;gap:18px;padding:14px 20px;background:#fffaf0;border-bottom:1px solid #cfb992;min-height:76px}.brand-link{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:23px;font-weight:bold;letter-spacing:.02em;white-space:nowrap}.brand-link small{display:block;font:10px/1.4 system-ui,sans-serif;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);background:#fff2d8;font-size:27px}#currency-slot{margin-left:auto}.currency-picker{display:block}.currency-picker select{width:auto;min-height:39px;padding:6px 24px 6px 12px;background:#fff9ed;border:1px solid #cdb58e;border-radius:20px;color:var(--wine);font:600 13px system-ui,sans-serif;cursor:pointer}
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,1220px);display:flex;gap:5px;z-index:20;background:linear-gradient(120deg,#4a0e20,#6c1b2e);border-top:1px solid #bd9457;box-shadow:0 -6px 22px #34132218;padding:8px 9px max(9px,env(safe-area-inset-bottom));min-height:76px}.nav-item{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid transparent;border-radius:14px;background:transparent;color:#dfc7a0;font:500 11px/1.2 system-ui,sans-serif;min-height:54px;transition:background .18s,color .18s}.nav-item.active{background:#fff1d515;color:#fff0cb;border-color:#c7a86650}.nav-icon{display:flex}.nav-icon .icon{width:24px;height:24px}.hero-image{width:100%;height:auto;display:block;aspect-ratio:2032/774;object-fit:cover}.catalog-layout{padding:24px 16px 32px}.intro{text-align:center;padding:4px 10px 26px}.eyebrow{font:600 10px/1.5 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#a17b48}.intro h2{font-size:clamp(26px,4.2vw,38px);font-weight:500;line-height:1.13;color:var(--wine);margin:12px 0 16px}.intro h2 em{font-size:.78em;font-weight:400;line-height:1.3}.intro p{font-size:15px;line-height:1.6;max-width:470px;margin:0 auto;color:var(--muted)}.intro-points{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:22px 0;font:12px system-ui,sans-serif}.intro-points span{display:flex;align-items:center;gap:7px}.intro-points .icon{color:var(--gold);width:20px;height:20px}.ornament{color:var(--gold);font-size:22px;letter-spacing:.2em}.books{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.book-card{min-width:0;display:flex;flex-direction:column;background:#fffcf5;border:1px solid #d7c2a2;border-radius:18px;overflow:hidden;box-shadow:0 8px 22px #6643240c}.cover-link{padding:7px;background:none;border:0;display:block;width:100%;line-height:0}.cover{display:block;aspect-ratio:1;object-fit:cover;width:100%;height:auto;border-radius:12px}.card-copy{padding:10px 12px 13px;display:flex;flex-direction:column;flex:1}.card-copy .eyebrow{font-size:8px;letter-spacing:.07em}.book-card h3{font-size:clamp(19px,2vw,26px);font-weight:500;color:var(--wine);margin:7px 0}.subtitle{font-size:12px;line-height:1.4;color:var(--muted);margin:0 0 16px;min-height:34px}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:4px;margin:auto 0 14px;font:11px system-ui,sans-serif}.card-meta span{display:flex;align-items:center;gap:3px;color:var(--muted)}.card-meta .icon{width:16px;height:16px}.card-meta strong{color:var(--wine);font-size:13px;font-weight:600}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:47px;padding:12px 19px;border-radius:12px;border:1px solid #913049;background:linear-gradient(135deg,#7b1b35,#501024);color:#fff2da;font:600 14px/1.35 system-ui,sans-serif;box-shadow:0 4px 10px #54203618;text-decoration:none;transition:transform .16s,box-shadow .16s}.button:hover{box-shadow:0 6px 17px #54203625}.button:active{transform:translateY(1px)}.button.green{background:linear-gradient(135deg,#31694e,#204f38);border-color:#427859}.button.light{background:#fff9ef;color:var(--wine);border-color:#d1b995;box-shadow:none}.book-card .button{width:100%;padding:10px 8px;font-size:12px;min-height:43px}.button .icon{width:20px;height:20px}.text-button{display:block;border:0;background:transparent;padding:14px;color:var(--muted);text-decoration:underline;font:13px system-ui,sans-serif;margin:10px auto}.icon-button{width:42px;height:42px;display:inline-grid;place-items:center;border:1px solid #cdb68f;border-radius:12px;background:#fff8e9;color:var(--wine);padding:8px}.header-compact{display:flex;align-items:center;gap:15px;padding:16px 20px;border-bottom:1px solid #e4d4ba}.header-compact h1{margin:0;color:var(--wine);font-weight:500;font-size:23px;flex:1}.header-ornament{color:var(--gold);font-size:24px}.product-detail,.page-panel{margin:24px 16px;padding:22px;background:#fffaf0;border:1px solid #decbab;border-radius:20px}.detail-hero{display:grid;grid-template-columns:minmax(110px,38%) 1fr;gap:18px;align-items:start}.detail-cover{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 8px 24px #341e1828}.detail-hero h2{color:var(--wine);font-size:clamp(25px,4vw,40px);font-weight:500;line-height:1.1;margin:10px 0 16px}.detail-hero p{font-size:15px;line-height:1.65;margin:10px 0}.detail-price{font-weight:bold!important;color:var(--wine);font-size:25px!important}.detail-actions{display:grid;gap:10px;margin:16px 0}.small{font:12px/1.6 system-ui,sans-serif!important}.muted{color:var(--muted)}.section-title{color:var(--wine);font-size:25px;font-weight:500;margin:30px 0 14px}.features{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.feature{display:flex;align-items:center;gap:12px;border:1px solid #e0ceaf;background:#faf2e1;border-radius:13px;padding:16px;font:13px/1.4 system-ui,sans-serif}.feature .icon{color:var(--gold);width:30px;height:30px}.contents-list{line-height:1.85;font-size:16px;padding-left:22px}.sample-link{display:flex;align-items:center;gap:14px;padding:19px;border-radius:14px;background:#eee4cf;border:1px solid #dcc39a;text-decoration:none;margin-top:24px;font:13px/1.5 system-ui,sans-serif}.sample-link span{flex:1}.sample-link small{display:block;font-size:12px;color:var(--muted)}.section-heading{display:flex;align-items:center;gap:18px;margin-bottom:20px}.section-heading>.icon{width:53px;height:53px;padding:12px;border:1px solid #d2b68b;border-radius:16px;color:var(--gold);background:#f5ead4}.section-heading h2{margin:5px 0;font-size:30px;font-weight:500;color:var(--wine)}.library-row{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:18px 0;border-top:1px solid #e5d4b8}.cover-mini{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}.library-row h3{font-size:23px;font-weight:500;color:var(--wine);margin:0 0 10px}.actions{display:flex;flex-wrap:wrap;gap:10px}.badge{display:inline-block;padding:5px 10px;border:1px solid #d5b585;border-radius:20px;color:#9c6e37;font:11px system-ui,sans-serif}.badge.free{background:#e8efe3;color:var(--green);border-color:#b5ceb8}.account-status{max-width:760px;margin-left:auto;margin-right:auto}.account-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.account-tiles>a,.account-tiles>div{display:flex;align-items:center;flex-direction:column;gap:12px;padding:20px 10px;border:1px solid #decaab;border-radius:15px;background:#f8efdf;text-decoration:none;text-align:center;font:12px/1.45 system-ui,sans-serif}.account-tiles .icon{width:35px;height:35px;color:var(--gold)}.account-tiles small{color:var(--muted)}.account-email{display:flex;align-items:center;gap:8px;font:14px system-ui,sans-serif;overflow-wrap:anywhere}.email-form{max-width:390px;margin:20px auto;font:14px/1.6 system-ui,sans-serif}.email-form label{display:block;font-size:12px;font-weight:600;margin:14px 0 6px;color:var(--muted)}.email-form input{width:100%;border:1px solid #cfb996;border-radius:12px;background:#fffefa;color:var(--ink);padding:14px;font:16px system-ui,sans-serif;min-height:49px}.email-form .button{width:100%;margin-top:12px}#login-code{letter-spacing:.4em;font-size:23px;text-align:center}.login-divider{text-align:center;color:var(--muted);font:12px system-ui,sans-serif;margin:18px}.account-status>a.button{display:flex;max-width:390px;margin:0 auto}.site-footer{text-align:center;padding:22px 16px;color:#9b8875;font:11px/1.5 system-ui,sans-serif}
.reader-open{overflow:hidden;background:#292320}.reader-open .site-bar,.reader-open .bottom-nav,.reader-open .site-footer{display:none}.reader-open .ritual-app{max-width:none;padding:0;background:#292320}.reader{position:fixed;inset:0;z-index:30;display:flex;flex-direction:column;background:#292320;color:#efe6d8}.reader-toolbar{display:flex;align-items:center;gap:10px;padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top));background:#fffaf0;min-height:65px;flex-shrink:0}.reader-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--wine);font:500 14px system-ui,sans-serif}.reader-stage{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:0;width:100%;overflow:hidden;touch-action:none;user-select:none;cursor:grab;overscroll-behavior:none}.reader-stage:active{cursor:grabbing}.reader-img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:center center;user-select:none;-webkit-user-drag:none;will-change:transform;touch-action:none}.reader-loading{position:absolute;inset:0;display:grid;place-items:center;font:14px system-ui,sans-serif;padding:30px;text-align:center;background:#292320}.reader-retry{position:absolute;bottom:20%}.reader-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px max(12px,env(safe-area-inset-bottom));background:#211c1a;font:11px system-ui,sans-serif;flex-shrink:0}.reader-count{color:#efcd91;white-space:nowrap}.reader-hint{color:#aa9b8d;text-align:right}.reader-open #toast{z-index:40;bottom:65px}#toast{position:fixed;bottom:98px;left:50%;transform:translateX(-50%);max-width:min(500px,92vw);padding:14px 20px;border-radius:13px;background:#3c1524f2;color:#fff7e7;font:13px/1.5 system-ui,sans-serif;z-index:50;display:none;box-shadow:0 8px 20px #20101825}#toast.visible{display:block}.is-loading::after,.payment-busy [data-action=checkout]::after{content:'';display:inline-block;flex-shrink:0;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin 1s linear infinite;margin-left:6px}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:900px){.ritual-app{margin:24px auto;min-height:calc(100vh - 48px);border:1px solid #dfcaab;border-radius:24px;overflow:hidden;padding-bottom:0}.site-bar{padding:18px 30px;gap:30px}.brand-link{font-size:26px}#currency-slot{order:3;margin-left:0}.bottom-nav{position:static;transform:none;width:auto;flex:1;justify-content:flex-end;background:none;border:0;box-shadow:none;padding:0;min-height:0;gap:8px}.nav-item{flex:0 0 auto;min-height:43px;flex-direction:row;padding:9px 15px;color:#8b6c58;font-size:13px;gap:9px;border-radius:12px}.nav-item.active{background:#f0e4cf;color:var(--wine);border-color:#dfc89f}.nav-icon .icon{width:22px;height:22px}.hero-image{max-height:410px;object-position:center}.catalog-layout{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(530px,1.4fr);align-items:center;gap:28px;padding:40px 34px}.intro{text-align:left;padding:0}.intro h2{font-size:34px;line-height:1.2}.intro p{font-size:16px}.intro-points{align-items:flex-start;justify-content:flex-start;flex-direction:column;font-size:13px;gap:16px}.ornament{text-align:left}.books{gap:20px}.card-copy{padding:16px 18px 18px}.card-copy .eyebrow{font-size:9px}.subtitle{font-size:13px}.card-meta{font-size:12px}.card-meta strong{font-size:15px}.book-card .button{font-size:13px;min-height:46px}.product-detail,.page-panel{margin:30px auto;max-width:1000px;padding:34px}.detail-hero{grid-template-columns:330px 1fr;gap:40px}.detail-actions{grid-template-columns:1fr;max-width:380px}.features{grid-template-columns:repeat(4,1fr)}.feature{flex-direction:column;align-items:flex-start}.header-compact{padding:20px 34px}.header-compact h1{font-size:29px}.library-row{grid-template-columns:150px 1fr;gap:24px}.account-status{max-width:800px}.site-footer{border-top:1px solid #e8d9c1}#toast{bottom:30px}.reader-toolbar{padding-left:max(18px,calc((100vw - 1100px)/2));padding-right:max(18px,calc((100vw - 1100px)/2))}.reader-title{font-size:16px}}
@media(max-width:520px){.detail-hero{grid-template-columns:1fr}.detail-cover{max-width:240px;margin:0 auto}.detail-hero>div{text-align:center}.product-detail,.page-panel{padding:20px 16px;margin:16px 12px}.account-status{margin:16px 12px}.account-tiles{grid-template-columns:1fr}.account-tiles>a,.account-tiles>div{display:grid;grid-template-columns:38px 1fr;text-align:left;gap:6px 12px;padding:14px}.account-tiles .icon{grid-row:span 2}.account-tiles small{grid-column:2}.library-row{grid-template-columns:84px 1fr;gap:12px}.library-row h3{font-size:21px}.actions{flex-direction:column}.actions .button{padding:10px;font-size:12px}.brand-link{font-size:21px}.site-bar{gap:10px;padding:12px 15px}.reader-hint{font-size:9px}.section-heading h2{font-size:26px}}
@media(max-width:350px){.books{gap:8px}.card-copy{padding:8px}.card-meta{flex-direction:column;align-items:flex-start;gap:5px}.book-card .button{font-size:11px}.features{grid-template-columns:1fr}.brand-mark{width:34px;height:34px}.currency-picker select{font-size:12px;padding:6px 19px 6px 9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
