:root{--bg: #f5f5f5;--bg-card: #fff;--bg-card-alt: #fafafa;--bg-featured: #f0f8ff;--text: #333;--text-muted: #555;--text-meta: #777;--primary: #06c;--primary-hover: #0052a3;--border: #ddd;--border-featured: #06c;--shadow: 0 4px 12px rgb(0 0 0 / 10%);--error-bg: #ffebee;--error-border: #ef5350;--error-title: #c62828;--error-text: #d32f2f;--badge-bg: #06c;--badge-text: #fff;--radius: 8px}@media(prefers-color-scheme:dark){:root{--bg: #111827;--bg-card: #1e293b;--bg-card-alt: #1e293b;--bg-featured: #172337;--text: #f0f4f8;--text-muted: #94a3b8;--text-meta: #94a3b8;--primary: #60a5fa;--primary-hover: #93c5fd;--border: #2d3f52;--border-featured: #60a5fa;--shadow: 0 4px 12px rgb(0 0 0 / 30%);--error-bg: #2d1b1b;--error-border: #f66;--error-title: #f87171;--error-text: #fca5a5;--badge-bg: #2563eb;--badge-text: #fff}}[data-theme=light]{--bg: #f5f5f5;--bg-card: #fff;--bg-card-alt: #fafafa;--bg-featured: #f0f8ff;--text: #333;--text-muted: #555;--text-meta: #777;--primary: #06c;--primary-hover: #0052a3;--border: #ddd;--border-featured: #06c;--shadow: 0 4px 12px rgb(0 0 0 / 10%);--error-bg: #ffebee;--error-border: #ef5350;--error-title: #c62828;--error-text: #d32f2f;--badge-bg: #06c;--badge-text: #fff}[data-theme=dark]{--bg: #111827;--bg-card: #1e293b;--bg-card-alt: #1e293b;--bg-featured: #172337;--text: #f0f4f8;--text-muted: #94a3b8;--text-meta: #94a3b8;--primary: #60a5fa;--primary-hover: #93c5fd;--border: #2d3f52;--border-featured: #60a5fa;--shadow: 0 4px 12px rgb(0 0 0 / 30%);--error-bg: #2d1b1b;--error-border: #f66;--error-title: #f87171;--error-text: #fca5a5;--badge-bg: #2563eb;--badge-text: #fff}.theme-toggle{position:absolute;top:1rem;right:1rem;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;background:none;border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:1.2rem;color:var(--text);transition:border-color .2s ease,background-color .2s ease}.theme-toggle:hover,.theme-toggle:focus{background-color:var(--border)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.skip-link{position:absolute;top:-100px;left:0;background:var(--primary);color:#fff;padding:8px;text-decoration:none;z-index:100}.skip-link:focus{top:0}*:focus-visible{outline:2px solid var(--primary);outline-offset:2px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:16px;line-height:1.6;color:var(--text);background-color:var(--bg);padding:1rem;max-width:1200px;margin:0 auto;transition:background-color .3s,color .3s}header{text-align:center;padding:2rem 1rem;background-color:var(--bg-card);border-radius:var(--radius);margin-bottom:2rem;position:relative}header h1{font-size:2rem;color:var(--primary)}main{background-color:var(--bg-card);padding:1.5rem;border-radius:var(--radius);margin-bottom:2rem}.subpage-card{border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem;background-color:var(--bg-card-alt);transition:transform .2s,box-shadow .2s,background-color .3s}.subpage-card:hover,.subpage-card:focus-within{transform:translateY(-2px);box-shadow:var(--shadow)}.subpage-card h2{font-size:1.5rem;margin-bottom:.5rem;overflow-wrap:break-word;word-break:break-word}.subpage-card h2 a{color:var(--primary);text-decoration:none;min-height:44px;min-width:44px;display:inline-block}.subpage-card h2 a:hover,.subpage-card h2 a:focus{text-decoration:underline;color:var(--primary-hover);outline:2px solid var(--primary);outline-offset:2px}.subpage-card p{color:var(--text-muted);margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.subpage-card p.expanded{display:block;-webkit-line-clamp:unset;overflow:visible}.read-more-btn{background:none;border:none;color:var(--primary);cursor:pointer;font-size:.875rem;padding:0;margin-bottom:1rem;min-height:44px;display:inline-flex;align-items:center}.read-more-btn:hover,.read-more-btn:focus{color:var(--primary-hover);text-decoration:underline}.subpage-card .meta{font-size:.875rem;color:var(--text-meta);display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.subpage-card.featured{border:2px solid var(--border-featured);background-color:var(--bg-featured)}.tech-badge{display:inline-block;background-color:var(--badge-bg);color:var(--badge-text);padding:.25rem .75rem;border-radius:4px;font-size:.875rem;margin-right:.5rem}footer{text-align:center;padding:1rem;color:var(--text-meta);font-size:.875rem}.site-changelog-btn{margin-top:.5rem}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-meta);font-size:1.125rem}.error{background-color:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius);padding:2rem;margin:2rem 0;text-align:center}.error h2{color:var(--error-title);margin-bottom:1rem}.error p{color:var(--error-text)}@media(min-width:768px){header h1{font-size:3rem}.subpage-card,body{padding:2rem}}.changelog-btn{background:none;border:1px solid var(--border);color:var(--primary);cursor:pointer;font-size:.875rem;padding:.375rem .75rem;margin-top:.75rem;min-height:44px;border-radius:4px;display:inline-flex;align-items:center;transition:background-color .2s,border-color .2s}.changelog-btn:hover,.changelog-btn:focus{background-color:var(--border);border-color:var(--primary)}#changelog-dialog{border:1px solid var(--border);border-radius:var(--radius);background-color:var(--bg-card);color:var(--text);padding:0;max-width:600px;width:90%;max-height:80vh;margin:auto;box-shadow:var(--shadow);overflow:hidden}#changelog-dialog::backdrop{background:#0000007f}.changelog-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border)}.changelog-header h2{font-size:1.25rem;color:var(--primary);margin:0}.changelog-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px}.changelog-close:hover,.changelog-close:focus{color:var(--text);background-color:var(--border)}.changelog-body{padding:1rem 1.5rem;overflow-y:auto;max-height:calc(80vh - 4rem)}.changelog-entry{margin-bottom:1.25rem}.changelog-entry:last-child{margin-bottom:0}.changelog-entry h3{font-size:1rem;color:var(--text);margin-bottom:.5rem;font-weight:600}.changelog-entry ul{list-style:disc;padding-left:1.25rem;margin:0}.changelog-entry li{color:var(--text-muted);font-size:.875rem;line-height:1.6;margin-bottom:.25rem}.changelog-empty,.changelog-error{color:var(--text-meta);text-align:center;padding:1rem 0}
