@import url("/design-tokens.css");
/* Static content has no browsing caret; editable controls retain their caret. */
:root{caret-color:transparent}
input:enabled:not([readonly]),textarea:enabled:not([readonly]),[contenteditable="true"],[contenteditable=""],[contenteditable="plaintext-only"]{caret-color:auto}
[contenteditable="false"]{caret-color:transparent}
@font-face{font-family:Space;src:url('/assets/space-grotesk.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Plex;src:url('/assets/ibm-plex-mono.ttf') format('truetype');font-display:swap}
:root{--paper:var(--remote-canvas);--surface:var(--remote-surface);--ink:var(--remote-ink);--muted:var(--remote-muted);--line:var(--remote-line);--green:var(--remote-forest);--lime:var(--remote-lime);font-family:var(--remote-font-body);color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;line-height:1.75}a{color:var(--green);text-underline-offset:4px}a:hover{color:#306c36}button,input,select{font:inherit}button,a,select,input{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:var(--remote-stroke-focus) solid var(--remote-focus);outline-offset:var(--remote-focus-offset)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-100px;left:20px;background:var(--lime);padding:10px;z-index:20}.skip:focus{top:10px}header{height:84px;display:flex;align-items:center;gap:28px;padding:0 4vw;border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:10px;font:600 30px Space,sans-serif;letter-spacing:-1.5px;color:var(--ink);text-decoration:none}.brand span{color:var(--green);margin-left:-10px}.docs-label{font-size:14px;text-decoration:none;border-left:1px solid var(--line);padding-left:24px}.home{margin-left:auto;font-size:14px}.language select{max-width:145px;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:7px 10px;color:var(--green)}.layout{display:grid;grid-template-columns:250px minmax(0,850px) 205px;max-width:1510px;margin:auto;padding:0 35px;gap:42px}.sidebar,.toc{position:sticky;top:108px;height:calc(100vh - 132px);overflow:auto;padding:28px 0;font-size:13px;scrollbar-width:thin}.sidebar details>summary{font-weight:600;color:var(--green);font-size:12px;letter-spacing:.06em;list-style:none;pointer-events:none}.sidebar nav{display:grid;gap:4px;margin-top:18px}.sidebar nav>a{padding:7px 12px;text-decoration:none;border-left:2px solid transparent;color:var(--muted);line-height:1.6}.sidebar nav>a:hover{background:#e9ecdc;color:var(--green)}.sidebar nav>[aria-current]{border-color:var(--green);background:#e1e9d6;color:var(--green);font-weight:600}.search input{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:10px 12px;font-size:13px;margin-top:18px}.toc strong{font-size:12px;color:var(--green)}.toc nav{display:grid;gap:8px;margin-top:18px}.toc a{color:var(--muted);text-decoration:none;font-size:12px;line-height:1.55}.toc .h3{padding-left:12px}.toc a:hover{color:var(--green)}main{min-width:0;padding:44px 0 24px}.breadcrumb{font-size:12px;margin-bottom:30px}.breadcrumb a{text-decoration:none;color:var(--muted)}article{overflow-wrap:anywhere}h1,h2,h3,h4{line-height:1.35;color:var(--green);scroll-margin-top:110px}h1{font-size:clamp(30px,3.4vw,45px);letter-spacing:-1.2px;margin:0 0 28px;font-family:Space,'Yu Gothic','Microsoft YaHei',sans-serif}h2{font-size:25px;margin:50px 0 18px;border-top:1px solid var(--line);padding-top:25px}h3{font-size:19px;margin:30px 0 14px}h4{margin-bottom:10px}p,ul,ol{margin:18px 0}li{padding-left:3px;margin:6px 0}code{font-family:Plex,monospace;font-size:.85em;background:#e8ecdf;border-radius:4px;padding:2px 5px}pre{position:relative;background:#162d22;color:#e7f0dc;padding:24px 22px;border-radius:12px;overflow:auto;font-size:13px;line-height:1.7;margin:24px 0}pre code{background:none;color:inherit;padding:0;font-size:inherit;white-space:pre}.code-block{display:flex;align-items:flex-start;margin:24px 0;border-radius:12px;overflow:hidden;background:#162d22;color:#e7f0dc}.code-toolbar{order:1;flex-shrink:0;padding:8px}.code-toolbar .copy{position:relative;min-height:30px;border:1px solid #65806a;background:#254833;color:inherit;border-radius:5px;font-size:12px;padding:4px 8px;cursor:pointer}.code-toolbar .copy::after{content:"";position:absolute;inset:-7px}.code-block pre{flex:1;min-width:0;margin:0;border-radius:0;padding-top:12px;padding-bottom:12px}table{display:block;overflow:auto;border-collapse:collapse;font-size:13px;margin:24px 0;max-width:100%}th,td{text-align:left;border:1px solid var(--line);padding:12px 14px;min-width:100px}th{background:#e5eadb;color:var(--green)}td{background:var(--surface)}blockquote{margin:24px 0;padding:1px 20px;border-left:3px solid var(--green);background:#e8ecdf}hr{border:0;border-top:1px solid var(--line);margin:36px 0}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:25px;margin-top:70px;font-size:12px;color:var(--muted)}.eyebrow{font:12px Plex,monospace;letter-spacing:1px;color:var(--green)}.lead{font-size:19px;max-width:620px;color:var(--muted)}.guides{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:40px}.guide{display:grid;grid-template-columns:1fr auto;text-decoration:none;border:1px solid var(--line);border-radius:14px;padding:24px;background:var(--surface);transition:transform .18s,background .18s}.guide:hover{transform:translateY(-3px);background:#e9efda}.guide span{font:11px Plex,monospace;color:var(--muted)}.guide h3{font-size:19px;margin:16px 0 0;padding:0;border:0;grid-column:1}.guide b{grid-column:2;grid-row:1/3;font-size:22px}#results a{display:block;background:var(--surface);padding:12px;border-bottom:1px solid var(--line);text-decoration:none}#results small{display:block;color:var(--muted);font-size:11px}#results:empty{display:none}#results p{font-size:12px;color:var(--muted)}@media(min-width:1200px){main{animation:appear .35s ease-out}@keyframes appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}@media(max-width:1250px){.layout{grid-template-columns:220px minmax(0,1fr);gap:30px}.toc{display:none}}@media(max-width:760px){header{height:70px;padding:0 20px;gap:15px}.brand{font-size:25px}.brand img{width:25px}.docs-label{border:0;padding:0;font-size:12px}.home{display:none}.language{margin-left:auto}.language select{max-width:113px;font-size:12px}.layout{display:block;padding:0 22px}.sidebar{position:static;height:auto;padding:20px 0 0}.sidebar details{border:1px solid var(--line);border-radius:10px;padding:12px}.sidebar details>summary{pointer-events:auto;cursor:pointer;list-style:disclosure-closed}.sidebar nav{grid-template-columns:1fr 1fr;gap:4px}.sidebar nav>a{font-size:12px}.sidebar details:not([open])>*:not(summary){display:none}main{padding-top:30px}.breadcrumb{margin-bottom:22px}h1{font-size:30px}h2{font-size:23px}.guides{grid-template-columns:1fr}.lead{font-size:17px}pre{font-size:11px;padding-left:15px;padding-right:15px}footer span{display:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{.code-block{display:block}header,.sidebar,.toc,.code-toolbar,.breadcrumb,footer{display:none}.code-block{overflow:visible;background:none}.layout{display:block;padding:0}main{padding:0}body{background:white}pre{white-space:pre-wrap;color:black;border:1px solid #999}pre code{white-space:pre-wrap}}

.nav-group{font-size:11px;color:var(--green);margin:20px 12px 6px;font-weight:600}.guides{margin-top:20px}

/* Shared component rules; visual values come from design.md and generated tokens. */
body{font-family:var(--remote-font-body);line-height:1.6}
h1,h2,h3,h4,button,.button,.brand{font-family:var(--remote-font-display)}
code,pre{font-family:var(--remote-font-mono)}
button,.button,input:not([type=checkbox]):not([type=radio]),select{min-height:var(--remote-touch)}
button,.button,input,textarea,select{border-radius:var(--remote-radius-sm)}
button,.button{font-weight:600;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
input,textarea,select{font-family:var(--remote-font-body);font-size:14px}
input::placeholder,textarea::placeholder{color:var(--remote-muted);opacity:1}
:focus-visible{outline:3px solid var(--remote-focus);outline-offset:3px}
button:disabled{cursor:not-allowed}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

body{min-height:100vh;background:var(--remote-canvas-image) var(--remote-canvas);background-size:var(--remote-canvas-size);background-attachment:fixed}
@media(max-width:360px){header{padding:0 14px;gap:10px}.brand{font-size:22px;gap:7px}.docs-label{font-size:11px}.language select{max-width:100px}}

/* Controls retain the shared target size; code copy uses an expanded hit area. */
.search input,.language select{min-height:var(--remote-touch);border-color:var(--remote-control-line)}
.code-toolbar{padding:9px}.code-toolbar .copy::after{inset:-9px}
