:root{--bg: #f7f7fb;--card: #ffffff;--border: #ececf2;--text: #1c1c2e;--muted: #6b6b80;--accent: #6c5ce7;--accent-2: #e84393;--hero-a: #2d2b6b;--hero-b: #a855f7;--radius: 16px;--shadow: 0 1px 2px rgba(30, 30, 60, .05), 0 8px 24px rgba(30, 30, 60, .06);--shadow-hover: 0 2px 4px rgba(30, 30, 60, .06), 0 16px 40px rgba(30, 30, 60, .12)}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button{font-family:inherit}input,textarea,select{font-family:inherit;font-size:14px}.app{min-height:100vh;display:flex;flex-direction:column}.main{flex:1}.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:baseline;gap:8px;font-size:22px;font-weight:800;background:linear-gradient(120deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.brand-sub{font-size:12px;font-weight:500;background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--muted)}.nav-links{display:flex;gap:4px}.nav-links a{padding:8px 14px;border-radius:999px;font-size:14px;color:var(--muted);transition:all .15s}.nav-links a:hover{background:#f0f0f7;color:var(--text)}.nav-links a.active{background:var(--accent);color:#fff}.container{max-width:1100px;margin:0 auto;padding:28px 20px 56px}.footer{text-align:center;padding:28px;color:var(--muted);font-size:13px;border-top:1px solid var(--border);background:#fff}.hero{position:relative;overflow:hidden;border-radius:24px;padding:48px 36px;margin-bottom:28px;color:#fff;background:linear-gradient(135deg,var(--hero-a) 0%,var(--accent) 55%,var(--hero-b) 100%)}.hero:after{content:"♪ ♫ ♬ ♪";position:absolute;right:-20px;bottom:-30px;font-size:120px;opacity:.12;letter-spacing:10px}.hero h1{margin:0 0 10px;font-size:38px;font-weight:900;letter-spacing:1px}.hero p{margin:0;max-width:560px;opacity:.92;font-size:16px}.hero .cta-row{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--text);font-size:14px;cursor:pointer;transition:all .15s}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-hover)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:#5b4fd8}.btn.pink{background:var(--accent-2);border-color:var(--accent-2);color:#fff}.btn.ghost{background:transparent;border-color:#ffffff80;color:#fff}.btn.ghost:hover{background:#ffffff26;box-shadow:none}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.section-title{display:flex;align-items:center;justify-content:space-between;margin:28px 0 14px}.section-title h2{margin:0;font-size:20px}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;padding:14px 16px;margin-bottom:20px;align-items:center}.filter-bar select,.filter-bar input{padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);outline:none}.filter-bar select:focus,.filter-bar input:focus{border-color:var(--accent)}.filter-bar .search-input{flex:1;min-width:160px}.filter-bar label{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:6px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.artist-card{display:block;padding:20px;transition:all .18s;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}.artist-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:#dcd6ff}.artist-avatar{width:64px;height:64px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:34px;margin-bottom:14px;background:linear-gradient(135deg,#eef2ff,#fdf2f8)}.artist-name{margin:0;font-size:19px;font-weight:800}.artist-tags{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px}.artist-meta{margin-top:12px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:13px}.artist-rating{color:#d97706;font-weight:700}.badge{font-size:12px;padding:2px 10px;border-radius:999px;background:#f0f0f7;color:var(--muted)}.badge.pop{background:#fdf2f8;color:var(--accent-2)}.badge.genre{background:#eef2ff;color:var(--accent)}.badge.era{background:#ecfdf5;color:#059669}.badge.rate{background:#fffbeb;color:#d97706}.artist-hero{position:relative;overflow:hidden;border-radius:24px;padding:36px;color:#fff;background:linear-gradient(135deg,#2d2b6b,#6c5ce7 60%,#a855f7);margin-bottom:20px}.artist-hero .avatar{width:96px;height:96px;border-radius:26px;display:flex;align-items:center;justify-content:center;font-size:54px;background:#ffffff2e;margin-bottom:16px}.artist-hero h1{margin:0 0 4px;font-size:34px;font-weight:900}.artist-hero .byline{opacity:.85;font-size:13px;margin-bottom:10px}.artist-hero .intro{max-width:640px;margin:12px 0;opacity:.95}.artist-hero .badges{display:flex;flex-wrap:wrap;gap:8px}.artist-hero .like-row{display:flex;align-items:center;gap:12px;margin-top:18px}.like-btn{border:none;border-radius:999px;padding:9px 20px;font-size:15px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;background:#ffffff38;color:#fff;transition:all .15s}.like-btn:hover{background:#ffffff57}.like-btn.liked{background:var(--accent-2)}.tabs{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}.tabs button{padding:8px 18px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--muted);cursor:pointer;font-size:14px}.tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.list-card{padding:18px 20px;margin-bottom:12px}.list-card h3{margin:0 0 6px;font-size:17px}.list-card .meta{font-size:12px;color:var(--muted);margin-bottom:8px}.list-card .body{white-space:pre-wrap;word-break:break-word;color:#3f3f56}.list-card .cat{font-size:12px}.ppt-chip{display:inline-flex;align-items:center;gap:6px;margin-left:8px;background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#fff;font-size:11px;padding:2px 10px;border-radius:999px}.comment-box{padding:18px 20px;margin-bottom:12px}.comment-box .row{display:flex;gap:10px;margin-bottom:10px}.comment-box input{flex:1}.comment-item{padding:14px 0;border-bottom:1px solid var(--border)}.comment-item:last-child{border-bottom:none}.comment-item .nick{font-weight:700;font-size:14px}.comment-item .time{font-size:12px;color:var(--muted);margin-left:8px}.comment-item .text{margin-top:4px;white-space:pre-wrap;word-break:break-word}.form-card{padding:28px;max-width:640px;margin:0 auto}.form-card h2{margin-top:0}.field{margin-bottom:16px}.field label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.field input,.field textarea,.field select{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:12px;background:#fff;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent)}.field textarea{resize:vertical}.field .hint{font-size:12px;color:var(--muted);margin-top:4px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}input[type=range]{padding:0;accent-color:var(--accent)}.rating-display{font-weight:700;color:#d97706}.ppt-layout{display:grid;grid-template-columns:200px 1fr;gap:16px;align-items:start}.slide-list{display:flex;flex-direction:column;gap:8px}.slide-thumb{padding:10px;border:2px solid var(--border);border-radius:10px;cursor:pointer;font-size:12px;color:var(--muted);background:#fff;text-align:left;min-height:48px}.slide-thumb.active{border-color:var(--accent);color:var(--text)}.slide-thumb .num{font-weight:700;color:var(--accent)}.slide-edit{padding:20px}.slide-edit input,.slide-edit textarea{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:10px;margin-bottom:12px;outline:none}.slide-edit textarea{min-height:120px;resize:vertical}.color-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.color-swatch{width:34px;height:34px;border-radius:10px;cursor:pointer;border:2px solid transparent}.color-swatch.active{border-color:#fff;outline:2px solid var(--accent)}.ppt-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0f0f1eb3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px}.ppt-stage{width:min(860px,100%);aspect-ratio:16 / 9;border-radius:20px;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;position:relative;box-shadow:0 24px 80px #00000080;animation:pop .25s ease}@keyframes pop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.ppt-stage .slide-emoji{font-size:64px;margin-bottom:16px}.ppt-stage h2{margin:0 0 12px;font-size:34px}.ppt-stage p{margin:0;max-width:620px;font-size:18px;opacity:.95;white-space:pre-wrap}.ppt-stage .counter{position:absolute;top:16px;right:20px;font-size:14px;opacity:.7}.ppt-nav{position:absolute;top:50%;transform:translateY(-50%);font-size:28px;opacity:.7}.ppt-nav.prev{left:-56px}.ppt-nav.next{right:-56px}.ppt-nav:hover{opacity:1}.ppt-close{position:absolute;top:-48px;right:0;font-size:16px}.news-strip{padding:18px 20px;margin-bottom:20px}.news-item{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--border);align-items:flex-start}.news-item:last-child{border-bottom:none}.news-item .icon{font-size:20px;flex-shrink:0}.news-item .body{flex:1}.news-item .title{font-weight:700}.news-item .content{font-size:13px;color:var(--muted)}.news-item .time{font-size:12px;color:var(--muted)}.empty-state{text-align:center;padding:48px 20px;color:var(--muted)}.empty-state .big{font-size:40px;margin-bottom:10px}.banner.error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:10px 16px;border-radius:12px;margin-bottom:16px}.banner.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d;padding:10px 16px;border-radius:12px;margin-bottom:16px}@media(max-width:640px){.nav{padding:10px 14px}.brand{font-size:18px}.brand-sub{display:none}.nav-links a{padding:6px 10px;font-size:13px}.hero{padding:32px 22px}.hero h1{font-size:28px}.form-row,.ppt-layout{grid-template-columns:1fr}.ppt-nav.prev{left:8px}.ppt-nav.next{right:8px}}
