:root{--paper: #faf7f1;--card: #fffdf9;--ink: #211a14;--muted: #6e6357;--faint: #9a8f81;--line: #e7dfd1;--accent: #2e5b43;--accent-deep: #234633;--accent-soft: #e9f0ea;--code-bg: #221c16;--danger: #a83226;--danger-soft: #fbeae7;--radius: 14px;--ease: cubic-bezier(.16, 1, .3, 1);--font: "Pretendard Variable", Pretendard, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:1.0625rem;line-height:1.7;word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}h1,h2,h3{line-height:1.32;letter-spacing:-.02em;text-wrap:balance}a{color:inherit}:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px;border-radius:6px}::selection{background:var(--accent);color:#fff}.skip{position:absolute;top:-100px;left:16px;z-index:100;padding:10px 18px;border-radius:999px;background:var(--ink);color:#fff;text-decoration:none;font-weight:600;transition:top .25s var(--ease)}.skip:focus-visible{top:12px;color:#fff}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.container{max-width:46rem;margin:0 auto;padding:0 1.25rem 5rem}.site-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.35rem 0;border-bottom:1px solid var(--line);margin-bottom:2.75rem}.site-header .logo{font-weight:800;font-size:1.15rem;letter-spacing:-.02em;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:opacity .4s var(--ease)}.site-header .logo:hover{opacity:.72}.site-header .logo{margin-right:auto}.header-search{position:relative;display:flex;align-items:center}.header-search input[type=search]{width:11rem;padding:.45rem 2.3rem .45rem .95rem;border-radius:999px;font-size:.92rem}.header-search button{position:absolute;right:.3rem;width:1.9rem;height:1.9rem;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:none;color:var(--muted);cursor:pointer;transition:color .3s var(--ease),background .3s var(--ease)}.header-search button:hover,.header-search button:focus-visible{color:var(--ink);background:#211a140f}.site-header .logo .mark{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.7rem;background:var(--ink);color:var(--paper);font-size:1rem}.site-header nav{display:flex;gap:.25rem;align-items:center}.nav-link{text-decoration:none;font-weight:600;font-size:.95rem;padding:.45rem .6rem;white-space:nowrap;border-radius:999px;color:var(--muted);transition:all .4s var(--ease)}.nav-link:hover{color:var(--ink);background:#211a140f}.nav-menu{display:flex;gap:.25rem}.menu-toggle{display:none}.nav-group{position:relative}.group-toggle{display:inline-flex;align-items:center;gap:.35rem;border:0;background:none;font-family:inherit;cursor:pointer}.group-toggle.current,.group-toggle[aria-expanded=true]{color:var(--ink)}.group-toggle[aria-expanded=true]{background:#211a140f}.caret{width:.4rem;height:.4rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .3s var(--ease)}.group-toggle[aria-expanded=true] .caret{transform:translateY(1px) rotate(-135deg)}.dropdown{display:none;position:absolute;top:calc(100% + .4rem);right:0;z-index:20;min-width:9.5rem;margin:0;padding:.4rem;list-style:none;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px #211a141f}.dropdown.open{display:block;animation:menu-in .2s var(--ease)}.dropdown a{display:block;padding:.55rem .8rem;border-radius:10px;font-size:.92rem;font-weight:600;color:var(--muted);text-decoration:none;white-space:nowrap;transition:background .2s var(--ease),color .2s var(--ease)}.dropdown a:hover,.dropdown a:focus-visible{color:var(--ink);background:#211a140f}.dropdown a[aria-current=page]{color:var(--accent-deep);background:var(--accent-soft)}@media(max-width:760px){.site-header{position:relative;gap:.6rem}.site-header nav{order:2}.header-search{flex:1;min-width:0;max-width:13rem}.header-search input[type=search]{width:100%;font-size:1rem}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);cursor:pointer;transition:border-color .3s var(--ease)}.menu-toggle:hover,.menu-toggle[aria-expanded=true]{border-color:var(--ink)}.menu-toggle .bars,.menu-toggle .bars:before,.menu-toggle .bars:after{display:block;width:1rem;height:2px;border-radius:2px;background:currentColor;transition:transform .3s var(--ease),opacity .2s var(--ease)}.menu-toggle .bars{position:relative}.menu-toggle .bars:before,.menu-toggle .bars:after{content:"";position:absolute;left:0}.menu-toggle .bars:before{transform:translateY(-5px)}.menu-toggle .bars:after{transform:translateY(5px)}.menu-toggle[aria-expanded=true] .bars{background:transparent}.menu-toggle[aria-expanded=true] .bars:before{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .bars:after{transform:rotate(-45deg)}.nav-menu{display:none;position:absolute;top:calc(100% + .5rem);left:0;right:0;z-index:20;flex-direction:column;gap:.15rem;padding:.5rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 32px #211a141f}.nav-menu.open{display:flex;animation:menu-in .25s var(--ease)}.group-toggle{width:100%;justify-content:space-between;padding:.75rem 1rem;border-radius:10px}.dropdown{position:static;min-width:0;padding:0 0 .35rem .75rem;border:0;box-shadow:none;background:none}}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)}}@media(prefers-reduced-motion:reduce){.nav-menu.open,.dropdown.open{animation:none}}.site-footer{margin-top:4.5rem;padding-top:1.5rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--faint);font-size:.85rem}.bubble{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;padding:0 .4rem;margin-left:.35rem;border-radius:999px;background:var(--danger);color:var(--card);font-size:.72rem;font-weight:800;letter-spacing:0;line-height:1;vertical-align:.15em;box-shadow:0 0 0 2px var(--paper);animation:bubble-pop .42s var(--ease) both}@keyframes bubble-pop{0%{transform:scale(.4);opacity:0}}@media(prefers-reduced-motion:reduce){.bubble{animation:none}}.visit-count{font-variant-numeric:tabular-nums}.foot-links{display:flex;gap:1rem}.foot-links a{color:var(--faint);text-decoration:none;font-weight:600;transition:color .3s var(--ease)}.foot-links a:hover{color:var(--accent)}.masthead{margin-bottom:2.25rem}.eyebrow{display:inline-flex;align-items:center;gap:.45rem;border-radius:999px;padding:.28rem .85rem;font-size:.72rem;font-weight:700;letter-spacing:.12em;background:var(--accent-soft);color:var(--accent);margin-bottom:.9rem}.eyebrow .dot{width:6px;height:6px;border-radius:999px;background:var(--accent)}.masthead h1{margin:0 0 .5rem;font-size:clamp(1.9rem,4.5vw,2.6rem);font-weight:800;letter-spacing:-.03em}.masthead p{margin:0;color:var(--muted)}.btn{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1.15rem;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);text-decoration:none;cursor:pointer;font-size:.92rem;font-weight:600;font-family:inherit;transition:all .4s var(--ease)}.btn:hover{transform:translateY(-1px);border-color:var(--ink);box-shadow:0 14px 30px -18px #3e2e1c73}.btn:active{transform:scale(.98)}.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn.primary:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.btn.danger{color:var(--danger);border-color:var(--danger-soft);background:transparent}.btn.danger:hover{border-color:var(--danger);box-shadow:none}.post-list{list-style:none;margin:0;padding:0}.post-list>li{animation:rise .7s var(--ease) both;animation-delay:calc(var(--i, 0) * 70ms)}.post-row{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:1rem;padding:1.5rem 1.25rem;margin:0 -1.25rem .25rem;border-radius:var(--radius);text-decoration:none;border:1px solid transparent;transition:all .5s var(--ease)}.post-row:hover{background:var(--card);border-color:var(--line);box-shadow:0 24px 50px -30px #3e2e1c59;transform:translateY(-2px)}.post-row .idx{font-family:var(--mono);font-size:.8rem;color:var(--faint);padding-top:.35rem;font-variant-numeric:tabular-nums}.post-row h2{margin:0 0 .4rem;font-size:1.3rem;font-weight:750;letter-spacing:-.02em;transition:color .4s var(--ease)}.post-row:hover h2{color:var(--accent)}.pager{margin:2rem 0 1rem;display:flex;justify-content:center}.pager-pages{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.pager-num,.pager-step{min-width:2.5rem;height:2.5rem;padding:0 .8rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid transparent;color:var(--muted);font-family:var(--mono);font-size:.88rem;font-variant-numeric:tabular-nums;text-decoration:none;transition:all .3s var(--ease)}.pager-step{font-family:var(--font);font-weight:600}a.pager-num:hover,.pager-step:hover{color:var(--ink);border-color:var(--line);background:var(--card)}.pager-num[aria-current=page]{color:var(--paper);background:var(--ink);font-weight:700}.pager-more{display:none}.pager-gap{color:var(--muted);padding:0 .2rem}@media(max-width:760px){.pager-pages{display:none}.admin-pager .pager-pages{display:flex;justify-content:center}.pager-more{display:inline-flex;width:100%;justify-content:center;min-height:3rem}}.post-row .excerpt{margin:0 0 .7rem;color:var(--muted);font-size:.97rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.meta{color:var(--muted);font-size:.85rem;display:flex;gap:.55rem;flex-wrap:wrap;align-items:center}.meta time{font-variant-numeric:tabular-nums}.tag{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:.1rem .65rem;font-size:.78rem;font-weight:600}a.tag{text-decoration:none;transition:all .35s var(--ease)}a.tag:hover{background:var(--accent);color:#fff}.toc{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.3rem;margin:0 0 2rem;font-size:.95rem}.toc strong{display:block;margin-bottom:.5rem;font-size:.85rem;letter-spacing:.06em;color:var(--faint)}.toc ol{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:.3rem}.toc a{color:var(--muted);text-decoration:none;font-weight:550}.toc a:hover{color:var(--accent)}.toc-l2{margin-left:.8rem}.toc-l3{margin-left:1.6rem}.related{margin-top:2.5rem}.related h2{font-size:1.1rem;margin-bottom:.6rem}.related ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.related a{font-weight:650;text-decoration:none}.related a:hover{color:var(--accent)}.prevnext{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:2rem}.pn{display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);text-decoration:none;transition:all .45s var(--ease);min-width:0}.pn:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:0 24px 50px -30px #3e2e1c59}.pn.next{text-align:right}.pn-label{font-size:.8rem;color:var(--faint);font-weight:700}.pn-title{font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-form{margin-bottom:1.8rem}input[type=search]{padding:.7rem .9rem;border:1px solid var(--line);border-radius:10px;font-size:1rem;font-family:inherit;width:100%;background:var(--card);color:var(--ink)}input[type=search]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2e5b4329}.tag-cloud{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line)}.tag-cloud h2{font-size:1.05rem;margin:0 0 .8rem}.tag-cloud .tag[aria-current=page]{background:var(--accent);color:#fff}.empty{background:var(--card);border:1px dashed var(--line);border-radius:var(--radius);padding:2.5rem 1.5rem;text-align:center;color:var(--muted)}.empty a{color:var(--accent);font-weight:700}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;margin-bottom:1rem;box-shadow:0 20px 45px -35px #3e2e1c66}.prose{font-size:1.08rem;line-height:1.8}.prose h1,.prose h2,.prose h3{margin:2.2em 0 .7em}.prose h1{font-size:1.7rem}.prose h2{font-size:1.4rem;padding-top:.4em;border-top:1px solid var(--line)}.prose h3{font-size:1.15rem}.prose p{margin:1.1em 0}.prose a{color:var(--accent);font-weight:600;text-decoration-thickness:1.5px;text-underline-offset:3px}.prose blockquote{margin:1.6em 0;padding:.4em 0 .4em 1.1em;border-left:3px solid var(--accent);color:var(--muted)}.prose blockquote p{margin:.5em 0}.prose hr{border:none;border-top:1px solid var(--line);margin:2.5em auto;width:60%}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin:.4em 0}.prose pre{position:relative;background:var(--code-bg);color:#ece4d6;padding:1.1rem 1.25rem;border-radius:12px;overflow-x:auto;font-size:.86rem;line-height:1.7;font-family:var(--mono);box-shadow:inset 0 1px #ffffff14}.copy-btn{position:absolute;top:.6rem;right:.6rem;border:1px solid rgba(255,255,255,.22);background:#ffffff14;color:#ece4d6;border-radius:8px;padding:.25rem .7rem;font-size:.76rem;font-weight:700;font-family:var(--font);cursor:pointer;transition:all .3s var(--ease)}.copy-btn:hover{background:#ffffff2e}.copy-btn:active{transform:scale(.95)}.prose code:not(pre code){background:var(--accent-soft);color:var(--accent-deep);padding:.1em .45em;border-radius:6px;font-size:.88em;font-family:var(--mono)}.prose img{max-width:100%;border-radius:12px;border:1px solid var(--line)}.prose table{border-collapse:collapse;width:100%;font-size:.95rem}.prose th,.prose td{border:1px solid var(--line);padding:.6rem .8rem;text-align:left}.prose th{background:#211a140b}.back{margin-bottom:1.2rem}.post-title{font-size:clamp(1.8rem,4.5vw,2.5rem);font-weight:800;letter-spacing:-.03em;margin:0 0 .8rem}.post-head .meta{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.post-foot{margin-top:3rem}.field{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1rem}.field label{font-weight:700;font-size:.9rem}.field input[type=text],.field input[type=password],.field textarea{padding:.7rem .9rem;border:1px solid var(--line);border-radius:10px;font-size:1rem;font-family:inherit;width:100%;background:var(--card);color:var(--ink);transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2e5b4329}.field textarea{line-height:1.7;resize:vertical}input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--accent)}.row{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}.editor-tabs{display:flex;gap:.5rem;margin-bottom:.7rem}.editor-tabs button{padding:.45rem 1.2rem;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--muted);font-weight:700;font-size:.9rem;font-family:inherit;cursor:pointer;transition:all .4s var(--ease)}.editor-tabs button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.toolbar{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.7rem}.toolbar button{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:8px;padding:.3rem .7rem;cursor:pointer;font-size:.84rem;font-weight:600;font-family:var(--mono);transition:all .35s var(--ease)}.toolbar button:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.toolbar button:active{transform:scale(.96)}.preview{border:1px dashed var(--line);border-radius:10px;padding:1.25rem;min-height:300px;background:var(--card)}.error{background:var(--danger-soft);color:var(--danger);border:1px solid currentColor;padding:.7rem 1rem;border-radius:10px;margin-bottom:1rem;font-weight:600}.share{margin:2.5rem 0 0;padding-top:1.5rem;border-top:1px solid var(--line)}.share-label{display:block;font-size:.82rem;font-weight:700;letter-spacing:.08em;color:var(--faint);margin-bottom:.7rem}.series-box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.4rem;margin-top:2rem;box-shadow:0 20px 45px -35px #3e2e1c66}.series-box h2{font-size:1.05rem;margin:0 0 .7rem}.series-box h2 a{color:var(--accent);text-decoration:none}.series-box ol{margin:0;padding-left:1.3em;display:flex;flex-direction:column;gap:.35rem;font-size:.95rem}.series-box a{text-decoration:none;font-weight:550}.series-box a:hover{color:var(--accent)}.series-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}.series-list li a{display:grid;grid-template-columns:3.2rem 1fr;gap:1rem;align-items:baseline;padding:1.1rem 1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);text-decoration:none;transition:all .45s var(--ease)}.series-list li a:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:0 24px 50px -30px #3e2e1c59}.series-list .idx{font-family:var(--mono);font-size:.8rem;color:var(--accent);font-weight:700}.series-list strong{display:block;font-size:1.1rem;letter-spacing:-.01em}.series-list .excerpt{display:block;color:var(--muted);font-size:.92rem;margin-top:.25rem}.series-admin{list-style:none;margin:1rem 0 0;padding:1rem 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.6rem}.series-admin li{display:flex;justify-content:space-between;align-items:center;gap:.8rem}.series-admin a{font-weight:700;text-decoration:none}.series-admin a:hover{color:var(--accent)}.popular{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.4rem;margin-bottom:2rem}.popular h2{font-size:1.05rem;margin:0 0 .7rem}.popular ol{margin:0;padding-left:1.3em;display:flex;flex-direction:column;gap:.4rem;font-size:.95rem}.popular a{font-weight:650;text-decoration:none}.popular a:hover{color:var(--accent)}.popular .muted{font-size:.8rem;margin-left:.4rem}.comment-list.replies{margin-top:.8rem}.comment.reply{background:#211a1406;border-left:3px solid var(--accent)}.reply-box{margin-top:.7rem}.reply-box summary{cursor:pointer;font-size:.86rem;font-weight:700;color:var(--accent);border-radius:6px}.reply-box form{margin-top:.6rem}select,input[type=number],input[type=datetime-local]{padding:.7rem .9rem;border:1px solid var(--line);border-radius:10px;font-size:1rem;font-family:inherit;width:100%;background:var(--card);color:var(--ink)}select:focus,input[type=number]:focus,input[type=datetime-local]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2e5b4329}.comments{margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--line)}.comments h2,.comment-form h2,.comment-form h3{margin-top:0;letter-spacing:-.02em}.muted{color:var(--muted)}.comment-list{list-style:none;margin:1.25rem 0 0;padding:0;display:flex;flex-direction:column;gap:.8rem}.comment{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.25rem;box-shadow:0 20px 45px -38px #3e2e1c80}.comment-head{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap;margin-bottom:.4rem}.comment-head strong{font-weight:750}.comment-head time,.comment-head .muted{font-size:.82rem;color:var(--faint);font-variant-numeric:tabular-nums}.comment p{margin:0 0 .6rem;white-space:pre-wrap}.comment p:last-child{margin-bottom:0}.comment-form{margin-top:1.5rem}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.admin-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.admin-head h1{margin:0;font-size:clamp(1.6rem,4vw,2.1rem);font-weight:800;letter-spacing:-.03em}.admin-table{width:100%;border-collapse:collapse;font-size:.95rem}.admin-table th,.admin-table td{text-align:left;padding:.8rem .6rem;border-bottom:1px solid var(--line)}.admin-table th{font-size:.78rem;letter-spacing:.08em;color:var(--faint);font-weight:700}.admin-table tbody tr{transition:background .3s var(--ease)}.admin-table tbody tr:hover{background:#211a1408}.admin-table a{font-weight:650;text-decoration:none}.admin-table a:hover{color:var(--accent)}.badge{display:inline-block;font-size:.75rem;font-weight:700;padding:.15rem .7rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}.badge.draft{background:#f6ead2;color:#8a5a13}@keyframes rise{0%{opacity:0;transform:translateY(1.1rem)}to{opacity:1;transform:translateY(0)}}.rise{animation:rise .7s var(--ease) both;animation-delay:calc(var(--i, 0) * 70ms)}@media(max-width:560px){body{font-size:1rem}.post-row{grid-template-columns:minmax(0,1fr);gap:.2rem;margin:0 -.75rem .25rem;padding:1.2rem .75rem}.post-row .idx{padding-top:0}.admin-table .col-date{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.section-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:-.75rem 0 1.75rem}.section-tabs a{padding:.3rem .85rem;border:1px solid var(--line);border-radius:999px;font-size:.85rem;font-weight:600;color:var(--muted);text-decoration:none;transition:border-color .3s var(--ease),color .3s var(--ease)}.section-tabs a:hover,.section-tabs a:focus-visible{border-color:var(--accent);color:var(--accent)}.section-tabs a[aria-current=page]{background:var(--accent);border-color:var(--accent);color:#fff}.section-tabs .tab-extra{margin-left:auto;border-style:dashed;color:var(--accent)}.block-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.block-head h2,.dash-block h2{margin:0;font-size:1.1rem;letter-spacing:-.01em}.block-head a,.dash-more a{font-size:.85rem;font-weight:650;color:var(--accent);text-decoration:none;white-space:nowrap}.block-head a:hover,.dash-more a:hover{text-decoration:underline}.dash-block{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem 1.4rem;margin-bottom:1.25rem;box-shadow:0 20px 45px -35px #3e2e1c66}.dash-block>h2+*{margin-top:.8rem}.home-dash{border-top:3px solid var(--accent)}.dash-columns{display:grid;grid-template-columns:1fr 1fr;gap:0 1.25rem}.dash-more{margin:.9rem 0 0}.stat-tiles{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:.6rem;margin:0 0 1.1rem}.stat-tiles div{padding:.7rem .85rem;border-radius:10px;background:var(--paper);border:1px solid var(--line)}.stat-tiles div:first-child{background:var(--accent-soft);border-color:transparent}.stat-tiles dt{font-size:.75rem;font-weight:600;color:var(--muted)}.stat-tiles dd{margin:.1rem 0 0;font-size:1.45rem;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.stat-tiles div:first-child dd{font-size:1.9rem;color:var(--accent-deep)}.support{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem}.support-body{flex:1 1 16rem}.support-qr{margin:0;text-align:center;font-size:.8rem;color:var(--muted)}.support-qr img{display:block;margin:0 auto .4rem;border:1px solid var(--line);border-radius:10px}@media(max-width:600px){.support-qr{display:none}}.visit-chart{margin:0}.visit-range{display:flex;gap:.4rem;justify-content:flex-end;margin-bottom:.6rem}.visit-range .btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--card)}.visit-chart svg{display:block;width:100%;height:180px;border-bottom:1px solid var(--line)}.visit-chart rect{fill:var(--accent);opacity:.85;transition:opacity .15s var(--ease)}.visit-chart rect:hover{opacity:1;fill:var(--accent-deep)}.visit-avg{stroke:var(--danger);stroke-width:1.5;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.visit-chart figcaption{display:flex;justify-content:space-between;gap:.5rem;margin-top:.4rem;font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums}.heatmap{margin:0}.heatmap-grid{display:grid;grid-template-rows:repeat(7,1fr);grid-auto-flow:column;grid-auto-columns:minmax(0,18px);gap:3px;max-width:100%}.heatmap .cell{display:block;aspect-ratio:1;min-width:6px;border-radius:2px;background:var(--line)}.heatmap .cell[data-level="1"]{background:#c9dccd}.heatmap .cell[data-level="2"]{background:#8fb79b}.heatmap .cell[data-level="3"]{background:#4f8763}.heatmap .cell[data-level="4"]{background:var(--accent-deep)}.heatmap figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-top:.6rem;font-size:.8rem;color:var(--muted)}.heatmap-legend{display:inline-flex;align-items:center;gap:3px}.heatmap-legend .cell{width:10px}.bar-list,.plain-list,.tech-cloud,.topic-list,.mini-list,.made-grid,.service-list{list-style:none;margin:0;padding:0}.bar-list li{display:grid;grid-template-columns:6.5rem 1fr 2.5rem;align-items:center;gap:.6rem;font-size:.88rem;margin-bottom:.45rem}.bar{height:.6rem;border-radius:999px;background:linear-gradient(90deg,var(--accent) var(--w),var(--paper) var(--w));border:1px solid var(--line)}.bar-value{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.plain-list li{display:flex;justify-content:space-between;gap:.5rem;padding:.35rem 0;border-bottom:1px dashed var(--line);font-size:.92rem}.tech-cloud{display:flex;flex-wrap:wrap;gap:.4rem}.tech-cloud .tag .muted{font-size:.72rem}.tech-cloud a.tag:hover .muted{color:inherit}.topic-list li{display:grid;grid-template-columns:6.2rem 1fr auto;gap:.6rem;align-items:baseline;padding:.4rem 0;border-bottom:1px solid var(--line);font-size:.92rem}.topic-list time{font-family:var(--mono);font-size:.78rem;color:var(--faint)}.topic-list a,.plain-list a{font-weight:600;text-decoration:none}.topic-list a:hover,.plain-list a:hover{color:var(--accent)}.topic-list .muted{font-size:.78rem}.home-section{margin-bottom:2rem}.mini-list li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line)}.mini-list a{font-weight:650;text-decoration:none;transition:color .3s var(--ease)}.mini-list a:hover{color:var(--accent)}.mini-list time{flex:none;font-size:.8rem;color:var(--faint);font-variant-numeric:tabular-nums}.made-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.8rem;margin-bottom:1rem}.made-grid a{display:flex;flex-direction:column;gap:.15rem;height:100%;text-decoration:none;font-size:.85rem;line-height:1.4}.made-grid img{width:100%;height:auto;aspect-ratio:16 / 10;object-fit:cover;border-radius:10px;border:1px solid var(--line);margin-bottom:.35rem;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}.made-grid a:hover img,.made-grid a:focus-visible img{transform:translateY(-3px);box-shadow:0 14px 28px -18px #3e2e1c8c}.made-grid .muted{font-size:.75rem}.cta-card{display:flex;flex-direction:column;gap:.25rem;padding:1.1rem 1.3rem;border-radius:var(--radius);background:var(--accent-deep);color:#f4efe6;text-decoration:none;transition:transform .4s var(--ease),background .4s var(--ease)}.cta-card strong{font-size:1.05rem;color:#fff}.cta-card span{font-size:.88rem;opacity:.85}.cta-card:hover,.cta-card:focus-visible{background:var(--accent);transform:translateY(-2px)}.service-list{margin-bottom:1.5rem}.service-list>li{position:relative;padding-top:1.6rem}.service-no{position:absolute;top:1rem;right:1.3rem;font-family:var(--mono);font-size:2rem;font-weight:700;color:var(--accent-soft);line-height:1}.service-list h2{margin:0 0 .35rem;font-size:1.2rem}.service-list p{margin:0 0 .6rem;color:var(--muted)}.service-includes{margin:0 0 .8rem;padding-left:1.1rem;font-size:.92rem}.service-list .service-proof{display:flex;flex-wrap:wrap;gap:.3rem .9rem;margin:0;padding-top:.7rem;border-top:1px dashed var(--line);font-size:.85rem}.service-proof a{font-weight:650;color:var(--accent);text-decoration:none}.service-proof a:hover{text-decoration:underline}@media(max-width:560px){.dash-columns{grid-template-columns:1fr}.stat-tiles{grid-template-columns:repeat(2,1fr)}.dash-block{padding:1.1rem}.topic-list li{grid-template-columns:1fr auto}.topic-list time{grid-column:1 / -1}.section-tabs .tab-extra{margin-left:0}}.book-rail.svelte-hnzjcm{display:none}@media(min-width:75rem){.book-rail.svelte-hnzjcm{position:fixed;top:50%;transform:translateY(-50%);width:10rem;max-height:calc(100vh - 2rem);overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;gap:.75rem}.left.svelte-hnzjcm{right:calc(50% + 24.5rem)}.right.svelte-hnzjcm{left:calc(50% + 24.5rem)}}.rail-label.svelte-hnzjcm{margin:0;font-size:.75rem;font-weight:600;letter-spacing:.04em;color:var(--faint)}.book.svelte-hnzjcm{display:flex;flex-direction:column;gap:.3rem;padding:.5rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);text-decoration:none;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}.book.svelte-hnzjcm:hover,.book.svelte-hnzjcm:focus-visible{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 6px 18px #211a1414}img.svelte-hnzjcm{width:100%;height:auto;border-radius:calc(var(--radius) - 6px)}.title.svelte-hnzjcm{font-size:.8rem;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.meta.svelte-hnzjcm{font-size:.75rem;color:var(--accent);font-weight:600}.meta.svelte-hnzjcm em:where(.svelte-hnzjcm){font-style:normal;color:var(--muted)}@media(prefers-reduced-motion:reduce){.book.svelte-hnzjcm{transition:none}.book.svelte-hnzjcm:hover,.book.svelte-hnzjcm:focus-visible{transform:none}}
