:root{--ptt-border: rgba(255, 255, 255, .07);--ptt-surface: #27272a}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:#18181b}button{font:inherit;cursor:pointer}input,button,textarea{font-family:inherit}:focus-visible{outline:2px solid #2563eb;outline-offset:2px;border-radius:2px}.app-shell{display:flex;flex-direction:column;min-height:100dvh}.app-shell__content{flex:1;min-height:0;min-width:0;overflow-y:auto}.app-shell__nav{display:flex;justify-content:space-around;padding:8px 8px 22px;border-top:1px solid var(--ptt-border);position:sticky;bottom:0;z-index:5}.app-shell__nav--pushed{display:none}.app-shell__tab{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 14px;border-radius:12px;text-decoration:none}.page-width{width:100%;max-width:760px;margin-inline:auto}.page-header{padding:52px 20px 14px}@media (min-width: 900px){.app-shell{flex-direction:row;height:100dvh}.app-shell__nav{order:-1;flex-direction:column;justify-content:flex-start;gap:6px;width:88px;flex-shrink:0;padding:16px 8px;border-top:none;border-inline-end:1px solid var(--ptt-border);position:static}.app-shell__nav--pushed{display:flex}.app-shell__tab{padding:10px 6px}.page-header{padding-top:20px}.tactical-map{max-width:520px;margin-inline:auto}}@media (min-width: 900px) and (hover: hover){.app-shell__tab:hover{background:var(--ptt-surface)}}@keyframes ptt-spin{to{transform:rotate(360deg)}}@keyframes ptt-pulse{0%{transform:scale(1);opacity:.7}to{transform:scale(1.6);opacity:0}}@keyframes ptt-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
