:root{--pico-font-family: "Inter var", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--pico-font-family-serif: "Crimson Text", Georgia, "Times New Roman", serif;--pico-line-height: 1.75;--pico-typography-spacing-vertical: 1.5rem;--pico-border-radius: .5rem;--pico-container-max-width: 720px;--accent-warm: #ff6b6b}[data-theme=light],:root:not([data-theme=dark]){--pico-background-color: #eeeeee;--pico-card-background-color: #ffffff;--pico-card-border-color: #d5d9de;--pico-muted-border-color: #d0d4d9;--pico-form-element-border-color: #c5cbd5}.container,main.container,nav.container{padding-left:1rem;padding-right:1rem}@media (min-width: 576px){.container,main.container,nav.container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 768px){.container,main.container,nav.container{padding-left:2rem;padding-right:2rem}}html{scroll-behavior:smooth}body{font-feature-settings:"cv02","cv03","cv04","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus-visible{outline:2px solid var(--pico-primary);outline-offset:2px}.hero{padding:4rem 0 3rem;text-align:center}.hero h1{font-family:var(--pico-font-family-serif);font-size:clamp(2.5rem,5vw,3.5rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-bottom:1rem;color:var(--pico-h1-color)}.hero p{font-size:1.125rem;color:var(--pico-muted-color);margin:0}nav.main-nav{border-bottom:2px solid var(--pico-muted-border-color);padding-top:1.5rem;padding-bottom:1.5rem;position:relative;display:flex;justify-content:space-between;align-items:center}nav.main-nav ul{display:flex;gap:1.5rem;align-items:center;margin:0;padding:0}nav.main-nav ul li{list-style:none;margin:0;padding:0}nav.main-nav ul:first-child a{font-family:var(--pico-font-family);font-size:1.25rem;font-weight:600}nav.main-nav a{text-decoration:none;color:var(--pico-color);font-weight:500;font-size:1rem;transition:all .2s ease;display:inline-block;padding:.5rem;min-height:44px;line-height:1.5;font-feature-settings:"liga" 1,"clig" 1}nav.main-nav ul:first-child a:hover,nav.main-nav ul:first-child a.active{color:var(--pico-primary)}nav.main-nav .icon-button{min-width:44px;min-height:44px;padding:.75rem;display:inline-flex;align-items:center;justify-content:center}[data-theme=light] nav.main-nav .icon-button.contrast,:root:not([data-theme=dark]) nav.main-nav .icon-button.contrast{background-color:#eee;color:var(--pico-color);border:2px solid var(--pico-muted-border-color)}[data-theme=light] nav.main-nav .icon-button.contrast:hover,:root:not([data-theme=dark]) nav.main-nav .icon-button.contrast:hover{background-color:#e0e0e0;border-color:var(--pico-primary)}[data-theme=dark] nav.main-nav .icon-button.contrast{background-color:#252936;color:var(--pico-color);border:2px solid rgba(255,255,255,.1)}[data-theme=dark] nav.main-nav .icon-button.contrast:hover{background-color:#2f3441;border-color:var(--pico-primary)}@media (max-width: 767px){nav.main-nav{display:flex;justify-content:space-between;align-items:center}nav.main-nav .nav-links{display:flex;gap:.75rem}.mobile-menu-toggle{display:none}}.post-list li{transition:border-color .2s ease}.post-list li:hover{border-bottom-color:var(--pico-primary)!important}.post-list li a:hover{color:var(--pico-primary)}footer{margin-top:4rem;padding-top:2.5rem;padding-bottom:2.5rem;border-top:1px solid var(--pico-muted-border-color);text-align:center;color:var(--pico-muted-color);font-size:.875rem}.footer-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}@media (max-width: 767px){.footer-content{flex-direction:column-reverse;gap:1.5rem}.footer-links{justify-content:center}}footer a{text-decoration:none;color:var(--pico-muted-color);transition:color .2s ease;display:inline-block;padding:.5rem;min-height:44px;line-height:1.5}footer a:hover{color:var(--pico-primary)}.lang-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;min-height:44px;border-radius:9999px;background:var(--pico-primary-focus);color:var(--pico-primary);font-weight:600;font-size:.875rem;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.lang-toggle:hover{background:var(--pico-primary);color:var(--pico-primary-inverse);transform:translateY(-2px);box-shadow:0 4px 12px -2px var(--pico-primary-focus)}.lang-icon{font-size:1.125rem;line-height:1;transition:transform .5s cubic-bezier(.4,0,.2,1)}.lang-toggle:hover .lang-icon{transform:rotate(360deg)}.lang-text{font-variant-numeric:tabular-nums;letter-spacing:.05em}.text-balance{text-wrap:balance}main a{min-height:44px;display:inline-flex;align-items:center;padding:.5rem .25rem;line-height:1.5}main a[href*=blog],main a[href*=posts],section a{min-height:44px;display:inline-flex;align-items:center;padding:.75rem .5rem}.prose{max-width:none}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{font-family:var(--pico-font-family-serif);font-weight:600;letter-spacing:-.02em;margin-top:2em;margin-bottom:.75em;line-height:1.3}.prose h1{font-size:2.25rem;color:var(--pico-h1-color)}.prose h2{font-size:1.875rem;color:var(--pico-h2-color)}.prose h3{font-size:1.5rem;color:var(--pico-h3-color)}.prose h4{color:var(--pico-h4-color)}.prose h5{color:var(--pico-h5-color)}.prose h6{color:var(--pico-h6-color)}.prose p{color:var(--pico-color)}.prose strong,.prose b{color:var(--pico-color);font-weight:700}.prose ul,.prose ol,.prose li{color:var(--pico-color)}.prose a{color:var(--pico-primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:all .2s ease;display:inline-block;padding:.25rem 0;min-height:44px;line-height:1.75}.prose a:hover{color:var(--pico-primary-hover);text-decoration-thickness:2px}.prose code{background:var(--pico-card-background-color);padding:.2em .4em;border-radius:.25rem;font-size:.875em}.prose pre{background:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:var(--pico-border-radius);padding:1rem;overflow-x:auto}.prose pre code{background:none;padding:0;font-size:.875rem;line-height:1.7}.prose blockquote{border-left:4px solid var(--pico-primary);padding-left:1.5rem;font-style:italic;color:var(--pico-muted-color);margin:2rem 0}.prose img{border-radius:var(--pico-border-radius);margin:2rem 0}.prose ul,.prose ol{margin:1.5rem 0;padding-left:1.5rem}.prose li{margin:.5rem 0}.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--pico-primary);transform-origin:left;z-index:9999}.form-container{max-width:48rem;margin:0 auto}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--pico-spacing)}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--pico-spacing)}@media (max-width: 768px){.grid-2,.grid-3{grid-template-columns:1fr}}.mb{margin-bottom:var(--pico-spacing)}.mt{margin-top:var(--pico-spacing)}.space-y{display:flex;flex-direction:column;gap:var(--pico-spacing)}.message-card{display:block;padding:var(--pico-spacing);border-radius:var(--pico-border-radius);text-align:center;text-decoration:none}.message-card h2{margin-bottom:var(--pico-spacing);margin-top:0}.notice-box{border-radius:var(--pico-border-radius);padding:var(--pico-spacing);margin-bottom:var(--pico-spacing)}.notice-box[data-variant=warning]{background:var(--pico-mark-background-color);border:1px solid var(--pico-mark-color);color:var(--pico-color)}.notice-box[data-variant=error]{background:var(--pico-del-color);border:1px solid var(--pico-del-color);color:var(--pico-color)}.notice-box[data-variant=info]{background:var(--pico-mark-background-color);border:1px solid var(--pico-mark-color);color:var(--pico-color)}.notice-box[data-variant=success]{background:#16a34a26;border:1px solid #16a34a;color:var(--pico-color)}[data-theme=dark] .notice-box[data-variant=success]{background:#16a34a33;border:1px solid #22c55e}.notice-box h2,.notice-box h3{margin-top:0}.notice-box p:last-child{margin-bottom:0}.stat-card{background:var(--pico-card-background-color);border:1px solid var(--pico-card-border-color);border-radius:var(--pico-border-radius);padding:var(--pico-spacing);margin-bottom:0}.stat-card small{display:block;color:var(--pico-muted-color);margin-bottom:calc(var(--pico-spacing) * .25);font-weight:500;font-size:.875rem}.stat-value{font-size:2.5rem;font-weight:700;color:var(--pico-color);margin:0;line-height:1}button.radio-card{--pico-background-color: var(--pico-card-background-color);--pico-border-color: var(--pico-form-element-border-color);--pico-color: inherit;background:var(--pico-card-background-color);border:2px solid var(--pico-form-element-border-color);padding:var(--pico-spacing);font-weight:500;transition:all .2s ease;cursor:pointer;color:var(--pico-color)!important;box-shadow:none}button.radio-card:hover{--pico-background-color: var(--pico-card-background-color);--pico-border-color: var(--pico-primary);border-color:var(--pico-primary);background:var(--pico-card-background-color);color:var(--pico-primary)!important}button.radio-card[data-active=true]{--pico-background-color: var(--pico-primary-focus);--pico-border-color: var(--pico-primary);--pico-color: var(--pico-primary);border-color:var(--pico-primary);background:var(--pico-primary-focus);color:var(--pico-primary)!important;font-weight:600}.star-rating{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.star-button{width:3.5rem;height:3.5rem;min-width:56px;min-height:56px;border-radius:50%;border:2px solid var(--pico-muted-border-color);background:transparent;transition:all .2s ease;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.125rem}@media (max-width: 360px){.star-rating{gap:.5rem}.star-button{width:3rem;height:3rem;min-width:48px;min-height:48px;font-size:1rem}}.star-button:hover{transform:scale(1.1);border-color:var(--pico-primary)}.star-button:active{transform:scale(.95)}.star-button[data-filled=true]{background:var(--pico-primary);border-color:var(--pico-primary)}.star-button[data-filled=true] span{color:var(--pico-primary-inverse);font-weight:600}.star-button[data-filled=false] span{color:var(--pico-muted-color);font-weight:500}.number-input-wrapper{display:flex;gap:.5rem;align-items:stretch;margin-top:.5rem}.number-input-wrapper input[type=number]{flex:1;text-align:center;font-size:1.125rem;font-weight:600;margin:0;min-height:3rem}.number-btn-group{display:flex;flex-direction:row;gap:.5rem;flex-shrink:0;align-self:stretch}.number-btn{min-width:3rem;height:100%;border-radius:var(--pico-border-radius);border:2px solid var(--pico-muted-border-color);background:var(--pico-card-background-color);font-size:1.25rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0;--pico-background-color: var(--pico-card-background-color);--pico-border-color: var(--pico-muted-border-color);--pico-color: var(--pico-contrast)}[data-theme=light] .number-btn,:root:not([data-theme=dark]) .number-btn{--pico-color: #373c44}[data-theme=dark] .number-btn{--pico-color: #c5cbd5}.number-btn:hover{background:var(--pico-primary);border-color:var(--pico-primary);color:var(--pico-primary-inverse);transform:scale(1.05)}.number-btn:active{transform:scale(.95)}.number-input-wrapper input[type=number]::-webkit-inner-spin-button,.number-input-wrapper input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-input-wrapper input[type=number]{-moz-appearance:textfield}.inline-form{background:var(--pico-primary-focus);border:2px solid var(--pico-primary);border-radius:var(--pico-border-radius);padding:var(--pico-spacing);margin-top:var(--pico-spacing)}.inline-form header{color:var(--pico-primary);font-weight:600;font-size:.875rem;margin-bottom:calc(var(--pico-spacing) * .75);display:block}button.full-width,a[role=button].full-width{width:100%}button.secondary{background:var(--pico-secondary)}button.secondary:hover{background:var(--pico-secondary-hover)}button[data-variant=success]{--pico-background-color: #16a34a;--pico-border-color: #16a34a}button[data-variant=success]:hover{--pico-background-color: #15803d;--pico-border-color: #15803d}progress{height:.75rem}.chart-container{display:flex;flex-direction:column;gap:var(--pico-spacing)}.chart-item{display:flex;flex-direction:column}.chart-label{display:flex;justify-content:space-between;margin-bottom:.5rem;align-items:baseline}
