.greenland-launcher { width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; margin:14px 0; padding:13px; border:1px solid #4d847f; border-radius:12px; background:linear-gradient(120deg,#173f46,#122b39); color:#edfffa; text-align:left; cursor:pointer; }
.greenland-launcher strong { display:block; font-size:13px; }
.greenland-launcher small { display:block; margin-top:4px; color:#afcbd2; font-size:10px; }
.greenland-launcher > span:last-child { font-size:24px; color:#8de3d3; }
.greenland-dialog { width:min(1150px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 36px); margin:auto; padding:0; overflow:hidden; border:1px solid #4e7183; border-radius:18px; background:#0b1b28; color:#eef8ff; box-shadow:0 25px 100px #000b; font:14px/1.55 system-ui,sans-serif; }
.greenland-dialog[open] { display:flex; flex-direction:column; }
.greenland-dialog::backdrop { background:#020b12c4; }
.greenland-header { display:flex; flex:none; justify-content:space-between; align-items:center; gap:16px; padding:18px 24px; border-bottom:1px solid #304b5a; background:#102b39; }
.greenland-header p { margin:0 0 3px; color:#8de3d3; font-size:10px; letter-spacing:.11em; text-transform:uppercase; }
.greenland-header h2 { margin:0; font-size:24px; line-height:1.25; }
.greenland-dialog button, .greenland-dialog select { font:inherit; color:inherit; border:1px solid #476979; border-radius:8px; background:#193747; padding:9px 12px; cursor:pointer; }
.greenland-dialog button:hover { background:#244c5e; }
.greenland-dialog button:disabled { cursor:wait; opacity:.55; }
.greenland-dialog :focus-visible, .greenland-launcher:focus-visible, .greenland-dock :focus-visible { outline:2px solid #90e9da; outline-offset:3px; }
.greenland-header .greenland-close { font-size:26px; line-height:1; width:44px; height:44px; padding:0; flex:none; }
.greenland-body { overflow:auto; min-height:0; padding:18px 24px 24px; overscroll-behavior:contain; }
.greenland-intro { margin:0 0 17px; max-width:900px; color:#c8dce8; }
.greenland-toolbar { display:flex; flex-wrap:wrap; gap:12px 18px; align-items:end; margin-bottom:18px; }
.greenland-toolbar label { display:grid; gap:5px; min-width:130px; color:#bdd3e0; font-size:12px; }
.greenland-toolbar select { min-width:0; font-size:13px; }
.greenland-toolbar .greenland-primary { background:#205b5d; border-color:#5dafa4; }
.greenland-layout { display:grid; grid-template-columns:minmax(300px,.9fr) minmax(350px,1.1fr); gap:22px; align-items:start; }
.greenland-map-card, .greenland-card { margin:0 0 16px; padding:16px; background:#102534; border:1px solid #304c5e; border-radius:12px; }
.greenland-map-heading { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px; margin:0 0 12px; font-size:14px; }
.greenland-map-heading span { color:#91e5d3; }
.greenland-map { position:relative; width:100%; height:450px; overflow:hidden; border-radius:8px; background:radial-gradient(ellipse at 50% 40%,#204153,#0a1b29); }
.greenland-map img { display:block; width:100%; height:100%; object-fit:contain; }
.greenland-map img[hidden] { display:none; }
.greenland-map-badge { position:absolute; left:9px; bottom:9px; padding:4px 7px; background:#091d2ce6; border:1px solid #527184; border-radius:5px; color:#e3f5ff; font-size:11px; }
.greenland-map-credit { color:#9fb9c9; font-size:11px; margin:8px 0 0; }
.greenland-legend { display:flex; flex-wrap:wrap; gap:7px 13px; margin:12px 0 0; padding:0; list-style:none; font-size:11px; color:#cedfe9; }
.greenland-legend li { display:flex; align-items:center; gap:6px; }
.greenland-legend i { display:inline-block; width:12px; height:12px; border:1px solid #bcd7e54d; border-radius:2px; flex:none; }
.greenland-metrics { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0 0 13px; }
.greenland-metric { padding:13px; border-radius:10px; border:1px solid #355163; background:#132e3e; }
.greenland-metric dt { font-size:11px; color:#c0d5e1; }
.greenland-metric dd { margin:4px 0; font-size:25px; line-height:1.25; font-weight:700; color:#eafaff; font-variant-numeric:tabular-nums; }
.greenland-metric small { display:block; font-size:10px; color:#a9c4d4; }
.greenland-card h3 { margin:0 0 8px; font-size:15px; }
.greenland-card p { margin:8px 0; color:#c6d9e4; font-size:12px; }
.greenland-card a, .greenland-dialog a { color:#8bdef7; text-underline-offset:3px; }
.greenland-chart svg { display:block; width:100%; }
.greenland-chart text, .greenland-polar svg text { fill:#c0d5e2; font:11px system-ui,sans-serif; }
.greenland-chart-legend { display:flex; flex-wrap:wrap; gap:12px; font-size:11px; }
.greenland-polar { display:grid; grid-template-columns:190px 1fr; gap:14px; align-items:center; }
.greenland-polar svg { width:100%; }
.greenland-polar strong { color:#92ead6; }
.greenland-details { padding:12px 15px; border:1px solid #355465; border-radius:10px; margin:14px 0 0; color:#c2d8e5; font-size:12px; }
.greenland-details summary { cursor:pointer; font-size:13px; font-weight:650; color:#e6f4fc; }
.greenland-details p { margin:10px 0; }
.greenland-details ul { padding-left:18px; }
.greenland-details li { margin:6px 0; }
.greenland-message { padding:15px; margin:0 0 15px; border:1px solid #4b697b; border-radius:10px; background:#153143; color:#d6eaf4; }
.greenland-warning { border-color:#a28a54; background:#302e21; color:#f0dfb5; }
.greenland-dock { position:fixed; z-index:25; bottom:22px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:8px; max-width:calc(100vw - 30px); padding:9px 12px; border:1px solid #5b9a94; border-radius:12px; background:#102c37ed; box-shadow:0 8px 30px #0008; }
.greenland-dock[hidden] { display:none; }
.greenland-dock button { flex:none; cursor:pointer; color:#ebfcff; background:#214b56; border:1px solid #4e8990; border-radius:7px; padding:8px 10px; font:12px system-ui,sans-serif; }
.greenland-dock-label { font-size:11px; color:#c5e4e9; }
.greenland-dock-label strong { display:block; color:#e8ffff; font-size:12px; }
.greenland-dock .greenland-legend { margin-top:6px; font-size:9px; gap:4px 10px; }
.greenland-dock .greenland-legend i { width:9px; height:9px; }
@media(max-width:800px) {
  .greenland-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); border-radius:12px; }
  .greenland-header { padding:14px; }
  .greenland-header h2 { font-size:21px; }
  .greenland-body { padding:14px; }
  .greenland-layout { grid-template-columns:1fr; gap:0; }
  .greenland-map { width:min(100%,360px); height:410px; margin:auto; }
  .greenland-toolbar { gap:9px; }
  .greenland-toolbar label { flex:1; min-width:100px; }
  .greenland-toolbar label:first-child { flex-basis:100%; }
  .greenland-toolbar select { width:100%; }
  .greenland-toolbar .greenland-primary { width:100%; }
  .greenland-card, .greenland-map-card { padding:12px; }
  .greenland-polar { grid-template-columns:135px 1fr; gap:6px; }
  .greenland-dock { bottom:8px; width:calc(100vw - 20px); }
}
