*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}:root{--color-bg: #faf7f3;--color-bg-warm: #f0ebe4;--color-text: #3a3530;--color-text-muted: #7a6f65;--color-accent: #9a7d65;--color-accent-light: #b5956a;--color-border: #e0d8ce;--color-white: #ffffff;--color-overlay: rgba(250, 247, 243, .97);--font-serif: "Georgia", "Times New Roman", serif;--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-2xl: 4rem;--max-width: 600px;--reading-width: 38rem;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px)}@media (max-width: 380px){:root{font-size:15px}}@media (min-width: 381px) and (max-width: 600px){:root{font-size:16px}}@media (min-width: 601px){:root{font-size:18px}}body{font-family:var(--font-serif);background-color:var(--color-bg);color:var(--color-text);line-height:1.7;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}.screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-lg);text-align:center}.screen-content{max-width:var(--max-width);width:100%}h1{font-family:var(--font-serif);font-size:1.75rem;font-weight:400;line-height:1.3;margin-bottom:var(--spacing-md);color:var(--color-text)}h2{font-family:var(--font-serif);font-size:1.35rem;font-weight:400;line-height:1.4;margin-bottom:var(--spacing-sm);color:var(--color-text)}h3{font-family:var(--font-serif);font-size:1.15rem;font-weight:600;line-height:1.4;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-sm);color:var(--color-text)}p{margin-bottom:var(--spacing-md)}.author-intro-photo{width:160px;height:160px;margin:0 auto var(--spacing-xl);border-radius:50%;overflow:hidden;border:3px solid var(--color-accent-light);display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-warm)}.author-intro-photo img{width:100%;height:100%;object-fit:cover}.author-intro-content{max-width:480px;margin:0 auto var(--spacing-xl)}.author-intro-intro{font-size:1.2rem;color:var(--color-text);margin-bottom:var(--spacing-md);font-weight:400}.author-intro-bio{font-size:.95rem;color:var(--color-text-muted);line-height:1.8;margin-bottom:var(--spacing-lg);font-family:var(--font-sans)}.author-intro-closing{font-size:1rem;color:var(--color-text);margin-top:var(--spacing-lg);font-style:italic}.text-muted{color:var(--color-text-muted);font-size:.9rem}.text-large{font-size:1.1rem}.btn{display:inline-block;font-family:var(--font-sans);font-size:1rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-lg);border:2px solid var(--color-accent);background-color:transparent;color:var(--color-accent);border-radius:4px;cursor:pointer;transition:all .2s ease;text-decoration:none;min-width:180px}.btn:hover{background-color:var(--color-accent);color:var(--color-white)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:disabled:hover{background-color:transparent;color:var(--color-accent)}.btn-primary{background-color:var(--color-accent);color:var(--color-white)}.btn-primary:hover{background-color:var(--color-accent-light);border-color:var(--color-accent-light)}.btn-group{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.btn-group-row{flex-direction:row;justify-content:center;flex-wrap:wrap}.pathway-btn{padding:var(--spacing-md) var(--spacing-lg);font-size:1.1rem;min-width:200px}.back-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:50%;transition:all .2s ease;flex-shrink:0}.back-button:hover{background-color:var(--color-bg-warm);color:var(--color-text)}.screen-back{position:absolute;top:calc(var(--spacing-md) + var(--safe-area-top));left:var(--spacing-md)}.screen{position:relative}.error-message{background-color:#fff5f5;border:1px solid #e8c4c4;color:#8b4545;padding:var(--spacing-sm) var(--spacing-md);border-radius:4px;margin-top:var(--spacing-md);font-family:var(--font-sans);font-size:.9rem}.icon-airplane{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.7}.room-visual{margin-bottom:var(--spacing-lg);padding:var(--spacing-xl);background:linear-gradient(135deg,var(--color-bg-warm) 0%,var(--color-bg) 100%);border-radius:50%;width:150px;height:150px;display:flex;align-items:center;justify-content:center;margin-left:auto;margin-right:auto}.gate-visual{margin-bottom:var(--spacing-xl)}.armchair-room{position:relative;width:120px;height:120px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:var(--spacing-md)}.room-glow{font-size:3.5rem;animation:glow 3s ease-in-out infinite}.room-book{font-size:2.5rem;animation:float 4s ease-in-out infinite}@keyframes glow{0%,to{opacity:.7}50%{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.screen-gate{background:linear-gradient(135deg,#faf7f3,#f0ebe4)}.gate-requirement{margin:var(--spacing-md) 0;padding:var(--spacing-lg);background-color:#faf7f380;border-radius:8px;text-align:center}.room-icon{font-size:3.5rem}.reader{min-height:100vh;padding:var(--spacing-lg);padding-bottom:var(--spacing-2xl)}.reader-header{max-width:var(--reading-width);margin:0 auto var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm)}.reader-header-info{flex:1;text-align:center}.reader-label{font-family:var(--font-sans);font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:var(--spacing-xs)}.reader-time{font-family:var(--font-sans);font-size:.85rem;color:var(--color-text-muted)}.reader-hero{width:100%;max-width:var(--reading-width);margin:0 auto var(--spacing-lg);border-radius:8px;overflow:hidden}.reader-hero img{width:100%;height:auto;display:block;max-height:300px;object-fit:cover}.reader-title{max-width:var(--reading-width);margin:0 auto var(--spacing-md);text-align:center}.reader-title h1{font-size:2rem;line-height:1.2}.reader-quote{max-width:var(--reading-width);margin:0 auto var(--spacing-xl);padding:var(--spacing-md) var(--spacing-lg);border-left:3px solid var(--color-accent);font-style:italic;color:var(--color-text-muted);background-color:var(--color-bg-warm)}.reader-content{max-width:var(--reading-width);margin:0 auto}.reader-segment{margin-bottom:var(--spacing-xl)}.reader-segment p{font-size:1.1rem;line-height:1.8;margin-bottom:var(--spacing-md)}.reader-segment p:last-child{margin-bottom:0}.reader-segment strong,.reader-segment b{font-weight:600;color:var(--color-text)}.reader-segment em,.reader-segment i{font-style:italic}.reader-segment ul,.reader-segment ol{margin-bottom:var(--spacing-md);padding-left:var(--spacing-lg)}.reader-segment li{margin-bottom:var(--spacing-xs);line-height:1.7}.reader-segment blockquote{margin:var(--spacing-md) 0;padding:var(--spacing-md) var(--spacing-lg);border-left:3px solid var(--color-accent);background-color:var(--color-bg-warm);font-style:italic;color:var(--color-text-muted)}.reader-segment figure{margin:var(--spacing-lg) 0;text-align:center}.reader-segment figure img{max-width:100%;height:auto;border-radius:4px}.reader-inline-image{margin:var(--spacing-xl) calc(-1 * var(--spacing-md));text-align:center}.reader-inline-image img{max-width:100%;width:100%;height:auto;border-radius:8px;box-shadow:0 2px 8px #00000014}.reader-inline-image figcaption{margin-top:var(--spacing-sm);font-size:.85rem;font-style:italic;color:var(--color-text-muted);line-height:1.4}.reader-segment hr{border:none;height:1px;background-color:var(--color-border);margin:var(--spacing-xl) 0}.reader-segment h3,.reader-segment h4,.reader-segment h5{font-size:1.2rem;font-weight:600;margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm);color:var(--color-text)}.completion-card{max-width:var(--max-width);margin:var(--spacing-2xl) auto;padding:var(--spacing-xl);background-color:var(--color-bg-warm);border-radius:8px;text-align:center}.breath-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--color-overlay);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.breath-circle{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent-light) 0%,var(--color-accent) 100%);margin-bottom:var(--spacing-xl);animation:breathe 8s ease-in-out infinite}@keyframes breathe{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.4);opacity:1}}.breath-text{text-align:center;margin-bottom:var(--spacing-xl)}.breath-text h2{margin-bottom:var(--spacing-sm)}.online-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--color-overlay);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2000;padding:var(--spacing-lg);text-align:center}.wander-card{max-width:var(--max-width);width:100%;padding:var(--spacing-xl);background-color:var(--color-bg-warm);border-radius:8px;text-align:center}.wander-label{font-family:var(--font-sans);font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:var(--spacing-md)}.exit-icon{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.7;animation:glow 3s ease-in-out infinite}.exit-info{margin:var(--spacing-sm) 0;padding:var(--spacing-md);background-color:var(--color-bg-warm);border-radius:8px;border-left:3px solid var(--color-accent)}.bookmark-section{margin:var(--spacing-md) 0;padding:var(--spacing-lg);background-color:var(--color-bg-warm);border-radius:8px}.bookmark-steps{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.step{display:flex;align-items:center;gap:var(--spacing-sm);text-align:center}.step-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:var(--color-accent);color:var(--color-white);border-radius:50%;font-weight:700;font-size:.9rem;flex-shrink:0}.step p{margin:0;font-size:.9rem}.step-arrow{color:var(--color-accent);font-size:1.2rem;opacity:.6}.screen-loading{background:linear-gradient(135deg,#faf7f3,#f0ebe4)}.loading-circle{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent-light) 0%,var(--color-accent) 100%);margin:0 auto var(--spacing-lg);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(.9);opacity:.5}50%{transform:scale(1.1);opacity:1}}.error-toast{position:fixed;bottom:calc(var(--spacing-lg) + var(--safe-area-bottom));left:50%;transform:translate(-50%);background-color:#fff5f5;border:1px solid #e8c4c4;color:#8b4545;padding:var(--spacing-sm) var(--spacing-md);border-radius:8px;font-family:var(--font-sans);font-size:.9rem;z-index:100;max-width:calc(100% - var(--spacing-lg) * 2);text-align:center;box-shadow:0 4px 12px #0000001a}@media (max-width: 600px){.screen{padding:var(--spacing-md);padding-top:calc(var(--spacing-md) + var(--safe-area-top));padding-bottom:calc(var(--spacing-md) + var(--safe-area-bottom))}.reader{padding:var(--spacing-md);padding-top:calc(var(--spacing-md) + var(--safe-area-top));padding-bottom:calc(var(--spacing-2xl) + var(--safe-area-bottom))}.reader-title h1{font-size:1.5rem}.btn{min-width:100%;padding:var(--spacing-md) var(--spacing-lg);font-size:1.05rem;min-height:52px}.pathway-btn{min-width:100%}.breath-overlay{padding:var(--spacing-lg);padding-top:calc(var(--spacing-lg) + var(--safe-area-top));padding-bottom:calc(var(--spacing-lg) + var(--safe-area-bottom))}.breath-circle{width:100px;height:100px}.online-overlay{padding:var(--spacing-lg);padding-top:calc(var(--spacing-lg) + var(--safe-area-top));padding-bottom:calc(var(--spacing-lg) + var(--safe-area-bottom))}.author-intro-photo{width:120px;height:120px}.reader-hero img{max-height:200px}.completion-card{padding:var(--spacing-lg);margin:var(--spacing-lg) auto}.gate-requirement{padding:var(--spacing-md)}h1{font-size:1.5rem}h2{font-size:1.2rem}.reader-segment p{font-size:1rem;line-height:1.75}}@media (max-width: 380px){.screen{padding:var(--spacing-sm);padding-top:calc(var(--spacing-sm) + var(--safe-area-top));padding-bottom:calc(var(--spacing-sm) + var(--safe-area-bottom))}h1{font-size:1.35rem}.author-intro-photo{width:100px;height:100px}.btn{font-size:1rem;min-height:48px}}.reader{-webkit-overflow-scrolling:touch;overflow-y:auto}button,.btn{touch-action:manipulation}
