@font-face{font-family:Harmony;src:url('./HarmonyOS_Sans_SC_Regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Harmony;src:url('./HarmonyOS_Sans_SC_Bold.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Poppins;src:url('./Poppins-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--paper:#f0f0ee;--surface:#fafaf8;--ink:#1c1c1c;--muted:#666664;--line:#d4d4ce;--accent:#afff00;--focus:#386000;--pink:#eadce5;--cn:Harmony,'PingFang SC','Microsoft YaHei',sans-serif;--en:Poppins,sans-serif;--header:76px;--sidebar:256px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--surface);color:var(--ink);font:400 16px/1.75 var(--cn);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button:disabled{cursor:default}::selection{background:var(--accent);color:var(--ink)}.skip{position:fixed;left:16px;top:-80px;z-index:30;background:var(--ink);color:white;padding:12px 20px}.skip:focus{top:12px}.site-header{height:var(--header);position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:20px}.identity{display:flex;align-items:center;gap:20px;min-width:0}.logo{display:flex;align-items:center;padding:8px 0}.logo img{width:92px;height:auto;display:block}.identity>span{border-left:1px solid #aaa;padding-left:20px;font-size:14px;white-space:nowrap}.header-actions{display:flex;align-items:center;gap:24px}.header-actions>a{font-size:14px;text-decoration:none}.header-actions>a:hover{text-decoration:underline}.search-trigger{border:1px solid var(--line);background:transparent;color:var(--muted);height:44px;display:flex;align-items:center;gap:12px;padding:0 16px;min-width:192px}.search-trigger svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}.search-trigger kbd{font:11px var(--en);margin-left:auto;border:1px solid var(--line);padding:2px 4px}.menu-toggle{display:none;background:none;border:1px solid var(--line);height:44px;padding:0 12px}.layout{max-width:1600px;margin:auto;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr)}.sidebar{height:calc(100dvh - var(--header));position:sticky;top:var(--header);overflow:auto;border-right:1px solid var(--line);padding:32px 24px 40px;background:var(--paper)}.sidebar-label{font:11px/15px var(--en);letter-spacing:.12em;margin:0 0 28px;color:var(--muted)}.nav-group{margin-bottom:24px}.nav-group h2{font-size:13px;line-height:21px;color:var(--muted);font-weight:400;margin:0 12px 8px}.nav-group a{display:flex;gap:12px;padding:9px 12px;text-decoration:none;font-size:14px;line-height:24px;border-left:2px solid transparent;margin:2px 0}.nav-group a:hover{background:#e5e5df}.nav-group a[aria-current]{color:var(--ink);border-left-color:var(--ink);background:#e2e2db;font-weight:700}.nav-num{font:11px/24px var(--en);color:var(--muted);min-width:16px}.sidebar-foot{border-top:1px solid var(--line);padding:20px 12px 0;font-size:13px;color:var(--muted)}.sidebar-foot a{display:block;margin-top:8px}.main{min-width:0;padding:40px 48px 0}.breadcrumbs{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:12px;margin-bottom:40px}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.article-layout{display:grid;grid-template-columns:minmax(0,760px) 164px;gap:48px;justify-content:center}.article{min-width:0}.article-head{padding-bottom:40px;border-bottom:1px solid var(--line);position:relative}.eyebrow{font:11px/15px var(--en);letter-spacing:.12em;color:var(--muted);margin:0 0 24px;display:flex;align-items:center;gap:8px}.eyebrow:before{content:'';width:8px;height:8px;background:var(--ink)}h1{font-size:56px;line-height:1.12;letter-spacing:-.035em;margin:0 0 24px;font-weight:700;text-wrap:balance}h1.home-title{max-width:550px;padding-right:40px}.lead{font-size:18px;line-height:31px;max-width:650px;color:#555550;margin:0 0 24px}.edition{font-size:13px;color:var(--muted);display:flex;gap:12px;flex-wrap:wrap;align-items:center}.edition span:first-child{background:#e8eedf;padding:2px 8px;color:#365021}.edition time{white-space:nowrap}.mascot{position:absolute;width:76px;right:0;top:36px;pointer-events:none}.article-section{padding-top:56px;scroll-margin-top:100px}h2{font-size:28px;line-height:36px;margin:0 0 24px;font-weight:700;letter-spacing:-.02em}h3{font-size:22px;line-height:30px;margin:0 0 12px}p{margin:0 0 16px}p:last-child{margin-bottom:0}ul,ol{padding-left:24px;margin:0 0 24px}li{padding-left:4px;margin:0 0 12px}li:last-child{margin-bottom:0}strong{font-weight:700}.article p a,.article li a{color:#355800}.note{background:var(--paper);border-left:4px solid #68685f;padding:20px 24px;margin:24px 0}.note>strong{display:block;margin-bottom:8px}.note p{font-size:15px;line-height:26px}.prompt{border:1px solid #c7c7c0;border-top:3px solid var(--ink);padding:24px;margin:24px 0;position:relative}.prompt p{font-size:16px;line-height:28px;margin-bottom:20px}.prompt button{border:1px solid var(--ink);background:transparent;color:var(--ink);font-size:13px;padding:8px 16px;min-height:44px}.prompt button:hover{background:var(--ink);color:var(--surface)}.primary{display:inline-flex;align-items:center;gap:36px;background:var(--ink);color:var(--surface);padding:12px 20px;text-decoration:none;min-height:48px;margin:8px 0}.primary:hover{background:#363633}.primary span{color:var(--accent)}table{width:100%;border-collapse:collapse;font-size:15px;line-height:26px;margin:24px 0}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:16px 12px}th{background:var(--paper);font-size:13px;color:#55554d}td:first-child{width:27%;font-weight:700}td:last-child{color:#484844}th:first-child,td:first-child{padding-left:16px}.toc{position:sticky;top:112px;align-self:start;font-size:13px;border-left:1px solid var(--line);padding-left:20px;margin-top:8px}.toc p{font-size:11px;letter-spacing:.08em;margin-bottom:16px;color:var(--muted)}.toc a{display:block;text-decoration:none;line-height:22px;color:var(--muted);margin:0 0 12px}.toc a:hover,.toc a.active{color:var(--ink);text-decoration:underline}.toc .print{border:0;background:none;border-top:1px solid var(--line);padding:16px 0 0;margin-top:12px;color:var(--muted);text-align:left;font-size:13px}.journey{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);margin:32px 0;counter-reset:steps;border-block:1px solid var(--line)}.journey li{padding:20px 16px 24px 0;margin:0;counter-increment:steps}.journey li:before{content:'0' counter(steps);font:11px var(--en);display:block;color:var(--muted);margin-bottom:16px}.journey b{display:block;margin-bottom:8px;font-size:18px}.journey span{display:block;color:var(--muted);font-size:13px;line-height:21px}.route-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.route-grid>a{padding:24px;text-decoration:none;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .18s}.route-grid>a:hover{background:var(--paper)}.route-grid span{font:11px var(--en);color:var(--muted)}.route-grid h3{font-size:22px;margin:24px 0 12px}.route-grid p{font-size:13px;line-height:21px;color:var(--muted)}.app-map{margin:24px 0;border:1px solid var(--line);background:var(--paper);padding:20px}.app-map strong{font-size:11px;letter-spacing:.1em;color:var(--muted);font-weight:400}.app-map>div{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.app-map span{font-size:13px;padding:8px 12px;border:1px solid #adada6;background:var(--surface)}.app-map .selected{background:var(--ink);color:var(--surface);border-color:var(--ink)}.page-footer{margin-top:64px;padding-top:24px;border-top:1px solid var(--line)}.paging{display:flex;justify-content:space-between;gap:24px}.paging a{flex:1;padding:16px 0;text-decoration:none;max-width:50%;font-size:16px}.paging a:last-child{text-align:right;margin-left:auto}.paging a:hover{text-decoration:underline}.paging small{display:block;color:var(--muted);font-size:11px;margin-bottom:8px}.support{padding:32px 0;color:var(--muted);font-size:13px;border-bottom:1px solid var(--line);margin-bottom:24px}.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;color:var(--muted);font-size:11px;padding:16px 0 32px}.legal a{text-decoration:none}.search-dialog{width:min(680px,calc(100% - 32px));padding:0;border:1px solid var(--ink);background:var(--surface);color:var(--ink);max-height:80dvh;position:fixed;margin:10dvh auto auto}.search-dialog::backdrop{background:#1c1c1c66}.search-top{display:flex;align-items:center;gap:16px;padding:20px 24px;border-bottom:1px solid var(--line)}.search-top input{border:0;background:none;outline:none;min-width:0;flex:1;color:var(--ink);height:44px}.search-top button{background:none;border:1px solid var(--line);padding:8px 12px;color:var(--ink);min-height:44px}.search-content{padding:20px 24px;max-height:55dvh;overflow:auto}.search-hint{font-size:13px;color:var(--muted);margin-bottom:16px}.search-results{list-style:none;padding:0;margin:0}.search-results li{margin:0;padding:0}.search-results a{display:block;text-decoration:none;padding:16px 12px;border-bottom:1px solid var(--line)}.search-results a:hover,.search-results a:focus-visible{background:var(--paper)}.search-results strong{display:block;font-size:16px}.search-results p{font-size:13px;line-height:21px;color:var(--muted);margin:8px 0 0}.search-results small{color:var(--muted);font-size:11px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.no-js .search-trigger{display:none}[hidden]{display:none!important}
@media(min-width:1601px){.site-header{padding-inline:max(32px,calc((100% - 1536px)/2))}}@media(max-width:1279px){.article-layout{grid-template-columns:minmax(0,760px)}.toc{display:none}.main{padding:32px 40px 0}h1{font-size:48px;line-height:54px}}@media(max-width:1000px){:root{--sidebar:224px}.sidebar{padding:24px 16px}.main{padding:32px 28px 0}.site-header{padding-inline:24px}.header-actions{gap:16px}.identity{gap:16px}.identity>span{padding-left:16px}.journey{grid-template-columns:1fr 1fr;gap:0 20px}.route-grid>a{padding:20px}.route-grid h3{font-size:20px}}@media(max-width:760px){:root{--header:68px}.site-header{padding-inline:18px;gap:12px}.identity>span{display:none}.logo img{width:76px}.header-actions{gap:8px}.header-actions>a{display:none}.search-trigger{min-width:44px;width:44px;padding:12px;gap:0}.search-trigger span,.search-trigger kbd{display:none}.menu-toggle{display:block}.layout{display:block}.sidebar{position:fixed;z-index:18;top:var(--header);left:0;right:0;height:calc(100dvh - var(--header));border:0;display:none;padding:24px 18px}.sidebar.is-open{display:block}.nav-group a{padding:12px}.sidebar-label{margin-bottom:20px}.main{padding:24px 18px 0}.breadcrumbs{margin-bottom:32px;gap:8px;font-size:11px}.article-head{padding-bottom:32px}h1{font-size:38px;line-height:42px;margin-bottom:24px}.lead{font-size:16px;line-height:28px}.article-section{padding-top:40px}h2{font-size:24px;line-height:31px;margin-bottom:20px}body{font-size:15px;line-height:26px}.mascot{width:52px;top:30px}h1.home-title{max-width:320px;padding-right:44px}.route-grid{grid-template-columns:1fr}.route-grid>a{padding:20px}.route-grid h3{margin:12px 0;font-size:22px}.route-grid p{font-size:13px}.prompt{padding:20px}.prompt p{font-size:15px;line-height:26px}.note{padding:16px 20px}.note p{font-size:15px}.app-map{padding:16px}.app-map>div{gap:8px}.app-map span{padding:6px 8px}td,th{padding:12px 8px;font-size:13px;line-height:23px}td:first-child{width:30%;padding-left:8px}th:first-child{padding-left:8px}.search-top{padding:12px 16px;gap:12px}.search-content{padding:16px}.paging{gap:16px}.paging a{font-size:14px}.page-footer{margin-top:48px}.edition{gap:8px;font-size:11px}.journey li{padding:20px 4px 20px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{.site-header,.sidebar,.toc,.search-dialog,.breadcrumbs,.paging,.search-trigger,.prompt button,.support,.skip{display:none!important}.layout,.article-layout{display:block}.main{padding:0}.article{max-width:none}.article-section{padding-top:24px;break-inside:avoid}body{background:white;font:12pt/1.6 var(--cn)}h1{font-size:28pt}h2{font-size:18pt}.article-head{padding-bottom:20px}.lead{font-size:14pt}.mascot{display:none}.legal{font-size:9pt}.note,.prompt{break-inside:avoid}a{text-decoration:none;color:inherit!important}}

@media(max-width:760px){.no-js .sidebar{display:block;position:static;height:auto;border-bottom:1px solid var(--line)}.no-js .menu-toggle{display:none}}
.search-top input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}

/* Native component teaching examples. Scoped to the guide; never a product iframe. */
.ui-demo{margin:24px 0;padding:22px;border:1px solid #c9cdc5;border-radius:18px;background:#f3f5ef;color:#20261f;overflow:hidden}
.demo-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.demo-heading span{font-size:11px;color:#56634f}.ui-demo label{display:grid;gap:7px;font-size:13px;font-weight:600;margin:12px 0}.ui-demo input,.ui-demo select{box-sizing:border-box;width:100%;min-width:0;background:#fff;color:#20261f;border:1px solid #9aa493;border-radius:9px;padding:11px;font:inherit}.ui-demo button{font:inherit;font-size:13px;color:#263121;background:#fff;border:1px solid #9aa493;border-radius:10px;padding:11px 14px;cursor:pointer}.ui-demo button:hover{border-color:#3c5630;background:#e7eddf}.ui-demo :focus-visible{outline:3px solid #4d683e;outline-offset:3px}.ui-demo [aria-pressed=true]{border-color:#3c5630;background:#dcebcf}.ui-demo .demo-primary{background:#283e20;color:#fff;border-color:#283e20;width:100%;margin-top:14px}.ui-demo .demo-primary:hover{background:#3c5630}.demo-choice{display:flex;gap:10px}.demo-choice button{flex:1;text-align:left}.demo-choice small{display:block;font-size:12px;font-weight:400;margin-top:7px}.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.demo-result{font-size:13px!important;line-height:1.7;background:#fff;border-left:3px solid #486a32;padding:12px;margin:18px 0 0!important}.demo-composer{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #b9c1b1;border-radius:15px;padding:8px;margin-bottom:18px}.demo-composer>span{flex:1;font-size:12px;color:#66715f}.demo-composer button{padding:7px 10px}.demo-composer button span{font-size:11px}.demo-shot-list{display:flex;gap:9px;flex-wrap:wrap}.demo-shot-list button{flex:1;min-width:110px;text-align:left}.demo-shot-list span{display:block;font-size:12px;margin-top:6px}.demo-timeline{display:flex;gap:8px;list-style:none!important;padding:0!important}.demo-timeline li{flex:1;padding:12px;background:#dcebcf;border-left:3px solid #526c3c;font-size:13px}.demo-timeline small{font-size:11px}.demo-report,.demo-menu{list-style:none!important;padding:0!important}.demo-report li,.demo-menu li{padding:10px 0;border-bottom:1px solid #d1d8ca}.demo-report strong{display:block;color:#70531d;font-size:12px}.demo-menu span{display:block;color:#58634f;font-size:12px}.demo-menu small{font-weight:700;color:#52634a}.ui-demo p{font-size:13px}.ui-demo [hidden]{display:none!important}@media(max-width:560px){.ui-demo{padding:16px}.demo-grid{grid-template-columns:1fr}.demo-choice{flex-direction:column}.demo-composer{gap:5px}.demo-composer button{padding:6px}.demo-timeline li{padding:8px;font-size:12px}}
