:root{--color-bg:#fff;--color-surface:#f4f7f5;--color-text:#1c2421;--color-muted:#4f5b56;--color-border:#d5ddd9;--color-accent:#1f7a4d;--color-accent-hover:#17603c;--color-code-bg:#eaf1ed;--font-sans:system-ui, -apple-system, "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--content-width:46rem;--page-width:72rem;--radius:8px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);margin:0;font-size:1.0625rem;line-height:1.8}a{color:var(--color-accent);text-underline-offset:.2em}a:hover{color:var(--color-accent-hover)}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}img{max-width:100%;height:auto}code{font-family:var(--font-mono);background:var(--color-code-bg);overflow-wrap:anywhere;border-radius:4px;padding:.1em .35em;font-size:.92em}pre{background:var(--color-code-bg);border-radius:var(--radius);padding:1rem;overflow-x:auto}pre code{background:0 0;padding:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{background:var(--color-text);color:#fff;z-index:10;padding:.5rem 1rem;position:absolute;top:.5rem;left:-999px}.skip-link:focus{left:.5rem}.site-header{border-bottom:1px solid var(--color-border)}.site-header__inner,.site-footer__inner{max-width:var(--page-width);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;margin:0 auto;padding:.75rem 1rem;display:flex}.logo{color:var(--color-text);font-size:1.25rem;font-weight:700;text-decoration:none}.site-header ul,.site-footer ul{flex-wrap:wrap;gap:.25rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.site-header nav a{color:var(--color-text);padding:.5rem 0;text-decoration:none;display:inline-block}.site-footer{border-top:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);margin-top:4rem;font-size:.9rem}.site-footer p{flex-basis:100%;margin:.5rem 0 0}.site-footer a{padding:.25rem 0;display:inline-block}.layout{max-width:var(--page-width);margin:0 auto;padding:1rem}main{max-width:var(--content-width);min-width:0}.layout:not(.layout--sidebar) main{margin:0 auto}.sidebar{display:none}@media (width>=1024px){.layout--sidebar{grid-template-columns:minmax(0,1fr) 300px;gap:3rem;display:grid}.sidebar{display:block}}.breadcrumbs ol{color:var(--color-muted);flex-wrap:wrap;gap:.25rem;margin:0 0 1rem;padding:0;font-size:.875rem;list-style:none;display:flex}.breadcrumbs li+li:before{content:"›";margin-right:.25rem}h1{margin:.25rem 0 .75rem;font-size:1.875rem;line-height:1.35}h2{margin:2.5rem 0 .75rem;font-size:1.375rem;line-height:1.4}.eyebrow{margin:0;font-size:.875rem}.lead{color:var(--color-muted);margin:0 0 .5rem;font-size:1.125rem}.meta{color:var(--color-muted);margin:0;font-size:.875rem}.badge{background:var(--color-code-bg);color:var(--color-accent-hover);border-radius:999px;padding:0 .6em;font-size:.8rem;font-weight:600;display:inline-block}.table-scroll{margin:1rem 0;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{border:1px solid var(--color-border);text-align:left;vertical-align:top;padding:.4rem .6rem}thead th{background:var(--color-surface)}.button{background:var(--color-accent);color:#fff;border-radius:var(--radius);padding:.6rem 1.2rem;font-weight:600;text-decoration:none;display:inline-block}.button:hover{background:var(--color-accent-hover);color:#fff}.card-list{gap:.75rem;padding:0;list-style:none;display:grid}.card-list a{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);padding:.75rem 1rem;text-decoration:none;display:block}.card-list a:hover{border-color:var(--color-accent)}.card-list strong{color:var(--color-accent);display:block}.card-list span{color:var(--color-muted);font-size:.9rem}@media (width>=640px){.card-list--grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.example{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);margin:1.5rem 0;padding:1rem}.example__title{font-weight:700}.sheet{font-family:var(--font-mono);background:#fff;font-size:.875rem}.sheet thead th,.sheet tbody th{text-align:center;color:var(--color-muted);background:#e3e9e6;font-weight:600}.sheet td{white-space:nowrap}.sheet__formula{background:#fff8d6;font-weight:700}.example__formulas{padding-left:1.25rem}.example__note{color:var(--color-muted);font-size:.9rem;display:block}.example__download{margin:.75rem 0 0}.search-form{gap:.5rem;margin:1rem 0;display:flex}.search-form input{min-width:0;font:inherit;border:1px solid var(--color-muted);border-radius:var(--radius);flex:1;padding:.5rem .75rem}.search-form .button{font:inherit;cursor:pointer;border:0}.ad-slot{min-height:280px;margin:2rem 0}.ad-slot--sidebar{min-height:600px;margin-top:0;position:sticky;top:1rem}.params td:nth-child(-n+2),.params th:nth-child(-n+2){white-space:nowrap}.params code{overflow-wrap:normal}.draft-banner{border-radius:var(--radius);background:#fff8d6;margin:.5rem 0;padding:.5rem .75rem;font-size:.9rem}.goals{border-left:4px solid var(--color-accent);background:var(--color-surface);margin:1.5rem 0;padding:.75rem 1.25rem}.goals h2{margin:0 0 .25rem;font-size:1.05rem}.goals ul{margin:0;padding-left:1.25rem}.screenshot{margin:1rem 0 1.5rem}.screenshot img{border:1px solid var(--color-border);border-radius:var(--radius)}.screenshot figcaption{color:var(--color-muted);font-size:.875rem}.screenshot--missing{border:2px dashed var(--color-muted);border-radius:var(--radius);background:var(--color-surface);padding:1rem}.screenshot--missing p{margin:0}.lesson-nav{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin:2.5rem 0 0;padding-top:1rem;display:flex}.lesson-nav__next{text-align:right;margin-left:auto}.lesson-nav__upcoming{color:var(--color-muted)}.outline{padding-left:0;list-style:none}.outline li{border-bottom:1px solid var(--color-border);padding:.6rem 0}.outline strong{min-width:4.5em;display:inline-block}.outline__upcoming{color:var(--color-muted)}.outline em{margin-left:.5rem;font-size:.85rem;font-style:normal}.stage-list__upcoming span{border:1px dashed var(--color-border);border-radius:var(--radius);color:var(--color-muted);padding:.75rem 1rem;display:block}.review-lessons td:nth-child(2),.review-lessons td:nth-child(3),.review-lessons th{white-space:nowrap}.review-lessons ul{margin:.25rem 0 0;padding-left:1.1rem}
