:root{--cp-navy-900:#0B1428;--cp-blue-600:#1340C2;--cp-blue-50:#EEF3FF;--cp-ink-900:#0E1A3A;--cp-ink-600:#42506B;--cp-ink-500:#5B6680;--cp-line-200:#E2E7F0;--cp-bg-100:#F2F4F8}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--cp-ink-900);background:#f6f8fc;display:flex;flex-direction:column;min-height:100vh}.modal{width:min(960px,100vw);margin:0 auto;background:#fff;display:flex;flex-direction:column;min-height:100vh}@media(min-width:961px){body{padding:24px;box-sizing:border-box}.modal{margin:auto;min-height:min(760px,calc(100vh - 48px));border-radius:16px;box-shadow:0 24px 60px #0e1a3a38;overflow:hidden}}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 24px 14px 32px;background:var(--cp-navy-900)}.brand{display:flex;align-items:center;gap:14px}.brand b{color:#fff;font-weight:800;font-size:16px;letter-spacing:.04em}.closebtn{width:44px;height:44px;border:none;background:#1c2740;border-radius:22px;display:flex;align-items:center;justify-content:center;cursor:pointer}.body{padding:24px 40px 0;display:flex;flex-direction:column;gap:14px}.backrow{display:flex;align-items:center;gap:10px}.backbtn{width:40px;height:40px;border-radius:20px;background:var(--cp-bg-100);display:flex;align-items:center;justify-content:center;text-decoration:none}.pill{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;background:var(--cp-blue-50);color:var(--cp-blue-600);font-size:13px;font-weight:700}h1{margin:0;font-size:38px;line-height:1.1;font-weight:800;letter-spacing:-.025em}.searchwrap{padding:22px 40px 0}.searchbox{position:relative;display:flex;align-items:center;gap:14px;height:64px;padding:0 20px;border:2px solid var(--cp-blue-600);border-radius:16px;box-shadow:0 10px 30px #1340c21f}.searchbox svg{flex:none}.searchbox input{flex-grow:1;min-width:0;border:none;background:transparent;font-family:inherit;font-size:19px;font-weight:500;color:var(--cp-ink-900);outline:none}.searchhint{font-size:12px;color:var(--cp-ink-500);white-space:nowrap}.results{position:absolute;left:-2px;right:-2px;top:calc(100% + 6px);background:#fff;border:1px solid var(--cp-line-200);border-radius:14px;box-shadow:0 20px 40px #0e1a3a2e;overflow:hidden;z-index:5}.results[hidden]{display:none}.result{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;cursor:pointer;border-bottom:1px solid var(--cp-line-200)}.result:last-child{border-bottom:none}.result:hover,.result.active{background:var(--cp-blue-50)}.result-name{font-weight:700}.result-sub{font-size:12px;color:var(--cp-ink-500)}.no-results{padding:16px 18px;font-size:13px;color:var(--cp-ink-600)}.browse{padding:22px 40px 0;display:flex;flex-direction:column;gap:14px}.browse-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.browse-label{font-size:13px;font-weight:600;color:var(--cp-ink-500)}.tabs{display:flex;gap:4px;background:var(--cp-bg-100);padding:4px;border-radius:12px}.tab{height:36px;padding:0 14px;border:none;border-radius:9px;background:transparent;font-family:inherit;font-size:13px;font-weight:600;color:var(--cp-ink-600);cursor:pointer}.tab.active{background:#fff;box-shadow:0 1px 3px #0e1a3a26;font-weight:700;color:var(--cp-ink-900)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.airport-card{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1.5px solid var(--cp-line-200);border-radius:14px;text-decoration:none;color:var(--cp-ink-900);cursor:pointer;background:none;text-align:left;font-family:inherit}.airport-card b{font-size:16px;font-weight:700}.airport-card span{font-size:13px;color:var(--cp-ink-500);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.airport-card:hover{border-color:var(--cp-blue-600);background:var(--cp-blue-50)}.grid[hidden]{display:none}.tab:focus-visible,.airport-card:focus-visible{outline:2px solid var(--cp-blue-600);outline-offset:2px}.spacer{flex-grow:1}.footer{padding:16px 40px;font-size:13px;color:var(--cp-ink-600);border-top:1px solid var(--cp-line-200)}@media(max-width:640px){.body,.searchwrap,.browse,.footer{padding-left:16px;padding-right:16px}h1{font-size:28px}.searchbox{height:56px;padding:0 16px;gap:10px}.searchbox input{font-size:17px}.searchhint{display:none}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.browse-head{flex-direction:column;align-items:stretch}.tabs{overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:none;padding:0 12px}}
