@import './ui-tokens.css';
@import './language-picker.css';
@import "./site-shell.css";
*{box-sizing:border-box}body{margin:0;font-size:var(--text-body)}a{color:var(--icon-blue);text-underline-offset:3px;overflow-wrap:anywhere}a:hover{text-decoration-thickness:2px}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button,a,input,select,summary{transition:background-color var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}:where(button,a,input,select,summary):focus-visible{outline:1px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 16%,transparent)}.icon{width:var(--icon-size);height:var(--icon-size);flex:none;vertical-align:middle}
body>header,main{width:var(--site-width);margin-inline:auto}.content-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;min-height:64px;border-bottom:1px solid var(--line)}.content-header nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:100%}.content-brand{display:inline-flex;align-items:center;text-decoration:none}.brand-mark{position:relative;display:inline-flex;width:var(--logo-width);height:var(--logo-height);overflow:hidden;flex:none}.brand-mark img{position:absolute;width:72px;height:54px;max-width:none;top:-14px;left:0}.content-action,.content-theme{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-height);padding:8px 12px;border:1px solid var(--control-line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font-size:var(--text-sm);font-weight:500;text-decoration:none}.content-action:hover,.content-theme:hover{background:var(--soft)}.content-theme{width:var(--control-height);height:var(--control-height);padding:8px}.content-theme .icon{color:var(--ink)}
main{padding-block:var(--space-6)}h1{font-size:var(--text-page);line-height:var(--line-heading);letter-spacing:-.03em;font-weight:650;margin:0 0 12px;color:var(--ink)}h2{font-size:var(--text-title);font-weight:600;line-height:1.4;margin:24px 0 8px;color:var(--ink)}p,li{line-height:1.65;overflow-wrap:anywhere}p{margin:12px 0}ul,ol{padding-inline-start:24px}.lede,.updated{color:var(--muted)}.updated{font-size:var(--text-xs)}code{font:inherit;font-size:var(--text-sm);padding:2px 4px;background:var(--soft);border-radius:var(--radius-sm)}.draft-note{background:var(--file-selected);border:1px solid var(--file-border);padding:12px;border-radius:var(--radius-control)}
.article-search{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,.5fr);gap:8px 16px;margin-block:24px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--web-filter)}.article-search label{font-size:var(--text-sm);font-weight:500;grid-row:1}.article-search-field,.article-topic-field{position:relative;grid-row:2;min-width:0}.article-search-field>.icon{position:absolute;top:50%;transform:translateY(-50%);inset-inline-start:12px;color:var(--icon-blue);pointer-events:none}.article-search input,.article-search select,.select-trigger{width:100%;min-width:0;min-height:var(--control-height);padding:8px 12px;border:1px solid var(--control-line);border-radius:var(--radius-control);background:var(--surface);font-size:var(--text-field);font-weight:400}.article-search input{padding-inline-start:40px}.article-search input::placeholder{color:var(--muted);opacity:1}.article-search p{grid-column:1/-1;margin:0;font-size:var(--text-sm);color:var(--muted)}.article-search p:empty{display:none}
.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:start}.select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-trigger>.icon{width:14px;height:14px;color:var(--icon-blue)}.select-options{position:absolute;top:calc(100% + 4px);inset-inline:0;z-index:20;padding:4px;max-height:min(240px,var(--popup-space,240px));overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:var(--shadow-popup)}.select-options.above{top:auto;bottom:calc(100% + 4px)}.select-options button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:var(--control-height);padding:8px;border:0;border-radius:var(--radius-sm);font-size:var(--text-field);font-weight:400;text-align:start;background:transparent}.select-options button.active,.select-options button:hover{background:var(--selected)}.select-options button>.icon{width:14px;height:14px;color:var(--icon-blue);visibility:hidden}.select-options button[aria-selected=true]>.icon{visibility:visible}
.article-list{display:grid;gap:12px;margin-block:24px}.article-card{padding:16px;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface)}.article-card h2{margin:0;font-size:var(--text-title)}.article-card p{margin-bottom:0;color:var(--muted)}.article-card .article-category{margin:0 0 4px;font-size:var(--text-xs);color:var(--muted)}.article-pagination{display:flex;flex-wrap:wrap;gap:8px}.article-pagination a{min-width:32px;padding:4px 8px;text-align:center;border:1px solid var(--line);border-radius:var(--radius-sm)}.article-pagination a[aria-current=page]{background:var(--selected);color:var(--ink)}.article-more{font:inherit;font-size:var(--text-sm);color:var(--ink);min-height:40px;padding:8px 12px;border:1px solid var(--control-line);border-radius:var(--radius-control);background:var(--surface);cursor:pointer;margin-bottom:16px}.article-more:hover{background:var(--soft)}
.article-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:24px;font-size:var(--text-sm)}.article-header{margin-bottom:24px}.article-header .article-category{font-size:var(--text-sm);color:var(--muted);margin:0 0 8px}.article-meta{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:var(--text-sm);color:var(--muted);line-height:1.6}.article-tags{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-size:var(--text-sm)}.article-contents{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--soft);padding:16px;margin-block:24px;font-size:var(--text-sm)}.article-contents ul{margin:8px 0 0;padding-inline-start:20px}.related-articles{border-top:1px solid var(--line);margin-top:32px}.article-cta{margin-top:24px}h2[id]{scroll-margin-top:24px}[hidden]{display:none!important}@media(max-width:600px){main{padding-block:16px}}@media(max-width:430px){.article-search{grid-template-columns:1fr;padding:12px}.article-search label,.article-search-field,.article-topic-field{grid-row:auto}.article-search label[for=article-query]{grid-row:1}.article-search-field{grid-row:2}.article-search label[for=article-category],.article-search label[for=article-category-control]{grid-row:3}.article-topic-field{grid-row:4}.article-meta{gap:6px 12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Outcomes share the extractor's primary design and motion. */
.content-action,.article-cta>a{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;min-height:var(--control-height);padding:8px 12px;border:2px solid var(--accent-border);border-radius:var(--radius-control);background:var(--primary);color:var(--on-primary);font-size:var(--text-sm);font-weight:500;line-height:var(--line-control);text-decoration:none;transition:background-color 220ms var(--ease),border-color 220ms var(--ease),box-shadow 220ms var(--ease);animation:ready-reminder 5s var(--ease) 1}
.content-action:hover,.article-cta>a:hover{background:var(--primary);animation:action-bounce 700ms var(--ease)}.content-action:active,.article-cta>a:active{transform:translateY(1px)}
@keyframes action-bounce{0%,100%{transform:translateY(0)}30%{transform:translateY(-5px)}55%{transform:translateY(1px)}75%{transform:translateY(-2px)}}
@keyframes ready-reminder{0%,78%,100%{transform:translateY(0)}84%{transform:translateY(-3px)}89%{transform:translateY(1px)}94%{transform:translateY(-1px)}}
.article-contents,.article-contents ul,main>p,main>ol,main>ul,main>article>p,main>article>ul,main>article>ol{max-width:75ch}
main img{max-width:100%;height:auto}main pre{max-width:100%;overflow:auto;padding:12px;background:var(--soft);border-radius:var(--radius-control)}main pre code{padding:0}main table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}main th,main td{padding:8px 12px;border:1px solid var(--line);text-align:start}
.skip-link{position:fixed;inset-block-start:8px;inset-inline-start:8px;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;z-index:40;padding:8px 12px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-control)}.skip-link:focus{clip-path:none;width:auto;height:auto;overflow:visible}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Content controls retain clear boundaries and adequate touch targets. */
.content-theme,.article-search input,.article-search select,.select-trigger,.article-more{border-color:#949494}
@media(pointer:coarse){.content-action,.content-theme,.article-cta>a,.article-search input,.article-search select,.select-trigger,.select-options button,.article-more{min-height:44px}.content-theme{width:44px;height:44px}.article-pagination a,.article-back,.article-tags a,.article-contents a{display:inline-flex;align-items:center;min-height:44px}}
@media(max-width:430px){.content-theme{width:44px;height:44px}.content-header{padding-block:8px}.content-header nav{min-width:0}.content-action{white-space:normal;text-align:start;max-width:100%}}

.article-more[aria-disabled=true]{opacity:.55;cursor:wait}

/* Text links use the same warm accent as the extractor, in both themes. */
a{color:var(--icon-blue)}
a:hover{color:var(--ink)}
.content-action:hover,.article-cta>a:hover{color:var(--on-primary)}
.content-action>span,.article-cta>a>span{min-width:0;overflow-wrap:anywhere}
body>header,main{min-width:0}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* Shared header controls match the extractor's shape, icon alignment and motion. */
.icon{display:block}
.content-theme,.language-trigger{line-height:var(--line-control);transition:background-color 220ms var(--ease),border-color 220ms var(--ease),box-shadow 220ms var(--ease)}
.content-theme:hover{border-color:var(--muted)}
a{color:var(--icon-blue)}
.content-theme:active,.language-trigger:active{background:var(--selected)}
@media(max-width:600px){.content-theme,.language-trigger{width:44px;height:44px;min-height:44px}}
@media(prefers-reduced-motion:reduce){.content-theme,.language-trigger{transition:none}}
@media(max-width:600px){.content-header .content-action{width:44px;height:44px;min-height:44px;padding:8px;justify-content:center}.content-header .content-action span{display:none}}.article-back,.article-tags a,.article-contents a{color:var(--icon-blue)}
.article-search input:focus-visible,.select-trigger:focus-visible{outline:0;border-color:var(--icon-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--icon-blue) 16%,transparent)}
.article-search input,.article-search select,.select-trigger{min-height:44px;line-height:var(--line-control)}
.localized-quickstart{margin:0 0 var(--space-4)}
.localized-quickstart details{margin:0;border:0;padding:0}
main summary{display:flex;align-items:flex-start;gap:var(--space-2);list-style:none;text-align:start;min-height:44px;padding:8px 0;line-height:var(--line-body)}
main summary::-webkit-details-marker{display:none}
main summary>.icon{width:14px;height:14px;margin-block-start:calc((1em * var(--line-body) - 14px) / 2);color:var(--icon-blue);transform:rotate(-90deg);transition:transform var(--duration-enter) var(--ease)}
main details[open]>summary>.icon{transform:rotate(0)}
main summary>span{min-width:0}

/* Labels carry the field hierarchy; guidance keeps the shared body rhythm. */
.article-search label{font-size:var(--text-body);font-weight:500;line-height:var(--line-body);color:var(--ink)}
.article-search p,.article-meta,.lede{font-weight:400;line-height:var(--line-body)}
main h3{font-size:var(--text-body);font-weight:600;line-height:1.4;margin:20px 0 8px;color:var(--ink)}
main summary{font-size:var(--text-sm);font-weight:500;color:var(--ink)}

/* Crawlable topic navigation uses the established guide spacing. */
main .guide-jump{display:flex;flex-wrap:wrap;gap:8px 16px;padding-block:8px;margin:16px 0;font-size:var(--text-sm)}
.legal-prose>p,.legal-prose>ul,.legal-prose>ol{max-width:75ch}
@media(pointer:coarse){main .guide-jump a{display:inline-flex;align-items:center;min-height:44px}}
.localization-scope{margin-block:0 16px;font-size:.9375rem;line-height:1.6;color:var(--muted)}
html:not([data-language]) .localization-scope,html[data-language=en] .localization-scope{display:none}

/* Editorial navigation uses explicit target spacing on every input device. */
.article-header .article-tags{gap:8px;margin-block-start:12px;align-items:flex-start}
.article-tags>a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);font-size:1rem;line-height:1.5;font-weight:500;text-decoration:none}
.article-tags>a:hover{background:var(--soft);border-color:var(--muted)}
.article-content{font-size:1rem;line-height:1.65;min-width:0}
.article-content h2{font-size:clamp(1.25rem,1.125rem + .5vw,1.5rem);line-height:1.35;margin-block:24px 10px;font-weight:650}
.article-content h3{font-size:1.125rem;line-height:1.4;margin-block:20px 8px;font-weight:600}
.article-content .article-meta{font-size:.875rem;line-height:1.5;gap:8px 16px}
/* A native disclosure keeps a long contents list available without consuming
   the whole first mobile screen. The links stay crawlable and keyboard usable. */
.article-content .article-contents{padding:8px 12px;margin-block:20px;font-size:1rem;max-width:100%;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--soft)}
.article-contents>summary{font-size:1rem;font-weight:600;min-height:44px;padding:8px 0;cursor:pointer}
.article-contents nav{display:block}
.article-contents ul{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin:4px 0 0;padding:0;list-style:none;max-width:100%}
.article-contents li{margin:0;min-width:0;line-height:1.5}
.article-contents li>a{display:flex;align-items:center;min-height:44px;width:100%;padding:8px;border-radius:var(--radius-sm);font-size:1rem;line-height:1.5}
.article-contents li>a:hover{background:var(--surface)}
/* Safari's legacy marker and standards-based native markers are both suppressed;
   the bundled SVG alone indicates the disclosure state. */
main summary{list-style:none}
main summary::marker{content:"";font-size:0}
main summary::-webkit-details-marker{display:none}
@media(max-width:600px){.article-back{margin-block-end:16px;font-size:1rem}.article-header{margin-block-end:20px}.article-header h1{margin-block:8px 12px}.article-content .article-contents{margin-block:16px}}

/* Landmark focus remains visible at the title without framing both sidebars. */
main[tabindex="-1"]:focus{outline:none}
main[tabindex="-1"]:focus-visible>.app-column>h1,main[tabindex="-1"]:focus-visible .article-header h1{outline:2px solid var(--icon-blue);outline-offset:4px}

/* Topic navigation uses the same readable, separated targets as article tags. */
main .guide-jump{gap:8px;align-items:flex-start}
main .guide-jump>a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);font-size:1rem;line-height:1.5;text-decoration:none}
main .guide-jump>a:hover{background:var(--soft);border-color:var(--muted)}
main summary:dir(rtl)>.icon{transform:rotate(90deg)}
