.facts{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.facts__item,.badge{display:inline-flex;align-items:center;gap:7px;min-height:30px;max-width:100%;padding:4px 13px;border-radius:var(--r-pill);background:var(--c-panel);color:var(--c-text);border:1px solid var(--c-border);font-size:13px;overflow-wrap:anywhere}
.badge--accent{background:var(--c-accent);color:var(--c-on-dark);border-color:var(--c-accent)}
.badge--outline{background:var(--c-bg);color:var(--c-muted)}
.app-store-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;max-width:100%;padding:10px 24px;border:1px solid var(--c-accent);border-radius:var(--r-pill);background:var(--c-accent);color:var(--c-on-dark);transition:background var(--t-fast),border-color var(--t-fast)}
.app-store-button:hover,.app-store-button.is-hover{background:var(--c-accent-dark);color:var(--c-on-dark);border-color:var(--c-accent-dark)}
.app-store-button svg{width:24px;height:26px}
.app-store-button__copy{display:block;text-align:left;line-height:1.25}
.app-store-button__copy small{display:block;font-size:11px;margin-bottom:3px}
.app-store-button__copy strong{display:block;font-size:16px;font-weight:var(--weight-medium)}
.app-store-button[aria-disabled="true"]{background:var(--c-panel-2);color:var(--c-muted);border-color:var(--c-border);cursor:not-allowed}
.board{margin-top:32px;background:var(--c-panel);color:var(--c-text);border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden}
.board__tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--c-border)}
.board__tab{position:relative;height:48px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--c-muted);background:var(--c-panel);border-right:1px solid var(--c-border)}
.board__tab:last-child{border-right:0}
.board__tab--on{background:var(--c-bg);color:var(--c-text);font-weight:var(--weight-medium)}
.board__tab--on::before{content:"";position:absolute;top:0;left:0;width:44%;height:3px;background:var(--c-accent);border-radius:var(--r-tab-tip)}
.board__tab-mono{font-family:var(--f-mono);font-size:13px;letter-spacing:-.01em}
.board__body{padding:20px 28px 24px}
.sheet{position:relative;margin:0 8px 8px 0;min-width:0}
.sheet::before{content:"";position:absolute;inset:8px -8px -8px 8px;background:var(--c-panel-2);border:1px solid var(--c-border);border-radius:var(--r-md)}
.rules{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);grid-template-rows:repeat(8,var(--code-lh)) auto;padding-top:20px;background:var(--c-bg);color:var(--c-text);border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:var(--shadow-hair)}
.rules::after{content:"";position:absolute;top:0;bottom:0;left:60%;width:1px;background:var(--c-border)}
.r1{grid-row:1}.r2{grid-row:2}.r3{grid-row:3}.r4{grid-row:4}.r5{grid-row:5}.r6{grid-row:6}.r7{grid-row:7}.r8{grid-row:8}.r9{grid-row:9}
.col-a{grid-column:1}.col-b{grid-column:2}
.cl{display:flex;align-items:center;min-width:0;padding-left:20px;height:var(--code-lh);font-family:var(--f-mono);font-size:13.5px;letter-spacing:-.01em;white-space:pre}
.cl__n{flex-shrink:0;width:26px;height:20px;display:inline-flex;align-items:center;justify-content:flex-end;padding-right:4px;font-size:12px;color:var(--c-muted);border-radius:var(--r-xs);user-select:none}
.cl--noted .cl__n{justify-content:center;padding-right:0;background:var(--c-panel-2);color:var(--c-text)}
.cl__src{margin-left:16px;color:var(--c-text);min-width:0;overflow-x:auto;scrollbar-width:thin}
.cl__lead{flex:1;min-width:24px;margin-left:16px;border-top:1px dashed var(--c-line-dash)}
.tk-sec,.tk-type{color:var(--c-text);font-weight:var(--weight-medium)}
.tk-key,.tk-arg{color:var(--c-muted)}
.tk-op,.tk-c{color:var(--c-muted)}
.tk-val{color:var(--c-warn)}
.pol{font-weight:var(--weight-medium)}
.pol--proxy{color:var(--c-accent);background:var(--c-accent-soft);padding:1px 5px;margin:0 -1px;border-radius:var(--r-xs)}
.pol--direct{color:var(--c-success)}
.pol--reject{color:var(--c-error)}
.code-foot,.read-foot{grid-row:9;margin-top:12px;border-top:1px solid var(--c-border);padding:12px 24px 16px;font-size:12.5px;line-height:1.65;min-width:0}
.code-foot{padding-left:62px;font-family:var(--f-mono);font-size:12px;color:var(--c-muted);letter-spacing:-.01em}
.read-foot{color:var(--c-muted)}
.read-foot code{font-size:12px;color:var(--c-text)}
.read-head{grid-row:1/span 3;padding:2px 24px 0;min-width:0}
.read-head__eyebrow{margin:0;font-size:12px;color:var(--c-muted);letter-spacing:.04em}
.read-head__title{margin:6px 0 0;font-size:15px;font-weight:var(--weight-medium);color:var(--c-text);letter-spacing:-.005em}
.note{position:relative;z-index:2;margin:0;min-height:var(--code-lh);display:flex;align-items:center;padding-left:22px;font-size:14px;color:var(--c-text)}
.note__dot{position:absolute;left:-4px;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:var(--r-circle);box-shadow:0 0 0 3px var(--c-bg)}
.note__dot--proxy{background:var(--c-accent)}
.note__dot--reject{background:var(--c-error)}
.note__dot--direct{background:var(--c-success)}
.features-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:start}
.features-split h2{margin-top:0}
.tabs__list{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}
.tabs__list[aria-orientation="vertical"]{flex-direction:column;align-items:stretch}
.tabs__tab{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:14px 20px;border:1px solid var(--c-clear);border-radius:var(--r-md);background:var(--c-panel);color:var(--c-text);font-size:15px;text-align:left}
.tabs__tab::after{content:"›";font-size:22px;line-height:1;color:var(--c-muted)}
.tabs__tab[aria-selected="true"]{background:var(--c-bg);color:var(--c-text);border-color:var(--c-text)}
.tabs__tab[aria-selected="true"]::after{color:var(--c-accent)}
.tabs__tab:hover{border-color:var(--c-border-strong)}
.tabs__panel{min-width:0;padding:36px;border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-bg);color:var(--c-text)}
.tabs__panel h3{margin:18px 0}
.tabs__panel p{color:var(--c-muted)}
.interface-band{display:flex;align-items:center;flex-wrap:wrap;gap:16px 28px;margin-top:32px;padding-top:24px;border-top:1px solid var(--c-border);font-size:14px;color:var(--c-muted)}
.interface-band__item{display:inline-flex;align-items:center;gap:8px;color:var(--c-text)}
.interface-band svg{width:18px;height:18px;color:var(--c-muted)}
.toc{display:flex;flex-wrap:wrap;gap:8px;padding:16px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-panel);color:var(--c-text)}
.toc a{display:flex;align-items:center;min-height:44px;padding:8px 14px;border-radius:var(--r-pill);font-size:14px}
.toc a:hover,.toc a[aria-current]{background:var(--c-bg);color:var(--c-accent)}
.toc--sticky{position:sticky;top:16px;z-index:10}
.faq{border-top:1px solid var(--c-border)}
.faq__item{border-bottom:1px solid var(--c-border)}
.faq__item summary{position:relative;cursor:pointer;list-style:none;padding:22px 36px 22px 0;font-size:17px}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";position:absolute;right:4px;top:20px;font-family:var(--f-mono);color:var(--c-muted)}
.faq__item[open] summary::after{content:"−"}
.faq__answer{padding-bottom:22px;color:var(--c-muted);max-width:800px}
.faq__answer p:last-child{margin-bottom:0}
.term-card{padding:24px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-panel);color:var(--c-text)}
.term-card h3{font-family:var(--f-mono);font-size:18px;margin:0 0 12px}
.term-card p{color:var(--c-muted);margin-bottom:0}
.official-shot{width:100%;max-width:280px;flex-shrink:0;margin:0 auto}
.official-shot img{display:block;width:100%;height:auto;border-radius:var(--r-shot)}
.official-shot{border:1px solid var(--c-border);border-radius:var(--r-shot);background:var(--c-bg);color:var(--c-muted)}
.official-shot figcaption{padding-top:12px;font-size:12px;line-height:1.6;color:var(--c-muted)}
.shot-row{display:flex;align-items:flex-start;justify-content:center;gap:32px}
.device-card{display:block;position:relative;padding:28px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-panel);color:var(--c-text)}
.device-card>svg{width:40px;height:44px;margin-bottom:24px;color:var(--c-muted)}
.device-card h3{margin:0 0 12px;font-size:24px}
.device-card p{color:var(--c-muted);margin-bottom:24px}
.device-card__link{color:var(--c-accent);font-size:14px}
.device-card:hover{border-color:var(--c-border-strong);background:var(--c-bg);color:var(--c-text)}
.article-card{padding:28px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg);color:var(--c-text)}
.article-card__meta{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-bottom:20px;font-size:12px;color:var(--c-muted)}
.article-card h3{margin:0 0 16px;font-size:22px;line-height:1.5}
.article-card h3 a:hover{color:var(--c-accent)}
.article-card p{font-size:14px;color:var(--c-muted)}
.article-card__more{font-size:14px;color:var(--c-accent)}
.callout{margin:24px 0;padding:20px 24px;border:1px solid var(--c-border);border-left:3px solid var(--c-accent);border-radius:var(--r-sm);background:var(--c-panel);color:var(--c-text)}
.callout p:last-child{margin-bottom:0}
.callout__title{display:block;margin-bottom:8px;font-weight:var(--weight-medium)}
.table-scroll{max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--c-border);border-radius:var(--r-md)}
.data-table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}
.data-table th,.data-table td,.prose table th,.prose table td,.article-body table th,.article-body table td{min-width:7em;padding:14px 18px;border-bottom:1px solid var(--c-border);vertical-align:top;overflow-wrap:normal;word-break:normal}
.data-table th,.prose table th,.article-body table th{background:var(--c-panel);color:var(--c-text);font-weight:var(--weight-medium)}
.data-table td,.prose table td,.article-body table td{background:var(--c-bg);color:var(--c-text)}
.prose table,.article-body table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;min-width:0;border-collapse:collapse}
.data-table code,.prose table code,.article-body table code{overflow-wrap:anywhere;white-space:normal}
.dl-fab{position:fixed;z-index:30;right:24px;bottom:24px;display:flex;align-items:center;gap:12px;max-width:calc(100% - 40px);min-height:56px;padding:12px 20px;border:1px solid var(--c-accent);border-radius:var(--r-pill);background:var(--c-accent);color:var(--c-on-dark);box-shadow:var(--shadow-hair);font-size:14px}
.dl-fab:hover{background:var(--c-accent-dark);color:var(--c-on-dark)}
.dl-fab svg{width:20px;height:20px}
.article-store-card{margin-top:48px;padding:28px;border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-panel);color:var(--c-text)}
.article-store-card h2{font-size:24px;margin:0 0 12px}
.article-store-card p{color:var(--c-muted)}
.preview-section{margin-top:var(--section-gap);padding-top:32px;border-top:1px solid var(--c-border)}
.preview-section>h2{margin:0 0 32px}
.preview-palette{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.swatch{border:1px solid var(--c-border);border-radius:var(--r-sm);overflow:hidden}
.swatch__paint{height:64px;border-bottom:1px solid var(--c-border)}
.swatch code{display:block;padding:10px;font-size:12px;color:var(--c-text)}
.swatch--bg{background:var(--c-bg);color:var(--c-text)}
.swatch--panel{background:var(--c-panel);color:var(--c-text)}
.swatch--panel2{background:var(--c-panel-2);color:var(--c-text)}
.swatch--border{background:var(--c-border);color:var(--c-text)}
.swatch--strong{background:var(--c-border-strong);color:var(--c-text)}
.swatch--dash{background:var(--c-line-dash);color:var(--c-text)}
.swatch--accent{background:var(--c-accent);color:var(--c-on-dark)}
.swatch--dark{background:var(--c-accent-dark);color:var(--c-on-dark)}
.swatch--soft{background:var(--c-accent-soft);color:var(--c-text)}
.swatch--text{background:var(--c-text);color:var(--c-on-dark)}
.swatch--muted{background:var(--c-muted);color:var(--c-on-dark)}
.swatch--faint{background:var(--c-faint);color:var(--c-text)}
.swatch--success{background:var(--c-success);color:var(--c-text)}
.swatch--warn{background:var(--c-warn);color:var(--c-text)}
.swatch--error{background:var(--c-error);color:var(--c-text)}
.swatch--on-dark{background:var(--c-on-dark);color:var(--c-text)}
.swatch--on-dark-muted{background:var(--c-on-dark-muted);color:var(--c-text)}
.preview-shot{aspect-ratio:750/1334;display:flex;align-items:center;justify-content:center;border-radius:var(--r-shot);background:var(--c-panel-2);color:var(--c-muted);font-family:var(--f-mono);text-align:center}
.preview-stack{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
@media(max-width:860px){
  .board__body{padding:16px}
  .rules{display:block;padding-top:14px}
  .rules::after,.cl__lead{display:none}
  .cl{padding-left:12px}
  .cl__src{margin-left:10px;padding-right:12px}
  .code-foot{padding-left:20px}
  .read-head{padding:16px 20px 6px;border-top:1px solid var(--c-border);margin-top:12px}
  .note{padding:4px 18px 4px 38px;height:auto;min-height:28px}
  .note__dot{left:20px}
  .read-foot{margin-top:6px}
  .board__tab{font-size:12.5px}
  .features-split{grid-template-columns:minmax(0,1fr);gap:20px}
  .preview-palette{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:640px){
  .facts{flex-direction:row;flex-wrap:wrap}
  .tabs__panel{padding:24px}
  .tabs__list:not([aria-orientation="vertical"]){gap:8px}
  .tabs__tab{font-size:14px;padding-inline:14px}
  .shot-row{flex-direction:column;align-items:center}
  .official-shot{max-width:min(280px,100%)}
  .preview-palette{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dl-fab{right:20px;bottom:20px}
  .article-store-card{padding:24px}
  .board__body{padding:12px}
  .board__tab-mono{font-size:12px}
}
@media(max-width:480px){.cl{font-size:12px}.cl__n{width:20px}.cl__src{margin-left:8px}}