:root{--bg-a: #fff6fb;--bg-b: #f4fbff;--pink: #ff9fcb;--pink-strong: #ff79b8;--peach: #ffc8a2;--lavender: #d9c6ff;--lavender-strong: #9e7fdd;--mint: #bff5df;--text: #5f4b69;--muted: #8f7c98;--card: rgba(255, 255, 255, .8);--line: rgba(255, 159, 203, .25)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100vh;font-family:Hiragino Sans GB,PingFang SC,Microsoft YaHei,-apple-system,ui-sans-serif,sans-serif;color:var(--text);background:radial-gradient(circle at 10% 20%,rgba(255,159,203,.2),transparent 30%),radial-gradient(circle at 85% 15%,rgba(217,198,255,.25),transparent 32%),radial-gradient(circle at 78% 80%,rgba(191,245,223,.25),transparent 30%),linear-gradient(135deg,var(--bg-a),var(--bg-b));background-attachment:fixed;overflow-x:hidden}.container{position:relative;z-index:1;width:min(900px,92vw);margin:0 auto;padding:32px 0 40px}.card{background:var(--card);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);border:1px solid var(--line);border-radius:22px;padding:26px 24px;box-shadow:0 12px 28px #ff9fcb21;margin-bottom:18px}h1,h2,h3,h4{margin:0 0 12px;line-height:1.25}h1{font-size:clamp(28px,4.5vw,40px);color:var(--pink-strong);letter-spacing:1px}h2{font-size:clamp(20px,3vw,26px);color:var(--lavender-strong)}h3{font-size:clamp(18px,2.4vw,22px);color:var(--lavender-strong)}p{margin:0 0 12px;line-height:1.9;font-size:16px}p:last-child{margin-bottom:0}a{color:var(--pink-strong);text-decoration:none;transition:color .15s ease}a:hover{color:var(--lavender-strong);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}.badge{display:inline-block;margin-top:6px;padding:8px 14px;border-radius:999px;background:linear-gradient(90deg,#ff9fcb33,#bff5df59);border:1px solid rgba(255,159,203,.3);font-size:14px}.name-pill{display:inline-block;padding:6px 12px;border-radius:14px;font-size:13px;background:#fff;border:1px solid var(--line);color:var(--text);white-space:nowrap}a.name-pill:hover{background:#ff9fcb1f;text-decoration:none}.pill-row{display:flex;flex-wrap:wrap;gap:8px}.muted{color:var(--muted);font-size:14px}.small{display:block;margin-top:8px;font-size:13px}footer.site-footer{text-align:center;font-size:14px;color:var(--muted)}.decor{position:fixed;inset:0;pointer-events:none;z-index:0}.bubble,.star,.heart{position:absolute;opacity:.7}.bubble{width:18px;aspect-ratio:1 / 1;border-radius:50%;border:1px solid rgba(255,255,255,.9);background:#ffffff59;box-shadow:inset -4px -4px 8px #ffffffb3}.star{font-size:16px;color:#ffb6dd}.heart{color:#ff8fc4;font-size:15px}.site-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;margin-bottom:18px}.site-title{font-size:clamp(22px,3vw,28px);color:var(--pink-strong);letter-spacing:1px;margin:0}.site-title a{color:inherit}.site-title a:hover{text-decoration:none;opacity:.85}.nav{display:flex;gap:6px;flex-wrap:wrap}.nav a{padding:6px 14px;border-radius:999px;font-size:14px;color:var(--text);background:#fff;border:1px solid var(--line)}.nav a:hover{text-decoration:none;background:#ff9fcb1f}.nav a[aria-current=page]{background:linear-gradient(90deg,#ff9fcb40,#d9c6ff40);color:var(--pink-strong)}.lang-switch{width:100%;display:flex;gap:8px;flex-wrap:wrap}.lang-switch a{padding:4px 12px;border-radius:999px;font-size:13px;background:#fff9;border:1px solid var(--line);color:var(--muted)}.lang-switch a[aria-current=true]{color:var(--pink-strong);background:#ff9fcb26}.lang-switch a:hover{text-decoration:none;color:var(--pink-strong)}.post-card{display:block;padding:22px 24px;background:var(--card);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 28px #ff9fcb21;margin-bottom:18px;color:inherit;transition:transform .15s ease,box-shadow .15s ease}.post-card:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 16px 32px #ff9fcb2e}.post-card h2{margin-bottom:8px;color:var(--pink-strong)}.post-card .meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;font-size:13px;color:var(--muted)}.post-card .meta .lang-tag{padding:2px 10px;border-radius:999px;background:#d9c6ff4d;color:var(--lavender-strong)}.post-content{font-size:16px;line-height:1.9}.post-content h1,.post-content h2,.post-content h3{margin-top:28px}.post-content h1:first-child,.post-content h2:first-child{margin-top:0}.post-content p,.post-content ul,.post-content ol,.post-content blockquote{margin:0 0 16px}.post-content ul,.post-content ol{padding-left:1.4em}.post-content li{margin-bottom:6px}.post-content blockquote{padding:12px 16px;border-left:4px solid var(--pink);background:#ff9fcb14;border-radius:0 12px 12px 0;color:var(--text)}.post-content code{font-family:ui-monospace,JetBrains Mono,Menlo,monospace;font-size:.92em;padding:1px 6px;border-radius:6px;background:#d9c6ff33;color:var(--lavender-strong)}.post-content pre{padding:16px 18px;border-radius:14px;overflow-x:auto;border:1px solid var(--line);background:#ffffffb3!important}.post-content pre code{background:transparent;padding:0;color:inherit}.post-content img{max-width:100%;border-radius:14px}.post-content hr{border:none;border-top:1px dashed var(--line);margin:28px 0}.post-content a{border-bottom:1px dotted var(--line)}.post-content a:hover{border-bottom-color:var(--pink)}.post-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 18px;font-size:14px;color:var(--muted)}.post-meta .lang-tag{padding:2px 10px;border-radius:999px;background:#d9c6ff4d;color:var(--lavender-strong);font-size:13px}.post-nav{display:flex;justify-content:space-between;gap:12px;margin-top:12px;flex-wrap:wrap}.post-nav a{flex:1;min-width:220px;padding:14px 16px;border-radius:18px;background:var(--card);border:1px solid var(--line);color:inherit}.post-nav a:hover{text-decoration:none;background:#ff9fcb14}.post-nav .label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.post-nav .title{color:var(--pink-strong);font-weight:600}.post-nav .next{text-align:right}@media(max-width:600px){.container{padding:16px 0 32px}.site-header{padding:18px}.nav a{font-size:13px;padding:5px 12px}}
