/* Porcelain, mineral glass and distinct cobalt / apricot controls. */
:root{
  --bg:#10222c;--sidebar:rgba(17,35,46,.97);--panel:rgba(24,48,59,.88);
  --panel-hover:rgba(33,61,71,.96);--text:#edf5f5;--muted:#b6c8ce;--subtle:#a9bdc4;
  --accent:#93baff;--accent-ink:#102235;--violet:#b7d6e1;
  --border:rgba(181,212,219,.18);--border-bright:rgba(181,212,219,.34);
  --cyan-tint:rgba(142,203,194,.1);--shadow:0 12px 28px -18px #0009;
  --surface-glass:linear-gradient(135deg,rgba(32,64,65,.93),rgba(26,44,56,.9));
  --surface-editorial:linear-gradient(135deg,#1a313c,#233944);
  --control-fill:#86b2ff;--control-ink:#10254b;--control-hover:#a8c7ff;
  --detail-fill:#584a30;--detail-ink:#ffe0a4;--detail-line:#8d744b;
  background:#10222c;
}
html:has(body.light){background:#fcfdfb;color-scheme:light}
body.light{
  color-scheme:light;--bg:#fcfdfb;--sidebar:rgba(255,255,253,.96);--panel:rgba(255,255,255,.88);
  --panel-hover:#fff;--text:#20323e;--muted:#5d707b;--subtle:#677781;
  --accent:#2454b2;--accent-ink:#fff;--violet:#557986;
  --border:rgba(86,119,127,.17);--border-bright:rgba(64,101,115,.32);
  --cyan-tint:rgba(80,148,130,.07);--shadow:0 14px 28px -20px rgba(32,70,78,.28);
  --surface-glass:linear-gradient(125deg,rgba(220,244,233,.82),rgba(255,255,252,.87) 54%,rgba(255,241,217,.76));
  --surface-editorial:linear-gradient(125deg,rgba(255,255,255,.95),rgba(236,244,241,.83));
  --control-fill:#2454b2;--control-ink:#fff;--control-hover:#183f91;
  --detail-fill:#fff0d4;--detail-ink:#765326;--detail-line:#dfbc7c;
  background:linear-gradient(120deg,#fffefb,#fbfdfb 58%,#f2f8f6);
}
body,body.light{font-family:system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif;background-attachment:fixed}
.ambient{display:none}
body.light .glass,body.light .airport-card{
  background:var(--surface-glass);border:1px solid rgba(108,156,145,.19);border-top-color:#fff;
  outline-color:rgba(118,158,145,.11);box-shadow:inset 1px 1px 0 #fff,inset -1px -1px 0 #8ba39412,var(--shadow);
  backdrop-filter:blur(12px) saturate(110%);
}
body.light .airport-card:hover{background:linear-gradient(125deg,#e3f6ecdd,#fffffbef 54%,#fff0d9d9);border-color:#a6c8b9;box-shadow:inset 1px 1px 0 #fff,0 16px 30px -20px #204c4650}
body:not(.light) .glass,body:not(.light) .airport-card{background:var(--surface-glass);border-color:var(--border);box-shadow:inset 0 1px 0 #d4e8e619,var(--shadow)}
body.light .content-card,body.light .tutorial-grid .tutorial-card,body.light .home-tutorial-grid .tutorial-card,
body:not(.light) .content-card,body:not(.light) .tutorial-grid .tutorial-card,body:not(.light) .home-tutorial-grid .tutorial-card{
  background:var(--surface-editorial)!important;box-shadow:inset 0 1px 0 #ffffff55,var(--shadow)!important;
  border-color:var(--border);outline-color:var(--border);
}
body.light .content-card:hover{background:#fff!important;border-color:#adc7be}
body.light .content-card::after{background:linear-gradient(125deg,transparent 50%,#fff6 53%,transparent 62%);box-shadow:inset 0 0 0 1px #ffffff70}
body.light .content-card h2,body.light .card-overline>span,body.light .content-card .article-sub>span:last-child{color:var(--text)}
body.light .content-card>p,body.light .content-card .article-sub{color:var(--muted)}
.airport-card{--airport-ink:#edf5f5;--airport-label:#b6c8ce;--airport-blue:#a9c9f9;--airport-green:#a3d7bd;--airport-gold:#e8cb98;--airport-tag:#c4d8d8}
body.light .airport-card{--airport-ink:#253b48;--airport-label:#5b7178;--airport-blue:#315f92;--airport-green:#286852;--airport-gold:#81632d;--airport-tag:#47666b}
body.light .airport-price dd{color:#81552b}
.airport-card .airport-score dd{color:var(--airport-gold)}
body.light .provider-logo,body.light .airport-card .provider-logo,body.light .airport-card .provider-logo.purple,body.light .airport-card .provider-logo.blue{
  background:linear-gradient(135deg,#fffffff2,#e0f1e9c9);color:#3b7269;border:1px solid #ffffffdc;border-bottom-color:#abcabf;
  box-shadow:inset 1px 1px 0 #fff,0 4px 10px -6px #527f7055;
}
body:not(.light) .provider-logo,body:not(.light) .airport-card .provider-logo{background:linear-gradient(135deg,#2f5b57,#244049);color:#a8d7c7;border-color:#537971}
body.light .airport-card .tag,body.light .airport-card .demo-badge{background:rgba(255,255,255,.71)!important;border-color:#b9d1c44d;color:var(--airport-tag)}
body:not(.light) .airport-tags .tag{background:#ffffff09!important;color:var(--airport-tag)}
.button-primary,body.light .button-primary,body.light .hero .button-primary,body.light .airport-action-buy,
body:not(.light) .button-primary,body:not(.light) .airport-action-buy,.admin-ui .primary{
  background:var(--control-fill);color:var(--control-ink);border:1px solid var(--control-fill);box-shadow:0 4px 10px -5px #16489477;
}
.button-primary:hover,body.light .button-primary:hover,body.light .airport-action-buy:hover,
body:not(.light) .button-primary:hover,body:not(.light) .airport-action-buy:hover,.admin-ui .primary:hover{background:var(--control-hover);border-color:var(--control-hover);color:var(--control-ink)}
body.light .button-ghost,body.light .hero .button-ghost,
body:not(.light) .button-ghost{
  background:var(--detail-fill);color:var(--detail-ink);border:1px solid var(--detail-line);box-shadow:inset 0 1px 0 #ffffff88;
}
body.light .button-ghost:hover{background:#ffe5b3;color:#654317;border-color:#c99c56}
body:not(.light) .button-ghost:hover{background:#705b36;color:#ffe4b7;border-color:#af935f}
body.light .airport-action-buy:disabled,body.light .button-primary:disabled{opacity:1;background:#e3e9f2;color:#677a94;border-color:#c7d2e1;box-shadow:none}
body:not(.light) .airport-action-buy:disabled{opacity:1;background:#2a3e53;color:#a0b3c8;border-color:#40566e;box-shadow:none}
body.light .brand-symbol{background:linear-gradient(135deg,#e5f4ed,#f6f3e7);border-color:#c5dad0;box-shadow:inset 0 1px 0 #fff;color:#3b7168}
body.light .brand-symbol svg{fill:#3b7168}
body:not(.light) .brand-symbol{background:linear-gradient(135deg,#2d5552,#263e4b);color:#aad8c7;border-color:#527970;box-shadow:inset 0 1px 0 #ffffff22}
body:not(.light) .brand-symbol svg{fill:#aad8c7}
body.light .main-nav a.active,body.light .scene-chip.active{background:#e9f0fb;color:#244f9a;border-color:#c0d1ee;box-shadow:none}
body.light .main-nav a:hover,body.light .scene-chip:hover{background:#f0f4fa;color:#214b90}
body:not(.light) .main-nav a.active,body:not(.light) .scene-chip.active{background:#2b4464;color:#c2d8fc;border-color:#48678e}
body.light .start-platforms a{background:#fff;color:#425766;border-color:#c8d7d3}
body.light .start-platforms a:hover{background:#eaf1fc;color:#214e9e;border-color:#c1d0e8}
body:not(.light) .start-platforms a{background:#ffffff0a;color:var(--text);border-color:var(--border)}
body.light .search{background:#fff;border-color:#cfdddc}
body.light .icon-button:hover{background:#e7eef9;color:#2454b2}
body.light .article-icon,body.light .article-icon.purple{background:#edf3f1;color:#426e64;border-color:#d1e0d9}
.guide-platform-meta,body.light .guide-platform-meta{color:var(--muted)}
body.light .guide-filters,body.light .guide-client-info{border-color:var(--border)}
body.light .platform-tab,body.light .guide-client-select,body.light .guide-client-info p{color:var(--muted)}
body.light .platform-tab.active{color:#2454b2;border-bottom-color:#2454b2}
body.light .platform-tab:hover{color:#173f8c}
body.light .guide-client-select select{background:#fff;color:#304955;border-color:#bfcec9}
body.light .client-entry-links{color:#2454b2}
body:not(.light) .platform-tab.active{color:#a8c9ff;border-bottom-color:#93baff}
body:not(.light) .guide-client-select select{background:#203b48;color:var(--text);border-color:#52717b}
body.light .fact,body.light .tutorial-steps li{background:linear-gradient(125deg,#eef6f1,#fff9ed);border-color:#cfded5}
body.light .tutorial-prose,body.light .prose{background:linear-gradient(120deg,#fffefd,#f8fcf9);border-color:#d4e0d9}
.callout{background:var(--cyan-tint);border-left-color:var(--accent)}
.text-link,.start-help,.method-inline{color:var(--accent)}
body.light .detail-side{background:transparent!important}
body.light .topic-dot.violet{background:#5b8390}body.light .topic-dot.amber{background:#a7874f}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

/* The phone has permanent navigation and a compact reading / purchasing path. */
@media(max-width:760px){
  body{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .page-shell{padding-top:env(safe-area-inset-top,0px);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .topbar{height:72px;gap:12px;margin-bottom:18px}
  .brand{font-size:18px;gap:8px}.brand-symbol{display:grid;width:30px;height:30px;border-radius:9px}
  .breadcrumb,.mobile-menu{display:none!important}.search{max-width:none;min-width:0;width:auto;flex:1;margin-left:auto;min-height:40px}
  .search input{font-size:11px}.search .icon{width:16px;height:16px}.topbar-actions{display:flex}.topbar-actions .icon-button{width:32px;height:44px;border:0;background:transparent}
  .sidebar,body.light .sidebar,body:not(.light) .sidebar{
    position:fixed;inset:auto 0 0;width:100%;height:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
    padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));transform:none!important;transition:none;
    background:var(--sidebar)!important;border:0;border-top:1px solid var(--border);backdrop-filter:blur(16px);box-shadow:0 -5px 18px -12px #263e5055;
    z-index:50;
  }
  .main-nav{display:contents}.main-nav a,.sidebar-bottom .method-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:52px;padding:4px 2px;font-size:11px;line-height:1.4;border:1px solid transparent;border-radius:10px}
  .main-nav a>.icon,.sidebar-bottom .method-link>.icon{display:block;width:19px;height:19px}
  .sidebar-bottom{display:contents}.sidebar-bottom .method-link{color:var(--muted)}
  .sidebar-bottom .method-link.active{color:var(--accent);background:var(--cyan-tint);border-color:var(--border)}
  #nav-scrim{display:none!important}
  .airport-grid,.catalog-grid.airport-grid{grid-template-columns:minmax(0,1fr);gap:12px}
  .airport-grid .airport-card,.catalog-grid .airport-card{
    position:relative;display:grid;grid-template-columns:minmax(0,1fr) 100px;
    grid-template-areas:"identity identity" "health health" "tags tags" "plan actions";gap:11px 12px;
    padding:16px;border-radius:12px;min-height:0;
  }
  .airport-identity{grid-area:identity;grid-template-columns:56px minmax(0,1fr);column-gap:12px;row-gap:2px;padding-right:66px;margin:0;align-items:center}
  .airport-grid .airport-card .airport-identity .provider-logo{width:56px;height:56px;border-radius:14px;font-size:27px;grid-row:1/3}
  .airport-identity h3{font-size:17px;line-height:1.5;padding:0;align-self:center}
  .airport-identity .demo-badge{position:static;grid-column:2;justify-self:start;align-self:start;font-size:9px}
  .airport-health{grid-area:health;margin:0;padding:0;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .airport-health dt{font-size:10px}.airport-health dd{font-size:20px;margin-top:2px}.airport-health dd small{font-size:9px}
  .airport-tags{grid-area:tags;margin:0;gap:5px;min-height:0}.airport-tags .tag{font-size:10px;padding:2px 6px;line-height:1.6}
  .airport-plan{grid-area:plan;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0;border:0;margin:0;align-self:center}
  .airport-plan dt{font-size:10px}.airport-plan dd{font-size:17px;margin-top:2px;white-space:normal;overflow-wrap:anywhere;letter-spacing:-.25px}.airport-plan dd small{font-size:9px;margin-left:2px}
  .airport-score{position:absolute;top:18px;right:16px;display:block!important;text-align:right;grid-column:auto}
  .airport-score dt{font-size:9px}.airport-score dd{font-size:17px;margin-top:1px!important;white-space:nowrap}
  .airport-card .provider-actions{grid-area:actions;display:flex;align-items:center;gap:6px;margin:0;align-self:center;justify-content:flex-end}
  .provider-actions .button,.catalog-grid .provider-actions .button{width:auto;flex:1;min-width:0;min-height:44px;font-size:11px;padding:7px 5px;border-radius:7px;white-space:nowrap;letter-spacing:0}
  .home-tutorial-grid,.tutorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .content-card,.tutorial-grid .tutorial-card,.home-tutorial-grid .tutorial-card{padding:16px;border-radius:10px}
  .tutorial-card h2{font-size:15px!important}.content-card>p{font-size:12px}
  .footer{margin-top:30px;min-height:70px}.footer>div{gap:12px}
}
@media(max-width:560px){.home-tutorial-grid,.tutorial-grid{grid-template-columns:1fr}}
@media(max-width:360px){
  .page-shell{padding-inline:12px}.topbar{gap:8px}.brand{font-size:16px}.brand-symbol{display:none}
  .airport-grid .airport-card,.catalog-grid .airport-card{padding:14px;grid-template-columns:1fr;grid-template-areas:"identity" "health" "tags" "plan" "actions"}
  .airport-plan{grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border);padding-top:10px}
  .provider-actions{justify-self:end;width:100px}.airport-score{right:14px}.airport-health dd{font-size:19px}
}

/* The management interface uses the same roles, with solid form surfaces. */
.admin-ui{--ink:var(--text);--line:var(--border);background:var(--bg);color:var(--text)}
.admin-ui .admin-top,.admin-ui .editor-heading,.admin-ui fieldset{border-color:var(--line)}
.admin-ui .quiet-link,.admin-ui .quiet,.admin-ui .eyebrow{color:var(--accent)}
.admin-ui label{color:#506974}.admin-ui .primary{min-height:44px;border-radius:8px}
.admin-ui .airport-item{color:var(--text)}.admin-ui .airport-item:hover{background:#edf4f0}
.admin-ui .airport-item.selected{background:linear-gradient(125deg,#e5f2ea,#fff6e5);border-color:#bfd5c7}
.admin-ui .avatar-preview,.admin-ui .cms-item-icon{background:linear-gradient(135deg,#e6f5ec,#fff6e6);color:#3b7269;border-color:#c6dbce;box-shadow:inset 0 1px 0 #fff}
.admin-ui .list-avatar{background:#fff;border-color:#ccdcd2}
.admin-ui .upload-button{background:var(--detail-fill);color:var(--detail-ink);border-color:var(--detail-line)}
.admin-ui .upload-button:hover{background:#ffe5b3}
.admin-ui label>input,.admin-ui label>textarea,.admin-ui label>select{background:#fff;border-color:#c9d7d2;color:var(--text)}
.admin-ui label>input:focus,.admin-ui label>textarea:focus,.admin-ui label>select:focus{border-color:#2454b2;outline-color:#bdd1f4}
.admin-ui .check input{accent-color:#2454b2}.admin-ui .editor.busy input,.admin-ui .editor.busy textarea,.admin-ui .editor.busy select{background:#f0f5f2}
.admin-ui .manager-nav button{color:var(--muted)}.admin-ui .manager-nav button:hover{background:#edf3fa;color:var(--accent)}
.admin-ui .manager-nav button.active{color:var(--accent);border-bottom-color:var(--accent)}
.admin-ui .cms-section{background:#fff;border-color:#d5e0d8}.admin-ui .cms-section-head strong{color:var(--muted)}
.admin-ui .cms-editor-note{background:#eef5f0;color:#47695b}.admin-ui .cms-diagrams summary{color:var(--accent)}
.admin-ui .cms-layout .save-bar{background:#fffefbf2}.admin-ui .editor-state{border-color:var(--border);background:#fff}
.admin-ui .list-meta .live{color:#2e6b50}.admin-ui .cms-remove{color:#a64c35}
@media(max-width:760px){.admin-ui{padding-bottom:0}.admin-ui .admin-shell{padding-bottom:40px}}

/* Long saved content must wrap inside its card or reading column. */
body,body.light{min-width:0}
.guide-client-select{min-width:0;max-width:100%}
.guide-client-select select{min-width:0}
.page-shell{min-width:0;overflow-wrap:anywhere}
.airport-health>div,.airport-plan>div,.article-row>div,.review-row>div,.review-identity span,.guide-client-info>div,.page-title>div{min-width:0}
.airport-card .airport-health dd,.airport-card .airport-plan dd{white-space:normal;overflow-wrap:anywhere;max-width:100%}
.airport-card .airport-tags .tag{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.airport-identity:has(.demo-badge) h3{padding-top:18px}
.admin-ui .admin-heading>div,.admin-ui .editor-heading>div{min-width:0;flex:1;overflow-wrap:anywhere}
.admin-ui .editor-state{flex-shrink:0;margin-left:12px}
.admin-ui .airport-item>span:last-child{min-width:0;overflow-wrap:anywhere}
.admin-ui .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-ui .metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.admin-ui label,.admin-ui input,.admin-ui select,.admin-ui textarea{min-width:0}
.admin-ui .cms-layout .rich-tool-group{flex-wrap:wrap;max-width:100%}
@media(max-width:900px){.admin-ui .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.admin-ui .cms-layout .form-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.airport-identity:has(.demo-badge) h3{padding-top:0}}
@media(max-width:360px){.admin-ui .form-grid,.admin-ui .metrics-grid{grid-template-columns:minmax(0,1fr)}}
