.hljs{display:block;overflow-x:auto;padding:1em;color:#24292e;background:#f6f8fa}.hljs-comment,.hljs-quote{color:#6a737d;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#d73a49}.hljs-number,.hljs-literal,.hljs-variable,.hljs-template-variable,.hljs-tag .hljs-attr{color:#005cc5}.hljs-string,.hljs-doctag{color:#0a7e0c}.hljs-title,.hljs-section,.hljs-selector-id{color:#6f42c1;font-weight:600}.hljs-type,.hljs-class .hljs-title{color:#e36209}.hljs-tag,.hljs-name,.hljs-attribute{color:#22863a}.hljs-regexp,.hljs-link{color:#032f62}.hljs-symbol,.hljs-bullet{color:#e36209}.hljs-built_in,.hljs-builtin-name{color:#005cc5}.hljs-meta{color:#6a737d}.hljs-deletion{background:#ffeef0}.hljs-addition{background:#f0fff4}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:600}:root{--bg-start: #f7ecff;--bg-end: #e3f2ff;--card-bg: rgba(255, 255, 255, .86);--card-border: rgba(255, 154, 203, .35);--text: #3d3550;--text-2: #7a6f8f;--title: #ff8ac2;--accent: #b38cff;--accent-2: #7cc4ff;--shadow: 0 8px 30px rgba(178, 140, 255, .16);--code-bg: #f6f8fa}html[data-theme=dark]{--bg-start: #12101f;--bg-end: #1b1830;--card-bg: rgba(34, 30, 55, .86);--card-border: rgba(255, 150, 200, .2);--text: #e6e3f5;--text-2: #9b94b8;--accent: #c9a3ff;--shadow: 0 8px 30px rgba(0, 0, 0, .4);--code-bg: #1e1c30}*{box-sizing:border-box;margin:0;padding:0}body{font-family:PingFang SC,Microsoft YaHei,Segoe UI,sans-serif;color:var(--text);background:linear-gradient(135deg,var(--bg-start),var(--bg-end));background-attachment:fixed;min-height:100vh;transition:background .5s,color .3s;overflow-x:hidden}a{color:var(--accent);text-decoration:none}a:hover{color:var(--title)}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit;font-size:.95rem;color:var(--text);background:#ffffffb3;border:1px solid rgba(255,154,203,.4);border-radius:10px;padding:10px 14px;outline:none;transition:box-shadow .2s,border-color .2s}html[data-theme=dark] input,html[data-theme=dark] textarea,html[data-theme=dark] select{background:#1e1a30e6;color:var(--text)}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b38cff33}.app{max-width:1180px;margin:0 auto;padding:0 18px 40px}.progress-bar{position:fixed;top:0;left:0;right:0;height:3px;z-index:999}.progress-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--title),var(--accent),var(--accent-2));transition:width .1s}.theme-toggle{position:fixed;top:16px;right:20px;z-index:50;width:42px;height:42px;border-radius:50%;border:none;font-size:20px;background:var(--card-bg);box-shadow:var(--shadow);transition:transform .3s}.theme-toggle:hover{transform:rotate(30deg) scale(1.1)}.back-top{position:fixed;right:24px;bottom:36px;z-index:40;width:46px;height:46px;border-radius:50%;border:none;font-size:20px;background:var(--card-bg);box-shadow:var(--shadow);opacity:0;transform:translateY(20px);pointer-events:none;transition:all .3s}.back-top.show{opacity:1;transform:none;pointer-events:auto}.mascot{position:fixed;right:20px;bottom:90px;z-index:60;cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .4s}.mascot.hidden{opacity:0;pointer-events:none}.mascot-bubble{position:absolute;bottom:92px;right:0;width:200px;background:var(--card-bg);border:2px solid var(--card-border);border-radius:14px;padding:10px 12px;font-size:.85rem;box-shadow:var(--shadow);animation:pop .3s}.mascot-arrow{position:absolute;right:30px;bottom:-12px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:12px solid var(--card-border)}.mascot-body{width:74px;height:96px;position:relative;animation:floaty 3s ease-in-out infinite}.mascot-head{width:62px;height:60px;border-radius:50%/58% 58% 42% 42%;background:linear-gradient(160deg,#ffd6e0,#ffb8cd);position:absolute;top:0;left:6px;z-index:2}.mascot-hair{position:absolute;width:66px;height:46px;top:6px;left:4px;background:#ff9ec2;border-radius:52% 52% 42% 42%;z-index:1}.mascot-eye{position:absolute;top:26px;width:9px;height:12px;background:#4a3240;border-radius:50%}.mascot-eye.left{left:16px}.mascot-eye.right{right:16px}.mascot-mouth{position:absolute;top:42px;left:27px;width:10px;height:7px;border-bottom:2.5px solid #4a3240;border-radius:0 0 12px 12px}.mascot-blush{position:absolute;top:34px;width:9px;height:5px;border-radius:50%;background:#ff78a080}.mascot-blush.left{left:8px}.mascot-blush.right{right:8px}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.click-emoji{position:fixed;pointer-events:none;z-index:9999;animation:floatUp 1s ease-out forwards}@keyframes floatUp{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-70px) scale(1.3)}}#sakura{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9998}.header{padding:18px 0 4px;position:relative}.announce{background:linear-gradient(90deg,#ff9acb2e,#b38cff2e);border:1px solid var(--card-border);border-radius:12px;padding:8px 18px;margin-bottom:14px;font-size:.92rem;text-align:center}.announce-star{display:inline-block;animation:spinSlow 6s linear infinite;margin-right:6px}@keyframes spinSlow{to{transform:rotate(360deg)}}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--card-border);border-radius:18px;padding:14px 24px;box-shadow:var(--shadow)}.logo{display:flex;align-items:center;gap:10px;font-size:1.35rem;font-weight:800}.logo-icon{font-size:1.8rem;animation:spinSlow 12s linear infinite;display:inline-block}.logo-text{background:linear-gradient(90deg,var(--title),var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.nav{display:flex;gap:6px;flex-wrap:wrap}.nav-link{padding:8px 14px;border-radius:999px;color:var(--text-2);font-weight:600;transition:all .25s}.nav-link:hover{background:linear-gradient(90deg,var(--title),var(--accent));color:#fff;transform:translateY(-2px)}.search-btn{display:flex;align-items:center;gap:6px;background:#ffffff80;border:1px solid var(--card-border);border-radius:999px;padding:8px 16px;font-size:.95rem;transition:all .2s}html[data-theme=dark] .search-btn{background:#1e1a30b3}.search-btn:hover{border-color:var(--accent);box-shadow:0 0 12px #b38cff4d}.search-kbd{font-size:.72rem;background:var(--accent);color:#fff;padding:2px 7px;border-radius:6px}.typing-line{margin-top:12px;font-size:.98rem;color:var(--text-2);min-height:24px;padding-left:4px}.typing-cursor{display:inline-block;width:8px;height:1.1em;background:var(--title);vertical-align:text-bottom;margin-right:6px;animation:blink .9s steps(2) infinite}@keyframes blink{50%{opacity:0}}.layout{display:grid;grid-template-columns:1fr 320px;gap:22px;margin-top:20px;align-items:start}.main{min-width:0}.sidebar{position:sticky;top:16px;display:flex;flex-direction:column;gap:16px}.page{display:flex;flex-direction:column;gap:18px}.page-title{background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px;padding:18px 22px;box-shadow:var(--shadow)}.page-title h1{font-size:1.5rem;background:linear-gradient(90deg,var(--title),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.page-title p{color:var(--text-2);margin-top:4px;font-size:.9rem}.loading,.empty{text-align:center;color:var(--text-2);padding:30px 0;font-size:1rem}.empty a{text-decoration:underline}.widget{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--card-border);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow)}.widget-title{font-weight:800;font-size:.98rem;margin-bottom:12px;padding-bottom:8px;border-bottom:2px dashed rgba(255,154,203,.4)}.widget-loading{color:var(--text-2);font-size:.9rem}.avatar-card{text-align:center}.avatar{width:86px;height:86px;border-radius:50%;border:3px solid var(--title);overflow:hidden;padding:0;background:#fff;transition:transform .4s}.avatar:hover{transform:rotate(10deg) scale(1.06)}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-name{font-weight:800;margin-top:10px;font-size:1.1rem}.avatar-desc{color:var(--text-2);font-size:.85rem;margin-top:6px;line-height:1.6}.avatar-links{display:flex;justify-content:center;gap:14px;margin-top:12px;font-size:1.3rem}.avatar-links a{transition:transform .2s;display:inline-block}.avatar-links a:hover{transform:translateY(-3px) scale(1.2)}.clock-time{font-size:2rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:2px}.clock-date{color:var(--text-2);margin-top:4px;font-size:.9rem}.clock-greet{margin-top:6px;font-size:.85rem;color:var(--accent)}.hitokoto-text{line-height:1.8;font-size:.95rem;cursor:pointer}.hitokoto-from{text-align:right;color:var(--text-2);font-size:.82rem;margin-top:8px}.weather-body{display:flex;align-items:center;gap:12px}.weather-icon{font-size:2.4rem}.weather-temp{font-size:1.5rem;font-weight:800}.weather-desc{color:var(--text-2);font-size:.85rem}.music-body{display:flex;align-items:center;gap:12px;cursor:pointer}.music-cover{font-size:2.4rem}.music-cover .spin{display:inline-block;animation:spinSpeed 2s linear infinite}@keyframes spinSpeed{to{transform:rotate(360deg)}}.music-info{flex:1}.music-bars{display:flex;align-items:flex-end;gap:2px;height:34px}.bar{width:4px;background:linear-gradient(180deg,var(--title),var(--accent));border-radius:2px;transition:height .15s}.music-track{font-size:.82rem;color:var(--text-2);margin-top:6px}.music-empty{color:var(--text-2);font-size:.85rem}.cat-widget ul{list-style:none}.cat-link{display:flex;justify-content:space-between;padding:8px 6px;border-radius:8px;transition:background .2s}.cat-link:hover{background:#ff9acb1f}.cat-count{background:var(--accent);color:#fff;font-size:.75rem;padding:2px 8px;border-radius:999px}.recent-list{list-style:none}.recent-list li{display:flex;justify-content:space-between;align-items:center;padding:6px 0;gap:8px}.recent-link{color:var(--text);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-link:hover{color:var(--title)}.recent-dot{color:var(--title);margin-right:4px}.recent-date{font-size:.72rem;color:var(--text-2)}.tag-cloud{display:flex;flex-wrap:wrap;gap:8px}.cloud-tag{color:var(--accent);transition:transform .2s}.cloud-tag:hover{transform:translateY(-2px) scale(1.1);color:var(--title)}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-item{text-align:center;background:#ff9acb1a;border-radius:12px;padding:10px 4px}.stat-item b{display:block;font-size:1.25rem;color:var(--title)}.stat-item span{font-size:.78rem;color:var(--text-2)}.post-card{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--card-border);border-radius:18px;padding:24px 26px;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s}.post-card:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 14px 40px #b28cff47}.post-card-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.post-cat{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#fff;font-size:.75rem;padding:3px 12px;border-radius:999px}.post-date{color:var(--text-2);font-size:.82rem}.post-sticky{color:var(--title);font-size:.82rem}.post-title{font-size:1.45rem;line-height:1.4;transition:color .2s}.post-title-link:hover .post-title{color:var(--title)}.post-excerpt{color:var(--text-2);margin:12px 0 16px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.post-tags{display:flex;gap:8px;flex-wrap:wrap}.post-tag{background:#7cc4ff26;color:var(--accent-2);font-size:.78rem;padding:3px 10px;border-radius:999px}.post-metrics{display:flex;align-items:center;gap:14px;font-size:.85rem;color:var(--text-2)}.metric{cursor:pointer;transition:transform .15s}.metric:hover{transform:scale(1.15)}.read-more{color:var(--accent);font-weight:700}.post-detail,.comments{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--card-border);border-radius:18px;padding:30px 32px;box-shadow:var(--shadow)}.detail-meta{display:flex;gap:14px;color:var(--text-2);font-size:.87rem;margin-bottom:12px;flex-wrap:wrap}.detail-title{font-size:1.9rem;line-height:1.35}.detail-tags{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.detail-foot{display:flex;gap:12px;margin-top:34px;padding-top:22px;border-top:1px dashed rgba(255,154,203,.4)}.like-btn,.share-btn{border:none;border-radius:999px;padding:10px 22px;font-size:.95rem;font-weight:700;transition:all .25s}.like-btn{background:#ff9acb2e;color:var(--title)}.like-btn:hover{transform:scale(1.05)}.like-btn.liked{background:linear-gradient(90deg,var(--title),#ff4d6d);color:#fff}.share-btn{background:#7cc4ff2e;color:var(--accent-2)}.section-title{font-size:1.25rem;margin-bottom:16px}.comment-form textarea{width:100%;min-height:90px;resize:vertical;margin-top:10px}.comment-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.btn-primary{border:none;border-radius:999px;padding:12px 26px;font-weight:800;font-size:.95rem;background:linear-gradient(90deg,var(--title),var(--accent));color:#fff;transition:all .25s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #ff8ac266}.btn-ghost{border:1px solid var(--card-border);background:transparent;color:var(--text-2);border-radius:999px;padding:8px 18px;font-size:.85rem;transition:all .2s}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.btn-danger{border:none;background:#ff647826;color:#e0455e;border-radius:999px;padding:6px 14px;font-size:.82rem;transition:all .2s}.btn-danger:hover{background:#e0455e;color:#fff}.comment-list{margin-top:22px;display:flex;flex-direction:column;gap:14px}.comment-item{display:flex;gap:12px;padding:14px;border-radius:14px;background:#fff6}html[data-theme=dark] .comment-item{background:#1e1a3080}.comment-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--title),var(--accent));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}.comment-meta{display:flex;gap:10px;align-items:baseline}.comment-meta span{font-size:.78rem;color:var(--text-2)}.comment-content{margin-top:6px;line-height:1.7}.markdown{line-height:1.85;font-size:1rem;margin-top:26px}.markdown h1,.markdown h2,.markdown h3{margin:1.4em 0 .6em;color:var(--text)}.markdown h1{font-size:1.6rem}.markdown h2{font-size:1.35rem}.markdown h3{font-size:1.15rem}.markdown p{margin:.8em 0}.markdown ul,.markdown ol{padding-left:1.6em;margin:.8em 0}.markdown blockquote{border-left:4px solid var(--title);background:#ff9acb1a;padding:12px 18px;margin:1em 0;border-radius:0 12px 12px 0;color:var(--text-2)}.markdown code{background:#b38cff26;color:#9c5bff;padding:2px 7px;border-radius:6px;font-size:.9em}html[data-theme=dark] .markdown code{color:#d0b3ff}.markdown pre{overflow-x:auto;border-radius:12px;margin:1.2em 0}.markdown pre code{background:transparent;color:inherit;padding:0;font-size:.9rem}.markdown img{max-width:100%;border-radius:12px}.markdown table{border-collapse:collapse;width:100%;margin:1em 0}.markdown th,.markdown td{border:1px solid var(--card-border);padding:10px 14px}.markdown th{background:#b38cff1f}.markdown a{text-decoration:underline;text-underline-offset:3px}.pagination{display:flex;justify-content:center;align-items:center;gap:16px}.pagination button{border:1px solid var(--card-border);background:var(--card-bg);color:var(--text);border-radius:999px;padding:8px 18px;transition:all .2s}.pagination button:hover:not(:disabled){background:var(--accent);color:#fff}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination span{color:var(--text-2);font-size:.9rem}.chip-row{display:flex;gap:10px;flex-wrap:wrap}.chip{background:var(--card-bg);border:1px solid var(--card-border);border-radius:999px;padding:8px 16px;font-size:.88rem;color:var(--text-2);transition:all .2s}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip.active{background:linear-gradient(90deg,var(--title),var(--accent));color:#fff;border-color:transparent}.timeline{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--card-border);border-radius:18px;padding:26px 30px;box-shadow:var(--shadow)}.timeline-year{margin-bottom:20px}.timeline-year-title{font-weight:800;color:var(--title);margin-bottom:8px}.timeline-item{display:flex;align-items:center;gap:14px;padding:9px 6px;border-radius:10px;transition:background .2s,padding-left .2s}.timeline-item:hover{background:#ff9acb1a;padding-left:14px}.timeline-date{color:var(--text-2);font-size:.85rem;min-width:44px}.timeline-title{flex:1;color:var(--text)}.timeline-item:hover .timeline-title{color:var(--title)}.timeline-meta{color:var(--text-2);font-size:.8rem}.saying-list{display:flex;flex-direction:column;gap:14px}.saying-item{display:flex;gap:14px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px;padding:22px;box-shadow:var(--shadow)}.saying-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}.saying-content{flex:1}.saying-content p{line-height:1.8}.saying-img{max-width:100%;max-height:320px;border-radius:12px;margin-top:10px}.saying-meta{display:flex;justify-content:space-between;align-items:center;margin-top:10px;color:var(--text-2);font-size:.82rem}.saying-like{border:none;background:#ff9acb26;color:var(--title);border-radius:999px;padding:6px 16px;transition:all .2s}.saying-like:hover{transform:scale(1.06)}.saying-like.liked{background:linear-gradient(90deg,var(--title),#ff4d6d);color:#fff}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.album-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px;overflow:hidden;cursor:pointer;box-shadow:var(--shadow);transition:all .25s}.album-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 14px 34px #b28cff42}.album-cover{height:130px;background:linear-gradient(135deg,#ff9acb80,#7cc4ff80);display:flex;align-items:center;justify-content:center;font-size:2.6rem}.album-cover img{width:100%;height:100%;object-fit:cover}.album-name{font-weight:800;padding:12px 14px 0}.album-desc{color:var(--text-2);font-size:.82rem;padding:4px 14px}.album-count{color:var(--accent);font-size:.78rem;padding:6px 14px 12px}.album-detail{background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px;padding:22px;box-shadow:var(--shadow)}.album-detail-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.photo{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;cursor:zoom-in;transition:transform .2s}.photo:hover{transform:scale(1.04)}.lightbox{max-width:90vw;max-height:85vh;border-radius:16px;box-shadow:0 20px 80px #00000080}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#140c1eb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .25s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.friend-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.friend-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px;padding:22px;text-align:center;box-shadow:var(--shadow);transition:all .25s}.friend-card:hover{transform:translateY(-6px);box-shadow:0 14px 34px #b28cff42}.friend-avatar{width:64px;height:64px;margin:0 auto 12px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,var(--title),var(--accent));display:flex;align-items:center;justify-content:center;font-size:1.6rem}.friend-avatar img{width:100%;height:100%;object-fit:cover}.friend-name{font-weight:800}.friend-desc{color:var(--text-2);font-size:.82rem;margin-top:6px}.about-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px;padding:30px;box-shadow:var(--shadow);line-height:1.9}.about-banner{font-size:2rem;font-weight:900;text-align:center;background:linear-gradient(90deg,var(--title),var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:16px}.about-stats{display:flex;justify-content:center;gap:40px;margin:24px 0}.about-stat{text-align:center}.about-stat b{display:block;font-size:1.8rem;color:var(--title)}.about-stat span{color:var(--text-2);font-size:.85rem}.about-card blockquote{border-left:4px solid var(--title);background:#ff9acb1a;padding:14px 20px;margin-top:18px;border-radius:0 12px 12px 0}.search-modal{width:min(560px,92vw);background:var(--card-bg);border-radius:20px;border:1px solid var(--card-border);box-shadow:0 20px 60px #0000004d;overflow:hidden;animation:pop .3s}.search-bar{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--card-border);font-size:1.2rem}.search-bar input{flex:1;border:none;outline:none;background:transparent;font-size:1rem}.close-btn{border:none;background:#ff64781a;color:#e0455e;width:32px;height:32px;border-radius:50%;font-size:.9rem}.search-results{max-height:380px;overflow-y:auto;padding:8px}.search-item{display:flex;gap:12px;padding:12px 14px;border-radius:12px;cursor:pointer;transition:background .2s}.search-item:hover{background:#b38cff1f}.search-icon{font-size:1.3rem}.search-title{font-weight:700}.search-excerpt{color:var(--text-2);font-size:.82rem;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:420px}.search-empty,.search-tip{padding:20px;text-align:center;color:var(--text-2);font-size:.9rem}.login-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px;padding:30px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;max-width:380px}.error-text{color:#e0455e;font-size:.88rem}.title-actions{display:flex;gap:10px}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap}.admin-tab{border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-2);border-radius:999px;padding:8px 18px;transition:all .2s}.admin-tab.active{background:linear-gradient(90deg,var(--title),var(--accent));color:#fff;border-color:transparent}.admin-list{background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px;padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}.admin-list table{width:100%;border-collapse:collapse}.admin-list th,.admin-list td{padding:10px 8px;border-bottom:1px solid rgba(255,154,203,.15);text-align:left;font-size:.9rem;vertical-align:middle}.admin-list th{color:var(--text-2);font-weight:700}.editor{background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px;padding:24px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}.editor-row{display:flex;gap:12px;flex-wrap:wrap}.editor-row>*{flex:1;min-width:160px}.editor-md{width:100%;resize:vertical;font-family:monospace}.editor-actions{display:flex;gap:12px}.radio-label{display:inline-flex;align-items:center;gap:6px;color:var(--text-2);font-size:.9rem}.comment-row{border:1px solid rgba(255,154,203,.2);border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.comment-row p{flex:1;min-width:200px}.album-admin-row{display:flex;align-items:center;gap:12px}.album-admin-detail{border-top:1px dashed rgba(255,154,203,.4);padding-top:14px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.photo-thumb-wrap{position:relative;display:inline-block}.photo-thumb{width:84px;height:84px;object-fit:cover;border-radius:10px}.photo-del{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:none;background:#e0455e;color:#fff;font-size:.7rem}.site-row{display:flex;align-items:center;gap:12px}.site-row input{flex:1;max-width:420px}.footer{margin-top:40px;text-align:center;color:var(--text-2);font-size:.85rem}.footer-inner{padding:20px 0;border-top:1px dashed rgba(255,154,203,.35)}.footer p{margin:5px 0}.footer-links a{color:var(--text-2);margin:0 4px}.footer-links a:hover{color:var(--title)}.footer-tech{font-size:.78rem}@media (max-width: 900px){.layout{grid-template-columns:1fr}.sidebar{position:static}#sakura{opacity:.4}.mascot{display:none}}@media (max-width: 560px){.comment-fields{grid-template-columns:1fr}.detail-title{font-size:1.5rem}}
