:root{--bg-color: #F5EFFF;--text-color: #333;--text-color-light: #555;--accent-color: #A594F9;--accent-color-readable: #6a5acd;--border-color: #E5D9F2;--border-color-strong: #CDC1FF;--card-bg-color: #FFFFFF;--code-bg-color: #E5D9F2;--code-text-color: #3d3d3d;--link-hover-bg: #E5D9F2}[data-theme=dark]{--bg-color: #1a1a2e;--text-color: #e0e0e0;--text-color-light: #b0b0b0;--accent-color: #A594F9;--accent-color-readable: #CDC1FF;--border-color: #2a2a4e;--border-color-strong: #4a4a7e;--card-bg-color: #161625;--code-bg-color: #2a2a4e;--code-text-color: #d0d0d0;--link-hover-bg: #2a2a4e}body{background-color:var(--bg-color);color:var(--text-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:0;padding:0;line-height:1.7;transition:background-color .3s ease,color .3s ease}.header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;border-bottom:1px solid var(--border-color);background-color:var(--bg-color)}.back-button{color:var(--accent-color);text-decoration:none;font-weight:700;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--border-color-strong);border-radius:8px;transition:all .2s ease-in-out}.back-button:hover{background-color:var(--link-hover-bg);border-color:var(--accent-color)}.theme-toggle-button{background:none;border:1px solid var(--border-color-strong);color:var(--text-color);cursor:pointer;padding:.5rem;border-radius:8px;display:flex;align-items:center;justify-content:center}.theme-toggle-button:hover{background-color:var(--link-hover-bg)}.moon-icon{display:none}.sun-icon,[data-theme=dark] .moon-icon{display:block}[data-theme=dark] .sun-icon{display:none}.blog-container{display:flex;flex-direction:row;gap:2rem;max-width:1100px;margin:2rem auto;padding:0 2rem}.sidebar{width:250px;flex-shrink:0}.sidebar h2{font-size:1.25rem;color:var(--text-color);border-bottom:2px solid var(--border-color-strong);padding-bottom:.5rem;margin-top:0}#archive-links .year-section h3{margin-top:1.5rem;margin-bottom:.5rem;font-size:1rem;color:var(--text-color-light)}#archive-links a{display:block;text-decoration:none;color:var(--accent-color-readable);padding:.3rem .5rem;border-radius:4px;transition:background-color .2s ease}#archive-links a:hover,#archive-links a.active{background-color:var(--link-hover-bg);color:var(--accent-color)}.blog-content{flex-grow:1;min-width:0}.blog-content h1,.blog-content h2,.blog-content h3{color:var(--text-color);line-height:1.3;margin-top:2rem}.blog-content p{margin-bottom:1rem}.blog-content a{color:var(--accent-color);text-decoration:underline}.blog-content img{max-width:100%;height:auto;border-radius:8px;margin:1rem 0;border:1px solid var(--border-color);background-color:#fff}.blog-content pre{background-color:var(--code-bg-color);padding:1rem;border-radius:8px;overflow-x:auto;border:1px solid var(--border-color-strong)}.blog-content code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:.9em;color:var(--code-text-color)}@media (max-width: 768px){.blog-container{flex-direction:column}.sidebar{width:100%}}[data-footnote-ref]{vertical-align:super;font-size:.8em;line-height:1;text-decoration:none;color:var(--link-color);padding:0 .1em}[data-footnote-ref]:hover{text-decoration:underline}.footnotes-section{margin-top:4rem;padding-top:1rem;border-top:1px solid var(--border-color)}.footnotes-list{padding-left:20px;font-size:.9em;color:var(--secondary-text-color)}.footnotes-list li{margin-bottom:.5rem}[data-footnote-backref]{text-decoration:none;color:var(--link-color);margin-left:.5rem}[data-footnote-backref]:hover{text-decoration:underline}#tags-container{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.tag{background-color:var(--code-bg-color);color:var(--text-color-light);padding:.25rem .75rem;border-radius:12px;text-decoration:none;font-size:.85rem;transition:all .2s ease;border:1px solid var(--border-color)}.tag:hover,.tag.active{background-color:var(--accent-color);color:#fff;border-color:var(--accent-color-readable)}.books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.5rem;margin-top:2rem}.book-card{background-color:var(--card-bg-color);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;height:100%;position:relative}.book-card:hover{transform:translateY(-3px);border-color:var(--accent-color-readable);box-shadow:0 6px 15px #00000014}.book-cover-container{height:240px;width:100%;background-color:var(--card-bg-color);padding:1rem;display:flex;justify-content:center;align-items:center;flex-shrink:0;box-sizing:border-box}.book-cover{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 4px 6px #0003;transition:transform .2s ease}.book-card:hover .book-cover{transform:scale(1.03)}.book-info{padding:1rem;display:flex;flex-direction:column;flex-grow:1;text-align:center;border-top:1px solid var(--border-color);background-color:var(--card-bg-color);z-index:1}.book-rating{margin-bottom:.5rem;font-size:.9rem;letter-spacing:2px;color:#ffb400}.star-filled{color:#ffb400}.star-empty{color:#e0e0e0}.book-title-link{text-decoration:none;color:var(--text-color);display:block}.book-title{font-size:1rem;font-weight:600;margin:0 0 .5rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.book-title:hover{color:var(--accent-color)}.book-author{font-size:.85rem;color:var(--text-color-light);margin-top:auto;font-style:italic}.loading-indicator{grid-column:1 / -1;text-align:center;padding:2rem;color:var(--text-color-light)}@media (max-width: 600px){.books-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.book-cover-container{height:200px;padding:.5rem}}.sort-controls{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.sort-btn{background:none;border:1px solid transparent;color:var(--text-color-light);cursor:pointer;padding:.25rem 0;font-size:1rem;font-family:inherit;transition:all .2s ease;text-align:left}.sort-btn:hover{color:var(--accent-color)}.sort-btn.active{color:var(--accent-color);font-weight:700;border-left:2px solid var(--accent-color);padding-left:.5rem}.game-card{background-color:var(--card-bg-color);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,border-color .2s ease;height:100%;position:relative}.game-card:hover{transform:translateY(-3px);border-color:var(--accent-color-readable);box-shadow:0 4px 12px #0000001a}.game-cover-container{height:160px;background-color:#000;display:block;position:relative;overflow:hidden}.game-cover{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.game-card:hover .game-cover{transform:scale(1.05)}.game-info{padding:1rem;display:flex;flex-direction:column;flex-grow:1;border-top:1px solid var(--border-color)}.game-meta{font-size:.75rem;color:var(--text-color-light);margin-bottom:.25rem;display:flex;justify-content:space-between;align-items:center}.status-badge{font-size:.7rem;padding:2px 6px;border-radius:4px;font-weight:700;text-transform:uppercase}.status-playing{background-color:var(--accent-color);color:#fff}.status-beaten{background-color:#4caf50;color:#fff}.status-yet{background-color:var(--border-color-strong);color:var(--text-color)}.status-dropped{background-color:#e53935;color:#fff}.section-title{margin-top:3rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border-color);padding-bottom:.5rem;font-size:1.5rem}.nav-icon-joystick{transition:transform .2s ease}.menu-item:hover .nav-icon-joystick{transform:rotate(-10deg)}
