*{margin:0;padding:0;box-sizing:border-box}

body{
font-family:-apple-system,'SF Pro Display','SF Pro Text',system-ui,sans-serif;
background:#f5f5f7;color:#1d1d1f;
-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
min-height:100vh;line-height:1.4}

.page{max-width:500px;margin:0 auto;padding:0 16px 40px}

.source-header{position:relative;text-align:center;padding:48px 16px 40px;margin:0 -16px 20px;border-radius:0 0 32px 32px;overflow:hidden}

.source-header::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 50%,rgba(255,255,255,0.12) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(255,255,255,0.08) 0%,transparent 50%);pointer-events:none}

.source-header-content{position:relative;z-index:1}

.source-icon{width:88px;height:88px;border-radius:22px;margin-bottom:16px;box-shadow:0 8px 32px rgba(0,0,0,0.3);transition:transform 0.3s ease,box-shadow 0.3s ease}
.source-icon:hover{transform:scale(1.05);box-shadow:0 12px 40px rgba(0,0,0,0.4)}

.source-name{font-size:28px;font-weight:700;color:#fff;margin-bottom:4px;letter-spacing:-0.02em}
.source-subtitle{font-size:15px;color:rgba(255,255,255,0.85);margin-bottom:6px;font-weight:500}
.source-description{font-size:14px;color:rgba(255,255,255,0.75);max-width:300px;margin:0 auto 20px;line-height:1.5}

.source-website{display:inline-block;font-size:13px;font-weight:600;color:#fff;padding:8px 22px;border-radius:20px;background:rgba(255,255,255,0.2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.15);text-decoration:none;transition:all 0.2s}
.source-website:hover{background:rgba(255,255,255,0.3);transform:translateY(-1px)}

.section-title{font-size:22px;font-weight:700;margin:28px 0 14px 4px;letter-spacing:-0.02em;color:#1d1d1f}
.app-list{display:flex;flex-direction:column;gap:12px}

.app-card{display:flex;align-items:center;padding:16px;border-radius:16px;
text-decoration:none;transition:all 0.2s ease;background:#fff;
box-shadow:0 1px 3px rgba(0,0,0,0.06);border:1px solid rgba(0,0,0,0.04)}
.app-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.1)}
.app-card:active{transform:translateY(0) scale(0.98)}

.app-icon{width:60px;height:60px;border-radius:14px;margin-right:14px;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,0.1)}

.app-info{flex:1;min-width:0}
.app-name{font-size:16px;font-weight:600;margin-bottom:2px}
.app-subtitle{font-size:13px;margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-developer{font-size:12px;opacity:.5}
.app-version{font-size:12px;font-weight:600;white-space:nowrap;padding:4px 10px;border-radius:10px;margin-left:10px;flex-shrink:0}
.app-version-badge{display:inline-block;font-size:11px;font-weight:600;padding:3px 8px;border-radius:8px;background:rgba(0,123,255,0.1);color:#007bff}

.news-section{display:flex;flex-direction:column;gap:10px}

.news-card{padding:16px;border-radius:14px;transition:all 0.2s ease;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,0.06);border:1px solid rgba(0,0,0,0.04)}
.news-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,0.08)}
.news-card.colored{position:relative;overflow:hidden}
.news-card.colored::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,0.1) 0%,transparent 60%);pointer-events:none}

.news-title{font-size:15px;font-weight:600;margin-bottom:4px}
.news-caption{font-size:13px;line-height:1.4;opacity:.8;margin-bottom:0}
.news-date{font-size:11px;opacity:.5;margin-top:8px}

.app-card.default{background:#fff;color:#1d1d1f;border:1px solid rgba(0,0,0,0.04)}
.app-card.default .app-name{color:#1d1d1f}
.app-card.default .app-subtitle{color:#86868b}
.app-card.default .app-developer{color:#aeaeb2}
.app-card.default .app-version{background:rgba(0,123,255,0.07);color:#007bff}

.news-card.default{background:#fff;color:#1d1d1f;border:1px solid rgba(0,0,0,0.04)}
.news-card.default .news-title{color:#1d1d1f}
.news-card.default .news-caption{color:#6e6e73}
.news-card.default .news-date{color:#aeaeb2}

.mode-bar{display:flex;justify-content:center;gap:4px;margin:16px -16px 0;padding:8px 16px;background:rgba(120,120,128,0.12);border-bottom:1px solid rgba(0,0,0,0.06);border-top:1px solid rgba(0,0,0,0.06)}
.mode-btn{flex:1;text-align:center;padding:7px 12px;border-radius:8px;font-size:13px;font-weight:600;color:#8e8e93;text-decoration:none;transition:all 0.25s ease}
.mode-btn:hover{color:#1d1d1f}
.mode-active{background:#fff;color:#1d1d1f!important;box-shadow:0 1px 3px rgba(0,0,0,0.08);cursor:default}

@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideIn{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}
@keyframes scaleIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}

.app-card,.news-card{animation:fadeUp .4s ease both}
.app-card:nth-child(1){animation-delay:.05s}
.app-card:nth-child(2){animation-delay:.1s}
.app-card:nth-child(3){animation-delay:.15s}
.app-card:nth-child(4){animation-delay:.2s}
.app-card:nth-child(5){animation-delay:.25s}
.app-card:nth-child(6){animation-delay:.3s}

.page-detail{animation:slideIn .35s ease both}
.page-detail .back-btn{animation:fadeUp .3s ease both;animation-delay:.05s}
.page-detail .detail-header{animation:fadeUp .35s ease both;animation-delay:.1s}
.page-detail .whats-new{animation:scaleIn .35s ease both;animation-delay:.15s}
.page-detail .section-title{animation:fadeUp .3s ease both;animation-delay:.2s}
.page-detail .version-card{animation:fadeUp .35s ease both}
.page-detail .version-card:nth-child(1){animation-delay:.2s}
.page-detail .version-card:nth-child(2){animation-delay:.27s}
.page-detail .version-card:nth-child(3){animation-delay:.34s}
.page-detail .version-card:nth-child(4){animation-delay:.41s}
.page-detail .version-card:nth-child(5){animation-delay:.48s}

.back-btn{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:500;color:var(--tint);text-decoration:none;padding:8px 0;margin-bottom:8px;transition:opacity .2s}
.back-btn:hover{opacity:.7}

.detail-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.detail-icon{width:72px;height:72px;border-radius:18px;
box-shadow:0 4px 16px rgba(0,0,0,0.15);flex-shrink:0}
.detail-info{flex:1}
.detail-name{font-size:22px;font-weight:700;margin-bottom:2px}
.detail-developer{font-size:14px;opacity:.5;margin-bottom:4px}
.detail-subtitle{font-size:13px;color:#86868b}

.whats-new{background:#fff;border-radius:16px;padding:20px;margin-bottom:20px;border:1px solid rgba(0,0,0,0.04);box-shadow:0 1px 3px rgba(0,0,0,0.06)}
.whats-new-title{font-size:18px;font-weight:700;margin-bottom:4px;color:#1d1d1f}
.whats-new-version{font-size:13px;color:#86868b;margin-bottom:10px}
.whats-new-text{font-size:14px;line-height:1.6;color:#1d1d1f;white-space:pre-wrap}

.version-history{display:flex;flex-direction:column;gap:10px}
.version-card{background:#fff;border-radius:14px;padding:16px;border:1px solid rgba(0,0,0,0.04);box-shadow:0 1px 3px rgba(0,0,0,0.06);transition:all 0.2s ease}
.version-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,0.08)}

.version-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.version-number{font-size:15px;font-weight:600;color:#1d1d1f}
.version-build{font-size:11px;color:#aeaeb2;margin-left:6px;font-weight:400}
.version-meta{font-size:12px;color:#86868b}
.version-notes{font-size:14px;line-height:1.5;color:#1d1d1f;margin-top:8px;padding-top:8px;border-top:1px solid rgba(0,0,0,0.06);white-space:pre-wrap}
.size-tag{font-size:11px;color:#86868b;margin-left:8px}

@media(max-width:500px){
.source-header{border-radius:0;padding:40px 16px 36px}}

@media(prefers-color-scheme:dark){
body{background:#000;color:#f5f5f7}
.page{background:#000}
.section-title{color:#f5f5f7}
.app-card,.news-card{background:#1c1c1e;border-color:rgba(255,255,255,0.06);box-shadow:none}
.app-card:hover{box-shadow:0 8px 24px rgba(0,0,0,0.4)}
.news-card:hover{box-shadow:0 4px 16px rgba(0,0,0,0.4)}
.app-card.default,.news-card.default{background:#1c1c1e;border-color:rgba(255,255,255,0.06)}
.app-card.default .app-name{color:#f5f5f7}
.app-card.default .app-subtitle{color:#98989d}
.app-card.default .app-developer{color:#636366}
.news-card.default .news-title{color:#f5f5f7}
.news-card.default .news-caption{color:#98989d}
.news-card.default .news-date{color:#636366}
.app-icon{box-shadow:0 2px 8px rgba(0,0,0,0.3)}
.source-header::before{background:radial-gradient(circle at 30% 50%,rgba(255,255,255,0.06) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(255,255,255,0.04) 0%,transparent 50%)}
.whats-new,.version-card{background:#1c1c1e;border-color:rgba(255,255,255,0.06);box-shadow:none}
.whats-new-title,.version-number,.whats-new-text,.version-notes{color:#f5f5f7}
.whats-new-version{color:#98989d}
.version-meta{color:#98989d}
.version-build{color:#636366}
.detail-subtitle{color:#98989d}
.version-notes{border-top-color:rgba(255,255,255,0.08)}
.size-tag{color:#636366}
.mode-bar{background:rgba(118,118,128,0.15);margin:16px -16px 0;padding:8px 16px;border-bottom:1px solid rgba(255,255,255,0.06);border-top:1px solid rgba(255,255,255,0.06)}
.mode-btn{color:#636366}
.mode-btn:hover{color:#f5f5f7}
.mode-active{background:#2c2c2e!important;color:#f5f5f7!important}
}