/* The hero retains the approved vertical sequence and device proportions. */
.hero{position:relative;overflow-x:clip;max-width:100%;background:linear-gradient(180deg,var(--paper-top) 0%,var(--paper-bottom) 100%);padding-top:26px;padding-bottom:40px}
.hero::before{content:"";position:absolute;inset:0 0 auto;height:55%;background:linear-gradient(180deg,var(--accent-05),transparent);pointer-events:none}
.hero-horizon{position:absolute;left:0;right:0;top:440px;height:520px;perspective:560px;perspective-origin:50% 0%;pointer-events:none;z-index:0;mask-image:radial-gradient(ellipse 60% 90% at 50% 0%,var(--mask) 35%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 60% 90% at 50% 0%,var(--mask) 35%,transparent 100%)}
.hero-horizon::before{content:"";position:absolute;inset:0 0 auto;height:480px;transform-origin:50% 0%;transform:rotateX(62deg);background-image:linear-gradient(var(--grid-line) 1.2px,transparent 1.2px),linear-gradient(90deg,var(--grid-line) 1.2px,transparent 1.2px);background-size:64px 64px;background-position:center top}
.hero-in{position:relative;z-index:1}
.hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center}
.badge{display:inline-flex;align-items:center;gap:10px;min-height:28px;max-width:100%;padding:3px 13px 3px 11px;margin-bottom:18px;border-radius:var(--radius-pill);background:var(--bg-panel);border:1px solid var(--border);box-shadow:var(--shadow-chip);font-size:var(--size-sm);color:var(--text-muted);overflow-wrap:anywhere}
.badge-dot{width:7px;height:7px;border-radius:var(--radius-round);background:var(--accent);box-shadow:0 0 0 3px var(--accent-14);flex-shrink:0}
.badge-mono{font-family:var(--font-mono);font-size:var(--size-label);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-dark)}
.badge-sep{width:1px;height:12px;background:var(--border);flex-shrink:0}
.hero-title{max-width:100%;margin:0 0 20px;font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--size-display);line-height:1.1;letter-spacing:-.02em;color:var(--text)}
.mark{background-image:linear-gradient(180deg,transparent 60%,var(--accent-30) 60%,var(--accent-30) 90%,transparent 90%);padding:0 .03em}
.hero-cta{display:flex;align-items:center;justify-content:center;gap:28px;margin-bottom:18px}
.hero-sub{margin:0 0 18px;font-size:var(--size-lead);line-height:1.5;color:var(--text-muted)}
.hero-sub strong{color:var(--text);font-weight:var(--weight-strong)}
.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 14px;padding:0;list-style:none}
.trust li{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:4px 13px 4px 11px;border-radius:var(--radius-pill);background:var(--bg-panel);border:1px solid var(--border);box-shadow:var(--shadow-chip);font-size:var(--size-nav-small);color:var(--text)}
.ti{width:15px;height:15px}
.marks{display:flex;align-items:center;justify-content:center;gap:22px;margin-bottom:24px;font-size:var(--size-sm);color:var(--text-muted)}
.marks-group{display:flex;align-items:center;gap:14px}
.marks-label{font-family:var(--font-mono);font-size:var(--size-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}
.pf-list,.flag-list{display:flex;align-items:center;gap:15px;list-style:none;margin:0;padding:0}
.pf-list li,.flag-list li{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.pf-ico{width:16px;height:16px;color:var(--text)}
.marks-sep{width:1px;height:16px;background:var(--border-strong)}
.flag{width:21px;height:14px;border-radius:var(--radius-xs);overflow:hidden}
.flag-sq{width:14px;height:14px;border-radius:var(--radius-xs);overflow:hidden}
.f-r{fill:var(--flag-red)}
.f-w{fill:var(--flag-white)}
.f-b{fill:var(--flag-blue)}
.f-edge{fill:none;stroke:var(--flag-edge);stroke-width:1}
.symbol-sheet{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.lanes{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:24px}
.lane{min-width:0;padding:14px 16px;border-radius:var(--radius-card);background:var(--bg-panel);border:1px solid var(--border);box-shadow:var(--shadow-card);text-align:left;transition:transform var(--transition-fast) ease}
.lane:hover{transform:translateY(-2px)}
.lane-ico{width:22px;height:22px;margin-bottom:10px}
.lane-t{margin:0 0 3px;font-size:var(--size-card);font-weight:var(--weight-bold);line-height:1.35;letter-spacing:-.01em;color:var(--text)}
.lane-d{margin:0;font-size:var(--size-sm);line-height:1.45;color:var(--text-muted)}
.lane-hot{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 1px 0 var(--hi-wall),0 18px 36px -14px var(--accent-30),0 3px 8px -4px var(--accent-30)}
.lane-hot .lane-ico,.lane-hot .lane-t{color:var(--on-accent)}
.lane-hot .lane-d{color:var(--on-accent-muted);font-family:var(--font-mono);font-size:var(--size-detail);letter-spacing:.01em}
.device{position:relative;z-index:2;width:78%;margin:0 auto}
.device-frame{padding:10px;border-radius:var(--radius-device);background:linear-gradient(165deg,var(--frame),var(--frame-2));box-shadow:inset 0 1px 0 var(--hi-dark),inset 0 0 0 1px var(--hi-dark),var(--shadow-device)}
.wallpaper{position:relative;padding:14px 24px;border-radius:var(--radius-wall);background:radial-gradient(120% 90% at 12% 0%,var(--hi-wall) 0%,transparent 55%),linear-gradient(135deg,var(--accent),var(--madder));box-shadow:inset 0 1px 0 var(--hi-wall)}
.app{position:relative;height:262px;border-radius:var(--radius-card);overflow:hidden;background:var(--bg-panel);box-shadow:inset 0 0 0 1px var(--hi-light),0 22px 40px -18px var(--brown-shadow);display:flex;flex-direction:column}
.app-bar{height:34px;flex:none;display:flex;align-items:center;gap:12px;padding:0 12px;background:linear-gradient(180deg,var(--bg-panel),var(--bg));border-bottom:1px solid var(--border)}
.lights{display:flex;gap:6px}
.lights i{width:9px;height:9px;border-radius:var(--radius-round);display:block}
.lights i:nth-child(1){background:var(--accent)}
.lights i:nth-child(2){background:var(--warn)}
.lights i:nth-child(3){background:var(--success)}
.app-brand{display:flex;align-items:center;gap:7px;font-size:var(--size-detail);font-weight:var(--weight-display);letter-spacing:-.01em}
.app-logo{width:18px;height:18px}
.app-tabs{display:flex;gap:2px;margin-left:14px;padding:2px;border-radius:var(--radius-tab);background:var(--bg-panel2)}
.app-tabs span{font-size:var(--size-mini);padding:3px 10px;border-radius:var(--radius-xs);color:var(--text-muted)}
.app-tabs .on{background:var(--bg-panel);color:var(--text);font-weight:var(--weight-semibold);box-shadow:0 1px 2px var(--accent-12)}
.app-state{margin-left:auto;display:inline-flex;align-items:center;gap:6px;min-height:20px;padding:0 9px;border-radius:var(--radius-pill);background:var(--moss-tint);color:var(--success);font-size:var(--size-label);font-weight:var(--weight-semibold);white-space:nowrap}
.app-body{flex:1;display:grid;grid-template-columns:296px minmax(0,1fr);min-height:0}
.app-body>*{min-width:0}
.routes{padding:10px;background:var(--bg);border-right:1px solid var(--border)}
.routes-head{display:flex;align-items:center;justify-content:space-between;height:22px;padding:0 8px;margin-bottom:6px}
.routes-head b{font-size:var(--size-xs);font-weight:var(--weight-bold)}
.routes-head span{font-family:var(--font-mono);font-size:var(--size-micro);color:var(--text-muted);letter-spacing:.04em}
.route{position:relative;display:flex;align-items:center;gap:9px;min-height:26px;padding:0 9px;border-radius:var(--radius-tab);font-size:var(--size-detail);color:var(--text)}
.route+.route{margin-top:2px}
.route .flag{width:18px;height:12px}
.route .flag-sq{width:12px;height:12px;margin:0 3px}
.route-name{flex:1}
.route-code{font-family:var(--font-mono);font-size:var(--size-micro);letter-spacing:.08em;color:var(--text-muted)}
.route.is-on{background:var(--bg-panel);box-shadow:inset 0 0 0 1px var(--border),0 6px 12px -8px var(--accent-30);font-weight:var(--weight-semibold)}
.route.is-on::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:var(--radius-xs);background:var(--accent)}
.dot{width:7px;height:7px;border-radius:var(--radius-round);display:inline-block;flex:none;background:var(--success);box-shadow:0 0 0 2.5px var(--moss-tint)}
.dot-steel{background:var(--steel);box-shadow:0 0 0 2.5px var(--steel-tint)}
.dot-accent{background:var(--accent);box-shadow:0 0 0 2.5px var(--accent-tint)}
.dot-warn{background:var(--warn);box-shadow:0 0 0 2.5px var(--warn-tint)}
.cur{padding:14px 18px 50px}
.cur-in{max-width:366px}
.cur-head{display:flex;align-items:center;gap:12px;min-height:46px;padding:0 12px;border-radius:var(--radius-btn);background:var(--bg);border:1px solid var(--border);box-shadow:inset 0 1px 0 var(--hi-light)}
.cur-flag{width:30px;height:20px;border-radius:var(--radius-xs);overflow:hidden}
.cur-name{font-size:var(--size-card);font-weight:var(--weight-bold);line-height:1.2}
.cur-meta{font-family:var(--font-mono);font-size:var(--size-micro);letter-spacing:.06em;color:var(--text-muted)}
.switch{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:var(--size-xs);font-weight:var(--weight-semibold);color:var(--success)}
.switch-track{position:relative;width:34px;height:20px;border-radius:var(--radius-pill);background:var(--success);box-shadow:inset 0 1px 2px var(--brown-shadow)}
.switch-track::after{content:"";position:absolute;top:2px;right:2px;width:16px;height:16px;border-radius:var(--radius-round);background:var(--bg-panel);box-shadow:0 1px 3px var(--brown-shadow)}
.cur-row{display:flex;align-items:center;gap:6px;margin-top:9px}
.cur-label{width:56px;flex:none;font-size:var(--size-label);color:var(--text-muted)}
.chip{display:inline-flex;align-items:center;min-height:24px;padding:2px 7px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-panel);font-size:var(--size-mini);color:var(--text);max-width:100%;overflow-wrap:anywhere}
.chip.on{background:var(--accent-tint);border-color:var(--accent-line);color:var(--accent-dark);font-weight:var(--weight-semibold)}
.tag{display:inline-block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:3px 8px;background:var(--bg-panel2);border-radius:var(--radius-sm);font-size:var(--size-xs)}
.dock{position:absolute;left:50%;bottom:9px;transform:translateX(-50%);display:flex;gap:6px;padding:5px;border-radius:var(--radius-card);background:var(--bg-panel);border:1px solid var(--border);box-shadow:inset 0 1px 0 var(--hi-light),0 12px 22px -10px var(--brown-shadow)}
.dock-tile{min-width:28px;height:28px;padding-inline:6px;border-radius:var(--radius-tile);display:grid;place-items:center;background:var(--bg-panel2);color:var(--text);font-family:var(--font-mono);font-size:var(--size-label)}
.dock-tile svg{width:15px;height:15px}
.dock-tile.t1{background:var(--frame);color:var(--on-dark)}
.dock-tile.t2{background:var(--accent-tint);color:var(--accent-dark)}
.dock-tile.t3{background:var(--steel-tint);color:var(--steel)}
.dock-tile.t4{background:var(--moss-tint);color:var(--moss)}
.status{position:absolute;right:-64px;bottom:14px;width:272px;z-index:3;padding:12px;border-radius:var(--radius-card);background:var(--bg-panel);border:1px solid var(--border);box-shadow:var(--shadow-float)}
.status-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.status-head svg{width:20px;height:20px}
.status-title{font-size:var(--size-ui);font-weight:var(--weight-bold);letter-spacing:-.01em}
.status-sync{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:var(--size-label);color:var(--success)}
.status-grid{border:1px solid var(--border);border-radius:var(--radius-tile);overflow:hidden}
.status-grid table{width:100%;border-collapse:collapse;font-size:var(--size-xs)}
.status-grid th{background:var(--bg-panel2);color:var(--text-muted);font-weight:var(--weight-semibold);font-size:var(--size-label);text-align:left;padding:5px 10px}
.status-grid td{height:28px;padding:0 10px;border-top:1px solid var(--border-soft);color:var(--text)}
.status-grid td:first-child{width:72px;color:var(--text-muted)}
.sv{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.cap{position:absolute;left:-56px;top:-16px;z-index:3;display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 14px 0 10px;border-radius:var(--radius-pill);background:var(--bg-panel);border:1px solid var(--border);box-shadow:var(--shadow-float);font-family:var(--font-mono);font-size:var(--size-xs);letter-spacing:.02em;color:var(--text);white-space:nowrap}
.cap svg{width:15px;height:15px;color:var(--accent)}
.statsband{background:var(--bg-panel2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:var(--size-sm);letter-spacing:.12em;color:var(--text-muted)}
.statsband .wrap{min-height:44px;display:flex;align-items:center;justify-content:center;text-align:center}
.chapter-card{padding:var(--space-4);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-chapter);box-shadow:var(--shadow-card);min-width:0}
.tabs{min-width:0}
[role="tablist"]{display:flex;gap:8px;overflow-x:auto;max-width:100%;padding:4px 4px 12px;-webkit-overflow-scrolling:touch}
[role="tab"]{flex:none;min-height:44px;padding:10px 16px;background:var(--bg-panel2);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-btn);font-size:var(--size-ui);font-weight:var(--weight-semibold);white-space:nowrap}
[role="tab"][aria-selected="true"]{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:inset 0 1px 0 var(--hi-wall),0 8px 20px -10px var(--accent-30)}
[role="tabpanel"]{padding-top:var(--space-3);min-width:0}
.feature-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-6);align-items:center}
.feature-detail>*{min-width:0}
.feature-label{font-family:var(--font-mono);font-size:var(--size-sm);letter-spacing:.12em;color:var(--accent-dark);margin-bottom:var(--space-2)}
.feature-copy>*+*{margin-top:var(--space-3)}
.feature-points{list-style:none;padding:0;margin:var(--space-3) 0}
.feature-points li{position:relative;padding-left:24px;margin-top:12px}
.feature-points li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;background:var(--accent);clip-path:polygon(0 0,100% 50%,0 100%)}
.feature-points li:nth-child(3n+2)::before{background:var(--steel);border-radius:var(--radius-round);clip-path:none}
.feature-points li:nth-child(3n)::before{background:var(--moss);clip-path:none}
.stat-card{padding:var(--space-4);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}
.stat-number{font-family:var(--font-display);font-size:clamp(36px,4.5vw,60px);line-height:1.15;font-weight:var(--weight-display);letter-spacing:-.02em;margin-bottom:var(--space-2)}
.stat-card .text-link{display:inline-flex;min-height:28px;margin-top:var(--space-3);font-size:var(--size-ui)}
.logo-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:var(--space-3);padding-block:var(--space-4);font-family:var(--font-mono);color:var(--text-muted);font-size:var(--size-ui)}
.logo-grid>*{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;min-width:0}
.toc-tabs{position:sticky;top:0;z-index:35;display:flex;gap:8px;padding:12px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-chip);overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
.toc-tabs a{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;white-space:nowrap;border-radius:var(--radius-btn);font-size:var(--size-ui);color:var(--text-muted);flex:none}
.toc-tabs a.is-current{background:var(--accent);color:var(--on-accent)}
.toc-tabs.toc-static{position:static}
body:has(.toc-tabs) section[id]{scroll-margin-top:var(--toc-offset)}
.faq-item{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-chip);margin-bottom:12px}
.faq-item summary{position:relative;padding:20px 48px 20px 24px;cursor:pointer;font-weight:var(--weight-semibold);list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:24px;top:20px;font-family:var(--font-mono);color:var(--accent-dark)}
.faq-item[open] summary::after{content:"−"}
.faq-answer{padding:0 24px 24px;color:var(--text-muted)}
.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);align-items:stretch}
.plan-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:var(--space-4);border-radius:var(--radius-card);border:1px solid var(--border);background:var(--bg-panel);box-shadow:var(--shadow-card)}
.plan-card.is-current{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),var(--shadow-card)}
.plan-badge{align-self:flex-start;padding:4px 10px;background:var(--accent);color:var(--on-accent);font-size:var(--size-xs);font-weight:var(--weight-semibold);border-radius:var(--radius-sm);margin-bottom:16px}
.plan-name{font-size:var(--size-h3);font-weight:var(--weight-bold)}
.plan-price{margin-top:16px;font-size:var(--size-h2);font-weight:var(--weight-display);font-variant-numeric:tabular-nums;line-height:1.2}
.plan-price small{font-size:var(--size-ui);font-weight:var(--weight-normal);color:var(--text-muted)}
.plan-facts{padding-left:18px;margin-block:24px;color:var(--text-muted);font-size:var(--size-ui)}
.plan-facts li+li{margin-top:8px}
.plan-card .btn{margin-top:auto}
.table-scroll{overflow-x:auto;max-width:100%;width:100%;min-width:0;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg-panel)}
.data-table,.route-table,.comparison-table{width:100%;min-width:640px;text-align:left;font-size:var(--size-ui)}
.table-scroll th,.table-scroll td,.data-table th,.data-table td{padding:14px 18px;border-bottom:1px solid var(--border);word-break:keep-all}
.table-scroll th,.data-table th{background:var(--bg-panel2);color:var(--text);font-weight:var(--weight-semibold);white-space:nowrap}
.table-scroll td:first-child,.data-table td:first-child{color:var(--text);font-weight:var(--weight-medium)}
.table-scroll tbody tr:last-child td{border-bottom:0}
.table-scroll caption{padding:16px 18px;text-align:left;font-size:var(--size-ui);font-weight:var(--weight-bold);color:var(--text)}
.region-row th{background:var(--bg);color:var(--accent-dark)}
.prose>.data-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;min-width:0}
.platform-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-2)}
.platform-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);min-width:0}
.platform-card .pf-ico{width:28px;height:28px}
.platform-name{font-size:var(--size-brand);font-weight:var(--weight-bold)}
.platform-card .btn{font-size:var(--size-sm);padding-inline:12px;margin-top:auto}
.article-card{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;padding:var(--space-3);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}
.article-meta{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--size-xs)}
.article-card h3{font-size:var(--size-lead)}
.article-card p{font-size:var(--size-ui);color:var(--text-muted)}
.article-card .text-link{align-self:flex-start;margin-top:auto}
.callout{margin:var(--space-3) 0;padding:20px 24px;background:var(--accent-05);border-left:3px solid var(--accent);border-radius:var(--radius-sm);color:var(--text)}
.callout strong{display:block;margin-bottom:8px}
.promo-block{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg-panel);box-shadow:var(--shadow-card);margin-top:var(--space-6)}
.promo-copy{flex:1;min-width:180px}
.promo-brand{font-size:var(--size-brand);font-weight:var(--weight-display)}
.promo-copy p{font-size:var(--size-ui);color:var(--text-muted);margin-top:8px}
.promo-block .btn{flex-shrink:0;white-space:nowrap}
.float-cta{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:50;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px 0 14px;border-radius:var(--radius-pill);background:var(--frame);color:var(--on-dark);font-size:var(--size-nav);font-weight:var(--weight-semibold);box-shadow:inset 0 1px 0 var(--hi-dark),0 16px 30px -12px var(--accent-30),0 4px 10px -4px var(--brown-shadow);transition:transform var(--transition-fast) ease}
.float-cta:hover{transform:translateY(-1px)}
.float-cta .dot{background:var(--accent);box-shadow:0 0 0 3px var(--accent-30)}
body:has(.float-cta)::after{content:"";display:block;height:calc(88px + env(safe-area-inset-bottom,0px))}
.blog-title-band{background:var(--bg-panel2);border-block:1px solid var(--border);padding-top:var(--space-6);padding-bottom:var(--space-6)}
.blog-title-band h1{font-size:var(--size-h2)}
.preview-section{padding-top:var(--space-8);padding-bottom:var(--space-8)}
.preview-heading{margin-bottom:var(--space-4)}
.preview-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}
.color-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}
.color-swatch{min-width:0;border:1px solid var(--border);background:var(--bg-panel);border-radius:var(--radius-card);overflow:hidden}
.color-swatch span{display:block;height:72px;border-bottom:1px solid var(--border)}
.color-swatch code{display:block;padding:12px;color:var(--text);font-size:var(--size-xs)}
.sw-bg{background:var(--bg)}.sw-panel{background:var(--bg-panel)}.sw-inset{background:var(--bg-panel2)}.sw-border{background:var(--border)}.sw-border-soft{background:var(--border-soft)}.sw-border-strong{background:var(--border-strong)}
.sw-accent{background:var(--accent)}.sw-accent-dark{background:var(--accent-dark)}.sw-text{background:var(--text)}.sw-muted{background:var(--text-muted)}.sw-faint{background:var(--text-faint)}
.sw-success{background:var(--success)}.sw-warn{background:var(--warn)}.sw-error{background:var(--error)}.sw-steel{background:var(--steel)}.sw-madder{background:var(--madder)}.sw-frame2{background:var(--frame-2)}
.sw-top{background:var(--paper-top)}.sw-bottom{background:var(--paper-bottom)}.sw-on-dark{background:var(--on-dark)}.sw-on-dark-muted{background:var(--on-dark-muted)}.sw-on-accent{background:var(--on-accent)}.sw-on-accent-muted{background:var(--on-accent-muted)}
.sw-a05{background:var(--accent-05)}.sw-a10{background:var(--accent-10)}.sw-a12{background:var(--accent-12)}.sw-a14{background:var(--accent-14)}.sw-a30{background:var(--accent-30)}.sw-atint{background:var(--accent-tint)}.sw-aline{background:var(--accent-line)}
.sw-steel-tint{background:var(--steel-tint)}.sw-moss-tint{background:var(--moss-tint)}.sw-warn-tint{background:var(--warn-tint)}.sw-grid{background:var(--grid-line)}.sw-hi-light{background:var(--hi-light)}.sw-hi-dark{background:var(--hi-dark)}.sw-hi-wall{background:var(--hi-wall)}.sw-shadow{background:var(--brown-shadow)}.sw-veil{background:var(--veil-color)}.sw-mask{background:var(--mask)}.sw-red{background:var(--flag-red)}.sw-white{background:var(--flag-white)}.sw-blue{background:var(--flag-blue)}.sw-edge{background:var(--flag-edge)}
@media(max-width:1100px){
  .marks{gap:12px}
  .marks-group{gap:8px}
  .pf-list,.flag-list{gap:10px}
  .platform-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:768px){
  .hero{padding-top:28px}
  .hero-title{font-size:var(--size-mobile-display);line-height:1.15}
  .hero-sub{font-size:var(--size-body)}
  .hero-cta{gap:20px;flex-wrap:wrap}
  .marks{flex-direction:column;gap:12px}
  .marks-group{flex-wrap:wrap;justify-content:center}
  .pf-list,.flag-list{flex-wrap:wrap;justify-content:center}
  .marks-sep{display:none}
  .lanes{grid-template-columns:1fr}
  .device{width:100%}
  .cap{display:none}
  .app{height:auto}
  .app-tabs{display:none}
  .app-body{grid-template-columns:1fr}
  .routes{border-right:0;border-bottom:1px solid var(--border)}
  .cur{padding-bottom:56px}
  .cur-row{flex-wrap:wrap}
  .status{position:relative;right:auto;bottom:auto;width:auto;margin-top:12px}
  .feature-detail{grid-template-columns:1fr;gap:var(--space-4)}
  .chapter-card{padding:var(--space-3)}
  .plan-grid{grid-template-columns:1fr}
  .logo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .color-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:640px){
  .wallpaper{padding:10px}
  .platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .float-cta{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  .plan-card,.promo-block{padding:var(--space-3)}
  .cur{padding-inline:10px}
  .cur-head{gap:8px;padding-inline:8px}
  .switch{gap:4px}
  .logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}