@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Noto+Sans+TC:wght@400;500;700&display=swap";:root{--color-bg:#fafafa;--color-text:#1a1a1a;--color-text-secondary:#666;--color-border:#e5e5e5;--color-accent:#333;--color-tag-bg:#f0f0f0;--font-sans:"Inter", "Noto Sans TC", system-ui, sans-serif;--max-width:960px;--space-xs:.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.8}body{flex-direction:column;min-height:100dvh;display:flex}h1,h2,h3{letter-spacing:-.02em;font-weight:600;line-height:1.4}h1{font-size:1.75rem}h2{font-size:1.35rem}h3{font-size:1.1rem}a{color:var(--color-text);border-bottom:1px solid var(--color-border);text-decoration:none;transition:border-color .4s cubic-bezier(.4,0,.2,1)}a:hover{border-bottom-color:var(--color-text)}a.bento-item{border-bottom:1px solid var(--color-border)}img{max-width:100%;height:auto;display:block}.prose h2{margin-top:var(--space-lg);margin-bottom:var(--space-sm)}.prose h3{margin-top:var(--space-md);margin-bottom:var(--space-xs)}.prose p{margin-bottom:var(--space-sm)}.prose ul,.prose ol{margin-bottom:var(--space-sm);padding-left:1.5em}.prose li{margin-bottom:var(--space-xs)}.prose .prompt-kit{margin-block:var(--space-md) var(--space-lg);padding-block:var(--space-sm);border-block:1px solid var(--color-border)}.prompt-kit-actions{align-items:center;gap:var(--space-xs) var(--space-sm);flex-wrap:wrap;display:flex}.prompt-kit-copy{border:1px solid var(--color-text);background:var(--color-text);min-height:44px;color:var(--color-bg);font:inherit;cursor:pointer;border-radius:6px;padding:.6rem 1rem;font-size:.9rem;font-weight:600}.prompt-kit-copy:hover{background:var(--color-accent)}.prompt-kit-copy:disabled{opacity:.65;cursor:wait}.prompt-kit-copy:focus-visible,.prompt-kit summary:focus-visible{outline:2px solid var(--color-text);outline-offset:4px}.prompt-kit-status{color:var(--color-text-secondary);font-size:.85rem}.prompt-kit summary{cursor:pointer;align-content:center;width:fit-content;min-height:44px;font-size:.9rem;display:list-item}.prose .prompt-kit pre{margin-block:var(--space-xs) 0;white-space:pre-wrap;overflow-wrap:anywhere}.prose .prompt-kit pre code{font-family:var(--font-sans);line-height:1.8}.code-block-wrapper{margin-bottom:var(--space-sm);position:relative}.prose pre{padding:var(--space-sm);scrollbar-width:thin;scrollbar-color:#ccc transparent;background:#f5f5f5;border-radius:4px;margin-bottom:0;font-family:Fira Code,monospace;font-size:.875rem;line-height:1.6;overflow-x:auto}.prose code{background:#f5f5f5;border-radius:3px;padding:.15em .35em;font-family:Fira Code,monospace;font-size:.875em}.prose pre code{background:0 0;padding:0}.code-copy-btn{cursor:pointer;color:#999;opacity:0;user-select:none;font-size:.7rem;line-height:1;font-family:var(--font-sans);white-space:nowrap;background:0 0;border:none;border-radius:4px;align-items:center;gap:2px;padding:4px 6px;transition:opacity .2s,transform .15s,color .2s;display:flex;position:absolute;top:6px;right:6px}.code-block-wrapper:hover .code-copy-btn{opacity:.6}.code-copy-btn:hover{transform:scale(1.15);opacity:1!important}.code-copy-btn.copied{animation:.35s paw-press}@keyframes paw-press{0%{transform:scale(1)}40%{transform:scale(.75)rotate(-8deg)}to{transform:scale(1)}}.prose pre::-webkit-scrollbar{height:6px}.prose pre::-webkit-scrollbar-track{background:0 0}.prose pre::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.prose pre::-webkit-scrollbar-thumb:hover{background:#aaa}.prose blockquote{border-left:2px solid var(--color-border);padding-left:var(--space-sm);color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.prose hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-lg) 0}.prose img{margin:var(--space-md) 0;cursor:zoom-in;border-radius:4px}.lightbox-overlay{z-index:1000;backdrop-filter:blur();cursor:zoom-out;pointer-events:none;opacity:0;background:0 0;transition:background .4s cubic-bezier(.4,0,.2,1),backdrop-filter .4s cubic-bezier(.4,0,.2,1),opacity 0s linear .4s;position:fixed;inset:0}.lightbox-overlay.active{pointer-events:auto;opacity:1;backdrop-filter:blur(8px);background:#0009;transition:background .4s cubic-bezier(.4,0,.2,1),backdrop-filter .4s cubic-bezier(.4,0,.2,1),opacity linear}.lightbox-img{transform-origin:0 0;border-radius:4px;transition:transform .4s cubic-bezier(.22,1,.36,1);position:fixed;top:0;left:0}.prose table{border-collapse:collapse;width:100%;margin-bottom:var(--space-sm);font-size:.9rem}.prose thead th{text-align:left;letter-spacing:.03em;color:var(--color-text-secondary);padding:var(--space-xs) var(--space-sm);border-bottom:2px solid var(--color-border);font-size:.8rem;font-weight:600}.prose tbody td{padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--color-border);vertical-align:top}.prose tbody tr:last-child td{border-bottom:none}.prose figure{margin:var(--space-md) 0}.prose figure img{margin:0}.prose figcaption{color:var(--color-text-secondary);text-align:center;margin-top:var(--space-xs);font-size:.8rem}.prose kbd{font-family:var(--font-sans);border:1px solid var(--color-border);white-space:nowrap;background:#fff;border-bottom-width:2px;border-radius:4px;padding:.1em .4em;font-size:.8em}.prose mark{color:inherit;background:#fef08a;border-radius:2px;padding:.05em .2em}.prose del{color:var(--color-text-secondary);text-decoration:line-through}.prose a{color:#2563eb;border-bottom-color:#bfdbfe;transition:color .2s,border-color .2s}.prose a:hover{color:#1d4ed8;border-bottom-color:#1d4ed8}.prose a[href^=http]:after{content:"";vertical-align:middle;opacity:.7;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;width:.7em;height:.7em;margin-left:.2em;display:inline-block}.prose ul:has(>li>input[type=checkbox]){padding-left:0;list-style:none}.prose li>input[type=checkbox]{accent-color:var(--color-accent);vertical-align:-1px;margin-right:.4em}.prose ul ul,.prose ol ol,.prose ul ol,.prose ol ul{margin-top:2px;margin-bottom:0}.prose abbr[title]{text-decoration:underline dotted var(--color-text-secondary);text-underline-offset:3px;cursor:help}.prose .alert{padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm);border-left:3px solid;border-radius:0 4px 4px 0;font-size:.9rem;line-height:1.7}.prose .alert p{margin-bottom:0}.prose .alert p+p{margin-top:var(--space-xs)}.prose .alert-title{letter-spacing:.03em;margin-bottom:4px;font-size:.8rem;font-weight:600;display:block}.prose .alert-note{background:#eff6ff;border-left-color:#3b82f6}.prose .alert-note .alert-title{color:#2563eb}.prose .alert-tip{background:#f0fdf4;border-left-color:#22c55e}.prose .alert-tip .alert-title{color:#16a34a}.prose .alert-warning{background:#fffbeb;border-left-color:#f59e0b}.prose .alert-warning .alert-title{color:#d97706}.prose .alert-danger{background:#fef2f2;border-left-color:#ef4444}.prose .alert-danger .alert-title{color:#dc2626}.prose .alert-info{background:#f5f3ff;border-left-color:#8b5cf6}.prose .alert-info .alert-title{color:#7c3aed}.prose .faq-list{margin-bottom:var(--space-md);interpolate-size:allow-keywords;gap:10px;display:grid}.prose .faq-item{border:1px solid var(--color-border);background:#fff;border-radius:10px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.prose .faq-item:hover,.prose .faq-item[open]{border-color:#b8b8b8;box-shadow:0 3px 14px #0000000d}.prose .faq-item::details-content{opacity:0;block-size:0;transition:block-size .25s ease, opacity .2s ease, content-visibility .25s allow-discrete;overflow:hidden}.prose .faq-item[open]::details-content{opacity:1;block-size:auto}.prose .faq-item summary{cursor:pointer;grid-template-columns:28px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:14px 16px;font-weight:600;line-height:1.5;list-style:none;display:grid}.prose .faq-item summary::-webkit-details-marker{display:none}.prose .faq-item summary:after{content:"";width:14px;height:14px;color:var(--color-text-secondary);background:linear-gradient(currentColor,currentColor) 50%/14px 1.5px no-repeat,linear-gradient(currentColor,currentColor) 50%/1.5px 14px no-repeat;transition:background-size .2s,transform .25s}.prose .faq-item[open] summary:after{background-size:14px 1.5px,1.5px 0;transform:rotate(180deg)}.prose .faq-item summary:focus-visible{outline-offset:-2px;outline:2px solid #737373}.prose .faq-question-label,.prose .faq-answer-label{border-radius:50%;place-items:center;width:28px;height:28px;font-size:.75rem;font-weight:700;line-height:1;display:inline-grid}.prose .faq-question-label{color:#fff;background:#262626}.prose .faq-answer{color:var(--color-text-secondary);border-top:1px solid var(--color-border);background:#f5f5f5;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;padding:14px 16px 16px;display:grid}.prose .faq-answer-label{color:#262626;background:#dedede}.prose .faq-answer p{margin:0}@media (prefers-reduced-motion:reduce){.prose .faq-item::details-content,.prose .faq-item summary:after{transition:none}}.bento{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.bento-item{border:1px solid var(--color-border);padding:var(--space-md);background:#fff;border-radius:12px;transition:background .4s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1);overflow:hidden}.bento-item:hover{box-shadow:0 2px 16px #0000000d}.bento-item.span-2{grid-column:span 2}.bento-item.span-3{grid-column:span 3}.bento-item.span-4{grid-column:span 4}.bento-item.row-2{grid-row:span 2}@media (width<=768px){.bento{grid-template-columns:repeat(2,1fr)}.bento-item.span-3,.bento-item.span-4{grid-column:span 2}}@media (width<=480px){.bento{grid-template-columns:1fr}.bento-item.span-2,.bento-item.span-3,.bento-item.span-4{grid-column:span 1}}
