:root{color-scheme:dark;--bg:#091014;--panel:#121a1f;--panel-strong:#182229;--panel-soft:#1c262d;--border:hsla(0,0%,100%,.08);--border-strong:hsla(0,0%,100%,.14);--muted:#91a4ab;--text:#f4f7f8;--accent:#77d1a7;--accent-strong:#67a8ff;--danger:#ff8d8d;--warn:#f0d079;--shadow:0 18px 48px rgba(0,0,0,.28);--radius:18px;--radius-sm:14px;--font-sans:"Segoe UI","Helvetica Neue",sans-serif}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:radial-gradient(circle at top right,rgba(119,209,167,.09),transparent 28%),radial-gradient(circle at bottom left,rgba(103,168,255,.12),transparent 26%),linear-gradient(180deg,#070c0f,#0b1216);color:var(--text);font-family:var(--font-sans)}body{min-height:100vh}body.map-fullscreen-active{overflow:hidden}a{color:inherit}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-gap:.85rem;gap:.85rem;min-height:100vh;padding:.85rem}.hero,.panel{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,rgba(18,26,31,.96),rgba(12,18,22,.94));box-shadow:var(--shadow)}.hero{display:grid;grid-gap:.8rem;gap:.8rem;padding:1rem}.hero-copy{display:grid;grid-gap:.35rem;gap:.35rem}.hero h1,.panel h2,.panel h3{margin:0}.hero h1{font-size:clamp(1.45rem,4vw,2rem);letter-spacing:-.03em}.hero p,.muted{margin:0;color:var(--muted)}.action-row,.card-list,.field-grid,.pill-row,.side-stack,.stat-grid,.status-row,.team-legend{display:grid;grid-gap:.7rem;gap:.7rem}.pill-row,.status-row{grid-template-columns:repeat(3,minmax(0,1fr))}.pill{padding:.75rem .8rem;border:1px solid var(--border);border-radius:999px;background:hsla(0,0%,100%,.035);text-align:center;font-size:.88rem;font-weight:600}.status-chip{padding:.65rem .8rem;border:1px solid var(--border);border-radius:14px;background:hsla(0,0%,100%,.04);color:var(--muted);text-align:center;font-size:.82rem}.content-grid{display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:minmax(0,1.45fr) minmax(320px,.95fr)}.side-stack{align-content:start}.panel{display:grid;grid-gap:.9rem;gap:.9rem;padding:1rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.panel-chip{flex:0 0 auto;min-width:70px;padding:.5rem .7rem;border-radius:999px;border:1px solid rgba(119,209,167,.22);background:rgba(119,209,167,.1);color:#c7ffe2;text-align:center;font-size:.86rem;font-weight:700}.map-card{align-content:start}.map-frame{position:relative;min-height:62vh;overflow:hidden;border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);background:#0f151a}.map-frame.is-expanded-mobile,.map-frame.is-fullscreen{position:fixed;inset:0;z-index:1200;width:100vw;height:100vh;height:100dvh;height:-webkit-fill-available;min-height:100vh;min-height:100dvh;min-height:-webkit-fill-available;border-radius:0;border:0;background:#05090c}.leaflet-container,.map-canvas{width:100%;min-height:62vh;background:#0f151a}.map-frame.is-expanded-mobile .leaflet-container,.map-frame.is-expanded-mobile .map-canvas,.map-frame.is-fullscreen .leaflet-container,.map-frame.is-fullscreen .map-canvas{height:100vh;height:100dvh;height:-webkit-fill-available;min-height:100vh;min-height:100dvh;min-height:-webkit-fill-available}.map-frame.is-expanded-mobile .leaflet-top,.map-frame.is-fullscreen .leaflet-top{top:env(safe-area-inset-top)}.map-frame.is-expanded-mobile .leaflet-left,.map-frame.is-fullscreen .leaflet-left{left:env(safe-area-inset-left)}.map-frame.is-expanded-mobile .leaflet-control-zoom,.map-frame.is-fullscreen .leaflet-control-zoom{margin-top:calc(env(safe-area-inset-top) + 5.75rem)}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.member-card,.stat-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.9rem;background:hsla(0,0%,100%,.035)}.member-card strong,.stat-card strong{display:block;margin-bottom:.28rem;font-size:1.15rem}.action-row,.field-grid{grid-template-columns:1fr 1fr}.field-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:grid;grid-gap:.45rem;gap:.45rem}.field label{font-size:.88rem;color:var(--muted)}.field input,.field select,.field textarea{width:100%;min-height:54px;border:1px solid var(--border-strong);border-radius:14px;padding:.85rem .95rem;color:var(--text);background:rgba(0,0,0,.18)}.field textarea{min-height:104px;resize:vertical}.toggle-field{display:flex;align-items:center;gap:.7rem;min-height:54px;padding:.85rem .95rem;border:1px solid var(--border-strong);border-radius:14px;background:rgba(0,0,0,.18);color:var(--text)}.toggle-field.user-pick{align-items:flex-start}.toggle-field.user-pick.is-selected{border-color:rgba(119,209,167,.35);background:rgba(119,209,167,.08)}.pool-summary span,.toggle-field small{display:block;margin-top:.2rem;color:var(--muted);font-size:.78rem}.toggle-field input{width:18px;height:18px;min-height:18px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;border:0;border-radius:16px;padding:.95rem 1rem;cursor:pointer;transition:transform .12s ease,opacity .12s ease,background .12s ease;font-weight:700}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:default;opacity:.55}.button-primary{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#0b1013}.button-secondary{background:hsla(0,0%,100%,.06);color:var(--text);border:1px solid var(--border)}.button-danger{background:hsla(0,100%,78%,.08);color:#ffc3c3;border:1px solid hsla(0,100%,78%,.18)}.button-google{background:#fff;color:#202124}.status{padding:.9rem .95rem;border-radius:16px;border:1px solid var(--border);background:hsla(0,0%,100%,.035)}.status[data-tone=good]{border-color:rgba(119,209,167,.22);color:#c5ffe0}.status[data-tone=warn]{border-color:hsla(44,80%,71%,.24);color:#ffe6a0}.status[data-tone=bad]{border-color:hsla(0,100%,78%,.22);color:#ffc6c6}.card-list{grid-template-columns:1fr}.pool-summary{display:grid;grid-gap:.7rem;gap:.7rem;grid-template-columns:repeat(2,minmax(0,1fr))}.member-card{gap:.18rem}.dot{display:inline-block;width:.8rem;height:.8rem;margin-right:.55rem;border-radius:50%;vertical-align:middle}.team-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.marker-list-item{display:flex;align-items:center;gap:.55rem;width:100%;padding:.8rem .9rem;border:1px solid var(--border);border-radius:14px;background:hsla(0,0%,100%,.035);color:var(--text);text-align:left}.marker-list-item.is-selected{border-color:rgba(119,209,167,.35);background:rgba(119,209,167,.08)}.admin-summary{cursor:pointer;list-style:none}.admin-summary::-webkit-details-marker{display:none}.admin-summary h3{margin-bottom:.25rem}.marker-list-item .muted{margin-left:auto}.legend-chip{display:flex;align-items:center;gap:.45rem;padding:.7rem .75rem;border:1px solid var(--border);border-radius:999px;background:hsla(0,0%,100%,.03);font-size:.88rem}.section-divider{height:1px;background:var(--border)}.map-edit-switches,.map-toolbar{display:grid;grid-gap:.55rem;gap:.55rem}.map-toolbar{position:absolute;top:.75rem;right:.75rem;z-index:800;width:min(270px,calc(100% - 1.5rem));grid-template-columns:repeat(3,minmax(0,1fr))}.map-frame.is-expanded-mobile .map-toolbar,.map-frame.is-fullscreen .map-toolbar{position:fixed;top:max(.65rem,env(safe-area-inset-top));right:max(.75rem,env(safe-area-inset-right));bottom:auto;left:max(.75rem,env(safe-area-inset-left));z-index:1800;width:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;padding:.5rem;border:1px solid hsla(0,0%,100%,.16);border-radius:22px;background:rgba(5,9,12,.88);box-shadow:0 18px 42px rgba(0,0,0,.42);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.map-tool-button{display:grid;place-items:center;min-height:54px;border:1px solid hsla(0,0%,100%,.12);border-radius:18px;padding:.55rem .35rem;background:hsla(0,0%,100%,.08);color:var(--text);box-shadow:0 8px 22px rgba(0,0,0,.22);line-height:1.05}.map-tool-button span{font-size:.9rem;font-weight:850}.map-tool-button small{color:rgba(244,247,248,.72);font-size:.64rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.map-tool-button-primary{border-color:rgba(119,209,167,.34);background:linear-gradient(135deg,rgba(119,209,167,.95),rgba(103,168,255,.95));color:#081014}.map-tool-button-primary small{color:rgba(8,16,20,.72)}.map-edit-switches{grid-template-columns:repeat(3,minmax(0,1fr))}.button-compact{min-height:44px;padding:.7rem .8rem;border-radius:14px;font-size:.92rem}.leaflet-control-attribution{font-size:11px}.leaflet-control-zoom{margin-top:.75rem;margin-left:.75rem;border:1px solid rgba(0,0,0,.22);box-shadow:0 8px 20px rgba(0,0,0,.22)}.leaflet-control-zoom a{width:42px;height:42px;line-height:42px;color:#152027}.player-marker-shell{background:transparent;border:0}.player-marker{display:grid;place-items:center;width:40px;height:40px;border:2px solid hsla(0,0%,100%,.92);border-radius:50% 50% 50% 10%;background:var(--marker-color);box-shadow:0 8px 18px rgba(0,0,0,.28);transform:rotate(-45deg)}.player-marker__initials{color:#081014;font-size:.8rem;font-weight:800;letter-spacing:.02em;transform:rotate(45deg)}.poi-marker-shell{background:transparent;border:0}.poi-marker{display:grid;place-items:center;width:40px;height:40px;border:2px solid hsla(0,0%,100%,.95);border-radius:12px;background:var(--poi-color);box-shadow:0 8px 18px rgba(0,0,0,.24)}.poi-marker--selected{box-shadow:0 0 0 3px hsla(0,0%,100%,.3),0 10px 24px rgba(0,0,0,.28)}.poi-marker__glyph{color:#091014;font-size:.66rem;font-weight:800;letter-spacing:.03em}.boundary-vertex-shell{background:transparent;border:0}.boundary-vertex{display:grid;place-items:center;width:24px;height:24px;border:2px solid hsla(0,0%,100%,.95);border-radius:50%;background:#152027;color:#f4f7f8;box-shadow:0 8px 18px rgba(0,0,0,.22);font-size:.68rem;font-weight:800}@media (max-width:920px){.app-shell{gap:.75rem;padding:.65rem}.content-grid{grid-template-columns:1fr}.hero,.panel{padding:.85rem}.action-row,.field-grid,.field-grid-3,.pill-row,.pool-summary,.stat-grid,.status-row,.team-legend{grid-template-columns:1fr}.leaflet-container,.map-canvas,.map-frame{min-height:58vh}.panel-head{display:grid}.panel-chip{justify-self:start}.button,.field input,.field select,.field textarea{min-height:52px}.map-edit-switches{grid-template-columns:1fr}}