.blog-layout{min-height:100svh;display:flex;flex-direction:column;background:hsl(var(--background));color:hsl(var(--foreground))}.blog-container{width:100%;max-width:1120px;margin-inline:auto;padding-inline:20px}.blog-main{flex:1;padding-top:48px;padding-bottom:72px}.blog-layout :where(a,button,input,summary,[tabindex]):focus-visible{outline:2px solid hsl(var(--ring));outline-offset:4px;border-radius:3px}.blog-layout a{text-underline-offset:.18em}.blog-layout a:hover{text-decoration:underline}.blog-skip-link{position:absolute;z-index:60;top:8px;left:20px;padding:12px 16px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));transform:translateY(-180%)}.blog-skip-link:focus{transform:translateY(0)}.blog-header{border-bottom:1px solid hsl(var(--border))}.blog-header-inner{height:64px;display:flex;align-items:center;gap:24px}.blog-brand{display:flex;align-items:center;min-height:44px}.blog-brand img{width:118px;height:48px;-o-object-fit:contain;object-fit:contain}.blog-booking{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 16px;border-radius:8px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-size:14px;font-weight:600}.blog-header-booking{display:none;margin-left:auto}.blog-footer{border-top:1px solid hsl(var(--border))}.blog-footer-inner{display:flex;align-items:center;flex-wrap:wrap;gap:0 24px;padding-block:24px}.blog-footer a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:hsl(var(--muted-foreground))}.blog-footer .blog-footer-brand{gap:8px;color:hsl(var(--foreground));font-weight:600}.blog-footer .blog-footer-booking{color:hsl(var(--primary));flex-basis:100%}.blog-index{max-width:880px;margin-inline:auto}.blog-index-heading h1{font-size:36px;line-height:1.15;letter-spacing:-.035em;font-weight:600}.blog-index-heading>p{margin-top:16px;color:hsl(var(--muted-foreground));font-size:17px;line-height:1.6}.blog-search-space{min-height:48px;max-width:560px;margin-top:32px}.blog-search-space noscript{color:hsl(var(--muted-foreground));font-size:14px}.blog-search{display:flex;align-items:center;height:48px;padding-left:16px;gap:12px;border:1px solid hsl(var(--input));border-radius:8px;background:hsl(var(--muted) / .35)}.blog-search:focus-within{outline:2px solid hsl(var(--ring));outline-offset:3px}.blog-search>svg{flex-shrink:0;color:hsl(var(--muted-foreground))}.blog-search input{min-width:0;width:100%;height:100%;background:transparent;font-size:16px}.blog-search input:focus{outline:none}.blog-search input::-moz-placeholder{color:hsl(var(--muted-foreground));opacity:1}.blog-search input::placeholder{color:hsl(var(--muted-foreground));opacity:1}.blog-search input::-webkit-search-cancel-button{-webkit-appearance:none}.blog-search-clear{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;color:hsl(var(--muted-foreground))}.blog-search-clear:hover{color:hsl(var(--foreground))}.blog-result-count{min-height:20px;margin-top:16px;margin-bottom:20px;font-size:14px;color:hsl(var(--muted-foreground))}.blog-article-list{border-top:1px solid hsl(var(--border))}.blog-list-entry{padding-block:28px;border-bottom:1px solid hsl(var(--border))}.blog-list-entry:last-child{border-bottom:0}.blog-subjects{font-size:12px;line-height:1.6;font-weight:600;letter-spacing:.035em;color:hsl(var(--primary))}.blog-list-entry h2{margin-top:8px;font-size:22px;line-height:1.35;letter-spacing:-.02em;font-weight:600;overflow-wrap:anywhere}.blog-list-entry h2 a:hover{color:hsl(var(--primary))}.blog-excerpt{max-width:76ch;margin-top:12px;color:hsl(var(--muted-foreground));font-size:16px;line-height:1.65}.blog-list-date{margin-top:16px;font-size:13px;line-height:1.6;color:hsl(var(--muted-foreground))}.blog-empty{padding-block:40px}.blog-empty>p{font-size:18px}.blog-empty button{min-height:44px;margin-top:12px;color:hsl(var(--primary));text-decoration:underline;text-underline-offset:.2em}.blog-article{max-width:68ch;margin-inline:auto;font-size:18px}.blog-back-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:hsl(var(--primary));font-size:14px;font-weight:500}.blog-article-heading{margin-top:24px;margin-bottom:36px}.blog-article-heading h1{margin-top:12px;font-size:36px;line-height:1.15;letter-spacing:-.035em;font-weight:600;overflow-wrap:anywhere;text-wrap:pretty}.blog-byline{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 20px;margin-top:24px;font-size:13px;line-height:1.7;color:hsl(var(--muted-foreground))}.blog-byline a,.blog-review a{text-decoration:underline}.blog-review{margin-top:8px;font-size:13px;line-height:1.7;color:hsl(var(--muted-foreground))}.blog-contents{margin-bottom:36px;padding-block:4px;border-block:1px solid hsl(var(--border));font-size:15px}.blog-contents summary{width:-moz-fit-content;width:fit-content;padding-block:12px;font-weight:500;cursor:pointer}.blog-contents nav{padding:4px 0 16px}.blog-contents ul{display:grid;gap:4px;list-style:none;padding:0}.blog-contents a{display:inline-block;padding-block:6px;color:hsl(var(--primary));overflow-wrap:anywhere}.blog-prose{line-height:1.75;overflow-wrap:anywhere}.blog-prose>:first-child{margin-top:0}.blog-prose p{margin-block:0 1.25em}.blog-prose h2{margin-top:2em;margin-bottom:.75em;font-size:27px;line-height:1.25;letter-spacing:-.025em;font-weight:600;scroll-margin-top:32px}.blog-prose h3{margin-top:1.75em;margin-bottom:.75em;font-size:22px;line-height:1.35;letter-spacing:-.015em;font-weight:600}.blog-prose h4,.blog-prose h5,.blog-prose h6{margin-block:1.5em .75em;font-size:1em;line-height:1.4;font-weight:600}.blog-prose a{color:hsl(var(--primary));text-decoration:underline;text-decoration-thickness:1px}.blog-prose a:hover{text-decoration-thickness:2px}.blog-prose strong{font-weight:600}.blog-prose ul,.blog-prose ol{padding-left:1.5em;margin-bottom:1.25em}.blog-prose ul{list-style-type:disc}.blog-prose ol{list-style-type:decimal}.blog-prose li{padding-left:.25em;margin-block:.4em}.blog-prose li>ul,.blog-prose li>ol{margin-top:.5em;margin-bottom:.5em}.blog-prose li>p{margin-bottom:.5em}.blog-prose li::marker{color:hsl(var(--muted-foreground))}.blog-prose blockquote{margin-block:1.5em;padding-left:20px;border-left:2px solid hsl(var(--input));color:hsl(var(--muted-foreground))}.blog-prose blockquote>:last-child{margin-bottom:0}.blog-prose hr{margin-block:2em;border-color:hsl(var(--border))}.blog-prose img{max-width:100%;height:auto}.blog-prose code{padding:.15em .3em;border-radius:3px;background:hsl(var(--muted));font-size:.875em}.blog-prose pre{max-width:100%;padding:16px;margin-block:1.5em;overflow-x:auto;background:hsl(var(--muted));border-radius:6px}.blog-prose pre code{padding:0;background:transparent}.blog-prose .katex{font-size:1.05em;overflow-wrap:normal}.blog-prose .katex-display{max-width:100%;margin-block:1.5em;padding-block:.25em;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain}.blog-prose .blog-table-scroll{max-width:100%;margin-block:1.5em;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid hsl(var(--border));border-radius:6px}.blog-prose table{width:100%;min-width:560px;border-collapse:collapse;font-size:15px;line-height:1.6;text-align:left;overflow-wrap:normal;word-break:normal}.blog-prose th,.blog-prose td{padding:14px 16px;vertical-align:top;border-bottom:1px solid hsl(var(--border))}.blog-prose th{background:hsl(var(--muted) / .55);font-weight:600}.blog-prose tr:last-child td{border-bottom:0}.blog-article-end{margin-top:48px;padding-top:24px;border-top:1px solid hsl(var(--border))}.blog-not-found{max-width:680px;margin-inline:auto;padding-block:48px}.blog-not-found h1{margin-top:12px;font-size:36px;line-height:1.2;letter-spacing:-.03em;font-weight:600}.blog-not-found>p:not(.blog-subjects){margin-top:20px;color:hsl(var(--muted-foreground))}.blog-not-found .blog-back-link{margin-top:24px}@media(min-width:640px){.blog-container{padding-inline:24px}.blog-main{padding-top:64px;padding-bottom:96px}.blog-header-booking{display:inline-flex}.blog-footer-brand{margin-right:auto}.blog-footer .blog-footer-booking{display:none}.blog-index-heading h1{font-size:48px}.blog-index-heading>p{font-size:18px}.blog-list-entry{padding-block:32px}.blog-list-entry h2{font-size:26px}.blog-article{font-size:19px}.blog-article-heading h1{font-size:clamp(38px,4.25vw,52px)}.blog-article-heading{margin-bottom:40px}.blog-prose h2{font-size:32px}.blog-prose h3{font-size:24px}}
