/* API Atlas 2.1 · Copy actions and comfortable mobile navigation. */
:root{--mobile-nav-space:0px}
.mobile-bottom-nav{display:none}
.api-card{min-height:285px}
.api-card .card-bottom{margin-top:auto}
.api-card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px}
.copy-api-button,.api-docs-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:35px;padding:8px 11px;border:1px solid var(--line);border-radius:7px;font-size:12px;font-weight:500;line-height:1.4;white-space:nowrap;transition:background .16s,color .16s,border-color .16s;touch-action:manipulation}
.copy-api-button{background:var(--mint);border-color:var(--mint-border);color:var(--green-dark)}
.copy-api-button:hover{background:var(--green);border-color:var(--green);color:var(--surface)}
.api-docs-link{color:var(--secondary);background:var(--surface)}
.api-docs-link:hover{color:var(--green);border-color:var(--green)}
.copy-api-button.is-copied,.copy-endpoint-button.is-copied{color:var(--green);background:var(--mint);border-color:var(--green)}
.copy-api-button.icon-only{width:33px;height:33px;min-height:33px;padding:0;background:transparent;border-color:var(--line)}
.table-actions{display:flex;align-items:center;gap:7px;white-space:nowrap}
.resource-toolbar{gap:15px}.resource-tabs{margin-right:auto}
.resource-toolbar>.view-toggle{position:static;margin-bottom:9px;align-self:center}
.detail-copy-panel{margin:19px 0;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px 13px}
.detail-copy-label{display:flex;align-items:center;gap:6px;font:12px var(--mono);letter-spacing:.8px;color:var(--muted);margin-bottom:9px}
.detail-copy-label .icon{color:var(--green)}
.detail-copy-row{display:flex;align-items:center;gap:10px;min-width:0}
.detail-copy-url{width:100%;min-width:0;flex:1;border:0;border-radius:4px;background:transparent;font:12px/1.6 var(--mono);color:var(--text);padding:7px 1px;outline-offset:3px;cursor:text}
.detail-copy-row .copy-api-button{flex-shrink:0}
.playground-buttons{display:flex;gap:12px;align-items:center;flex-shrink:0}
.copy-endpoint-button{min-height:32px;padding:6px 0;transition:color .16s}
.copy-endpoint-button:hover{color:var(--green)}
.manual-copy-value{display:block;width:100%;resize:vertical;min-height:104px;max-height:36dvh;margin-top:17px;padding:13px 14px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:12px/1.8 var(--mono);overflow-wrap:anywhere;white-space:pre-wrap}
.copy-dialog .dialog-bottom-actions{margin-top:19px}
.detail-dialog .toast-region,.standard-dialog .toast-region{left:50%;bottom:18px;max-width:calc(100vw - 40px)}
@media(max-width:1050px){.api-card-actions{gap:8px}.copy-api-button,.api-docs-link{font-size:12px;padding:8px 10px}.resource-toolbar{gap:12px}.detail-copy-row{gap:8px}}
@media(max-width:800px){
  :root{--mobile-nav-space:calc(72px + env(safe-area-inset-bottom,0px))}
  body.has-mobile-nav{padding-bottom:var(--mobile-nav-space)}
  .has-mobile-nav .topbar{position:sticky;top:0;z-index:20;min-height:62px;box-shadow:0 3px 12px #173e2805}
  .has-mobile-nav .topbar .button-small{min-height:39px;font-size:12px}
  .has-mobile-nav .topbar .mobile-menu,.has-mobile-nav .topbar .theme-button{min-width:38px;min-height:40px}
  .directory{scroll-margin-top:79px}
  .mobile-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;inset:auto 0 0;z-index:32;min-height:71px;padding:7px max(9px,env(safe-area-inset-right,0px)) calc(7px + env(safe-area-inset-bottom,0px)) max(9px,env(safe-area-inset-left,0px));background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -6px 25px #173e2809;isolation:isolate;transition:transform .18s,opacity .18s}
  .mobile-nav-item{position:relative;min-width:0;min-height:51px;padding:2px 2px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:10px;color:var(--muted);font-size:12px;font-weight:500;letter-spacing:.05px;line-height:1.4;text-align:center;cursor:pointer;touch-action:manipulation}
  .mobile-nav-item:hover{color:var(--green);background:var(--bg)}
  .mobile-nav-icon{display:grid;place-items:center;width:32px;height:27px;border-radius:8px;transition:color .15s,background .15s}
  .mobile-nav-item>.mobile-nav-icon>.icon{width:20px;height:20px}
  .mobile-nav-item.active{color:var(--green-dark);font-weight:600}
  .mobile-nav-item.active:not(.mobile-nav-search) .mobile-nav-icon{background:var(--mint)}
  .mobile-nav-search .mobile-nav-icon{width:44px;height:44px;border:4px solid var(--surface);margin-top:-15px;background:#1c7750;color:#fff;border-radius:15px;box-shadow:0 4px 10px #173e281a}
  .mobile-nav-search:hover .mobile-nav-icon,.mobile-nav-search.active .mobile-nav-icon{background:#145c3c;color:#fff}
  .mobile-nav-search>span:last-child{margin-top:-2px}
  .mobile-nav-badge{position:absolute;top:0;left:calc(50% + 6px);display:grid;place-items:center;min-width:16px;height:16px;padding:0 3px;border:2px solid var(--surface);border-radius:20px;background:var(--green);color:var(--surface);font-size:12px;font-weight:600;line-height:1;letter-spacing:0}
  .mobile-keyboard-open .mobile-bottom-nav{transform:translateY(115%);opacity:0;pointer-events:none}
  .has-mobile-nav>.toast-region{bottom:calc(var(--mobile-nav-space) + 12px);width:max-content;max-width:calc(100vw - 30px)}
  .toast{font-size:12px;line-height:1.6;padding:11px 14px}
  .api-card-actions>.copy-api-button,.api-card-actions>.api-docs-link{min-height:42px;font-size:12px;flex:1;padding:10px 11px}
  .table-actions .copy-api-button,.table-actions .bookmark-button{width:42px;height:42px;min-height:42px}
  .detail-copy-label{font-size:12px;line-height:1.7}
  .detail-copy-row .copy-api-button{min-height:42px;font-size:12px}
  .endpoint-actions{flex-wrap:wrap}
  .playground-buttons{gap:13px}
  .detail-footer .button,.detail-footer>.text-button{min-height:42px;font-size:12px}
  .dialog-topline>.icon-button,.detail-controls>.icon-button{width:42px;height:42px;min-height:42px}
  .category-modal-item{min-height:46px;font-size:12px}
  .standard-dialog .form-field input,.standard-dialog .form-field select,.standard-dialog .form-field textarea,.category-modal-search input,.manual-copy-value{font-size:16px}
  .form-field input,.form-field select{min-height:45px}
  .submit-dialog .dialog-bottom-actions>.button,.copy-dialog .dialog-bottom-actions>.button{min-height:44px;font-size:12px}
}
@media(max-width:600px){
  .has-mobile-nav .topbar{padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px));gap:8px}
  .has-mobile-nav .topbar-left{gap:6px}
  .has-mobile-nav .topbar .button-small{padding:8px 10px;font-size:12px;min-height:38px}
  .has-mobile-nav .topbar-actions{gap:5px}
  .page-shell{padding-left:max(15px,env(safe-area-inset-left,0px));padding-right:max(15px,env(safe-area-inset-right,0px))}
  .hero{padding:22px 23px}.hero h1{font-size:35px;margin-top:12px;margin-bottom:11px}.hero-copy>p{font-size:12px;line-height:1.8}.hero .eyebrow{font-size:12px}
  .stats-bar{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:12px 0 22px}
  .stat,.stat:first-child,.stat:last-child{justify-content:center!important;align-items:flex-start;min-height:77px;padding:11px 5px;gap:0;border-radius:9px;white-space:normal}
  .stat>.stat-icon,.stat>.icon{display:none}
  .stat-copy{min-height:49px;align-items:center;text-align:center;gap:4px;min-width:0}
  .stat .stat-number{font-size:21px;letter-spacing:-.8px;min-width:0!important;white-space:nowrap}
  .stat-copy>span:last-child{font-size:12px;line-height:1.45;letter-spacing:0}
  .section-heading h2{font-size:18px}.surprise-button{min-width:35px;min-height:35px}
  .discovery-panel{padding:11px;margin-top:12px}
  .discovery-panel .search-box{min-height:48px;height:48px;gap:9px;padding:0 10px}
  .discovery-panel .search-box input{font-size:16px;letter-spacing:-.25px}
  .search-box .clear-search{width:32px;height:36px}
  .discovery-panel .filter-bar{display:block;padding-right:0;margin-top:10px;position:static}
  .filter-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
  .filter-select{min-height:44px;width:100%;gap:5px;padding:0 9px;font-size:12px;border-radius:7px;min-width:0}
  .filter-select>svg:first-child{display:none}
  .filter-select>svg:last-child{width:12px;height:12px}
  .filter-select select,.category-select select{width:100%;min-width:0;max-width:100%;flex:1;padding:11px 13px 11px 0;margin-right:-13px;text-overflow:ellipsis;font-size:12px;line-height:1.6}
  .transport-select{grid-column:1/-1}
  .resource-toolbar{flex-wrap:wrap;gap:0 12px;margin-top:12px;align-items:center;padding-bottom:6px}
  .resource-tabs{flex:0 0 100%;width:100%;gap:10px;justify-content:space-between;min-height:46px}
  .resource-tab{min-height:44px;font-size:12px;gap:4px;padding:10px 0;white-space:nowrap}
  .resource-tab span{font-size:12px;padding:1px 3px}
  .sort-label{padding:5px 0 0;display:flex;align-items:center;gap:7px;flex:1;min-height:43px;justify-content:flex-start;font-size:12px}
  .sort-label>span{display:inline;font-size:12px}
  .sort-label select{font-size:12px;width:auto;max-width:140px;padding-top:8px;padding-bottom:8px}
  .resource-toolbar>.view-toggle{position:static;height:36px;padding:3px;gap:2px;margin:5px 0 0;align-self:center;border-radius:7px}
  .view-toggle .view-button{width:31px;min-height:28px}
  .view-toggle .view-button>.icon{width:16px;height:16px}
  .results-meta{min-height:48px;font-size:12px;gap:6px}.export-button{min-height:38px;font-size:12px}
  .api-card{padding:19px;min-height:286px;border-radius:13px}
  .api-card .bookmark-button{width:40px;height:40px}
  .api-card .card-category{font-size:12px}.api-card .card-title-row h3{font-size:18px;line-height:1.45}
  .api-card .card-description{font-size:12px;line-height:1.85;margin-top:8px}
  .api-card .card-bottom{padding-top:13px;min-height:41px}
  .api-card-actions{gap:9px;margin-top:12px}
  .api-card-actions>.copy-api-button,.api-card-actions>.api-docs-link{font-size:12px;min-height:44px;border-radius:8px;padding:11px 9px}
  .auth-badge{font-size:12px}.protocol-flag{font-size:12px}.protocol-flags{gap:9px}
  .detail-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:14px}
  .detail-top{padding:21px 20px 20px}.detail-body{padding:20px}.detail-copy-panel{padding:12px;margin-top:17px}
  .detail-copy-row{flex-wrap:wrap;gap:9px}.detail-copy-url{flex:1 0 100%;width:100%;font-size:14px;padding:4px 0 7px}
  .detail-copy-row>.copy-api-button{width:100%;min-height:44px;font-size:12px}
  .detail-copy-label{font-size:12px;letter-spacing:.5px}
  .endpoint-actions{gap:9px;padding:11px 12px}.playground-help{flex-basis:100%;font-size:12px}
  .playground-buttons{width:100%;justify-content:space-between;gap:9px}.playground-buttons>.button,.playground-buttons>.copy-endpoint-button{min-height:43px;flex:1;font-size:12px;justify-content:center;border-radius:6px}
  .playground-buttons>.copy-endpoint-button{border:1px solid var(--line);padding:8px;color:var(--green);background:var(--surface)}
  .detail-footer{flex-wrap:wrap;gap:9px}.detail-footer>.text-button,.detail-footer>.button{min-height:44px;font-size:12px;flex:1;padding:10px 11px}
  .detail-description{font-size:13px;line-height:1.8}.detail-notes p{font-size:12px}
  .standard-dialog,.categories-dialog{max-height:calc(100dvh - 24px);padding:22px 20px;border-radius:14px}
  .standard-dialog .dialog-intro{font-size:12px;line-height:1.85}
  .manual-copy-value{font-size:16px;line-height:1.75}
  .page-footer{padding-bottom:28px}
}
@media(max-width:360px){
  .mobile-nav-item{font-size:12px}.mobile-nav-item>.mobile-nav-icon>.icon{width:19px;height:19px}
  .has-mobile-nav .topbar .button-small{font-size:12px;padding:8px}.has-mobile-nav .topbar .theme-button{min-width:32px}.topbar .mobile-wordmark{font-size:17px}
  .hero{padding:21px}.hero h1{font-size:31px;letter-spacing:-1.1px}.hero .eyebrow{font-size:12px}.hero-copy>p{font-size:12px}
  .stat .stat-number{font-size:18px}.stat-copy>span:last-child{font-size:12px}.stat,.stat:first-child,.stat:last-child{padding-left:4px;padding-right:4px;min-height:74px}
  .filter-select,.filter-select select{font-size:12px}.filter-select{padding-left:8px;padding-right:8px}
  .resource-tab{font-size:12px}.resource-tabs{gap:8px}.resource-tab span{font-size:12px}.sort-label select{font-size:12px;max-width:125px}
  .api-card{padding:17px}.api-card-actions>.copy-api-button,.api-card-actions>.api-docs-link{font-size:12px}.protocol-flag{font-size:12px}
  .detail-top{padding:20px 17px}.detail-body{padding:18px 17px}.playground-buttons>.button,.playground-buttons>.copy-endpoint-button{font-size:12px;gap:5px;padding-left:6px;padding-right:6px}
}
@media(prefers-reduced-motion:reduce){.mobile-bottom-nav,.mobile-nav-icon,.copy-api-button{transition:none}}
@media(max-width:800px){
  .discovery-panel .search-box input{font-size:16px}
  .table-actions .copy-api-button,.table-actions .bookmark-button{width:44px;height:44px;min-height:44px}
  .api-table th:last-child,.api-table td:last-child{position:sticky;right:0;background:var(--surface);box-shadow:-5px 0 8px #173e2808;z-index:1}
  .api-table th:last-child{background:var(--soft)}
  .detail-copy-row>.copy-api-button{min-height:44px}
  .dialog-topline>.icon-button,.detail-controls>.icon-button{width:44px;height:44px;min-height:44px}
}
@media(max-width:600px){
  .detail-copy-url{font-size:16px}
  .pagination{flex-wrap:wrap;gap:5px;padding-top:0;padding-bottom:0}
  .pagination .page-button{height:42px;min-width:42px;font-size:12px}
}
