:root{--bg-color: #f2f2f2;--surface-color: #ffffff;--text-primary: #111111;--text-secondary: #555555;--accent-color: #000000;--border-color: #e0e0e0;--font-ui: "Helvetica Neue", Helvetica, Arial, sans-serif;--font-book: "Georgia", "Times New Roman", serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-ui);background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;background:none;font-family:inherit}.container{max-width:600px;margin:0 auto;min-height:100vh;background:var(--surface-color);position:relative;display:flex;flex-direction:column}.screen-content{flex:1;padding:20px 20px 80px}.bottom-nav{position:fixed;bottom:0;left:0;width:100%;background:var(--surface-color);border-top:1px solid var(--border-color);display:flex;justify-content:space-around;padding:12px 0;padding-bottom:calc(12px + env(safe-area-inset-bottom));z-index:100;max-width:600px;margin:0 auto;right:0}.nav-item{display:flex;flex-direction:column;align-items:center;color:var(--text-secondary);font-size:10px;gap:4px}.nav-item.active{color:var(--accent-color)}.nav-item svg{width:24px;height:24px}.book-card{transition:transform .2s ease,box-shadow .2s ease}.book-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026!important}@keyframes pulse-flame{0% {transform: scale(1); filter: drop-shadow(0 0 0 rgba(255,152,0,0));} 50% {transform: scale(1.1); filter: drop-shadow(0 0 10px rgba(255,152,0,.4));} 100% {transform: scale(1); filter: drop-shadow(0 0 0 rgba(255,152,0,0));} @keyframes pop-in {0% {transform: scale(.5); opacity: 0;} 60% {transform: scale(1.1); opacity: 1;} 100% {transform: scale(1); opacity: 1;}} .animate-pop-in {animation: pop-in .5s cubic-bezier(.175,.885,.32,1.275) forwards;} .flame-pulse {animation: pulse-flame 3s infinite ease-in-out;} @keyframes pop-in-fixed {0% {transform: scale(.5); opacity: 0;} 60% {transform: scale(1.1); opacity: 1;} 100% {transform: scale(1); opacity: 1;}} .animate-pop-in {animation: pop-in-fixed .5s cubic-bezier(.175,.885,.32,1.275) forwards;} .bottom-nav {background: rgba(255,255,255,.85); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 -1px 0 rgba(0,0,0,.05);} .btn-press {transition: transform .1s cubic-bezier(.4,0,.2,1);} .btn-press:active {transform: scale(.95); opacity: .8;}}
