*{margin:0;padding:0;box-sizing:border-box}html,body{height:auto;min-height:100%;width:100%;overflow-x:hidden;overflow-y:auto;margin:0;padding:0;background:#f5f5f5}#root{min-height:100vh;overflow-y:auto}.app{min-height:100vh;width:100%;max-width:1200px;margin:0 auto;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow-x:hidden;overflow-y:visible;position:relative}.tonies-wrapper{display:flex;margin-bottom:24px}.tonies-link,.tonies-link:hover{background:#222;color:#fff;padding:8px 12px;border-radius:8px;text-decoration:none}.header{text-align:center;margin-bottom:30px;margin-top:0;padding-top:0;color:#333;position:relative;z-index:1}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.header h1{font-size:2.5rem;margin:0 0 12px;color:#333}.stats{background:#fff;border-radius:15px;padding:20px;margin:0 auto;max-width:400px;border:1px solid #e0e0e0;box-shadow:0 2px 8px #0000001a}.stat{font-size:1.2rem;margin-bottom:15px;display:block}.progress-bar{width:100%;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:#4caf50;transition:width .3s ease;border-radius:4px}.books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:15px;margin-bottom:30px;width:100%;min-height:auto}.book-card{background:#fff;border-radius:15px;padding:20px;box-shadow:0 2px 8px #0000001a;border:2px solid transparent;position:relative;overflow:hidden}.book-card.bought{background:#fff;border:2px solid #4caf50}.book-card.bought.grayed{background:#f8f8f8;border:2px solid #c4c4c4}.book-card.bought:before{content:"";position:absolute;top:0;right:0;width:0;height:0;border-left:40px solid transparent;border-top:40px solid #4caf50}.book-card.bought:after{content:"✓";position:absolute;top:5px;right:8px;color:#fff;font-weight:700;font-size:12px}.book-card.bought.grayed:before{border-top-color:#c4c4c4}.book-number{font-size:.9rem;color:#666;font-weight:600;margin-bottom:8px}.book-title{font-size:1.1rem;font-weight:600;color:#333;margin-bottom:12px;line-height:1.4}.no-results{text-align:center;padding:40px;background:#fff;border-radius:15px;color:#666;font-size:1.1rem;border:1px solid #e0e0e0;box-shadow:0 2px 8px #0000001a}.section{padding-inline:20px;margin-bottom:40px}.section-title{font-size:1.8rem;font-weight:600;color:#333;margin-bottom:20px;text-align:center}@media (width < 600px){.tonies-wrapper{justify-content:center}}
