@import"https://fonts.googleapis.com/css2?family=Chivo:wght@400;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{color:#1e2c30;font-family:Chivo,Trebuchet MS,sans-serif;font-synthesis:none;line-height:1.4;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;--bg-sky: #dbefe9;--bg-sand: #f2e5c8;--panel: rgba(247, 240, 223, .88);--panel-strong: rgba(251, 246, 236, .96);--ink: #223338;--ink-soft: #4f6763;--accent: #cc7c39;--accent-strong: #9b4d1f;--line: rgba(34, 51, 56, .15);--shadow: 0 16px 40px rgba(54, 74, 66, .14);--shadow-strong: 0 22px 50px rgba(34, 51, 56, .18);--touch-size: 44px;background:linear-gradient(180deg,var(--bg-sky),var(--bg-sand))}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(circle at top left,rgba(255,255,255,.7),transparent 30%),linear-gradient(180deg,var(--bg-sky),var(--bg-sand));color:var(--ink);overflow:hidden}button,input,textarea,select{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{height:100%;overflow:hidden}.canvas-frame{position:relative;width:100%;height:100%}.scene-root{width:100%;height:100%}.scene-root canvas{display:block}.overlay{pointer-events:none;position:absolute;z-index:10}.overlay--chrome{display:flex;inset:0;padding-top:max(.75rem,env(safe-area-inset-top));padding-right:max(.75rem,env(safe-area-inset-right));padding-bottom:max(.75rem,env(safe-area-inset-bottom));padding-left:max(.75rem,env(safe-area-inset-left))}.overlay--toast{inset:auto 0 max(1rem,env(safe-area-inset-bottom)) 0;display:flex;justify-content:center;padding:0 1rem}.overlay--debug{inset:auto auto max(.8rem,env(safe-area-inset-bottom)) max(.8rem,env(safe-area-inset-left))}.surface-panel,.blocking-message>div,.toast{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:var(--shadow),inset 0 1px #ffffff73}.app-chrome{display:grid;flex:1 1 auto;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);align-items:flex-start;gap:.75rem 1rem;height:auto;min-height:0;pointer-events:none;width:100%}.app-chrome>*{pointer-events:auto}.app-chrome__title,.app-chrome__bar,.app-chrome__search,.inspector-dock__panel{background:var(--panel)}.app-chrome__title,.app-chrome__bar{border-radius:1.4rem;padding:.8rem .9rem}.app-chrome__title{grid-column:1;grid-row:1;max-width:max-content}.app-chrome__controls{display:flex;flex-direction:column;gap:.75rem;align-items:flex-end;grid-column:2;grid-row:1;justify-self:end;max-width:min(calc(100vw - 1.5rem),34rem);width:fit-content}.app-chrome__bar{align-items:center;display:flex;justify-content:flex-end;width:fit-content}.app-chrome__title-row{align-items:center;display:flex;gap:.45rem}.app-chrome__radio-icon{appearance:none;align-items:center;border:1px solid rgba(34,51,56,.12);border-radius:999px;background:#ffffff94;color:var(--ink-soft);cursor:pointer;display:inline-flex;font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:600;height:1.9rem;justify-content:center;letter-spacing:-.08em;min-width:2.5rem;outline:none;padding:0 .55rem .03rem;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,color .14s ease}.app-chrome__radio-icon:hover{background:#ffffffd1}.app-chrome__radio-icon:focus-visible{outline:2px solid rgba(31,143,125,.35);outline-offset:2px}.app-chrome__radio-icon--profile-distance.app-chrome__radio-icon--status-connecting{background:#ffeecabd;color:#8a531a}.app-chrome__radio-icon--profile-distance.app-chrome__radio-icon--status-playing{background:#d2fbe9c2;color:#2c6d66}.app-chrome__radio-icon--profile-full{background:#f5deabd1;color:#7c4d15}.app-chrome__radio-icon--profile-full.app-chrome__radio-icon--status-connecting{background:#ffd892e6}.app-chrome__radio-icon--profile-full.app-chrome__radio-icon--status-playing{background:#ffc96be0;color:#6b3900}.app-chrome__radio-icon--status-paused{background:#e4e7eadb;color:#516068}.app-chrome__radio-icon--status-locked{background:#ffffff94;color:var(--ink-soft)}.app-chrome__radio-icon--status-error{background:#ffdbd3d1;color:#8e3f2a}.app-chrome__brand,.hud-title{background:#f7f0df94;border:1px solid var(--line);border-radius:999px;margin:0;padding:.32rem .72rem}.debug-overlay{background:#f4eee2eb;border-radius:1.35rem;color:var(--ink);display:flex;flex-direction:column;gap:.85rem;max-height:min(36rem,calc(100vh - max(1.6rem,env(safe-area-inset-top)) - max(1.6rem,env(safe-area-inset-bottom))));max-width:min(28rem,calc(100vw - 1.6rem));min-height:0;padding:.9rem .95rem;pointer-events:auto;width:min(28rem,calc(100vw - 1.6rem))}.debug-overlay__header{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.debug-overlay__eyebrow{margin:0}.debug-overlay__hotkey{background:#22333814;border:1px solid rgba(34,51,56,.12);border-radius:999px;font-family:IBM Plex Mono,monospace;font-size:.76rem;padding:.22rem .58rem}.debug-overlay__empty{color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:.82rem;margin:0}.debug-overlay__scroll{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}.debug-overlay__grid{display:grid;gap:.7rem}.debug-overlay__section{background:#ffffff6b;border:1px solid rgba(34,51,56,.08);border-radius:1rem;display:grid;gap:.5rem;padding:.72rem .78rem}.debug-overlay__section-title{font-size:.82rem;letter-spacing:.06em;margin:0;text-transform:uppercase}.debug-overlay__rows{display:grid;gap:.34rem;margin:0}.debug-overlay__row{align-items:baseline;display:grid;font-family:IBM Plex Mono,monospace;font-size:.76rem;gap:.8rem;grid-template-columns:minmax(0,1fr) auto}.debug-overlay__row dt,.debug-overlay__row dd{margin:0}.debug-overlay__row dt{color:var(--ink-soft)}.debug-overlay__row dd{overflow-wrap:anywhere;text-align:right}.app-chrome__actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end;width:fit-content}.chrome-button,.action-button,.ghost-button,.inspector-address-button,.inspector-section__toggle,.inspector-control-button,.pool-list__button{min-height:var(--touch-size)}.chrome-button,.action-button,.ghost-button{align-items:center;border-radius:999px;cursor:pointer;display:inline-flex;gap:.55rem;justify-content:center;padding:.6rem .95rem;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,color .14s ease}.chrome-button,.ghost-button{background:#ffffff8f;border:1px solid rgba(34,51,56,.12);color:var(--ink)}.chrome-button--active,.chrome-button:hover,.ghost-button:hover{background:#ffffffdb}.chrome-button:disabled{cursor:not-allowed;opacity:.45}.chrome-button__icon{font-size:1rem;line-height:1}.chrome-button__label{font-size:.94rem;font-weight:600}.action-button{background:var(--accent);border:1px solid rgba(155,77,31,.18);color:#fff8f1}.action-button:hover{background:var(--accent-strong)}.action-button:focus-visible,.chrome-button:focus-visible,.ghost-button:focus-visible,.app-chrome__search-input:focus-visible,.inspector-address-button:focus-visible,.inspector-control-button:focus-visible,.inspector-section__toggle:focus-visible,.pool-list__button:focus-visible{outline:2px solid rgba(31,143,125,.35);outline-offset:2px}.app-chrome__search{border-radius:1.3rem;max-width:min(calc(100vw - 1.5rem),34rem);padding:.85rem;width:fit-content}.app-chrome__search-form{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end;max-width:min(calc(100vw - 3.2rem),32rem);width:fit-content}.app-chrome__search-field{flex:1 1 16rem;min-width:min(16rem,calc(100vw - 8rem))}.app-chrome__search-input{background:#ffffffd1;border:1px solid rgba(34,51,56,.12);border-radius:1rem;color:var(--ink);min-height:3rem;min-width:0;padding:.75rem .95rem;width:100%}.app-chrome__search-input::placeholder{color:var(--ink-soft)}.inspector-dock{align-self:stretch;display:flex;grid-column:1 / -1;grid-row:2;justify-content:flex-end;margin-top:.1rem;height:100%;min-height:0;pointer-events:none;width:100%}.inspector-dock__panel{border-radius:1.5rem;display:flex;flex-direction:column;margin-left:auto;height:100%;max-height:100%;max-width:min(32rem,100%);min-height:0;opacity:0;overflow:hidden;pointer-events:none;transform:translateY(-.5rem);transition:opacity .18s ease,transform .22s ease;width:min(32rem,100%)}.inspector-dock__panel--open{opacity:1;pointer-events:auto;transform:translateY(0)}.inspector-dock__header{align-items:flex-start;background:var(--panel-strong);border-bottom:1px solid var(--line);display:flex;gap:.9rem;justify-content:space-between;padding:1rem;position:sticky;top:0;z-index:1}.inspector-dock__header-copy{display:grid;gap:.2rem;min-width:0}.inspector-dock__title{font-size:1.02rem;margin:0;overflow-wrap:anywhere}.inspector-dock__scroll{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}.eyebrow{color:var(--accent-strong);font-family:IBM Plex Mono,monospace;font-size:.78rem;letter-spacing:.08em;margin:0;text-transform:uppercase}.inspector-panel{display:grid;gap:1rem;padding:1rem}.inspector-panel h2,.inspector-panel h3{margin:0}.inspector-block{border-bottom:1px solid var(--line);display:grid;gap:.8rem;padding-bottom:1rem}.inspector-block:last-child{border-bottom:0;padding-bottom:0}.inspector-block--accent{background:#d9f2ed99;border:1px solid rgba(31,143,125,.16);border-radius:18px;padding:.9rem}.inspector-block__title{display:block;font-size:1rem;font-weight:700;text-align:left}.inspector-block__body{display:grid;gap:.75rem}.inspector-section__toggle{background:none;border:0;color:inherit;display:flex;justify-content:space-between;padding:0;width:100%}.inspector-section__chevron{color:var(--ink-soft);font-size:1.1rem;line-height:1}.inspector-address-card{display:grid;gap:.55rem}.key-value-grid{display:grid;gap:.35rem .8rem;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);margin:0;min-width:0;width:100%}.key-value-grid dt{color:var(--ink-soft);min-width:0;overflow-wrap:anywhere}.key-value-grid dd{font-weight:600;margin:0;min-width:0;overflow-wrap:anywhere;text-align:right}.key-value-grid--details dd:last-child{font-size:.9rem;overflow-wrap:anywhere;text-align:right;text-wrap:pretty;white-space:normal;word-break:break-word}.pool-list{display:grid;gap:.6rem;list-style:none;margin:0;padding:0}.pool-list__item{background:#ffffff8f;border:1px solid rgba(34,51,56,.08);border-radius:16px;overflow:hidden}.pool-list__button{background:transparent;border:0;color:inherit;cursor:pointer;display:grid;gap:.3rem;min-width:0;padding:.8rem;text-align:left;width:100%}.pool-list__button:hover{background:#cc7c3914}.pool-list__button div,.membership-card div{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between;min-width:0;white-space:normal}.pool-list__button strong,.membership-card strong{display:block;overflow-wrap:anywhere}.pool-list__button span,.membership-card span,.district-card__count,.district-card__meta span{color:var(--ink-soft);font-size:.88rem;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.inspector-action-row{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center}.inspector-control-button{align-items:center;background:#ffffff8f;border:1px solid rgba(34,51,56,.12);border-radius:14px;color:inherit;cursor:pointer;display:inline-flex;flex:0 1 8.5rem;font-weight:600;justify-content:center;max-width:100%;min-width:7rem;padding:.6rem .75rem;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,color .14s ease}.inspector-control-button:hover{background:#ffffffdb}.inspector-control-button--selected,.inspector-control-button--accent{background:#cc7c391f;border-color:#cc7c3959;color:var(--accent-strong)}.inspector-range-control{display:grid;gap:.55rem}.inspector-range-control__header{align-items:baseline;display:flex;gap:.75rem;justify-content:space-between}.inspector-range-control__label{color:var(--ink-soft)}.inspector-range-control__value{font-family:IBM Plex Mono,monospace;font-size:.84rem;font-weight:600}.inspector-range-control__input{accent-color:var(--accent);cursor:pointer;width:100%}.inspector-external-link{display:flex;margin:.45rem 0}.inspector-external-link__button{text-decoration:none;width:100%}.inspector-value-block{background:#ffffff80;border:1px solid rgba(34,51,56,.08);border-radius:14px;display:grid;gap:.35rem;padding:.75rem .8rem}.inspector-value-block__label{color:var(--ink-soft);font-size:.82rem}.inspector-value-block__value{font-weight:600;margin:0;overflow-wrap:anywhere;text-wrap:pretty;white-space:normal;word-break:break-word}.district-card{display:grid;gap:.6rem;padding:.8rem}.district-card__header{align-items:baseline;display:flex;gap:.65rem;justify-content:space-between;min-width:0}.district-card__meta{display:flex;flex-wrap:wrap;gap:.45rem;min-width:0}.district-card__pool{background:#ffffff8f;border:1px solid rgba(34,51,56,.08);border-radius:12px;padding:.7rem}.district-card__pool--selected,.pool-list__item--selected{background:#cc7c391f;border-color:#cc7c3959}.mono-value{font-family:IBM Plex Mono,monospace;font-size:.84rem;margin:0;overflow-wrap:anywhere}.inspector-nfd{align-items:center;display:flex;gap:.55rem;margin:.1rem 0}.inspector-nfd-avatar{aspect-ratio:1 / 1;border:1px solid rgba(34,51,56,.18);border-radius:10px;height:2.5rem;object-fit:cover;width:2.5rem}.inspector-nfd-body{display:grid;gap:.05rem;min-width:0}.inspector-nfd-label{color:var(--ink-soft);font-size:.78rem}.inspector-nfd-label,.inspector-nfd-name,.inspector-address-wrap{overflow-wrap:anywhere}.inspector-nfd-name{font-weight:600}.inspector-address-button{background:#ffffff80;border:1px solid rgba(34,51,56,.08);border-radius:14px;color:inherit;cursor:pointer;display:block;line-height:1.35;padding:.65rem .75rem;text-align:left;width:100%}.inspector-address-wrap{display:block;max-width:100%;white-space:normal;word-break:break-all}.details-message,.details-error{margin:0}.details-message{color:var(--ink-soft)}.details-error{color:#8c2c18}.toast{background:#223338e6;border-radius:999px;color:#f5efe1;max-width:min(560px,100%);padding:.65rem 1rem;pointer-events:auto}.toast span{display:block;font-size:.9rem;text-align:center}.blocking-message{align-items:center;display:flex;inset:0;justify-content:center;position:absolute;z-index:20}.blocking-message>div{background:#f8f3e9f5;border-radius:28px;display:grid;gap:.75rem;max-width:min(520px,calc(100% - 2rem));padding:1.35rem 1.4rem}.blocking-message h2,.blocking-message p{margin:0}.blocking-message--soft{align-items:flex-end;justify-content:flex-start;padding:1rem}.app-chrome--coarse{--touch-size: 48px}@media(max-width:820px){.overlay--chrome{padding-top:max(.55rem,env(safe-area-inset-top));padding-right:max(.55rem,env(safe-area-inset-right));padding-bottom:max(.55rem,env(safe-area-inset-bottom));padding-left:max(.55rem,env(safe-area-inset-left))}.app-chrome{gap:.55rem .75rem}.app-chrome__controls{max-width:min(calc(100vw - 7rem),24rem)}.app-chrome__actions{justify-content:stretch}.chrome-button{flex:1 1 0}.app-chrome__search-field{flex-basis:min(16rem,calc(100vw - 8.8rem))}.action-button,.ghost-button{flex:1 1 0}.inspector-dock{align-items:flex-end}.inspector-dock__panel{border-radius:1.5rem 1.5rem 1.25rem 1.25rem;margin-left:0;max-width:none;transform:translateY(calc(100% + 1rem));width:100%}.inspector-dock__panel--open{transform:translateY(0)}.inspector-dock__header{padding:.9rem}.inspector-panel{gap:.8rem;padding:.9rem}.inspector-block{gap:.65rem;padding-bottom:.85rem}.inspector-block--accent{border-radius:16px;padding:.8rem}}@media(max-width:560px){.app-chrome{gap:.5rem}.app-chrome__title{display:none}.app-chrome__controls{max-width:min(calc(100vw - 6.5rem),20rem)}.app-chrome__bar{padding:.7rem}.app-chrome__actions,.app-chrome__search-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.app-chrome__search-field{grid-column:1 / -1}.inspector-dock__header{align-items:stretch;flex-direction:column}.key-value-grid{grid-template-columns:minmax(0,1fr)}.key-value-grid dd,.key-value-grid--details dd:last-child{text-align:left}.pool-list__button div,.membership-card div,.district-card__header{align-items:flex-start;flex-direction:column}.inspector-action-row{justify-content:stretch}.inspector-control-button{flex-basis:100%}}
