@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-feature-settings:"kern";font-variant-ligatures:common-ligatures}.casper-display{font-size:clamp(3rem,8vw,6rem);font-weight:800;line-height:1.1;letter-spacing:-.04em}.casper-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.2;letter-spacing:-.02em}.casper-subtitle{font-size:clamp(1.25rem,3vw,1.75rem);font-weight:500;line-height:1.3;letter-spacing:-.01em}.casper-body{font-size:1.125rem;line-height:1.6;font-weight:400}.casper-caption{font-size:.875rem;line-height:1.5;font-weight:400;opacity:.8}:root{--casper-brand: #15171a;--casper-accent: #ff6600;--casper-text: #15171a;--casper-text-secondary: #738a94;--casper-text-muted: #9baeb8;--casper-border: #e3e9ed;--casper-background: #ffffff;--casper-surface: #f8f8f8}.dark{--casper-brand: #ffffff;--casper-accent: #ff6600;--casper-text: #ffffff;--casper-text-secondary: #a0a4a8;--casper-text-muted: #738a94;--casper-border: #2a2e33;--casper-background: #090a0b;--casper-surface: #15171a}.casper-content{max-width:720px;margin:0 auto;font-size:1.125rem;line-height:1.65;color:var(--casper-text)}.casper-content h1,.casper-content h2,.casper-content h3,.casper-content h4,.casper-content h5,.casper-content h6{color:var(--casper-text);font-weight:700;line-height:1.25;margin:2em 0 .8em}.casper-content h1{font-size:2.25rem}.casper-content h2{font-size:1.875rem}.casper-content h3{font-size:1.5rem}.casper-content h4{font-size:1.25rem}.casper-content h5{font-size:1.125rem}.casper-content h6{font-size:1rem}.casper-content p{margin:1.5em 0}.casper-content a{color:var(--casper-accent);text-decoration:none;transition:opacity .2s ease}.casper-content a:hover{opacity:.8;text-decoration:underline}.casper-content blockquote{position:relative;font-style:italic;font-size:1.125rem;line-height:1.65;padding:1.5em 2em 1.5em 3em;margin:2em 0;background:var(--casper-surface);border-left:4px solid var(--casper-accent);border-radius:0 4px 4px 0}.casper-content code{background:var(--casper-surface);padding:.2em .4em;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em}.casper-content pre{background:var(--casper-surface);padding:1.5em;border-radius:8px;overflow-x:auto;margin:2em 0}.casper-content pre code{background:none;padding:0}.casper-content img,.casper-content figure img{width:100%;height:auto;border-radius:8px;margin:2em 0;box-shadow:0 4px 20px #0000001a}.casper-content figcaption{text-align:center;font-size:.875rem;color:var(--casper-text-secondary);margin-top:.5em}.casper-content ul,.casper-content ol{margin:1.5em 0;padding-left:1.5em}.casper-content li{margin:.5em 0}.casper-card{background:var(--casper-background);border:1px solid var(--casper-border);border-radius:12px;overflow:hidden;transition:all .3s ease;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;height:100%}.casper-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px #0000001f}.casper-card-blog{border-radius:12px;background:var(--casper-background);border:1px solid var(--casper-border)}.casper-card-blog .casper-card-content{padding:2rem}.casper-card-blog .casper-card-title{font-size:1.5rem;line-height:1.3;font-weight:700;margin-bottom:1rem}.casper-card-blog .casper-card-excerpt{font-size:1rem;line-height:1.6;color:var(--casper-text-secondary);margin-bottom:1.5rem}.casper-card-memo{border-radius:8px;background:var(--casper-background);border:1px solid var(--casper-border);box-shadow:0 2px 4px #0000000d,0 1px 2px #0000001a;position:relative;max-width:320px;min-height:200px}.casper-card-memo .casper-card-content{padding:1.5rem}.casper-card-memo .casper-card-title{font-size:1.125rem;line-height:1.4;font-weight:600;margin-bottom:.75rem;color:var(--casper-text)}.casper-card-memo .casper-card-excerpt{font-size:.875rem;line-height:1.5;color:var(--casper-text-secondary);margin-bottom:1.25rem;font-style:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.casper-card-memo .casper-card-meta{font-size:.8rem;color:var(--casper-text-muted)}.casper-card-memo .casper-card-meta:first-child{margin-bottom:1rem}.casper-card-memo .casper-card-image{height:120px}.casper-card-image{width:100%;height:200px;object-fit:cover;background:linear-gradient(135deg,var(--casper-surface),var(--casper-border))}.casper-card-placeholder{display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;height:200px;width:100%}.casper-card-placeholder:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,rgba(255,255,255,.1) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.1) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.1) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.1) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;opacity:.3}.casper-card-placeholder-content{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.casper-card-type-indicator{font-size:3rem;opacity:.8;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.casper-card-content{padding:1.5rem}.casper-card-title{font-size:1.25rem;font-weight:600;line-height:1.3;margin:0 0 .75rem;color:var(--casper-text)}.casper-card-excerpt{font-size:.9rem;line-height:1.5;color:var(--casper-text-secondary);margin:0 0 1rem}.casper-card-meta{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;color:var(--casper-text-muted)}.casper-tag{display:inline-block;padding:.25rem .75rem;background:var(--casper-surface);color:var(--casper-text-secondary);text-decoration:none;font-size:.8rem;font-weight:500;border-radius:20px;transition:all .2s ease;border:1px solid var(--casper-border)}.casper-tag:hover{background:var(--casper-accent);color:#fff;border-color:var(--casper-accent);text-decoration:none}.casper-button{display:inline-flex;align-items:center;padding:.75rem 1.5rem;background:var(--casper-accent);color:#fff;text-decoration:none;font-weight:500;border-radius:6px;transition:all .2s ease;border:none;cursor:pointer}.casper-button:hover{background:color-mix(in srgb,var(--casper-accent) 90%,black 10%);transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--casper-accent) 30%,transparent 70%)}.casper-button-secondary{background:transparent;color:var(--casper-text);border:1px solid var(--casper-border)}.casper-button-secondary:hover{background:var(--casper-surface);border-color:var(--casper-text-secondary)}.casper-nav{background:var(--casper-background);border-bottom:1px solid var(--casper-border);backdrop-filter:blur(10px);position:sticky;top:0;z-index:100}.casper-nav-brand{font-size:1.5rem;font-weight:800;color:var(--casper-brand);text-decoration:none;letter-spacing:-.02em}.casper-nav-link{color:var(--casper-text-secondary);text-decoration:none;font-weight:500;transition:color .2s ease}.casper-nav-link:hover{color:var(--casper-text)}@media (max-width: 768px){.casper-content{font-size:1rem;line-height:1.6}.casper-card-content{padding:1rem}.casper-card-memo{max-width:none;min-height:auto}.casper-card-memo .casper-card-content{padding:1rem}.casper-content h1{font-size:1.875rem}.casper-content h2{font-size:1.5rem}.casper-content h3{font-size:1.25rem}}.dark .casper-card{background:var(--casper-surface);border-color:var(--casper-border)}.dark .casper-content blockquote{background:color-mix(in srgb,var(--casper-surface) 80%,var(--casper-accent) 5%)}.dark .casper-content code{background:color-mix(in srgb,var(--casper-surface) 90%,var(--casper-text) 10%)}.dark .casper-content pre{background:color-mix(in srgb,var(--casper-background) 95%,var(--casper-text) 5%);border:1px solid var(--casper-border)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.casper-content pre[class*=language-]{background:var(--casper-surface);border:1px solid var(--casper-border);border-radius:8px;padding:1.5em;margin:2em 0;overflow-x:auto;font-size:.875rem;line-height:1.6;position:relative}.casper-content code[class*=language-]{background:transparent;padding:0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em;color:var(--casper-text)}.casper-content p code{background:var(--casper-surface);color:var(--casper-text);padding:.25em .5em;border-radius:4px;font-size:.875em;border:1px solid var(--casper-border)}.dark .casper-content pre[class*=language-]{background:color-mix(in srgb,var(--casper-background) 95%,var(--casper-text) 5%);border:1px solid var(--casper-border)}.dark .casper-content p code{background:color-mix(in srgb,var(--casper-surface) 90%,var(--casper-text) 10%)}:root:not(.dark) .casper-content code[class*=language-]{color:#383a42}:root:not(.dark) .token.comment,:root:not(.dark) .token.prolog,:root:not(.dark) .token.doctype,:root:not(.dark) .token.cdata{color:#a0a1a7;font-style:italic}:root:not(.dark) .token.punctuation{color:#383a42}:root:not(.dark) .token.property,:root:not(.dark) .token.tag,:root:not(.dark) .token.boolean,:root:not(.dark) .token.number,:root:not(.dark) .token.constant,:root:not(.dark) .token.symbol,:root:not(.dark) .token.deleted{color:#e45649}:root:not(.dark) .token.selector,:root:not(.dark) .token.attr-name,:root:not(.dark) .token.string,:root:not(.dark) .token.char,:root:not(.dark) .token.builtin,:root:not(.dark) .token.inserted{color:#50a14f}:root:not(.dark) .token.operator,:root:not(.dark) .token.entity,:root:not(.dark) .token.url,:root:not(.dark) .language-css .token.string,:root:not(.dark) .style .token.string{color:#0184bc}:root:not(.dark) .token.atrule,:root:not(.dark) .token.attr-value,:root:not(.dark) .token.keyword{color:#a626a4}:root:not(.dark) .token.function,:root:not(.dark) .token.class-name{color:#c18401}:root:not(.dark) .token.regex,:root:not(.dark) .token.important,:root:not(.dark) .token.variable{color:#e45649}.dark .casper-content code[class*=language-]{color:#abb2bf}.dark .token.comment,.dark .token.prolog,.dark .token.doctype,.dark .token.cdata{color:#5c6370;font-style:italic}.dark .token.punctuation{color:#abb2bf}.dark .token.property,.dark .token.tag,.dark .token.boolean,.dark .token.number,.dark .token.constant,.dark .token.symbol,.dark .token.deleted{color:#e06c75}.dark .token.selector,.dark .token.attr-name,.dark .token.string,.dark .token.char,.dark .token.builtin,.dark .token.inserted{color:#98c379}.dark .token.operator,.dark .token.entity,.dark .token.url,.dark .language-css .token.string,.dark .style .token.string{color:#56b6c2}.dark .token.atrule,.dark .token.attr-value,.dark .token.keyword{color:#c678dd}.dark .token.function,.dark .token.class-name{color:#e5c07b}.dark .token.regex,.dark .token.important,.dark .token.variable{color:#e06c75}.casper-post-blog .casper-title{font-size:3rem;font-weight:800;line-height:1.1;letter-spacing:-.02em;margin-bottom:2rem}.casper-post-blog .casper-content{font-size:1.125rem;line-height:1.7}.casper-post-memo{background:var(--casper-surface);border-radius:16px;padding:2rem;margin:2rem auto;box-shadow:0 4px 16px #0000001a}.casper-post-memo .casper-title{font-size:1.75rem;font-weight:700;line-height:1.3;margin-bottom:1rem;color:var(--casper-text)}.casper-post-memo .casper-content{font-size:1rem;line-height:1.6}.casper-post-memo header{border-bottom:1px solid var(--casper-border);padding-bottom:1.5rem;margin-bottom:1.5rem}.casper-post-memo footer{border-top:1px solid var(--casper-border);padding-top:1.5rem;margin-top:1.5rem}
