:root{--bg: #FFF6E5;--card: #FFFCF2;--primary: #FFB7C5;--secondary: #FFD66B;--tertiary: #A8D8B9;--text: #3D2E1F;--muted: #7d6a55;--line: #E8DDC4;--shadow: rgba(60, 40, 20, .18);--radius: 22px;--content-max: 980px;--article-max: 720px;--font-body: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", system-ui, sans-serif;--font-hand: "Yomogi", "Klee One", "Caveat", cursive;--font-size-base: 16px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--font-size-base);font-weight:400;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text);line-height:1.75;transition:background .35s ease,color .35s ease}::selection{background:var(--secondary);color:var(--text)}img{max-width:100%;height:auto}a{color:inherit}@keyframes c-float{0%,to{transform:translate(0) rotate(-4deg)}50%{transform:translate(8px,-14px) rotate(6deg)}}@keyframes c-bounce-in{0%{transform:scale(.9) rotate(-2deg);opacity:0}60%{transform:scale(1.06) rotate(1.5deg);opacity:1}to{transform:scale(1) rotate(-.7deg);opacity:1}}@keyframes c-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.c-float-decor{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.c-float-decor span{position:absolute;opacity:.5;animation:c-float linear infinite}.c-header{position:sticky;top:0;z-index:10;padding:12px 16px 0;background:linear-gradient(var(--bg) 80%,transparent)}.c-header-inner{max-width:var(--content-max);margin:0 auto;background:var(--card);border:2.5px solid var(--text);border-radius:var(--radius);box-shadow:4px 4px 0 var(--shadow);padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.c-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}.c-brand-name{font-family:var(--font-hand);font-weight:700;font-size:22px}.c-nav{display:flex;gap:4px}.c-footer{position:relative;z-index:1;padding:40px 16px 30px;max-width:var(--content-max);margin:0 auto;text-align:center;font-family:var(--font-hand);font-size:14px;color:var(--muted)}.c-footer .made-with{margin-top:6px;font-size:12px;opacity:.7}.c-main{position:relative;z-index:1;max-width:var(--content-max);margin:0 auto;padding:20px 16px 40px}.c-main--narrow{max-width:var(--article-max)}.c-card{position:relative;background:var(--card);border:2.5px solid var(--text);border-radius:var(--radius);box-shadow:5px 5px 0 var(--shadow);padding:22px;transition:transform .22s cubic-bezier(.25,1.4,.5,1),box-shadow .22s}.c-card--hover{cursor:pointer}.c-card--hover:hover{transform:translate(-3px,-4px);box-shadow:8px 9px 0 var(--shadow)}.c-badge{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;border:2.5px solid var(--text);box-shadow:3px 3px 0 var(--shadow);font-size:28px;flex-shrink:0;transform:rotate(-6deg);background:var(--primary)}.c-badge--sm{width:36px;height:36px;font-size:18px;border-width:2px;box-shadow:2px 2px 0 var(--shadow)}.c-badge--lg{width:70px;height:70px;font-size:36px}.c-badge--xl{width:104px;height:104px;font-size:52px}.c-badge--corner{position:absolute;top:-16px;right:-12px;z-index:2}.c-badge--corner-lg{position:absolute;top:-22px;right:-14px;z-index:2}.c-tag{display:inline-block;padding:4px 12px;background:var(--card);color:var(--text);font-family:var(--font-body);font-weight:700;font-size:13px;border-radius:99px;border:1.5px solid var(--text);white-space:nowrap;text-decoration:none}.c-tag--sm{padding:2px 8px;font-size:11px}.c-tag--primary{background:var(--primary)}.c-tag--secondary{background:var(--secondary)}.c-tag--tertiary{background:var(--tertiary)}.c-tags{display:flex;flex-wrap:wrap;gap:5px}.c-tag-rotate-1{transform:rotate(-2deg)}.c-tag-rotate-2{transform:rotate(2deg)}.c-tag-rotate-3{transform:rotate(0)}.c-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;font-family:var(--font-body);font-weight:700;font-size:13px;background:transparent;color:var(--text);border:2px solid transparent;border-radius:99px;text-decoration:none;transition:all .15s}.c-pill:hover{background:#ffb7c54d}.c-pill--active{background:var(--primary);border-color:var(--text)}.c-hero{margin-bottom:28px;padding:32px 28px 36px;overflow:hidden}.c-hero-greet{display:inline-block;font-family:var(--font-hand);font-size:16px;color:var(--muted);transform:rotate(-2deg);margin-bottom:8px}.c-hero-title{margin:0;font-family:var(--font-body);font-weight:800;font-size:clamp(32px,5vw,44px);color:var(--text);line-height:1.25;letter-spacing:.5px}.c-hero-highlight{display:inline-block;white-space:nowrap;background:var(--primary);padding:2px 12px;border:2.5px solid var(--text);border-radius:calc(var(--radius) * .4);transform:rotate(-2deg);box-shadow:2px 2px 0 var(--shadow);margin:0 4px}.c-hero-sub{margin:16px 0 0;font-family:var(--font-body);color:var(--muted);line-height:1.7;max-width:480px}.c-hero-decor span{position:absolute;pointer-events:none}.c-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.c-tile{display:flex;flex-direction:column;gap:10px;min-height:200px;padding:20px;text-decoration:none;color:inherit}.c-tile-meta{font-family:var(--font-hand);font-size:14px;color:var(--muted);display:flex;align-items:center;gap:8px}.c-tile-readtime{padding:1px 8px;font-size:11px;background:var(--bg);border:1px solid var(--line);border-radius:99px}.c-tile-title{margin:0;font-family:var(--font-body);font-weight:800;font-size:20px;color:var(--text);line-height:1.45;letter-spacing:.3px;padding-right:36px}.c-tile-link{color:inherit;text-decoration:none}.c-tile-link:hover{text-decoration:underline wavy var(--primary);text-underline-offset:4px}.c-tile-excerpt{margin:0;font-family:var(--font-body);font-size:14px;color:var(--muted);line-height:1.7;flex:1}.c-tag-filter{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:20px}.c-tag-filter-label{font-family:var(--font-hand);font-size:14px;color:var(--muted)}.c-tag-filter-btn{cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .15s}.c-tag-filter-btn:hover{transform:translate(-1px,-1px);box-shadow:2px 2px 0 var(--shadow)}.c-tag-filter-btn.is-active{background:var(--text);color:var(--bg);box-shadow:2px 2px 0 var(--shadow);transform:translate(-1px,-1px)}.c-tag-inline{cursor:pointer;text-decoration:none;transition:transform .12s}.c-tag-inline:hover{transform:scale(1.06) rotate(-2deg)}.c-empty-msg{text-align:center;padding:40px 20px;font-family:var(--font-hand);font-size:18px;color:var(--muted)}.c-back-link{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-hand);font-size:15px;color:var(--muted);margin-bottom:10px;text-decoration:none}.c-back-link:hover{color:var(--text)}.c-article-header{position:relative}.c-article-meta{font-family:var(--font-hand);font-size:15px;color:var(--muted)}.c-article-title{margin:8px 0 14px;font-family:var(--font-body);font-weight:800;font-size:30px;color:var(--text);line-height:1.45;letter-spacing:.5px;padding-right:70px}.c-article-tags{margin-bottom:24px}.prose{color:var(--text)}.prose p{font-family:var(--font-body);font-size:var(--font-size-base);line-height:1.95;color:var(--text);margin:0 0 14px;text-wrap:pretty;animation:c-fade-up .5s ease both}.prose h2{display:inline-block;font-family:var(--font-body);font-weight:800;font-size:calc(var(--font-size-base) + 5px);color:var(--text);margin:28px 0 12px;background:var(--secondary);padding:3px 14px;border-radius:calc(var(--radius) * .4);border:2px solid var(--text);transform:rotate(-.7deg);box-shadow:2px 2px 0 var(--shadow);scroll-margin-top:80px;animation:c-bounce-in .55s cubic-bezier(.25,1.6,.5,1) both}.prose h2:nth-of-type(2n){background:var(--tertiary);transform:rotate(.7deg)}.prose h2:before{content:"◆ "}.prose h3{font-family:var(--font-body);font-weight:700;font-size:calc(var(--font-size-base) + 2px);color:var(--text);margin:20px 0 8px}.prose blockquote{margin:20px 0;padding:14px 20px;background:var(--bg);border:2px dashed var(--text);border-radius:calc(var(--radius) * .5);font-family:var(--font-hand);font-size:calc(var(--font-size-base) + 4px);color:var(--text);line-height:1.7;position:relative;transform:rotate(-.5deg)}.prose blockquote:before{content:"💭";position:absolute;top:-16px;left:12px;font-size:30px}.prose blockquote p{margin:0;animation:none}.prose ul,.prose ol{padding-left:1.5rem}.prose li{margin:.4rem 0}.prose code{background:#3c281414;padding:.15rem .4rem;border-radius:4px;font-size:.9em;font-family:ui-monospace,SF Mono,Menlo,monospace}.prose pre{background:var(--text);color:var(--card);padding:1rem;border-radius:calc(var(--radius) * .5);border:2px solid var(--text);overflow-x:auto}.prose pre code{background:transparent;padding:0;color:inherit}.prose a{color:var(--text);text-decoration:underline wavy var(--primary);text-underline-offset:4px}.prose strong{font-weight:800}.c-about-hero{text-align:center;padding:32px 26px;overflow:hidden}.c-about-hero h1{margin:14px 0 0;font-family:var(--font-body);font-weight:800;font-size:36px;color:var(--text);letter-spacing:.5px}.c-about-hero p{margin:16px auto 0;max-width:480px;font-family:var(--font-body);font-size:var(--font-size-base);line-height:1.95;color:var(--text);text-align:left}.c-about-tags-grid{margin-top:22px;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.c-about-tag-card{border:2px solid var(--text);border-radius:calc(var(--radius) * .6);box-shadow:3px 3px 0 var(--shadow);padding:12px 14px;display:flex;align-items:center;gap:8px;font-family:var(--font-body);font-weight:700;font-size:14px;color:var(--text)}.c-about-tag-card:nth-child(odd){transform:rotate(-.7deg)}.c-about-tag-card:nth-child(2n){transform:rotate(.7deg)}.c-about-tag-emoji{font-size:22px}.c-about-recent-label{display:inline-block;font-family:var(--font-hand);font-weight:700;font-size:22px;color:var(--text);margin:30px 0 12px;transform:rotate(-1deg)}.c-about-recent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.c-about-recent-card{padding:14px;text-decoration:none;color:inherit}.c-about-recent-date{font-family:var(--font-hand);font-size:12px;color:var(--muted)}.c-about-recent-title{font-family:var(--font-body);font-weight:700;font-size:15px;color:var(--text);line-height:1.45;margin-top:4px;padding-right:24px}.c-decor-tilt-l{transform:rotate(-12deg)}.c-decor-tilt-r{transform:rotate(12deg)}@media(max-width:880px){.c-article-title{font-size:26px;padding-right:0}.c-tile-title{padding-right:0}}@media(max-width:600px){.c-header{padding:8px 12px 0}.c-header-inner{padding:8px 12px}.c-brand-name{font-size:18px}.c-main{padding:16px 12px 30px}.c-hero{padding:24px 20px 28px}.c-hero-title{font-size:28px}.c-tile-grid{grid-template-columns:1fr}}
