:root{--bg-primary:#f8fafc;--text-primary:#0f172a;--text-secondary:#475569;--text-light:#94a3b8;--card-bg:#fff;--card-border:#e2e8f0;--card-shadow:0 4px 6px -1px #0000000d, 0 2px 4px -2px #0000000d;--accent-color:#2563eb;--accent-hover:#1d4ed8;--nav-bg:#fffc;--nav-border:#e2e8f0}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,Noto Sans SC,sans-serif;font-size:15px;line-height:1.6}.header{background-color:var(--card-bg);border-bottom:1px solid var(--nav-border);position:static}.nav-container{justify-content:space-between;align-items:center;max-width:1000px;height:52px;margin:0 auto;padding:0 20px;display:flex}.logo{color:var(--accent-color);letter-spacing:-.025em;font-size:18px;font-weight:700;text-decoration:none;transition:color .2s}.logo:hover{color:var(--accent-hover)}.lang-nav{position:relative;overflow:visible}.lang-list-wrapper{border:1px solid var(--card-border);background-color:#f1f5f9;border-radius:6px;max-height:36px;padding:3px 6px;transition:max-height .25s cubic-bezier(.4,0,.2,1),background-color .2s,box-shadow .25s;overflow:hidden}.lang-list-wrapper:hover{background-color:#fff;max-height:300px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.lang-list{flex-wrap:wrap;align-items:center;gap:2px 8px;display:flex}.lang-item{color:var(--text-secondary);white-space:nowrap;border-radius:4px;padding:3px 6px;font-size:14px;text-decoration:none;transition:all .2s}.lang-item:hover{color:var(--accent-color);background-color:#eff6ff}.lang-item.active{color:var(--accent-color);background-color:#eff6ff;font-weight:600}@media (width<=640px){.lang-nav{display:none}}.main-content{max-width:900px;margin:32px auto;padding:0 20px}.page-title{color:var(--text-primary);letter-spacing:-.025em;margin-bottom:24px;font-size:26px;font-weight:700}.cards-list{flex-direction:column;gap:20px;display:flex}.software-card{background-color:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--card-shadow);border-radius:12px;flex-direction:column;gap:10px;padding:20px;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);display:flex}.software-card:hover{transform:translateY(-2px);box-shadow:0 20px 25px -5px #0000000d,0 8px 10px -6px #00000008}.card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.card-title{letter-spacing:-.0125em;font-size:19px;font-weight:600}.card-title a{color:var(--text-primary);text-decoration:none;transition:color .2s}.card-title a:hover{color:var(--accent-color)}.visit-btn{color:#fff;background-color:var(--accent-color);border-radius:6px;justify-content:center;align-items:center;padding:6px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .2s,transform .1s;display:inline-flex}.visit-btn:hover{background-color:var(--accent-hover)}.visit-btn:active{transform:scale(.98)}.tags-container{flex-wrap:wrap;gap:4px;display:flex}.tag{color:#475569;background-color:#f1f5f9;border-radius:4px;padding:3px 7px;font-size:12.5px;font-weight:500;transition:background-color .2s}.tag:hover{background-color:#e2e8f0}.tag.free{color:#166534;background-color:#f0fdf4}.tag.free:hover{background-color:#dcfce7}.tag.open-source{color:#075985;background-color:#f0f9ff}.tag.open-source:hover{background-color:#e0f2fe}.description{color:var(--text-secondary);font-size:15px;line-height:1.6}.description a{color:var(--accent-color);font-weight:500;text-decoration:underline;transition:color .2s}.description a:hover{color:var(--accent-hover)}.ad-wrapper{border-radius:8px;margin:24px 0;overflow:hidden}.footer{border-top:1px solid var(--card-border);text-align:center;margin-top:48px;padding:32px 0 40px}.footer-links{flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:12px;display:flex}.footer-link{color:var(--text-secondary);font-size:14px;text-decoration:none;transition:color .2s}.footer-link:hover{color:var(--accent-color)}.copyright{color:var(--text-light);font-size:13px}
