:root{--ink:#232323;--accent:#a6402d;--paper:#f5f1e8;--paper-raised:#fbf8f1;--line:#d8d0c0;--line-strong:#b8af9d;--muted:#6b6459;--on-ink:#f5f1e8;--pending-bg:#f1e4ce;--pending-ink:#83551f;--ok-bg:#e7ede3;--ok-ink:#3f6242;--font-sans:"Noto Sans CJK SC", "Source Han Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", "DejaVu Sans Mono", monospace;--t-xs:.75rem;--t-sm:.8125rem;--t-base:.9375rem;--t-md:1.0625rem;--t-lg:1.375rem;--t-xl:1.875rem;--t-2xl:2.5rem;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:2.75rem;--s-8:4rem;--maxw:1180px;--hairline:1px solid var(--line)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--t-base);margin:0;line-height:1.75}h1,h2,h3,h4,p,ul,ol,dl,dd,figure,table{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}img,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.container{width:min(100% - 2 * var(--s-5), var(--maxw));margin-inline:auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--s-4);z-index:50;background:var(--ink);color:var(--on-ink);padding:var(--s-2) var(--s-4);position:absolute;top:-100px}.skip-link:focus{top:var(--s-2)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.site-header{background:var(--paper);border-bottom:var(--hairline)}.header-inner{justify-content:space-between;align-items:center;gap:var(--s-5);min-height:76px;display:flex}.brand{align-items:center;gap:var(--s-3);flex-shrink:0;display:flex}.brand img{width:176px;height:auto}.brand-tag{border-left:var(--hairline);padding-left:var(--s-3);font-size:var(--t-xs);color:var(--muted);max-width:9rem;line-height:1.4}.main-nav ul{align-items:center;gap:var(--s-5);display:flex}.main-nav a{font-size:var(--t-sm);letter-spacing:.04em;padding:var(--s-2) 0;white-space:nowrap;border-bottom:2px solid #0000}.main-nav a[aria-current=page]{border-bottom-color:var(--accent);color:var(--accent)}.nav-toggle,.nav-toggle-label{display:none}.page-head{padding:var(--s-7) 0 var(--s-5);border-bottom:var(--hairline)}.kicker{font-size:var(--t-xs);letter-spacing:.18em;color:var(--accent);text-transform:uppercase;font-family:var(--font-mono);margin-bottom:var(--s-2)}.page-head h1{font-size:var(--t-2xl);letter-spacing:.01em;font-weight:800;line-height:1.25}.page-head .lead{margin-top:var(--s-3);color:var(--muted);max-width:62ch;font-size:var(--t-md)}.breadcrumb{font-size:var(--t-xs);color:var(--muted);margin-bottom:var(--s-3)}.breadcrumb a{border-bottom:1px solid var(--line-strong)}.section{padding:var(--s-7) 0;border-bottom:var(--hairline)}.section:last-child{border-bottom:0}.section-head{align-items:baseline;gap:var(--s-4);margin-bottom:var(--s-5);display:flex}.section-num{font-family:var(--font-mono);font-size:var(--t-sm);color:var(--accent);flex-shrink:0}.section-title{font-size:var(--t-xl);font-weight:800;line-height:1.3}.section-desc{color:var(--muted);font-size:var(--t-sm);max-width:68ch;margin-top:var(--s-2)}.btn-row{gap:var(--s-3);margin-top:var(--s-5);flex-wrap:wrap;display:flex}.btn{border:1px solid var(--ink);font-size:var(--t-sm);letter-spacing:.04em;cursor:pointer;background:0 0;padding:.6rem 1.4rem;display:inline-block}.btn:hover{color:var(--paper);background:var(--accent);border-color:var(--accent)}.btn-primary{background:var(--ink);color:var(--on-ink)}.btn-primary:hover{background:var(--accent)}.btn:disabled{opacity:.55;cursor:not-allowed}.grid{background:var(--line);border:var(--hairline);gap:1px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-6{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--paper-raised);padding:var(--s-5);min-width:0}.card-code{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--accent);margin-bottom:var(--s-3)}.card-title{font-size:var(--t-md);font-weight:700;line-height:1.4}.card-summary{font-size:var(--t-sm);color:var(--muted);margin-top:var(--s-2)}.card-uses{font-size:var(--t-xs);color:var(--muted);margin-top:var(--s-3);padding-top:var(--s-3);border-top:var(--hairline)}.card-link{margin-top:var(--s-3);font-size:var(--t-sm);color:var(--accent);border-bottom:1px solid;display:inline-block}a.card-block:hover .card-title{color:var(--accent)}.table-wrap{border:var(--hairline);background:var(--paper-raised);overflow-x:auto}table.data{border-collapse:collapse;width:100%;min-width:34rem;font-size:var(--t-sm)}table.data caption{text-align:left;padding:var(--s-3) var(--s-4);font-size:var(--t-xs);color:var(--muted);border-bottom:var(--hairline)}table.data th,table.data td{padding:.7rem var(--s-4);text-align:left;border-bottom:var(--hairline);vertical-align:top}table.data thead th{background:var(--paper);white-space:nowrap;font-weight:700}table.data tbody tr:last-child th,table.data tbody tr:last-child td{border-bottom:0}table.data tbody th{width:11rem;font-weight:600}table.data td.num,table.data th.num{font-family:var(--font-mono)}.pending{font-size:var(--t-xs);background:var(--pending-bg);color:var(--pending-ink);border:1px dashed var(--pending-ink);font-family:var(--font-sans);white-space:nowrap;padding:.05rem .45rem;display:inline-block}.callout{border-left:3px solid var(--accent);background:var(--paper-raised);padding:var(--s-4) var(--s-5);margin-top:var(--s-5);font-size:var(--t-sm)}.callout strong{margin-bottom:var(--s-2);display:block}.callout p+p{margin-top:var(--s-2)}.tag-list{gap:var(--s-2);margin-top:var(--s-3);flex-wrap:wrap;display:flex}.tag{border:var(--hairline);font-size:var(--t-xs);background:var(--paper-raised);padding:.15rem .6rem}.flow{border-top:var(--hairline)}.flow-step{gap:var(--s-4);padding:var(--s-4) 0;border-bottom:var(--hairline);grid-template-columns:4rem 12rem minmax(0,1fr);display:grid}.flow-no{font-family:var(--font-mono);color:var(--accent);font-size:var(--t-md)}.flow-name{font-weight:700}.flow-body{font-size:var(--t-sm)}.flow-meta{font-size:var(--t-xs);color:var(--muted);margin-top:var(--s-1)}.flow-meta b{color:var(--ink);font-weight:600}.illustration{border:var(--hairline);background:var(--paper-raised);padding:var(--s-5);justify-content:center;align-items:center;min-height:8rem;display:flex}.illustration svg{width:100%;max-width:32rem;height:auto}.illustration-note{font-size:var(--t-xs);color:var(--muted);margin-top:var(--s-2)}.form-grid{gap:var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.field{gap:var(--s-2);flex-direction:column;min-width:0;display:flex}.field-full{grid-column:1/-1}.field label{font-size:var(--t-sm);font-weight:600}.field label .req{color:var(--accent);margin-left:.2rem}.field input,.field textarea{border:var(--hairline);background:var(--paper-raised);padding:.6rem var(--s-3);font-size:var(--t-sm);border-radius:0;width:100%}.field textarea{resize:vertical;min-height:8rem}.field .hint{font-size:var(--t-xs);color:var(--muted)}.form-status{margin-top:var(--s-4);font-size:var(--t-sm);padding:var(--s-3) var(--s-4);border:var(--hairline)}.form-status:empty{display:none}.form-status[data-state=ok]{background:var(--ok-bg);color:var(--ok-ink)}.form-status[data-state=warn]{background:var(--pending-bg);color:var(--pending-ink)}.site-footer{background:var(--ink);color:var(--on-ink);margin-top:var(--s-8)}.footer-grid{gap:var(--s-6);padding:var(--s-7) 0 var(--s-6);grid-template-columns:1.2fr 1fr 1fr 1.2fr;display:grid}.footer-title{font-size:var(--t-xs);letter-spacing:.14em;color:#c9bfac;margin-bottom:var(--s-3)}.footer-list li{font-size:var(--t-sm);padding:.18rem 0}.footer-list a:hover{color:#e4a38f}.footer-col p{font-size:var(--t-sm);color:#d8d0c0}.footer-bottom{padding:var(--s-4) 0 var(--s-6);font-size:var(--t-xs);color:#c9bfac;border-top:1px solid #4a443c}.footer-bottom a{border-bottom:1px solid #6b6459}.footer-bottom a:hover{color:#e4a38f}.footer-legal{gap:var(--s-2) var(--s-5);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.hero-grid{gap:var(--s-6);padding:var(--s-7) 0;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);display:grid}.hero-lead h1{font-size:var(--t-2xl);font-weight:800;line-height:1.3}.hero-lead h1 span{color:var(--accent)}.hero-lead .sub{font-size:var(--t-md);color:var(--muted);margin-top:var(--s-4);max-width:46ch}.hero-facts{border:var(--hairline);background:var(--paper-raised);align-self:start}.hero-facts h2{font-size:var(--t-xs);letter-spacing:.14em;color:var(--muted);padding:var(--s-3) var(--s-4);border-bottom:var(--hairline)}.hero-facts dl{font-size:var(--t-sm);grid-template-columns:8rem minmax(0,1fr);display:grid}.hero-facts dt,.hero-facts dd{padding:.55rem var(--s-4);border-bottom:var(--hairline)}.hero-facts dt{color:var(--muted);border-right:var(--hairline)}.hero-facts dt:last-of-type,.hero-facts dd:last-of-type{border-bottom:0}.capability-grid{margin-top:var(--s-5)}@media (width<=900px){.grid-4,.grid-6,.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-grid{grid-template-columns:1fr}.flow-step{grid-template-columns:3rem 9rem minmax(0,1fr)}}@media (width<=640px){.container{width:min(100% - 2 * var(--s-4), var(--maxw))}.header-inner{min-height:62px;padding:var(--s-2) 0;flex-wrap:wrap}.brand img{width:148px}.brand-tag{display:none}.nav-toggle{opacity:0;width:1px;height:1px;position:absolute}.nav-toggle-label{font-size:var(--t-sm);border:1px solid var(--ink);cursor:pointer;padding:.25rem .7rem;display:inline-block}.main-nav{order:3;width:100%;display:none}.nav-toggle:checked~.main-nav{display:block}.main-nav ul{flex-direction:column;align-items:stretch;gap:0}.main-nav li{border-top:var(--hairline)}.main-nav a{border-bottom:0;padding:.6rem 0;display:block}.main-nav a[aria-current=page]{border-bottom:0}.grid-2,.grid-3,.grid-4,.grid-6{grid-template-columns:1fr}.footer-grid{gap:var(--s-5);grid-template-columns:1fr}.page-head{padding:var(--s-6) 0 var(--s-4)}.page-head h1,.hero-lead h1{font-size:var(--t-xl)}.section{padding:var(--s-6) 0}.section-head{display:block}.section-title{font-size:var(--t-lg)}.form-grid{grid-template-columns:1fr}.flow-step{gap:var(--s-2) var(--s-3);grid-template-columns:2.5rem minmax(0,1fr)}.flow-name,.flow-body{grid-column:2}.hero-facts dl{grid-template-columns:7rem minmax(0,1fr)}.footer-bottom{padding-bottom:var(--s-5)}}
